Tests: Move to just linefeed to simply cross-platform test changes.
diff --git a/Test/baseResults/100.frag.out b/Test/baseResults/100.frag.out
index f468a68..2c39cad 100644
--- a/Test/baseResults/100.frag.out
+++ b/Test/baseResults/100.frag.out
@@ -1,735 +1,735 @@
-100.frag
-ERROR: 0:3: '{ } style initializers' : not supported with this profile: es
-ERROR: 0:3: 'initializer' : not supported for this version or the enabled extensions
-ERROR: 0:3: 'array initializer' : not supported for this version or the enabled extensions
-ERROR: 0:3: 'non-constant global initializer' : not supported with this profile: es
-ERROR: 0:4: '#version' : must occur first in shader
-ERROR: 0:7: 'attribute' : not supported in this stage: fragment
-ERROR: 0:7: 'float' : type requires declaration of default precision qualifier
-ERROR: 0:9: '=' : cannot convert from 'const int' to 'global mediump float'
-ERROR: 0:11: 'uniform block' : not supported for this version or the enabled extensions
-ERROR: 0:19: 'foo' : no matching overloaded function found
-ERROR: 0:20: 'bit shift left' : not supported for this version or the enabled extensions
-ERROR: 0:21: 'bit shift right' : not supported for this version or the enabled extensions
-ERROR: 0:22: 'array comparison' : not supported for this version or the enabled extensions
-ERROR: 0:24: 'bitwise and' : not supported for this version or the enabled extensions
-ERROR: 0:25: '%' : not supported for this version or the enabled extensions
-ERROR: 0:26: 'bitwise inclusive or' : not supported for this version or the enabled extensions
-ERROR: 0:27: 'bit-shift right assign' : not supported for this version or the enabled extensions
-ERROR: 0:28: 'bit-shift left assign' : not supported for this version or the enabled extensions
-ERROR: 0:29: '%=' : not supported for this version or the enabled extensions
-ERROR: 0:36: 'array assignment' : not supported for this version or the enabled extensions
-ERROR: 0:37: 'array comparison' : not supported for this version or the enabled extensions
-ERROR: 0:38: 'array comparison' : not supported for this version or the enabled extensions
-ERROR: 0:40: 'switch' : Reserved word.
-ERROR: 0:40: 'switch statements' : not supported for this version or the enabled extensions
-ERROR: 0:45: '' : array size required
-ERROR: 0:47: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
-
-ERROR: 0:49: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
-
-ERROR: 0:50: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
-
-ERROR: 0:56: 'invariant' : not allowed in nested scope
-ERROR: 0:56: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
-
-ERROR: 0:57: 'invariant' : not allowed in nested scope
-ERROR: 0:57: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
-
-ERROR: 0:59: 'invariant' : not allowed in nested scope
-ERROR: 0:59: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
-
-ERROR: 0:63: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
-
-ERROR: 0:64: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
-
-ERROR: 0:66: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: glob2D
-ERROR: 0:69: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: v2D
-ERROR: 0:71: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: vary2D
-ERROR: 0:75: 'in for stage inputs' : not supported for this version or the enabled extensions
-ERROR: 0:77: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
-
-ERROR: 0:75: 'g' : cannot use storage or interpolation qualifiers on structure members
-ERROR: 0:76: 'h' : cannot use storage or interpolation qualifiers on structure members
-ERROR: 0:77: 'i' : cannot use invariant qualifier on structure members
-ERROR: 0:80: 'sampler3D' : Reserved word.
-ERROR: 0:80: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:91: 'dFdx' : required extension not requested: GL_OES_standard_derivatives
-ERROR: 0:92: 'dFdy' : required extension not requested: GL_OES_standard_derivatives
-ERROR: 0:93: 'fwidth' : required extension not requested: GL_OES_standard_derivatives
-ERROR: 0:103: 'gl_FragDepth' : undeclared identifier
-ERROR: 0:104: 'gl_FragDepthEXT' : required extension not requested: GL_EXT_frag_depth
-ERROR: 0:111: 'gl_FragDepth' : undeclared identifier
-ERROR: 0:134: 'texture3D' : no matching overloaded function found
-ERROR: 0:135: 'texture2DProjLod' : no matching overloaded function found
-ERROR: 0:137: 'bitwise not' : not supported for this version or the enabled extensions
-ERROR: 0:138: 'bitwise inclusive or' : not supported for this version or the enabled extensions
-ERROR: 0:139: 'bitwise and' : not supported for this version or the enabled extensions
-ERROR: 0:145: 'a' : redefinition
-ERROR: 0:147: 'texture2DProjGradEXT' : required extension not requested: GL_EXT_shader_texture_lod
-ERROR: 0:151: 'floating-point suffix' : not supported for this version or the enabled extensions
-ERROR: 0:152: 'floating-point suffix' : not supported for this version or the enabled extensions
-ERROR: 0:167: 'highp' : overloaded functions must have the same parameter precision qualifiers for argument 2
-ERROR: 0:170: 'multiple prototypes for same function' : not supported for this version or the enabled extensions
-ERROR: 0:177: 'multiple prototypes for same function' : not supported for this version or the enabled extensions
-ERROR: 0:179: 'fragment-shader struct input' : not supported for this version or the enabled extensions
-ERROR: 0:183: 'v' : illegal use of type 'void'
-ERROR: 0:184: 'void' : cannot be an argument type except for '(void)'
-ERROR: 0:185: 'v' : illegal use of type 'void'
-ERROR: 0:185: 'void' : cannot be an argument type except for '(void)'
-ERROR: 0:190: '.' : cannot apply to an array: y
-ERROR: 0:191: '.' : cannot apply to an array: zy
-ERROR: 0:192: '.' : cannot apply to an array: nothing
-ERROR: 0:193: '.length' : not supported for this version or the enabled extensions
-ERROR: 0:194: '.' : cannot apply to an array: method
-ERROR: 0:194: 'a' : can't use function syntax on variable
-ERROR: 0:214: 'non-constant global initializer' : not supported with this profile: es
-ERROR: 0:3000: '#error' : line of this error should be 3000
-ERROR: 0:3002: '' : syntax error
-ERROR: 78 compilation errors. No code generated.
-
-
-Shader version: 100
-Requested GL_EXT_frag_depth
-Requested GL_EXT_shader_texture_lod
-Requested GL_OES_EGL_image_external
-Requested GL_OES_standard_derivatives
-Requested GL_OES_texture_3D
-ERROR: node is still EOpNull!
-0:3 Sequence
-0:3 move second child to first child (temp 3-element array of mediump int)
-0:3 'a' (global 3-element array of mediump int)
-0:3 Constant:
-0:3 2 (const int)
-0:3 3 (const int)
-0:3 4 (const int)
-0:17 Function Definition: main( (global void)
-0:17 Function Parameters:
-0:19 Sequence
-0:19 Constant:
-0:19 0.000000
-0:20 Sequence
-0:20 move second child to first child (temp mediump int)
-0:20 's' (temp mediump int)
-0:20 Constant:
-0:20 16 (const int)
-0:21 move second child to first child (temp mediump int)
-0:21 's' (temp mediump int)
-0:21 Constant:
-0:21 4 (const int)
-0:22 Test condition and select (temp void)
-0:22 Condition
-0:22 Compare Equal (temp bool)
-0:22 'a' (global 3-element array of mediump int)
-0:22 'a' (global 3-element array of mediump int)
-0:22 true case is null
-0:24 move second child to first child (temp mediump int)
-0:24 'b' (temp mediump int)
-0:24 bitwise and (temp mediump int)
-0:24 'c' (temp mediump int)
-0:24 Constant:
-0:24 4 (const int)
-0:25 move second child to first child (temp mediump int)
-0:25 'b' (temp mediump int)
-0:25 mod (temp mediump int)
-0:25 'c' (temp mediump int)
-0:25 Constant:
-0:25 4 (const int)
-0:26 move second child to first child (temp mediump int)
-0:26 'b' (temp mediump int)
-0:26 inclusive-or (temp mediump int)
-0:26 'c' (temp mediump int)
-0:26 Constant:
-0:26 4 (const int)
-0:27 right shift second child into first child (temp mediump int)
-0:27 'b' (temp mediump int)
-0:27 Constant:
-0:27 2 (const int)
-0:28 left shift second child into first child (temp mediump int)
-0:28 'b' (temp mediump int)
-0:28 Constant:
-0:28 2 (const int)
-0:29 mod second child into first child (temp mediump int)
-0:29 'b' (temp mediump int)
-0:29 Constant:
-0:29 3 (const int)
-0:36 move second child to first child (temp structure{temp mediump float f, temp 10-element array of mediump float a})
-0:36 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
-0:36 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
-0:37 Test condition and select (temp void)
-0:37 Condition
-0:37 Compare Equal (temp bool)
-0:37 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
-0:37 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
-0:37 true case is null
-0:38 Test condition and select (temp void)
-0:38 Condition
-0:38 Compare Not Equal (temp bool)
-0:38 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
-0:38 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
-0:38 true case is null
-0:40 'b' (temp mediump int)
-0:54 Function Definition: foo10( (global void)
-0:54 Function Parameters:
-0:67 Function Definition: f11(s21; (global void)
-0:67 Function Parameters:
-0:67 'p2d' (in lowp sampler2D)
-0:87 Function Definition: foo234( (global void)
-0:87 Function Parameters:
-0:89 Sequence
-0:89 texture (global highp 4-component vector of float)
-0:89 's3D2' (uniform highp sampler3D)
-0:89 Constant:
-0:89 0.200000
-0:89 0.200000
-0:89 0.200000
-0:89 Constant:
-0:89 0.200000
-0:90 textureProj (global highp 4-component vector of float)
-0:90 's3D2' (uniform highp sampler3D)
-0:90 direct index (smooth temp mediump 4-component vector of float)
-0:90 'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:90 Constant:
-0:90 1 (const int)
-0:90 Constant:
-0:90 0.400000
-0:91 dPdx (global mediump 4-component vector of float)
-0:91 direct index (smooth temp mediump 4-component vector of float)
-0:91 'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:91 Constant:
-0:91 0 (const int)
-0:92 Constant:
-0:92 0.000000
-0:93 fwidth (global mediump float)
-0:93 'f13' (invariant global mediump float)
-0:98 Function Definition: foo236( (global void)
-0:98 Function Parameters:
-0:100 Sequence
-0:100 dPdx (global mediump 4-component vector of float)
-0:100 direct index (smooth temp mediump 4-component vector of float)
-0:100 'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:100 Constant:
-0:100 0 (const int)
-0:101 Constant:
-0:101 0.000000
-0:102 fwidth (global mediump float)
-0:102 'f13' (invariant global mediump float)
-0:103 move second child to first child (temp mediump float)
-0:103 'gl_FragDepth' (temp mediump float)
-0:103 'f13' (invariant global mediump float)
-0:104 move second child to first child (temp highp float)
-0:104 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
-0:104 'f13' (invariant global mediump float)
-0:109 Function Definition: foo239( (global void)
-0:109 Function Parameters:
-0:111 Sequence
-0:111 move second child to first child (temp mediump float)
-0:111 'gl_FragDepth' (temp mediump float)
-0:111 'f13' (invariant global mediump float)
-0:112 move second child to first child (temp highp float)
-0:112 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
-0:112 'f13' (invariant global mediump float)
-0:119 Function Definition: foo245( (global void)
-0:119 Function Parameters:
-0:121 Sequence
-0:121 texture (global lowp 4-component vector of float)
-0:121 'sExt' (uniform lowp samplerExternalOES)
-0:121 Constant:
-0:121 0.200000
-0:121 0.200000
-0:122 textureProj (global lowp 4-component vector of float)
-0:122 'sExt' (uniform lowp samplerExternalOES)
-0:122 Construct vec3 (temp lowp 3-component vector of float)
-0:122 'f13' (invariant global mediump float)
-0:123 textureProj (global lowp 4-component vector of float)
-0:123 'sExt' (uniform lowp samplerExternalOES)
-0:123 direct index (smooth temp mediump 4-component vector of float)
-0:123 'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:123 Constant:
-0:123 2 (const int)
-0:130 Function Definition: foo246( (global void)
-0:130 Function Parameters:
-0:132 Sequence
-0:132 texture (global mediump 4-component vector of float)
-0:132 'mediumExt' (uniform mediump samplerExternalOES)
-0:132 Constant:
-0:132 0.200000
-0:132 0.200000
-0:133 textureProj (global highp 4-component vector of float)
-0:133 'highExt' (uniform highp samplerExternalOES)
-0:133 direct index (smooth temp mediump 4-component vector of float)
-0:133 'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:133 Constant:
-0:133 2 (const int)
-0:134 Constant:
-0:134 0.000000
-0:135 Constant:
-0:135 0.000000
-0:137 Bitwise not (temp mediump int)
-0:137 'a' (temp mediump int)
-0:138 inclusive-or (temp mediump int)
-0:138 'a' (temp mediump int)
-0:138 'a' (temp mediump int)
-0:139 bitwise and (temp mediump int)
-0:139 'a' (temp mediump int)
-0:139 'a' (temp mediump int)
-0:145 Function Definition: foo203940(i1;f1;f1; (global mediump int)
-0:145 Function Parameters:
-0:145 'a' (in mediump int)
-0:145 'b' (in mediump float)
-0:147 Sequence
-0:147 textureProjGrad (global lowp 4-component vector of float)
-0:147 's2Dg' (uniform lowp sampler2D)
-0:147 Construct vec3 (temp mediump 3-component vector of float)
-0:147 'f13' (invariant global mediump float)
-0:147 'uv2' (invariant uniform mediump 2-component vector of float)
-0:147 'uv2' (invariant uniform mediump 2-component vector of float)
-0:148 Branch: Return with expression
-0:148 'a' (in mediump int)
-0:151 Sequence
-0:151 move second child to first child (temp mediump float)
-0:151 'f123' (global mediump float)
-0:151 Constant:
-0:151 4.000000
-0:152 Sequence
-0:152 move second child to first child (temp mediump float)
-0:152 'f124' (global mediump float)
-0:152 Constant:
-0:152 50000000000.000000
-0:158 Function Definition: foo323433( (global void)
-0:158 Function Parameters:
-0:160 Sequence
-0:160 textureLod (global lowp 4-component vector of float)
-0:160 's2Dg' (uniform lowp sampler2D)
-0:160 'uv2' (invariant uniform mediump 2-component vector of float)
-0:160 'f13' (invariant global mediump float)
-0:161 textureProjGrad (global lowp 4-component vector of float)
-0:161 's2Dg' (uniform lowp sampler2D)
-0:161 Construct vec3 (temp mediump 3-component vector of float)
-0:161 'f13' (invariant global mediump float)
-0:161 'uv2' (invariant uniform mediump 2-component vector of float)
-0:161 'uv2' (invariant uniform mediump 2-component vector of float)
-0:162 textureGrad (global lowp 4-component vector of float)
-0:162 's2Dg' (uniform lowp sampler2D)
-0:162 'uv2' (invariant uniform mediump 2-component vector of float)
-0:162 'uv2' (invariant uniform mediump 2-component vector of float)
-0:162 'uv2' (invariant uniform mediump 2-component vector of float)
-0:163 textureGrad (global lowp 4-component vector of float)
-0:163 'sCube' (uniform lowp samplerCube)
-0:163 Construct vec3 (temp lowp 3-component vector of float)
-0:163 'f13' (invariant global mediump float)
-0:163 Construct vec3 (temp lowp 3-component vector of float)
-0:163 'f13' (invariant global mediump float)
-0:163 Construct vec3 (temp lowp 3-component vector of float)
-0:163 'f13' (invariant global mediump float)
-0:167 Function Definition: fgfg(f1;i1; (global mediump int)
-0:167 Function Parameters:
-0:167 'f' (in mediump float)
-0:167 'i' (in highp int)
-0:167 Sequence
-0:167 Branch: Return with expression
-0:167 Constant:
-0:167 2 (const int)
-0:173 Function Definition: gggf(f1; (global mediump int)
-0:173 Function Parameters:
-0:173 'f' (in mediump float)
-0:173 Sequence
-0:173 Branch: Return with expression
-0:173 Constant:
-0:173 2 (const int)
-0:175 Function Definition: agggf(f1; (global mediump int)
-0:175 Function Parameters:
-0:175 'f' (in mediump float)
-0:175 Sequence
-0:175 Branch: Return with expression
-0:175 Constant:
-0:175 2 (const int)
-0:187 Function Definition: badswizzle( (global void)
-0:187 Function Parameters:
-0:? Sequence
-0:190 'a' (temp 5-element array of mediump 3-component vector of float)
-0:191 'a' (temp 5-element array of mediump 3-component vector of float)
-0:192 'a' (temp 5-element array of mediump 3-component vector of float)
-0:193 Constant:
-0:193 5 (const int)
-0:194 Constant:
-0:194 0.000000
-0:199 Function Definition: fooinittest( (global mediump float)
-0:199 Function Parameters:
-0:201 Sequence
-0:201 Branch: Return with expression
-0:201 Function Call: fooinit( (global mediump float)
-0:209 Function Definition: fooinit( (global mediump float)
-0:209 Function Parameters:
-0:211 Sequence
-0:211 Branch: Return with expression
-0:211 Constant:
-0:211 12.000000
-0:214 Sequence
-0:214 move second child to first child (temp mediump int)
-0:214 'init1' (global mediump int)
-0:214 Test condition and select (temp mediump int)
-0:214 Condition
-0:214 'gl_FrontFacing' (gl_FrontFacing bool Face)
-0:214 true case
-0:214 Constant:
-0:214 1 (const int)
-0:214 false case
-0:214 Constant:
-0:214 2 (const int)
-0:? Linker Objects
-0:? 'a' (global 3-element array of mediump int)
-0:? 'uint' (global mediump int)
-0:? 'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:? 'f' (global mediump float)
-0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x})
-0:? 'fa' (global implicitly-sized array of mediump float)
-0:? 'f13' (global mediump float)
-0:? 'fi' (invariant temp mediump float)
-0:? 'av' (smooth in mediump 4-component vector of float)
-0:? 'uv2' (uniform mediump 2-component vector of float)
-0:? 'uv3' (invariant uniform mediump 3-component vector of float)
-0:? 'glob2D' (global lowp sampler2D)
-0:? 'vary2D' (smooth in lowp sampler2D)
-0:? 's3D' (uniform mediump sampler3D)
-0:? 's3D2' (uniform highp sampler3D)
-0:? 'sExt' (uniform lowp samplerExternalOES)
-0:? 'mediumExt' (uniform mediump samplerExternalOES)
-0:? 'highExt' (uniform highp samplerExternalOES)
-0:? 's2Dg' (uniform lowp sampler2D)
-0:? 'f123' (global mediump float)
-0:? 'f124' (global mediump float)
-0:? 'sCube' (uniform lowp samplerCube)
-0:? 's' (smooth in structure{global mediump float f})
-0:? 'fi1' (const mediump float)
-0:? 3.000000
-0:? 'fi2' (const mediump float)
-0:? 4.000000
-0:? 'fi3' (const mediump float)
-0:? 5.000000
-0:? 'init1' (global mediump int)
-
-
-Linked fragment stage:
-
-
-Shader version: 100
-Requested GL_EXT_frag_depth
-Requested GL_EXT_shader_texture_lod
-Requested GL_OES_EGL_image_external
-Requested GL_OES_standard_derivatives
-Requested GL_OES_texture_3D
-ERROR: node is still EOpNull!
-0:3 Sequence
-0:3 move second child to first child (temp 3-element array of mediump int)
-0:3 'a' (global 3-element array of mediump int)
-0:3 Constant:
-0:3 2 (const int)
-0:3 3 (const int)
-0:3 4 (const int)
-0:17 Function Definition: main( (global void)
-0:17 Function Parameters:
-0:19 Sequence
-0:19 Constant:
-0:19 0.000000
-0:20 Sequence
-0:20 move second child to first child (temp mediump int)
-0:20 's' (temp mediump int)
-0:20 Constant:
-0:20 16 (const int)
-0:21 move second child to first child (temp mediump int)
-0:21 's' (temp mediump int)
-0:21 Constant:
-0:21 4 (const int)
-0:22 Test condition and select (temp void)
-0:22 Condition
-0:22 Compare Equal (temp bool)
-0:22 'a' (global 3-element array of mediump int)
-0:22 'a' (global 3-element array of mediump int)
-0:22 true case is null
-0:24 move second child to first child (temp mediump int)
-0:24 'b' (temp mediump int)
-0:24 bitwise and (temp mediump int)
-0:24 'c' (temp mediump int)
-0:24 Constant:
-0:24 4 (const int)
-0:25 move second child to first child (temp mediump int)
-0:25 'b' (temp mediump int)
-0:25 mod (temp mediump int)
-0:25 'c' (temp mediump int)
-0:25 Constant:
-0:25 4 (const int)
-0:26 move second child to first child (temp mediump int)
-0:26 'b' (temp mediump int)
-0:26 inclusive-or (temp mediump int)
-0:26 'c' (temp mediump int)
-0:26 Constant:
-0:26 4 (const int)
-0:27 right shift second child into first child (temp mediump int)
-0:27 'b' (temp mediump int)
-0:27 Constant:
-0:27 2 (const int)
-0:28 left shift second child into first child (temp mediump int)
-0:28 'b' (temp mediump int)
-0:28 Constant:
-0:28 2 (const int)
-0:29 mod second child into first child (temp mediump int)
-0:29 'b' (temp mediump int)
-0:29 Constant:
-0:29 3 (const int)
-0:36 move second child to first child (temp structure{temp mediump float f, temp 10-element array of mediump float a})
-0:36 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
-0:36 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
-0:37 Test condition and select (temp void)
-0:37 Condition
-0:37 Compare Equal (temp bool)
-0:37 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
-0:37 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
-0:37 true case is null
-0:38 Test condition and select (temp void)
-0:38 Condition
-0:38 Compare Not Equal (temp bool)
-0:38 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
-0:38 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
-0:38 true case is null
-0:40 'b' (temp mediump int)
-0:54 Function Definition: foo10( (global void)
-0:54 Function Parameters:
-0:67 Function Definition: f11(s21; (global void)
-0:67 Function Parameters:
-0:67 'p2d' (in lowp sampler2D)
-0:87 Function Definition: foo234( (global void)
-0:87 Function Parameters:
-0:89 Sequence
-0:89 texture (global highp 4-component vector of float)
-0:89 's3D2' (uniform highp sampler3D)
-0:89 Constant:
-0:89 0.200000
-0:89 0.200000
-0:89 0.200000
-0:89 Constant:
-0:89 0.200000
-0:90 textureProj (global highp 4-component vector of float)
-0:90 's3D2' (uniform highp sampler3D)
-0:90 direct index (smooth temp mediump 4-component vector of float)
-0:90 'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:90 Constant:
-0:90 1 (const int)
-0:90 Constant:
-0:90 0.400000
-0:91 dPdx (global mediump 4-component vector of float)
-0:91 direct index (smooth temp mediump 4-component vector of float)
-0:91 'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:91 Constant:
-0:91 0 (const int)
-0:92 Constant:
-0:92 0.000000
-0:93 fwidth (global mediump float)
-0:93 'f13' (invariant global mediump float)
-0:98 Function Definition: foo236( (global void)
-0:98 Function Parameters:
-0:100 Sequence
-0:100 dPdx (global mediump 4-component vector of float)
-0:100 direct index (smooth temp mediump 4-component vector of float)
-0:100 'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:100 Constant:
-0:100 0 (const int)
-0:101 Constant:
-0:101 0.000000
-0:102 fwidth (global mediump float)
-0:102 'f13' (invariant global mediump float)
-0:103 move second child to first child (temp mediump float)
-0:103 'gl_FragDepth' (temp mediump float)
-0:103 'f13' (invariant global mediump float)
-0:104 move second child to first child (temp highp float)
-0:104 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
-0:104 'f13' (invariant global mediump float)
-0:109 Function Definition: foo239( (global void)
-0:109 Function Parameters:
-0:111 Sequence
-0:111 move second child to first child (temp mediump float)
-0:111 'gl_FragDepth' (temp mediump float)
-0:111 'f13' (invariant global mediump float)
-0:112 move second child to first child (temp highp float)
-0:112 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
-0:112 'f13' (invariant global mediump float)
-0:119 Function Definition: foo245( (global void)
-0:119 Function Parameters:
-0:121 Sequence
-0:121 texture (global lowp 4-component vector of float)
-0:121 'sExt' (uniform lowp samplerExternalOES)
-0:121 Constant:
-0:121 0.200000
-0:121 0.200000
-0:122 textureProj (global lowp 4-component vector of float)
-0:122 'sExt' (uniform lowp samplerExternalOES)
-0:122 Construct vec3 (temp lowp 3-component vector of float)
-0:122 'f13' (invariant global mediump float)
-0:123 textureProj (global lowp 4-component vector of float)
-0:123 'sExt' (uniform lowp samplerExternalOES)
-0:123 direct index (smooth temp mediump 4-component vector of float)
-0:123 'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:123 Constant:
-0:123 2 (const int)
-0:130 Function Definition: foo246( (global void)
-0:130 Function Parameters:
-0:132 Sequence
-0:132 texture (global mediump 4-component vector of float)
-0:132 'mediumExt' (uniform mediump samplerExternalOES)
-0:132 Constant:
-0:132 0.200000
-0:132 0.200000
-0:133 textureProj (global highp 4-component vector of float)
-0:133 'highExt' (uniform highp samplerExternalOES)
-0:133 direct index (smooth temp mediump 4-component vector of float)
-0:133 'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:133 Constant:
-0:133 2 (const int)
-0:134 Constant:
-0:134 0.000000
-0:135 Constant:
-0:135 0.000000
-0:137 Bitwise not (temp mediump int)
-0:137 'a' (temp mediump int)
-0:138 inclusive-or (temp mediump int)
-0:138 'a' (temp mediump int)
-0:138 'a' (temp mediump int)
-0:139 bitwise and (temp mediump int)
-0:139 'a' (temp mediump int)
-0:139 'a' (temp mediump int)
-0:145 Function Definition: foo203940(i1;f1;f1; (global mediump int)
-0:145 Function Parameters:
-0:145 'a' (in mediump int)
-0:145 'b' (in mediump float)
-0:147 Sequence
-0:147 textureProjGrad (global lowp 4-component vector of float)
-0:147 's2Dg' (uniform lowp sampler2D)
-0:147 Construct vec3 (temp mediump 3-component vector of float)
-0:147 'f13' (invariant global mediump float)
-0:147 'uv2' (invariant uniform mediump 2-component vector of float)
-0:147 'uv2' (invariant uniform mediump 2-component vector of float)
-0:148 Branch: Return with expression
-0:148 'a' (in mediump int)
-0:151 Sequence
-0:151 move second child to first child (temp mediump float)
-0:151 'f123' (global mediump float)
-0:151 Constant:
-0:151 4.000000
-0:152 Sequence
-0:152 move second child to first child (temp mediump float)
-0:152 'f124' (global mediump float)
-0:152 Constant:
-0:152 50000000000.000000
-0:158 Function Definition: foo323433( (global void)
-0:158 Function Parameters:
-0:160 Sequence
-0:160 textureLod (global lowp 4-component vector of float)
-0:160 's2Dg' (uniform lowp sampler2D)
-0:160 'uv2' (invariant uniform mediump 2-component vector of float)
-0:160 'f13' (invariant global mediump float)
-0:161 textureProjGrad (global lowp 4-component vector of float)
-0:161 's2Dg' (uniform lowp sampler2D)
-0:161 Construct vec3 (temp mediump 3-component vector of float)
-0:161 'f13' (invariant global mediump float)
-0:161 'uv2' (invariant uniform mediump 2-component vector of float)
-0:161 'uv2' (invariant uniform mediump 2-component vector of float)
-0:162 textureGrad (global lowp 4-component vector of float)
-0:162 's2Dg' (uniform lowp sampler2D)
-0:162 'uv2' (invariant uniform mediump 2-component vector of float)
-0:162 'uv2' (invariant uniform mediump 2-component vector of float)
-0:162 'uv2' (invariant uniform mediump 2-component vector of float)
-0:163 textureGrad (global lowp 4-component vector of float)
-0:163 'sCube' (uniform lowp samplerCube)
-0:163 Construct vec3 (temp lowp 3-component vector of float)
-0:163 'f13' (invariant global mediump float)
-0:163 Construct vec3 (temp lowp 3-component vector of float)
-0:163 'f13' (invariant global mediump float)
-0:163 Construct vec3 (temp lowp 3-component vector of float)
-0:163 'f13' (invariant global mediump float)
-0:167 Function Definition: fgfg(f1;i1; (global mediump int)
-0:167 Function Parameters:
-0:167 'f' (in mediump float)
-0:167 'i' (in highp int)
-0:167 Sequence
-0:167 Branch: Return with expression
-0:167 Constant:
-0:167 2 (const int)
-0:173 Function Definition: gggf(f1; (global mediump int)
-0:173 Function Parameters:
-0:173 'f' (in mediump float)
-0:173 Sequence
-0:173 Branch: Return with expression
-0:173 Constant:
-0:173 2 (const int)
-0:175 Function Definition: agggf(f1; (global mediump int)
-0:175 Function Parameters:
-0:175 'f' (in mediump float)
-0:175 Sequence
-0:175 Branch: Return with expression
-0:175 Constant:
-0:175 2 (const int)
-0:187 Function Definition: badswizzle( (global void)
-0:187 Function Parameters:
-0:? Sequence
-0:190 'a' (temp 5-element array of mediump 3-component vector of float)
-0:191 'a' (temp 5-element array of mediump 3-component vector of float)
-0:192 'a' (temp 5-element array of mediump 3-component vector of float)
-0:193 Constant:
-0:193 5 (const int)
-0:194 Constant:
-0:194 0.000000
-0:199 Function Definition: fooinittest( (global mediump float)
-0:199 Function Parameters:
-0:201 Sequence
-0:201 Branch: Return with expression
-0:201 Function Call: fooinit( (global mediump float)
-0:209 Function Definition: fooinit( (global mediump float)
-0:209 Function Parameters:
-0:211 Sequence
-0:211 Branch: Return with expression
-0:211 Constant:
-0:211 12.000000
-0:214 Sequence
-0:214 move second child to first child (temp mediump int)
-0:214 'init1' (global mediump int)
-0:214 Test condition and select (temp mediump int)
-0:214 Condition
-0:214 'gl_FrontFacing' (gl_FrontFacing bool Face)
-0:214 true case
-0:214 Constant:
-0:214 1 (const int)
-0:214 false case
-0:214 Constant:
-0:214 2 (const int)
-0:? Linker Objects
-0:? 'a' (global 3-element array of mediump int)
-0:? 'uint' (global mediump int)
-0:? 'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:? 'f' (global mediump float)
-0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x})
-0:? 'fa' (global 1-element array of mediump float)
-0:? 'f13' (global mediump float)
-0:? 'fi' (invariant temp mediump float)
-0:? 'av' (smooth in mediump 4-component vector of float)
-0:? 'uv2' (uniform mediump 2-component vector of float)
-0:? 'uv3' (invariant uniform mediump 3-component vector of float)
-0:? 'glob2D' (global lowp sampler2D)
-0:? 'vary2D' (smooth in lowp sampler2D)
-0:? 's3D' (uniform mediump sampler3D)
-0:? 's3D2' (uniform highp sampler3D)
-0:? 'sExt' (uniform lowp samplerExternalOES)
-0:? 'mediumExt' (uniform mediump samplerExternalOES)
-0:? 'highExt' (uniform highp samplerExternalOES)
-0:? 's2Dg' (uniform lowp sampler2D)
-0:? 'f123' (global mediump float)
-0:? 'f124' (global mediump float)
-0:? 'sCube' (uniform lowp samplerCube)
-0:? 's' (smooth in structure{global mediump float f})
-0:? 'fi1' (const mediump float)
-0:? 3.000000
-0:? 'fi2' (const mediump float)
-0:? 4.000000
-0:? 'fi3' (const mediump float)
-0:? 5.000000
-0:? 'init1' (global mediump int)
-
+100.frag
+ERROR: 0:3: '{ } style initializers' : not supported with this profile: es
+ERROR: 0:3: 'initializer' : not supported for this version or the enabled extensions
+ERROR: 0:3: 'array initializer' : not supported for this version or the enabled extensions
+ERROR: 0:3: 'non-constant global initializer' : not supported with this profile: es
+ERROR: 0:4: '#version' : must occur first in shader
+ERROR: 0:7: 'attribute' : not supported in this stage: fragment
+ERROR: 0:7: 'float' : type requires declaration of default precision qualifier
+ERROR: 0:9: '=' : cannot convert from 'const int' to 'global mediump float'
+ERROR: 0:11: 'uniform block' : not supported for this version or the enabled extensions
+ERROR: 0:19: 'foo' : no matching overloaded function found
+ERROR: 0:20: 'bit shift left' : not supported for this version or the enabled extensions
+ERROR: 0:21: 'bit shift right' : not supported for this version or the enabled extensions
+ERROR: 0:22: 'array comparison' : not supported for this version or the enabled extensions
+ERROR: 0:24: 'bitwise and' : not supported for this version or the enabled extensions
+ERROR: 0:25: '%' : not supported for this version or the enabled extensions
+ERROR: 0:26: 'bitwise inclusive or' : not supported for this version or the enabled extensions
+ERROR: 0:27: 'bit-shift right assign' : not supported for this version or the enabled extensions
+ERROR: 0:28: 'bit-shift left assign' : not supported for this version or the enabled extensions
+ERROR: 0:29: '%=' : not supported for this version or the enabled extensions
+ERROR: 0:36: 'array assignment' : not supported for this version or the enabled extensions
+ERROR: 0:37: 'array comparison' : not supported for this version or the enabled extensions
+ERROR: 0:38: 'array comparison' : not supported for this version or the enabled extensions
+ERROR: 0:40: 'switch' : Reserved word.
+ERROR: 0:40: 'switch statements' : not supported for this version or the enabled extensions
+ERROR: 0:45: '' : array size required
+ERROR: 0:47: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:49: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:50: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:56: 'invariant' : not allowed in nested scope
+ERROR: 0:56: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:57: 'invariant' : not allowed in nested scope
+ERROR: 0:57: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:59: 'invariant' : not allowed in nested scope
+ERROR: 0:59: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:63: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:64: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:66: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: glob2D
+ERROR: 0:69: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: v2D
+ERROR: 0:71: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: vary2D
+ERROR: 0:75: 'in for stage inputs' : not supported for this version or the enabled extensions
+ERROR: 0:77: 'invariant' : can only apply to an output, or to an input in a non-vertex stage
+
+ERROR: 0:75: 'g' : cannot use storage or interpolation qualifiers on structure members
+ERROR: 0:76: 'h' : cannot use storage or interpolation qualifiers on structure members
+ERROR: 0:77: 'i' : cannot use invariant qualifier on structure members
+ERROR: 0:80: 'sampler3D' : Reserved word.
+ERROR: 0:80: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:91: 'dFdx' : required extension not requested: GL_OES_standard_derivatives
+ERROR: 0:92: 'dFdy' : required extension not requested: GL_OES_standard_derivatives
+ERROR: 0:93: 'fwidth' : required extension not requested: GL_OES_standard_derivatives
+ERROR: 0:103: 'gl_FragDepth' : undeclared identifier
+ERROR: 0:104: 'gl_FragDepthEXT' : required extension not requested: GL_EXT_frag_depth
+ERROR: 0:111: 'gl_FragDepth' : undeclared identifier
+ERROR: 0:134: 'texture3D' : no matching overloaded function found
+ERROR: 0:135: 'texture2DProjLod' : no matching overloaded function found
+ERROR: 0:137: 'bitwise not' : not supported for this version or the enabled extensions
+ERROR: 0:138: 'bitwise inclusive or' : not supported for this version or the enabled extensions
+ERROR: 0:139: 'bitwise and' : not supported for this version or the enabled extensions
+ERROR: 0:145: 'a' : redefinition
+ERROR: 0:147: 'texture2DProjGradEXT' : required extension not requested: GL_EXT_shader_texture_lod
+ERROR: 0:151: 'floating-point suffix' : not supported for this version or the enabled extensions
+ERROR: 0:152: 'floating-point suffix' : not supported for this version or the enabled extensions
+ERROR: 0:167: 'highp' : overloaded functions must have the same parameter precision qualifiers for argument 2
+ERROR: 0:170: 'multiple prototypes for same function' : not supported for this version or the enabled extensions
+ERROR: 0:177: 'multiple prototypes for same function' : not supported for this version or the enabled extensions
+ERROR: 0:179: 'fragment-shader struct input' : not supported for this version or the enabled extensions
+ERROR: 0:183: 'v' : illegal use of type 'void'
+ERROR: 0:184: 'void' : cannot be an argument type except for '(void)'
+ERROR: 0:185: 'v' : illegal use of type 'void'
+ERROR: 0:185: 'void' : cannot be an argument type except for '(void)'
+ERROR: 0:190: '.' : cannot apply to an array: y
+ERROR: 0:191: '.' : cannot apply to an array: zy
+ERROR: 0:192: '.' : cannot apply to an array: nothing
+ERROR: 0:193: '.length' : not supported for this version or the enabled extensions
+ERROR: 0:194: '.' : cannot apply to an array: method
+ERROR: 0:194: 'a' : can't use function syntax on variable
+ERROR: 0:214: 'non-constant global initializer' : not supported with this profile: es
+ERROR: 0:3000: '#error' : line of this error should be 3000
+ERROR: 0:3002: '' : syntax error
+ERROR: 78 compilation errors. No code generated.
+
+
+Shader version: 100
+Requested GL_EXT_frag_depth
+Requested GL_EXT_shader_texture_lod
+Requested GL_OES_EGL_image_external
+Requested GL_OES_standard_derivatives
+Requested GL_OES_texture_3D
+ERROR: node is still EOpNull!
+0:3 Sequence
+0:3 move second child to first child (temp 3-element array of mediump int)
+0:3 'a' (global 3-element array of mediump int)
+0:3 Constant:
+0:3 2 (const int)
+0:3 3 (const int)
+0:3 4 (const int)
+0:17 Function Definition: main( (global void)
+0:17 Function Parameters:
+0:19 Sequence
+0:19 Constant:
+0:19 0.000000
+0:20 Sequence
+0:20 move second child to first child (temp mediump int)
+0:20 's' (temp mediump int)
+0:20 Constant:
+0:20 16 (const int)
+0:21 move second child to first child (temp mediump int)
+0:21 's' (temp mediump int)
+0:21 Constant:
+0:21 4 (const int)
+0:22 Test condition and select (temp void)
+0:22 Condition
+0:22 Compare Equal (temp bool)
+0:22 'a' (global 3-element array of mediump int)
+0:22 'a' (global 3-element array of mediump int)
+0:22 true case is null
+0:24 move second child to first child (temp mediump int)
+0:24 'b' (temp mediump int)
+0:24 bitwise and (temp mediump int)
+0:24 'c' (temp mediump int)
+0:24 Constant:
+0:24 4 (const int)
+0:25 move second child to first child (temp mediump int)
+0:25 'b' (temp mediump int)
+0:25 mod (temp mediump int)
+0:25 'c' (temp mediump int)
+0:25 Constant:
+0:25 4 (const int)
+0:26 move second child to first child (temp mediump int)
+0:26 'b' (temp mediump int)
+0:26 inclusive-or (temp mediump int)
+0:26 'c' (temp mediump int)
+0:26 Constant:
+0:26 4 (const int)
+0:27 right shift second child into first child (temp mediump int)
+0:27 'b' (temp mediump int)
+0:27 Constant:
+0:27 2 (const int)
+0:28 left shift second child into first child (temp mediump int)
+0:28 'b' (temp mediump int)
+0:28 Constant:
+0:28 2 (const int)
+0:29 mod second child into first child (temp mediump int)
+0:29 'b' (temp mediump int)
+0:29 Constant:
+0:29 3 (const int)
+0:36 move second child to first child (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:36 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:36 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:37 Test condition and select (temp void)
+0:37 Condition
+0:37 Compare Equal (temp bool)
+0:37 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:37 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:37 true case is null
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Not Equal (temp bool)
+0:38 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:38 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:38 true case is null
+0:40 'b' (temp mediump int)
+0:54 Function Definition: foo10( (global void)
+0:54 Function Parameters:
+0:67 Function Definition: f11(s21; (global void)
+0:67 Function Parameters:
+0:67 'p2d' (in lowp sampler2D)
+0:87 Function Definition: foo234( (global void)
+0:87 Function Parameters:
+0:89 Sequence
+0:89 texture (global highp 4-component vector of float)
+0:89 's3D2' (uniform highp sampler3D)
+0:89 Constant:
+0:89 0.200000
+0:89 0.200000
+0:89 0.200000
+0:89 Constant:
+0:89 0.200000
+0:90 textureProj (global highp 4-component vector of float)
+0:90 's3D2' (uniform highp sampler3D)
+0:90 direct index (smooth temp mediump 4-component vector of float)
+0:90 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:90 Constant:
+0:90 1 (const int)
+0:90 Constant:
+0:90 0.400000
+0:91 dPdx (global mediump 4-component vector of float)
+0:91 direct index (smooth temp mediump 4-component vector of float)
+0:91 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:91 Constant:
+0:91 0 (const int)
+0:92 Constant:
+0:92 0.000000
+0:93 fwidth (global mediump float)
+0:93 'f13' (invariant global mediump float)
+0:98 Function Definition: foo236( (global void)
+0:98 Function Parameters:
+0:100 Sequence
+0:100 dPdx (global mediump 4-component vector of float)
+0:100 direct index (smooth temp mediump 4-component vector of float)
+0:100 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:100 Constant:
+0:100 0 (const int)
+0:101 Constant:
+0:101 0.000000
+0:102 fwidth (global mediump float)
+0:102 'f13' (invariant global mediump float)
+0:103 move second child to first child (temp mediump float)
+0:103 'gl_FragDepth' (temp mediump float)
+0:103 'f13' (invariant global mediump float)
+0:104 move second child to first child (temp highp float)
+0:104 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
+0:104 'f13' (invariant global mediump float)
+0:109 Function Definition: foo239( (global void)
+0:109 Function Parameters:
+0:111 Sequence
+0:111 move second child to first child (temp mediump float)
+0:111 'gl_FragDepth' (temp mediump float)
+0:111 'f13' (invariant global mediump float)
+0:112 move second child to first child (temp highp float)
+0:112 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
+0:112 'f13' (invariant global mediump float)
+0:119 Function Definition: foo245( (global void)
+0:119 Function Parameters:
+0:121 Sequence
+0:121 texture (global lowp 4-component vector of float)
+0:121 'sExt' (uniform lowp samplerExternalOES)
+0:121 Constant:
+0:121 0.200000
+0:121 0.200000
+0:122 textureProj (global lowp 4-component vector of float)
+0:122 'sExt' (uniform lowp samplerExternalOES)
+0:122 Construct vec3 (temp lowp 3-component vector of float)
+0:122 'f13' (invariant global mediump float)
+0:123 textureProj (global lowp 4-component vector of float)
+0:123 'sExt' (uniform lowp samplerExternalOES)
+0:123 direct index (smooth temp mediump 4-component vector of float)
+0:123 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:123 Constant:
+0:123 2 (const int)
+0:130 Function Definition: foo246( (global void)
+0:130 Function Parameters:
+0:132 Sequence
+0:132 texture (global mediump 4-component vector of float)
+0:132 'mediumExt' (uniform mediump samplerExternalOES)
+0:132 Constant:
+0:132 0.200000
+0:132 0.200000
+0:133 textureProj (global highp 4-component vector of float)
+0:133 'highExt' (uniform highp samplerExternalOES)
+0:133 direct index (smooth temp mediump 4-component vector of float)
+0:133 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:133 Constant:
+0:133 2 (const int)
+0:134 Constant:
+0:134 0.000000
+0:135 Constant:
+0:135 0.000000
+0:137 Bitwise not (temp mediump int)
+0:137 'a' (temp mediump int)
+0:138 inclusive-or (temp mediump int)
+0:138 'a' (temp mediump int)
+0:138 'a' (temp mediump int)
+0:139 bitwise and (temp mediump int)
+0:139 'a' (temp mediump int)
+0:139 'a' (temp mediump int)
+0:145 Function Definition: foo203940(i1;f1;f1; (global mediump int)
+0:145 Function Parameters:
+0:145 'a' (in mediump int)
+0:145 'b' (in mediump float)
+0:147 Sequence
+0:147 textureProjGrad (global lowp 4-component vector of float)
+0:147 's2Dg' (uniform lowp sampler2D)
+0:147 Construct vec3 (temp mediump 3-component vector of float)
+0:147 'f13' (invariant global mediump float)
+0:147 'uv2' (invariant uniform mediump 2-component vector of float)
+0:147 'uv2' (invariant uniform mediump 2-component vector of float)
+0:148 Branch: Return with expression
+0:148 'a' (in mediump int)
+0:151 Sequence
+0:151 move second child to first child (temp mediump float)
+0:151 'f123' (global mediump float)
+0:151 Constant:
+0:151 4.000000
+0:152 Sequence
+0:152 move second child to first child (temp mediump float)
+0:152 'f124' (global mediump float)
+0:152 Constant:
+0:152 50000000000.000000
+0:158 Function Definition: foo323433( (global void)
+0:158 Function Parameters:
+0:160 Sequence
+0:160 textureLod (global lowp 4-component vector of float)
+0:160 's2Dg' (uniform lowp sampler2D)
+0:160 'uv2' (invariant uniform mediump 2-component vector of float)
+0:160 'f13' (invariant global mediump float)
+0:161 textureProjGrad (global lowp 4-component vector of float)
+0:161 's2Dg' (uniform lowp sampler2D)
+0:161 Construct vec3 (temp mediump 3-component vector of float)
+0:161 'f13' (invariant global mediump float)
+0:161 'uv2' (invariant uniform mediump 2-component vector of float)
+0:161 'uv2' (invariant uniform mediump 2-component vector of float)
+0:162 textureGrad (global lowp 4-component vector of float)
+0:162 's2Dg' (uniform lowp sampler2D)
+0:162 'uv2' (invariant uniform mediump 2-component vector of float)
+0:162 'uv2' (invariant uniform mediump 2-component vector of float)
+0:162 'uv2' (invariant uniform mediump 2-component vector of float)
+0:163 textureGrad (global lowp 4-component vector of float)
+0:163 'sCube' (uniform lowp samplerCube)
+0:163 Construct vec3 (temp lowp 3-component vector of float)
+0:163 'f13' (invariant global mediump float)
+0:163 Construct vec3 (temp lowp 3-component vector of float)
+0:163 'f13' (invariant global mediump float)
+0:163 Construct vec3 (temp lowp 3-component vector of float)
+0:163 'f13' (invariant global mediump float)
+0:167 Function Definition: fgfg(f1;i1; (global mediump int)
+0:167 Function Parameters:
+0:167 'f' (in mediump float)
+0:167 'i' (in highp int)
+0:167 Sequence
+0:167 Branch: Return with expression
+0:167 Constant:
+0:167 2 (const int)
+0:173 Function Definition: gggf(f1; (global mediump int)
+0:173 Function Parameters:
+0:173 'f' (in mediump float)
+0:173 Sequence
+0:173 Branch: Return with expression
+0:173 Constant:
+0:173 2 (const int)
+0:175 Function Definition: agggf(f1; (global mediump int)
+0:175 Function Parameters:
+0:175 'f' (in mediump float)
+0:175 Sequence
+0:175 Branch: Return with expression
+0:175 Constant:
+0:175 2 (const int)
+0:187 Function Definition: badswizzle( (global void)
+0:187 Function Parameters:
+0:? Sequence
+0:190 'a' (temp 5-element array of mediump 3-component vector of float)
+0:191 'a' (temp 5-element array of mediump 3-component vector of float)
+0:192 'a' (temp 5-element array of mediump 3-component vector of float)
+0:193 Constant:
+0:193 5 (const int)
+0:194 Constant:
+0:194 0.000000
+0:199 Function Definition: fooinittest( (global mediump float)
+0:199 Function Parameters:
+0:201 Sequence
+0:201 Branch: Return with expression
+0:201 Function Call: fooinit( (global mediump float)
+0:209 Function Definition: fooinit( (global mediump float)
+0:209 Function Parameters:
+0:211 Sequence
+0:211 Branch: Return with expression
+0:211 Constant:
+0:211 12.000000
+0:214 Sequence
+0:214 move second child to first child (temp mediump int)
+0:214 'init1' (global mediump int)
+0:214 Test condition and select (temp mediump int)
+0:214 Condition
+0:214 'gl_FrontFacing' (gl_FrontFacing bool Face)
+0:214 true case
+0:214 Constant:
+0:214 1 (const int)
+0:214 false case
+0:214 Constant:
+0:214 2 (const int)
+0:? Linker Objects
+0:? 'a' (global 3-element array of mediump int)
+0:? 'uint' (global mediump int)
+0:? 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:? 'f' (global mediump float)
+0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x})
+0:? 'fa' (global implicitly-sized array of mediump float)
+0:? 'f13' (global mediump float)
+0:? 'fi' (invariant temp mediump float)
+0:? 'av' (smooth in mediump 4-component vector of float)
+0:? 'uv2' (uniform mediump 2-component vector of float)
+0:? 'uv3' (invariant uniform mediump 3-component vector of float)
+0:? 'glob2D' (global lowp sampler2D)
+0:? 'vary2D' (smooth in lowp sampler2D)
+0:? 's3D' (uniform mediump sampler3D)
+0:? 's3D2' (uniform highp sampler3D)
+0:? 'sExt' (uniform lowp samplerExternalOES)
+0:? 'mediumExt' (uniform mediump samplerExternalOES)
+0:? 'highExt' (uniform highp samplerExternalOES)
+0:? 's2Dg' (uniform lowp sampler2D)
+0:? 'f123' (global mediump float)
+0:? 'f124' (global mediump float)
+0:? 'sCube' (uniform lowp samplerCube)
+0:? 's' (smooth in structure{global mediump float f})
+0:? 'fi1' (const mediump float)
+0:? 3.000000
+0:? 'fi2' (const mediump float)
+0:? 4.000000
+0:? 'fi3' (const mediump float)
+0:? 5.000000
+0:? 'init1' (global mediump int)
+
+
+Linked fragment stage:
+
+
+Shader version: 100
+Requested GL_EXT_frag_depth
+Requested GL_EXT_shader_texture_lod
+Requested GL_OES_EGL_image_external
+Requested GL_OES_standard_derivatives
+Requested GL_OES_texture_3D
+ERROR: node is still EOpNull!
+0:3 Sequence
+0:3 move second child to first child (temp 3-element array of mediump int)
+0:3 'a' (global 3-element array of mediump int)
+0:3 Constant:
+0:3 2 (const int)
+0:3 3 (const int)
+0:3 4 (const int)
+0:17 Function Definition: main( (global void)
+0:17 Function Parameters:
+0:19 Sequence
+0:19 Constant:
+0:19 0.000000
+0:20 Sequence
+0:20 move second child to first child (temp mediump int)
+0:20 's' (temp mediump int)
+0:20 Constant:
+0:20 16 (const int)
+0:21 move second child to first child (temp mediump int)
+0:21 's' (temp mediump int)
+0:21 Constant:
+0:21 4 (const int)
+0:22 Test condition and select (temp void)
+0:22 Condition
+0:22 Compare Equal (temp bool)
+0:22 'a' (global 3-element array of mediump int)
+0:22 'a' (global 3-element array of mediump int)
+0:22 true case is null
+0:24 move second child to first child (temp mediump int)
+0:24 'b' (temp mediump int)
+0:24 bitwise and (temp mediump int)
+0:24 'c' (temp mediump int)
+0:24 Constant:
+0:24 4 (const int)
+0:25 move second child to first child (temp mediump int)
+0:25 'b' (temp mediump int)
+0:25 mod (temp mediump int)
+0:25 'c' (temp mediump int)
+0:25 Constant:
+0:25 4 (const int)
+0:26 move second child to first child (temp mediump int)
+0:26 'b' (temp mediump int)
+0:26 inclusive-or (temp mediump int)
+0:26 'c' (temp mediump int)
+0:26 Constant:
+0:26 4 (const int)
+0:27 right shift second child into first child (temp mediump int)
+0:27 'b' (temp mediump int)
+0:27 Constant:
+0:27 2 (const int)
+0:28 left shift second child into first child (temp mediump int)
+0:28 'b' (temp mediump int)
+0:28 Constant:
+0:28 2 (const int)
+0:29 mod second child into first child (temp mediump int)
+0:29 'b' (temp mediump int)
+0:29 Constant:
+0:29 3 (const int)
+0:36 move second child to first child (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:36 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:36 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:37 Test condition and select (temp void)
+0:37 Condition
+0:37 Compare Equal (temp bool)
+0:37 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:37 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:37 true case is null
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Not Equal (temp bool)
+0:38 's1' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:38 's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
+0:38 true case is null
+0:40 'b' (temp mediump int)
+0:54 Function Definition: foo10( (global void)
+0:54 Function Parameters:
+0:67 Function Definition: f11(s21; (global void)
+0:67 Function Parameters:
+0:67 'p2d' (in lowp sampler2D)
+0:87 Function Definition: foo234( (global void)
+0:87 Function Parameters:
+0:89 Sequence
+0:89 texture (global highp 4-component vector of float)
+0:89 's3D2' (uniform highp sampler3D)
+0:89 Constant:
+0:89 0.200000
+0:89 0.200000
+0:89 0.200000
+0:89 Constant:
+0:89 0.200000
+0:90 textureProj (global highp 4-component vector of float)
+0:90 's3D2' (uniform highp sampler3D)
+0:90 direct index (smooth temp mediump 4-component vector of float)
+0:90 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:90 Constant:
+0:90 1 (const int)
+0:90 Constant:
+0:90 0.400000
+0:91 dPdx (global mediump 4-component vector of float)
+0:91 direct index (smooth temp mediump 4-component vector of float)
+0:91 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:91 Constant:
+0:91 0 (const int)
+0:92 Constant:
+0:92 0.000000
+0:93 fwidth (global mediump float)
+0:93 'f13' (invariant global mediump float)
+0:98 Function Definition: foo236( (global void)
+0:98 Function Parameters:
+0:100 Sequence
+0:100 dPdx (global mediump 4-component vector of float)
+0:100 direct index (smooth temp mediump 4-component vector of float)
+0:100 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:100 Constant:
+0:100 0 (const int)
+0:101 Constant:
+0:101 0.000000
+0:102 fwidth (global mediump float)
+0:102 'f13' (invariant global mediump float)
+0:103 move second child to first child (temp mediump float)
+0:103 'gl_FragDepth' (temp mediump float)
+0:103 'f13' (invariant global mediump float)
+0:104 move second child to first child (temp highp float)
+0:104 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
+0:104 'f13' (invariant global mediump float)
+0:109 Function Definition: foo239( (global void)
+0:109 Function Parameters:
+0:111 Sequence
+0:111 move second child to first child (temp mediump float)
+0:111 'gl_FragDepth' (temp mediump float)
+0:111 'f13' (invariant global mediump float)
+0:112 move second child to first child (temp highp float)
+0:112 'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
+0:112 'f13' (invariant global mediump float)
+0:119 Function Definition: foo245( (global void)
+0:119 Function Parameters:
+0:121 Sequence
+0:121 texture (global lowp 4-component vector of float)
+0:121 'sExt' (uniform lowp samplerExternalOES)
+0:121 Constant:
+0:121 0.200000
+0:121 0.200000
+0:122 textureProj (global lowp 4-component vector of float)
+0:122 'sExt' (uniform lowp samplerExternalOES)
+0:122 Construct vec3 (temp lowp 3-component vector of float)
+0:122 'f13' (invariant global mediump float)
+0:123 textureProj (global lowp 4-component vector of float)
+0:123 'sExt' (uniform lowp samplerExternalOES)
+0:123 direct index (smooth temp mediump 4-component vector of float)
+0:123 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:123 Constant:
+0:123 2 (const int)
+0:130 Function Definition: foo246( (global void)
+0:130 Function Parameters:
+0:132 Sequence
+0:132 texture (global mediump 4-component vector of float)
+0:132 'mediumExt' (uniform mediump samplerExternalOES)
+0:132 Constant:
+0:132 0.200000
+0:132 0.200000
+0:133 textureProj (global highp 4-component vector of float)
+0:133 'highExt' (uniform highp samplerExternalOES)
+0:133 direct index (smooth temp mediump 4-component vector of float)
+0:133 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:133 Constant:
+0:133 2 (const int)
+0:134 Constant:
+0:134 0.000000
+0:135 Constant:
+0:135 0.000000
+0:137 Bitwise not (temp mediump int)
+0:137 'a' (temp mediump int)
+0:138 inclusive-or (temp mediump int)
+0:138 'a' (temp mediump int)
+0:138 'a' (temp mediump int)
+0:139 bitwise and (temp mediump int)
+0:139 'a' (temp mediump int)
+0:139 'a' (temp mediump int)
+0:145 Function Definition: foo203940(i1;f1;f1; (global mediump int)
+0:145 Function Parameters:
+0:145 'a' (in mediump int)
+0:145 'b' (in mediump float)
+0:147 Sequence
+0:147 textureProjGrad (global lowp 4-component vector of float)
+0:147 's2Dg' (uniform lowp sampler2D)
+0:147 Construct vec3 (temp mediump 3-component vector of float)
+0:147 'f13' (invariant global mediump float)
+0:147 'uv2' (invariant uniform mediump 2-component vector of float)
+0:147 'uv2' (invariant uniform mediump 2-component vector of float)
+0:148 Branch: Return with expression
+0:148 'a' (in mediump int)
+0:151 Sequence
+0:151 move second child to first child (temp mediump float)
+0:151 'f123' (global mediump float)
+0:151 Constant:
+0:151 4.000000
+0:152 Sequence
+0:152 move second child to first child (temp mediump float)
+0:152 'f124' (global mediump float)
+0:152 Constant:
+0:152 50000000000.000000
+0:158 Function Definition: foo323433( (global void)
+0:158 Function Parameters:
+0:160 Sequence
+0:160 textureLod (global lowp 4-component vector of float)
+0:160 's2Dg' (uniform lowp sampler2D)
+0:160 'uv2' (invariant uniform mediump 2-component vector of float)
+0:160 'f13' (invariant global mediump float)
+0:161 textureProjGrad (global lowp 4-component vector of float)
+0:161 's2Dg' (uniform lowp sampler2D)
+0:161 Construct vec3 (temp mediump 3-component vector of float)
+0:161 'f13' (invariant global mediump float)
+0:161 'uv2' (invariant uniform mediump 2-component vector of float)
+0:161 'uv2' (invariant uniform mediump 2-component vector of float)
+0:162 textureGrad (global lowp 4-component vector of float)
+0:162 's2Dg' (uniform lowp sampler2D)
+0:162 'uv2' (invariant uniform mediump 2-component vector of float)
+0:162 'uv2' (invariant uniform mediump 2-component vector of float)
+0:162 'uv2' (invariant uniform mediump 2-component vector of float)
+0:163 textureGrad (global lowp 4-component vector of float)
+0:163 'sCube' (uniform lowp samplerCube)
+0:163 Construct vec3 (temp lowp 3-component vector of float)
+0:163 'f13' (invariant global mediump float)
+0:163 Construct vec3 (temp lowp 3-component vector of float)
+0:163 'f13' (invariant global mediump float)
+0:163 Construct vec3 (temp lowp 3-component vector of float)
+0:163 'f13' (invariant global mediump float)
+0:167 Function Definition: fgfg(f1;i1; (global mediump int)
+0:167 Function Parameters:
+0:167 'f' (in mediump float)
+0:167 'i' (in highp int)
+0:167 Sequence
+0:167 Branch: Return with expression
+0:167 Constant:
+0:167 2 (const int)
+0:173 Function Definition: gggf(f1; (global mediump int)
+0:173 Function Parameters:
+0:173 'f' (in mediump float)
+0:173 Sequence
+0:173 Branch: Return with expression
+0:173 Constant:
+0:173 2 (const int)
+0:175 Function Definition: agggf(f1; (global mediump int)
+0:175 Function Parameters:
+0:175 'f' (in mediump float)
+0:175 Sequence
+0:175 Branch: Return with expression
+0:175 Constant:
+0:175 2 (const int)
+0:187 Function Definition: badswizzle( (global void)
+0:187 Function Parameters:
+0:? Sequence
+0:190 'a' (temp 5-element array of mediump 3-component vector of float)
+0:191 'a' (temp 5-element array of mediump 3-component vector of float)
+0:192 'a' (temp 5-element array of mediump 3-component vector of float)
+0:193 Constant:
+0:193 5 (const int)
+0:194 Constant:
+0:194 0.000000
+0:199 Function Definition: fooinittest( (global mediump float)
+0:199 Function Parameters:
+0:201 Sequence
+0:201 Branch: Return with expression
+0:201 Function Call: fooinit( (global mediump float)
+0:209 Function Definition: fooinit( (global mediump float)
+0:209 Function Parameters:
+0:211 Sequence
+0:211 Branch: Return with expression
+0:211 Constant:
+0:211 12.000000
+0:214 Sequence
+0:214 move second child to first child (temp mediump int)
+0:214 'init1' (global mediump int)
+0:214 Test condition and select (temp mediump int)
+0:214 Condition
+0:214 'gl_FrontFacing' (gl_FrontFacing bool Face)
+0:214 true case
+0:214 Constant:
+0:214 1 (const int)
+0:214 false case
+0:214 Constant:
+0:214 2 (const int)
+0:? Linker Objects
+0:? 'a' (global 3-element array of mediump int)
+0:? 'uint' (global mediump int)
+0:? 'v' (smooth in 3-element array of mediump 4-component vector of float)
+0:? 'f' (global mediump float)
+0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x})
+0:? 'fa' (global 1-element array of mediump float)
+0:? 'f13' (global mediump float)
+0:? 'fi' (invariant temp mediump float)
+0:? 'av' (smooth in mediump 4-component vector of float)
+0:? 'uv2' (uniform mediump 2-component vector of float)
+0:? 'uv3' (invariant uniform mediump 3-component vector of float)
+0:? 'glob2D' (global lowp sampler2D)
+0:? 'vary2D' (smooth in lowp sampler2D)
+0:? 's3D' (uniform mediump sampler3D)
+0:? 's3D2' (uniform highp sampler3D)
+0:? 'sExt' (uniform lowp samplerExternalOES)
+0:? 'mediumExt' (uniform mediump samplerExternalOES)
+0:? 'highExt' (uniform highp samplerExternalOES)
+0:? 's2Dg' (uniform lowp sampler2D)
+0:? 'f123' (global mediump float)
+0:? 'f124' (global mediump float)
+0:? 'sCube' (uniform lowp samplerCube)
+0:? 's' (smooth in structure{global mediump float f})
+0:? 'fi1' (const mediump float)
+0:? 3.000000
+0:? 'fi2' (const mediump float)
+0:? 4.000000
+0:? 'fi3' (const mediump float)
+0:? 5.000000
+0:? 'init1' (global mediump int)
+
diff --git a/Test/baseResults/100Limits.vert.out b/Test/baseResults/100Limits.vert.out
index eae74ce..46c2560 100644
--- a/Test/baseResults/100Limits.vert.out
+++ b/Test/baseResults/100Limits.vert.out
@@ -1,889 +1,889 @@
-100Limits.vert
-Shader version: 100
-0:? Sequence
-0:15 Function Definition: foo(f1; (global void)
-0:15 Function Parameters:
-0:15 'a' (inout highp float)
-0:17 Function Definition: bar( (global highp int)
-0:17 Function Parameters:
-0:19 Sequence
-0:19 Branch: Return with expression
-0:19 Constant:
-0:19 1 (const int)
-0:22 Function Definition: main( (global void)
-0:22 Function Parameters:
-0:24 Sequence
-0:24 Loop with condition tested first
-0:24 Loop Condition
-0:24 Compare Less Than (temp bool)
-0:24 'ga' (global highp int)
-0:24 'gb' (global highp int)
-0:24 No loop body
-0:26 Loop with condition not tested first
-0:26 Loop Condition
-0:26 Constant:
-0:26 false (const bool)
-0:26 No loop body
-0:28 Sequence
-0:28 Loop with condition tested first
-0:28 No loop condition
-0:28 No loop body
-0:29 Sequence
-0:29 Loop with condition tested first
-0:29 Loop Condition
-0:29 Compare Equal (temp bool)
-0:29 'ga' (global highp int)
-0:29 'gb' (global highp int)
-0:29 No loop body
-0:30 Sequence
-0:30 Loop with condition tested first
-0:30 No loop condition
-0:30 No loop body
-0:30 Loop Terminal Expression
-0:30 Post-Increment (temp highp float)
-0:30 'f' (global highp float)
-0:31 Sequence
-0:31 move second child to first child (temp highp int)
-0:31 'ga' (global highp int)
-0:31 Constant:
-0:31 0 (const int)
-0:31 Loop with condition tested first
-0:31 No loop condition
-0:31 No loop body
-0:32 Sequence
-0:32 Sequence
-0:32 move second child to first child (temp bool)
-0:32 'a' (temp bool)
-0:32 Constant:
-0:32 false (const bool)
-0:32 Loop with condition tested first
-0:32 No loop condition
-0:32 No loop body
-0:33 Sequence
-0:33 Sequence
-0:33 move second child to first child (temp highp float)
-0:33 'a' (temp highp float)
-0:33 Constant:
-0:33 0.000000
-0:33 Loop with condition tested first
-0:33 Loop Condition
-0:33 Compare Equal (temp bool)
-0:33 'a' (temp highp float)
-0:33 sine (global highp float)
-0:33 'f' (global highp float)
-0:33 No loop body
-0:34 Sequence
-0:34 Sequence
-0:34 move second child to first child (temp highp int)
-0:34 'a' (temp highp int)
-0:34 Constant:
-0:34 0 (const int)
-0:34 Loop with condition tested first
-0:34 Loop Condition
-0:34 Compare Less Than (temp bool)
-0:34 'a' (temp highp int)
-0:34 Constant:
-0:34 10 (const int)
-0:34 No loop body
-0:34 Loop Terminal Expression
-0:34 multiply second child into first child (temp highp int)
-0:34 'a' (temp highp int)
-0:34 Constant:
-0:34 2 (const int)
-0:35 Sequence
-0:35 Sequence
-0:35 move second child to first child (temp highp int)
-0:35 'a' (temp highp int)
-0:35 Constant:
-0:35 0 (const int)
-0:35 Loop with condition tested first
-0:35 Loop Condition
-0:35 Compare Less Than or Equal (temp bool)
-0:35 'a' (temp highp int)
-0:35 Constant:
-0:35 20 (const int)
-0:35 Loop Body
-0:35 Pre-Decrement (temp highp int)
-0:35 'a' (temp highp int)
-0:35 Loop Terminal Expression
-0:35 Post-Increment (temp highp int)
-0:35 'a' (temp highp int)
-0:36 Sequence
-0:36 Sequence
-0:36 move second child to first child (temp highp int)
-0:36 'a' (temp highp int)
-0:36 Constant:
-0:36 0 (const int)
-0:36 Loop with condition tested first
-0:36 Loop Condition
-0:36 Compare Less Than or Equal (temp bool)
-0:36 'a' (temp highp int)
-0:36 Constant:
-0:36 20 (const int)
-0:36 Loop Body
-0:36 Sequence
-0:36 Test condition and select (temp void)
-0:36 Condition
-0:36 Compare Equal (temp bool)
-0:36 'ga' (global highp int)
-0:36 Constant:
-0:36 0 (const int)
-0:36 true case
-0:36 move second child to first child (temp highp int)
-0:36 'a' (temp highp int)
-0:36 Constant:
-0:36 4 (const int)
-0:36 Loop Terminal Expression
-0:36 Post-Increment (temp highp int)
-0:36 'a' (temp highp int)
-0:37 Sequence
-0:37 Sequence
-0:37 move second child to first child (temp highp float)
-0:37 'a' (temp highp float)
-0:37 Constant:
-0:37 0.000000
-0:37 Loop with condition tested first
-0:37 Loop Condition
-0:37 Compare Less Than or Equal (temp bool)
-0:37 'a' (temp highp float)
-0:37 Constant:
-0:37 20.000000
-0:37 No loop body
-0:37 Loop Terminal Expression
-0:37 add second child into first child (temp highp float)
-0:37 'a' (temp highp float)
-0:37 Constant:
-0:37 2.000000
-0:38 Sequence
-0:38 Sequence
-0:38 move second child to first child (temp highp float)
-0:38 'a' (temp highp float)
-0:38 Constant:
-0:38 0.000000
-0:38 Loop with condition tested first
-0:38 Loop Condition
-0:38 Compare Not Equal (temp bool)
-0:38 'a' (temp highp float)
-0:38 Constant:
-0:38 20.000000
-0:38 Loop Body
-0:38 Sequence
-0:38 Test condition and select (temp void)
-0:38 Condition
-0:38 Compare Equal (temp bool)
-0:38 'ga' (global highp int)
-0:38 Constant:
-0:38 0 (const int)
-0:38 true case
-0:38 move second child to first child (temp highp int)
-0:38 'ga' (global highp int)
-0:38 Constant:
-0:38 4 (const int)
-0:38 Loop Terminal Expression
-0:38 subtract second child into first child (temp highp float)
-0:38 'a' (temp highp float)
-0:38 Constant:
-0:38 2.000000
-0:39 Sequence
-0:39 Sequence
-0:39 move second child to first child (temp highp float)
-0:39 'a' (temp highp float)
-0:39 Constant:
-0:39 0.000000
-0:39 Loop with condition tested first
-0:39 Loop Condition
-0:39 Compare Equal (temp bool)
-0:39 'a' (temp highp float)
-0:39 Constant:
-0:39 20.000000
-0:39 Loop Body
-0:39 Sequence
-0:39 Sequence
-0:39 move second child to first child (temp highp float)
-0:39 'a' (temp highp float)
-0:39 Constant:
-0:39 0.000000
-0:39 Loop with condition tested first
-0:39 Loop Condition
-0:39 Compare Equal (temp bool)
-0:39 'a' (temp highp float)
-0:39 Constant:
-0:39 20.000000
-0:39 No loop body
-0:39 Loop Terminal Expression
-0:39 Post-Decrement (temp highp float)
-0:39 'a' (temp highp float)
-0:39 Loop Terminal Expression
-0:39 Post-Decrement (temp highp float)
-0:39 'a' (temp highp float)
-0:40 Sequence
-0:40 Sequence
-0:40 move second child to first child (temp highp float)
-0:40 'a' (temp highp float)
-0:40 Constant:
-0:40 0.000000
-0:40 Loop with condition tested first
-0:40 Loop Condition
-0:40 Compare Less Than or Equal (temp bool)
-0:40 'a' (temp highp float)
-0:40 Constant:
-0:40 20.000000
-0:40 No loop body
-0:40 Loop Terminal Expression
-0:40 add second child into first child (temp highp float)
-0:40 'a' (temp highp float)
-0:40 Constant:
-0:40 2.000000
-0:41 Sequence
-0:41 Sequence
-0:41 move second child to first child (temp highp float)
-0:41 'a' (temp highp float)
-0:41 Constant:
-0:41 0.000000
-0:41 Loop with condition tested first
-0:41 Loop Condition
-0:41 Compare Less Than or Equal (temp bool)
-0:41 'a' (temp highp float)
-0:41 Constant:
-0:41 20.000000
-0:41 No loop body
-0:41 Loop Terminal Expression
-0:41 add second child into first child (temp highp float)
-0:41 'a' (temp highp float)
-0:41 Constant:
-0:41 2.000000
-0:42 Sequence
-0:42 Sequence
-0:42 move second child to first child (temp highp float)
-0:42 'a' (temp highp float)
-0:42 Constant:
-0:42 0.000000
-0:42 Loop with condition tested first
-0:42 Loop Condition
-0:42 Compare Greater Than (temp bool)
-0:42 'a' (temp highp float)
-0:42 Constant:
-0:42 40.000000
-0:42 No loop body
-0:42 Loop Terminal Expression
-0:42 add second child into first child (temp highp float)
-0:42 'a' (temp highp float)
-0:42 Constant:
-0:42 2.000000
-0:43 Sequence
-0:43 Sequence
-0:43 move second child to first child (temp highp float)
-0:43 'a' (temp highp float)
-0:43 Constant:
-0:43 0.000000
-0:43 Loop with condition tested first
-0:43 Loop Condition
-0:43 Compare Greater Than or Equal (temp bool)
-0:43 'a' (temp highp float)
-0:43 Constant:
-0:43 20.000000
-0:43 Loop Body
-0:43 Function Call: foo(f1; (global void)
-0:43 'a' (temp highp float)
-0:43 Loop Terminal Expression
-0:43 add second child into first child (temp highp float)
-0:43 'a' (temp highp float)
-0:43 Constant:
-0:43 2.000000
-0:47 indirect index (temp lowp sampler2D)
-0:47 'fsa' (uniform 3-element array of lowp sampler2D)
-0:47 'ga' (global highp int)
-0:48 indirect index (temp highp float)
-0:48 'fua' (uniform 10-element array of highp float)
-0:48 'ga' (global highp int)
-0:49 indirect index (temp highp 3-component vector of float)
-0:49 'am3' (in highp 3X3 matrix of float)
-0:49 'ga' (global highp int)
-0:50 indirect index (temp highp float)
-0:50 'av2' (in highp 2-component vector of float)
-0:50 'ga' (global highp int)
-0:51 indirect index (smooth temp highp 4-component vector of float)
-0:51 'va' (smooth out 4-element array of highp 4-component vector of float)
-0:51 add (temp highp int)
-0:51 Constant:
-0:51 2 (const int)
-0:51 'ga' (global highp int)
-0:52 indirect index (temp highp 2-component vector of float)
-0:52 Constant:
-0:52 1.000000
-0:52 0.000000
-0:52 0.000000
-0:52 1.000000
-0:52 'ga' (global highp int)
-0:53 indirect index (temp highp float)
-0:53 Constant:
-0:53 2.000000
-0:53 2.000000
-0:53 2.000000
-0:53 divide (temp highp int)
-0:53 'ga' (global highp int)
-0:53 Constant:
-0:53 2 (const int)
-0:54 indirect index (temp highp int)
-0:54 'ia' (temp 9-element array of highp int)
-0:54 'ga' (global highp int)
-0:56 Sequence
-0:56 Sequence
-0:56 move second child to first child (temp highp int)
-0:56 'a' (temp highp int)
-0:56 Constant:
-0:56 3 (const int)
-0:56 Loop with condition tested first
-0:56 Loop Condition
-0:56 Compare Greater Than or Equal (temp bool)
-0:56 'a' (temp highp int)
-0:56 Constant:
-0:56 0 (const int)
-0:56 Loop Body
-0:57 Sequence
-0:57 indirect index (temp lowp sampler2D)
-0:57 'fsa' (uniform 3-element array of lowp sampler2D)
-0:57 'a' (temp highp int)
-0:58 indirect index (temp highp float)
-0:58 'fua' (uniform 10-element array of highp float)
-0:58 add (temp highp int)
-0:58 'a' (temp highp int)
-0:58 Constant:
-0:58 2 (const int)
-0:59 indirect index (temp highp 3-component vector of float)
-0:59 'am3' (in highp 3X3 matrix of float)
-0:59 component-wise multiply (temp highp int)
-0:59 Constant:
-0:59 3 (const int)
-0:59 'a' (temp highp int)
-0:60 indirect index (temp highp float)
-0:60 'av2' (in highp 2-component vector of float)
-0:60 component-wise multiply (temp highp int)
-0:60 Constant:
-0:60 3 (const int)
-0:60 'a' (temp highp int)
-0:61 indirect index (smooth temp highp 4-component vector of float)
-0:61 'va' (smooth out 4-element array of highp 4-component vector of float)
-0:61 subtract (temp highp int)
-0:61 'a' (temp highp int)
-0:61 Constant:
-0:61 1 (const int)
-0:62 indirect index (temp highp 2-component vector of float)
-0:62 Constant:
-0:62 1.000000
-0:62 0.000000
-0:62 0.000000
-0:62 1.000000
-0:62 divide (temp highp int)
-0:62 'a' (temp highp int)
-0:62 Constant:
-0:62 2 (const int)
-0:63 indirect index (temp highp float)
-0:63 Constant:
-0:63 2.000000
-0:63 2.000000
-0:63 2.000000
-0:63 'a' (temp highp int)
-0:64 indirect index (temp highp int)
-0:64 'ia' (temp 9-element array of highp int)
-0:64 'a' (temp highp int)
-0:65 indirect index (temp highp int)
-0:65 'ia' (temp 9-element array of highp int)
-0:65 Function Call: bar( (global highp int)
-0:56 Loop Terminal Expression
-0:56 Post-Decrement (temp highp int)
-0:56 'a' (temp highp int)
-0:68 direct index (temp lowp sampler2D)
-0:68 'fsa' (uniform 3-element array of lowp sampler2D)
-0:68 Constant:
-0:68 2 (const int)
-0:69 direct index (temp highp float)
-0:69 'fua' (uniform 10-element array of highp float)
-0:69 Constant:
-0:69 3 (const int)
-0:70 direct index (temp highp 3-component vector of float)
-0:70 'am3' (in highp 3X3 matrix of float)
-0:70 Constant:
-0:70 2 (const int)
-0:71 direct index (temp highp float)
-0:71 'av2' (in highp 2-component vector of float)
-0:71 Constant:
-0:71 1 (const int)
-0:72 direct index (smooth temp highp 4-component vector of float)
-0:72 'va' (smooth out 4-element array of highp 4-component vector of float)
-0:72 Constant:
-0:72 1 (const int)
-0:73 Constant:
-0:73 0.000000
-0:73 1.000000
-0:74 Constant:
-0:74 2.000000
-0:75 direct index (temp highp int)
-0:75 'ia' (temp 9-element array of highp int)
-0:75 Constant:
-0:75 3 (const int)
-0:? Linker Objects
-0:? 'ga' (global highp int)
-0:? 'gb' (global highp int)
-0:? 'f' (global highp float)
-0:? 'fsa' (uniform 3-element array of lowp sampler2D)
-0:? 'fua' (uniform 10-element array of highp float)
-0:? 'am3' (in highp 3X3 matrix of float)
-0:? 'av2' (in highp 2-component vector of float)
-0:? 'va' (smooth out 4-element array of highp 4-component vector of float)
-0:? 'm2' (const highp 2X2 matrix of float)
-0:? 1.000000
-0:? 0.000000
-0:? 0.000000
-0:? 1.000000
-0:? 'v3' (const highp 3-component vector of float)
-0:? 2.000000
-0:? 2.000000
-0:? 2.000000
-
-
-Linked vertex stage:
-
-
-Shader version: 100
-0:? Sequence
-0:15 Function Definition: foo(f1; (global void)
-0:15 Function Parameters:
-0:15 'a' (inout highp float)
-0:17 Function Definition: bar( (global highp int)
-0:17 Function Parameters:
-0:19 Sequence
-0:19 Branch: Return with expression
-0:19 Constant:
-0:19 1 (const int)
-0:22 Function Definition: main( (global void)
-0:22 Function Parameters:
-0:24 Sequence
-0:24 Loop with condition tested first
-0:24 Loop Condition
-0:24 Compare Less Than (temp bool)
-0:24 'ga' (global highp int)
-0:24 'gb' (global highp int)
-0:24 No loop body
-0:26 Loop with condition not tested first
-0:26 Loop Condition
-0:26 Constant:
-0:26 false (const bool)
-0:26 No loop body
-0:28 Sequence
-0:28 Loop with condition tested first
-0:28 No loop condition
-0:28 No loop body
-0:29 Sequence
-0:29 Loop with condition tested first
-0:29 Loop Condition
-0:29 Compare Equal (temp bool)
-0:29 'ga' (global highp int)
-0:29 'gb' (global highp int)
-0:29 No loop body
-0:30 Sequence
-0:30 Loop with condition tested first
-0:30 No loop condition
-0:30 No loop body
-0:30 Loop Terminal Expression
-0:30 Post-Increment (temp highp float)
-0:30 'f' (global highp float)
-0:31 Sequence
-0:31 move second child to first child (temp highp int)
-0:31 'ga' (global highp int)
-0:31 Constant:
-0:31 0 (const int)
-0:31 Loop with condition tested first
-0:31 No loop condition
-0:31 No loop body
-0:32 Sequence
-0:32 Sequence
-0:32 move second child to first child (temp bool)
-0:32 'a' (temp bool)
-0:32 Constant:
-0:32 false (const bool)
-0:32 Loop with condition tested first
-0:32 No loop condition
-0:32 No loop body
-0:33 Sequence
-0:33 Sequence
-0:33 move second child to first child (temp highp float)
-0:33 'a' (temp highp float)
-0:33 Constant:
-0:33 0.000000
-0:33 Loop with condition tested first
-0:33 Loop Condition
-0:33 Compare Equal (temp bool)
-0:33 'a' (temp highp float)
-0:33 sine (global highp float)
-0:33 'f' (global highp float)
-0:33 No loop body
-0:34 Sequence
-0:34 Sequence
-0:34 move second child to first child (temp highp int)
-0:34 'a' (temp highp int)
-0:34 Constant:
-0:34 0 (const int)
-0:34 Loop with condition tested first
-0:34 Loop Condition
-0:34 Compare Less Than (temp bool)
-0:34 'a' (temp highp int)
-0:34 Constant:
-0:34 10 (const int)
-0:34 No loop body
-0:34 Loop Terminal Expression
-0:34 multiply second child into first child (temp highp int)
-0:34 'a' (temp highp int)
-0:34 Constant:
-0:34 2 (const int)
-0:35 Sequence
-0:35 Sequence
-0:35 move second child to first child (temp highp int)
-0:35 'a' (temp highp int)
-0:35 Constant:
-0:35 0 (const int)
-0:35 Loop with condition tested first
-0:35 Loop Condition
-0:35 Compare Less Than or Equal (temp bool)
-0:35 'a' (temp highp int)
-0:35 Constant:
-0:35 20 (const int)
-0:35 Loop Body
-0:35 Pre-Decrement (temp highp int)
-0:35 'a' (temp highp int)
-0:35 Loop Terminal Expression
-0:35 Post-Increment (temp highp int)
-0:35 'a' (temp highp int)
-0:36 Sequence
-0:36 Sequence
-0:36 move second child to first child (temp highp int)
-0:36 'a' (temp highp int)
-0:36 Constant:
-0:36 0 (const int)
-0:36 Loop with condition tested first
-0:36 Loop Condition
-0:36 Compare Less Than or Equal (temp bool)
-0:36 'a' (temp highp int)
-0:36 Constant:
-0:36 20 (const int)
-0:36 Loop Body
-0:36 Sequence
-0:36 Test condition and select (temp void)
-0:36 Condition
-0:36 Compare Equal (temp bool)
-0:36 'ga' (global highp int)
-0:36 Constant:
-0:36 0 (const int)
-0:36 true case
-0:36 move second child to first child (temp highp int)
-0:36 'a' (temp highp int)
-0:36 Constant:
-0:36 4 (const int)
-0:36 Loop Terminal Expression
-0:36 Post-Increment (temp highp int)
-0:36 'a' (temp highp int)
-0:37 Sequence
-0:37 Sequence
-0:37 move second child to first child (temp highp float)
-0:37 'a' (temp highp float)
-0:37 Constant:
-0:37 0.000000
-0:37 Loop with condition tested first
-0:37 Loop Condition
-0:37 Compare Less Than or Equal (temp bool)
-0:37 'a' (temp highp float)
-0:37 Constant:
-0:37 20.000000
-0:37 No loop body
-0:37 Loop Terminal Expression
-0:37 add second child into first child (temp highp float)
-0:37 'a' (temp highp float)
-0:37 Constant:
-0:37 2.000000
-0:38 Sequence
-0:38 Sequence
-0:38 move second child to first child (temp highp float)
-0:38 'a' (temp highp float)
-0:38 Constant:
-0:38 0.000000
-0:38 Loop with condition tested first
-0:38 Loop Condition
-0:38 Compare Not Equal (temp bool)
-0:38 'a' (temp highp float)
-0:38 Constant:
-0:38 20.000000
-0:38 Loop Body
-0:38 Sequence
-0:38 Test condition and select (temp void)
-0:38 Condition
-0:38 Compare Equal (temp bool)
-0:38 'ga' (global highp int)
-0:38 Constant:
-0:38 0 (const int)
-0:38 true case
-0:38 move second child to first child (temp highp int)
-0:38 'ga' (global highp int)
-0:38 Constant:
-0:38 4 (const int)
-0:38 Loop Terminal Expression
-0:38 subtract second child into first child (temp highp float)
-0:38 'a' (temp highp float)
-0:38 Constant:
-0:38 2.000000
-0:39 Sequence
-0:39 Sequence
-0:39 move second child to first child (temp highp float)
-0:39 'a' (temp highp float)
-0:39 Constant:
-0:39 0.000000
-0:39 Loop with condition tested first
-0:39 Loop Condition
-0:39 Compare Equal (temp bool)
-0:39 'a' (temp highp float)
-0:39 Constant:
-0:39 20.000000
-0:39 Loop Body
-0:39 Sequence
-0:39 Sequence
-0:39 move second child to first child (temp highp float)
-0:39 'a' (temp highp float)
-0:39 Constant:
-0:39 0.000000
-0:39 Loop with condition tested first
-0:39 Loop Condition
-0:39 Compare Equal (temp bool)
-0:39 'a' (temp highp float)
-0:39 Constant:
-0:39 20.000000
-0:39 No loop body
-0:39 Loop Terminal Expression
-0:39 Post-Decrement (temp highp float)
-0:39 'a' (temp highp float)
-0:39 Loop Terminal Expression
-0:39 Post-Decrement (temp highp float)
-0:39 'a' (temp highp float)
-0:40 Sequence
-0:40 Sequence
-0:40 move second child to first child (temp highp float)
-0:40 'a' (temp highp float)
-0:40 Constant:
-0:40 0.000000
-0:40 Loop with condition tested first
-0:40 Loop Condition
-0:40 Compare Less Than or Equal (temp bool)
-0:40 'a' (temp highp float)
-0:40 Constant:
-0:40 20.000000
-0:40 No loop body
-0:40 Loop Terminal Expression
-0:40 add second child into first child (temp highp float)
-0:40 'a' (temp highp float)
-0:40 Constant:
-0:40 2.000000
-0:41 Sequence
-0:41 Sequence
-0:41 move second child to first child (temp highp float)
-0:41 'a' (temp highp float)
-0:41 Constant:
-0:41 0.000000
-0:41 Loop with condition tested first
-0:41 Loop Condition
-0:41 Compare Less Than or Equal (temp bool)
-0:41 'a' (temp highp float)
-0:41 Constant:
-0:41 20.000000
-0:41 No loop body
-0:41 Loop Terminal Expression
-0:41 add second child into first child (temp highp float)
-0:41 'a' (temp highp float)
-0:41 Constant:
-0:41 2.000000
-0:42 Sequence
-0:42 Sequence
-0:42 move second child to first child (temp highp float)
-0:42 'a' (temp highp float)
-0:42 Constant:
-0:42 0.000000
-0:42 Loop with condition tested first
-0:42 Loop Condition
-0:42 Compare Greater Than (temp bool)
-0:42 'a' (temp highp float)
-0:42 Constant:
-0:42 40.000000
-0:42 No loop body
-0:42 Loop Terminal Expression
-0:42 add second child into first child (temp highp float)
-0:42 'a' (temp highp float)
-0:42 Constant:
-0:42 2.000000
-0:43 Sequence
-0:43 Sequence
-0:43 move second child to first child (temp highp float)
-0:43 'a' (temp highp float)
-0:43 Constant:
-0:43 0.000000
-0:43 Loop with condition tested first
-0:43 Loop Condition
-0:43 Compare Greater Than or Equal (temp bool)
-0:43 'a' (temp highp float)
-0:43 Constant:
-0:43 20.000000
-0:43 Loop Body
-0:43 Function Call: foo(f1; (global void)
-0:43 'a' (temp highp float)
-0:43 Loop Terminal Expression
-0:43 add second child into first child (temp highp float)
-0:43 'a' (temp highp float)
-0:43 Constant:
-0:43 2.000000
-0:47 indirect index (temp lowp sampler2D)
-0:47 'fsa' (uniform 3-element array of lowp sampler2D)
-0:47 'ga' (global highp int)
-0:48 indirect index (temp highp float)
-0:48 'fua' (uniform 10-element array of highp float)
-0:48 'ga' (global highp int)
-0:49 indirect index (temp highp 3-component vector of float)
-0:49 'am3' (in highp 3X3 matrix of float)
-0:49 'ga' (global highp int)
-0:50 indirect index (temp highp float)
-0:50 'av2' (in highp 2-component vector of float)
-0:50 'ga' (global highp int)
-0:51 indirect index (smooth temp highp 4-component vector of float)
-0:51 'va' (smooth out 4-element array of highp 4-component vector of float)
-0:51 add (temp highp int)
-0:51 Constant:
-0:51 2 (const int)
-0:51 'ga' (global highp int)
-0:52 indirect index (temp highp 2-component vector of float)
-0:52 Constant:
-0:52 1.000000
-0:52 0.000000
-0:52 0.000000
-0:52 1.000000
-0:52 'ga' (global highp int)
-0:53 indirect index (temp highp float)
-0:53 Constant:
-0:53 2.000000
-0:53 2.000000
-0:53 2.000000
-0:53 divide (temp highp int)
-0:53 'ga' (global highp int)
-0:53 Constant:
-0:53 2 (const int)
-0:54 indirect index (temp highp int)
-0:54 'ia' (temp 9-element array of highp int)
-0:54 'ga' (global highp int)
-0:56 Sequence
-0:56 Sequence
-0:56 move second child to first child (temp highp int)
-0:56 'a' (temp highp int)
-0:56 Constant:
-0:56 3 (const int)
-0:56 Loop with condition tested first
-0:56 Loop Condition
-0:56 Compare Greater Than or Equal (temp bool)
-0:56 'a' (temp highp int)
-0:56 Constant:
-0:56 0 (const int)
-0:56 Loop Body
-0:57 Sequence
-0:57 indirect index (temp lowp sampler2D)
-0:57 'fsa' (uniform 3-element array of lowp sampler2D)
-0:57 'a' (temp highp int)
-0:58 indirect index (temp highp float)
-0:58 'fua' (uniform 10-element array of highp float)
-0:58 add (temp highp int)
-0:58 'a' (temp highp int)
-0:58 Constant:
-0:58 2 (const int)
-0:59 indirect index (temp highp 3-component vector of float)
-0:59 'am3' (in highp 3X3 matrix of float)
-0:59 component-wise multiply (temp highp int)
-0:59 Constant:
-0:59 3 (const int)
-0:59 'a' (temp highp int)
-0:60 indirect index (temp highp float)
-0:60 'av2' (in highp 2-component vector of float)
-0:60 component-wise multiply (temp highp int)
-0:60 Constant:
-0:60 3 (const int)
-0:60 'a' (temp highp int)
-0:61 indirect index (smooth temp highp 4-component vector of float)
-0:61 'va' (smooth out 4-element array of highp 4-component vector of float)
-0:61 subtract (temp highp int)
-0:61 'a' (temp highp int)
-0:61 Constant:
-0:61 1 (const int)
-0:62 indirect index (temp highp 2-component vector of float)
-0:62 Constant:
-0:62 1.000000
-0:62 0.000000
-0:62 0.000000
-0:62 1.000000
-0:62 divide (temp highp int)
-0:62 'a' (temp highp int)
-0:62 Constant:
-0:62 2 (const int)
-0:63 indirect index (temp highp float)
-0:63 Constant:
-0:63 2.000000
-0:63 2.000000
-0:63 2.000000
-0:63 'a' (temp highp int)
-0:64 indirect index (temp highp int)
-0:64 'ia' (temp 9-element array of highp int)
-0:64 'a' (temp highp int)
-0:65 indirect index (temp highp int)
-0:65 'ia' (temp 9-element array of highp int)
-0:65 Function Call: bar( (global highp int)
-0:56 Loop Terminal Expression
-0:56 Post-Decrement (temp highp int)
-0:56 'a' (temp highp int)
-0:68 direct index (temp lowp sampler2D)
-0:68 'fsa' (uniform 3-element array of lowp sampler2D)
-0:68 Constant:
-0:68 2 (const int)
-0:69 direct index (temp highp float)
-0:69 'fua' (uniform 10-element array of highp float)
-0:69 Constant:
-0:69 3 (const int)
-0:70 direct index (temp highp 3-component vector of float)
-0:70 'am3' (in highp 3X3 matrix of float)
-0:70 Constant:
-0:70 2 (const int)
-0:71 direct index (temp highp float)
-0:71 'av2' (in highp 2-component vector of float)
-0:71 Constant:
-0:71 1 (const int)
-0:72 direct index (smooth temp highp 4-component vector of float)
-0:72 'va' (smooth out 4-element array of highp 4-component vector of float)
-0:72 Constant:
-0:72 1 (const int)
-0:73 Constant:
-0:73 0.000000
-0:73 1.000000
-0:74 Constant:
-0:74 2.000000
-0:75 direct index (temp highp int)
-0:75 'ia' (temp 9-element array of highp int)
-0:75 Constant:
-0:75 3 (const int)
-0:? Linker Objects
-0:? 'ga' (global highp int)
-0:? 'gb' (global highp int)
-0:? 'f' (global highp float)
-0:? 'fsa' (uniform 3-element array of lowp sampler2D)
-0:? 'fua' (uniform 10-element array of highp float)
-0:? 'am3' (in highp 3X3 matrix of float)
-0:? 'av2' (in highp 2-component vector of float)
-0:? 'va' (smooth out 4-element array of highp 4-component vector of float)
-0:? 'm2' (const highp 2X2 matrix of float)
-0:? 1.000000
-0:? 0.000000
-0:? 0.000000
-0:? 1.000000
-0:? 'v3' (const highp 3-component vector of float)
-0:? 2.000000
-0:? 2.000000
-0:? 2.000000
-
+100Limits.vert
+Shader version: 100
+0:? Sequence
+0:15 Function Definition: foo(f1; (global void)
+0:15 Function Parameters:
+0:15 'a' (inout highp float)
+0:17 Function Definition: bar( (global highp int)
+0:17 Function Parameters:
+0:19 Sequence
+0:19 Branch: Return with expression
+0:19 Constant:
+0:19 1 (const int)
+0:22 Function Definition: main( (global void)
+0:22 Function Parameters:
+0:24 Sequence
+0:24 Loop with condition tested first
+0:24 Loop Condition
+0:24 Compare Less Than (temp bool)
+0:24 'ga' (global highp int)
+0:24 'gb' (global highp int)
+0:24 No loop body
+0:26 Loop with condition not tested first
+0:26 Loop Condition
+0:26 Constant:
+0:26 false (const bool)
+0:26 No loop body
+0:28 Sequence
+0:28 Loop with condition tested first
+0:28 No loop condition
+0:28 No loop body
+0:29 Sequence
+0:29 Loop with condition tested first
+0:29 Loop Condition
+0:29 Compare Equal (temp bool)
+0:29 'ga' (global highp int)
+0:29 'gb' (global highp int)
+0:29 No loop body
+0:30 Sequence
+0:30 Loop with condition tested first
+0:30 No loop condition
+0:30 No loop body
+0:30 Loop Terminal Expression
+0:30 Post-Increment (temp highp float)
+0:30 'f' (global highp float)
+0:31 Sequence
+0:31 move second child to first child (temp highp int)
+0:31 'ga' (global highp int)
+0:31 Constant:
+0:31 0 (const int)
+0:31 Loop with condition tested first
+0:31 No loop condition
+0:31 No loop body
+0:32 Sequence
+0:32 Sequence
+0:32 move second child to first child (temp bool)
+0:32 'a' (temp bool)
+0:32 Constant:
+0:32 false (const bool)
+0:32 Loop with condition tested first
+0:32 No loop condition
+0:32 No loop body
+0:33 Sequence
+0:33 Sequence
+0:33 move second child to first child (temp highp float)
+0:33 'a' (temp highp float)
+0:33 Constant:
+0:33 0.000000
+0:33 Loop with condition tested first
+0:33 Loop Condition
+0:33 Compare Equal (temp bool)
+0:33 'a' (temp highp float)
+0:33 sine (global highp float)
+0:33 'f' (global highp float)
+0:33 No loop body
+0:34 Sequence
+0:34 Sequence
+0:34 move second child to first child (temp highp int)
+0:34 'a' (temp highp int)
+0:34 Constant:
+0:34 0 (const int)
+0:34 Loop with condition tested first
+0:34 Loop Condition
+0:34 Compare Less Than (temp bool)
+0:34 'a' (temp highp int)
+0:34 Constant:
+0:34 10 (const int)
+0:34 No loop body
+0:34 Loop Terminal Expression
+0:34 multiply second child into first child (temp highp int)
+0:34 'a' (temp highp int)
+0:34 Constant:
+0:34 2 (const int)
+0:35 Sequence
+0:35 Sequence
+0:35 move second child to first child (temp highp int)
+0:35 'a' (temp highp int)
+0:35 Constant:
+0:35 0 (const int)
+0:35 Loop with condition tested first
+0:35 Loop Condition
+0:35 Compare Less Than or Equal (temp bool)
+0:35 'a' (temp highp int)
+0:35 Constant:
+0:35 20 (const int)
+0:35 Loop Body
+0:35 Pre-Decrement (temp highp int)
+0:35 'a' (temp highp int)
+0:35 Loop Terminal Expression
+0:35 Post-Increment (temp highp int)
+0:35 'a' (temp highp int)
+0:36 Sequence
+0:36 Sequence
+0:36 move second child to first child (temp highp int)
+0:36 'a' (temp highp int)
+0:36 Constant:
+0:36 0 (const int)
+0:36 Loop with condition tested first
+0:36 Loop Condition
+0:36 Compare Less Than or Equal (temp bool)
+0:36 'a' (temp highp int)
+0:36 Constant:
+0:36 20 (const int)
+0:36 Loop Body
+0:36 Sequence
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 Compare Equal (temp bool)
+0:36 'ga' (global highp int)
+0:36 Constant:
+0:36 0 (const int)
+0:36 true case
+0:36 move second child to first child (temp highp int)
+0:36 'a' (temp highp int)
+0:36 Constant:
+0:36 4 (const int)
+0:36 Loop Terminal Expression
+0:36 Post-Increment (temp highp int)
+0:36 'a' (temp highp int)
+0:37 Sequence
+0:37 Sequence
+0:37 move second child to first child (temp highp float)
+0:37 'a' (temp highp float)
+0:37 Constant:
+0:37 0.000000
+0:37 Loop with condition tested first
+0:37 Loop Condition
+0:37 Compare Less Than or Equal (temp bool)
+0:37 'a' (temp highp float)
+0:37 Constant:
+0:37 20.000000
+0:37 No loop body
+0:37 Loop Terminal Expression
+0:37 add second child into first child (temp highp float)
+0:37 'a' (temp highp float)
+0:37 Constant:
+0:37 2.000000
+0:38 Sequence
+0:38 Sequence
+0:38 move second child to first child (temp highp float)
+0:38 'a' (temp highp float)
+0:38 Constant:
+0:38 0.000000
+0:38 Loop with condition tested first
+0:38 Loop Condition
+0:38 Compare Not Equal (temp bool)
+0:38 'a' (temp highp float)
+0:38 Constant:
+0:38 20.000000
+0:38 Loop Body
+0:38 Sequence
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Equal (temp bool)
+0:38 'ga' (global highp int)
+0:38 Constant:
+0:38 0 (const int)
+0:38 true case
+0:38 move second child to first child (temp highp int)
+0:38 'ga' (global highp int)
+0:38 Constant:
+0:38 4 (const int)
+0:38 Loop Terminal Expression
+0:38 subtract second child into first child (temp highp float)
+0:38 'a' (temp highp float)
+0:38 Constant:
+0:38 2.000000
+0:39 Sequence
+0:39 Sequence
+0:39 move second child to first child (temp highp float)
+0:39 'a' (temp highp float)
+0:39 Constant:
+0:39 0.000000
+0:39 Loop with condition tested first
+0:39 Loop Condition
+0:39 Compare Equal (temp bool)
+0:39 'a' (temp highp float)
+0:39 Constant:
+0:39 20.000000
+0:39 Loop Body
+0:39 Sequence
+0:39 Sequence
+0:39 move second child to first child (temp highp float)
+0:39 'a' (temp highp float)
+0:39 Constant:
+0:39 0.000000
+0:39 Loop with condition tested first
+0:39 Loop Condition
+0:39 Compare Equal (temp bool)
+0:39 'a' (temp highp float)
+0:39 Constant:
+0:39 20.000000
+0:39 No loop body
+0:39 Loop Terminal Expression
+0:39 Post-Decrement (temp highp float)
+0:39 'a' (temp highp float)
+0:39 Loop Terminal Expression
+0:39 Post-Decrement (temp highp float)
+0:39 'a' (temp highp float)
+0:40 Sequence
+0:40 Sequence
+0:40 move second child to first child (temp highp float)
+0:40 'a' (temp highp float)
+0:40 Constant:
+0:40 0.000000
+0:40 Loop with condition tested first
+0:40 Loop Condition
+0:40 Compare Less Than or Equal (temp bool)
+0:40 'a' (temp highp float)
+0:40 Constant:
+0:40 20.000000
+0:40 No loop body
+0:40 Loop Terminal Expression
+0:40 add second child into first child (temp highp float)
+0:40 'a' (temp highp float)
+0:40 Constant:
+0:40 2.000000
+0:41 Sequence
+0:41 Sequence
+0:41 move second child to first child (temp highp float)
+0:41 'a' (temp highp float)
+0:41 Constant:
+0:41 0.000000
+0:41 Loop with condition tested first
+0:41 Loop Condition
+0:41 Compare Less Than or Equal (temp bool)
+0:41 'a' (temp highp float)
+0:41 Constant:
+0:41 20.000000
+0:41 No loop body
+0:41 Loop Terminal Expression
+0:41 add second child into first child (temp highp float)
+0:41 'a' (temp highp float)
+0:41 Constant:
+0:41 2.000000
+0:42 Sequence
+0:42 Sequence
+0:42 move second child to first child (temp highp float)
+0:42 'a' (temp highp float)
+0:42 Constant:
+0:42 0.000000
+0:42 Loop with condition tested first
+0:42 Loop Condition
+0:42 Compare Greater Than (temp bool)
+0:42 'a' (temp highp float)
+0:42 Constant:
+0:42 40.000000
+0:42 No loop body
+0:42 Loop Terminal Expression
+0:42 add second child into first child (temp highp float)
+0:42 'a' (temp highp float)
+0:42 Constant:
+0:42 2.000000
+0:43 Sequence
+0:43 Sequence
+0:43 move second child to first child (temp highp float)
+0:43 'a' (temp highp float)
+0:43 Constant:
+0:43 0.000000
+0:43 Loop with condition tested first
+0:43 Loop Condition
+0:43 Compare Greater Than or Equal (temp bool)
+0:43 'a' (temp highp float)
+0:43 Constant:
+0:43 20.000000
+0:43 Loop Body
+0:43 Function Call: foo(f1; (global void)
+0:43 'a' (temp highp float)
+0:43 Loop Terminal Expression
+0:43 add second child into first child (temp highp float)
+0:43 'a' (temp highp float)
+0:43 Constant:
+0:43 2.000000
+0:47 indirect index (temp lowp sampler2D)
+0:47 'fsa' (uniform 3-element array of lowp sampler2D)
+0:47 'ga' (global highp int)
+0:48 indirect index (temp highp float)
+0:48 'fua' (uniform 10-element array of highp float)
+0:48 'ga' (global highp int)
+0:49 indirect index (temp highp 3-component vector of float)
+0:49 'am3' (in highp 3X3 matrix of float)
+0:49 'ga' (global highp int)
+0:50 indirect index (temp highp float)
+0:50 'av2' (in highp 2-component vector of float)
+0:50 'ga' (global highp int)
+0:51 indirect index (smooth temp highp 4-component vector of float)
+0:51 'va' (smooth out 4-element array of highp 4-component vector of float)
+0:51 add (temp highp int)
+0:51 Constant:
+0:51 2 (const int)
+0:51 'ga' (global highp int)
+0:52 indirect index (temp highp 2-component vector of float)
+0:52 Constant:
+0:52 1.000000
+0:52 0.000000
+0:52 0.000000
+0:52 1.000000
+0:52 'ga' (global highp int)
+0:53 indirect index (temp highp float)
+0:53 Constant:
+0:53 2.000000
+0:53 2.000000
+0:53 2.000000
+0:53 divide (temp highp int)
+0:53 'ga' (global highp int)
+0:53 Constant:
+0:53 2 (const int)
+0:54 indirect index (temp highp int)
+0:54 'ia' (temp 9-element array of highp int)
+0:54 'ga' (global highp int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp highp int)
+0:56 'a' (temp highp int)
+0:56 Constant:
+0:56 3 (const int)
+0:56 Loop with condition tested first
+0:56 Loop Condition
+0:56 Compare Greater Than or Equal (temp bool)
+0:56 'a' (temp highp int)
+0:56 Constant:
+0:56 0 (const int)
+0:56 Loop Body
+0:57 Sequence
+0:57 indirect index (temp lowp sampler2D)
+0:57 'fsa' (uniform 3-element array of lowp sampler2D)
+0:57 'a' (temp highp int)
+0:58 indirect index (temp highp float)
+0:58 'fua' (uniform 10-element array of highp float)
+0:58 add (temp highp int)
+0:58 'a' (temp highp int)
+0:58 Constant:
+0:58 2 (const int)
+0:59 indirect index (temp highp 3-component vector of float)
+0:59 'am3' (in highp 3X3 matrix of float)
+0:59 component-wise multiply (temp highp int)
+0:59 Constant:
+0:59 3 (const int)
+0:59 'a' (temp highp int)
+0:60 indirect index (temp highp float)
+0:60 'av2' (in highp 2-component vector of float)
+0:60 component-wise multiply (temp highp int)
+0:60 Constant:
+0:60 3 (const int)
+0:60 'a' (temp highp int)
+0:61 indirect index (smooth temp highp 4-component vector of float)
+0:61 'va' (smooth out 4-element array of highp 4-component vector of float)
+0:61 subtract (temp highp int)
+0:61 'a' (temp highp int)
+0:61 Constant:
+0:61 1 (const int)
+0:62 indirect index (temp highp 2-component vector of float)
+0:62 Constant:
+0:62 1.000000
+0:62 0.000000
+0:62 0.000000
+0:62 1.000000
+0:62 divide (temp highp int)
+0:62 'a' (temp highp int)
+0:62 Constant:
+0:62 2 (const int)
+0:63 indirect index (temp highp float)
+0:63 Constant:
+0:63 2.000000
+0:63 2.000000
+0:63 2.000000
+0:63 'a' (temp highp int)
+0:64 indirect index (temp highp int)
+0:64 'ia' (temp 9-element array of highp int)
+0:64 'a' (temp highp int)
+0:65 indirect index (temp highp int)
+0:65 'ia' (temp 9-element array of highp int)
+0:65 Function Call: bar( (global highp int)
+0:56 Loop Terminal Expression
+0:56 Post-Decrement (temp highp int)
+0:56 'a' (temp highp int)
+0:68 direct index (temp lowp sampler2D)
+0:68 'fsa' (uniform 3-element array of lowp sampler2D)
+0:68 Constant:
+0:68 2 (const int)
+0:69 direct index (temp highp float)
+0:69 'fua' (uniform 10-element array of highp float)
+0:69 Constant:
+0:69 3 (const int)
+0:70 direct index (temp highp 3-component vector of float)
+0:70 'am3' (in highp 3X3 matrix of float)
+0:70 Constant:
+0:70 2 (const int)
+0:71 direct index (temp highp float)
+0:71 'av2' (in highp 2-component vector of float)
+0:71 Constant:
+0:71 1 (const int)
+0:72 direct index (smooth temp highp 4-component vector of float)
+0:72 'va' (smooth out 4-element array of highp 4-component vector of float)
+0:72 Constant:
+0:72 1 (const int)
+0:73 Constant:
+0:73 0.000000
+0:73 1.000000
+0:74 Constant:
+0:74 2.000000
+0:75 direct index (temp highp int)
+0:75 'ia' (temp 9-element array of highp int)
+0:75 Constant:
+0:75 3 (const int)
+0:? Linker Objects
+0:? 'ga' (global highp int)
+0:? 'gb' (global highp int)
+0:? 'f' (global highp float)
+0:? 'fsa' (uniform 3-element array of lowp sampler2D)
+0:? 'fua' (uniform 10-element array of highp float)
+0:? 'am3' (in highp 3X3 matrix of float)
+0:? 'av2' (in highp 2-component vector of float)
+0:? 'va' (smooth out 4-element array of highp 4-component vector of float)
+0:? 'm2' (const highp 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'v3' (const highp 3-component vector of float)
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+
+
+Linked vertex stage:
+
+
+Shader version: 100
+0:? Sequence
+0:15 Function Definition: foo(f1; (global void)
+0:15 Function Parameters:
+0:15 'a' (inout highp float)
+0:17 Function Definition: bar( (global highp int)
+0:17 Function Parameters:
+0:19 Sequence
+0:19 Branch: Return with expression
+0:19 Constant:
+0:19 1 (const int)
+0:22 Function Definition: main( (global void)
+0:22 Function Parameters:
+0:24 Sequence
+0:24 Loop with condition tested first
+0:24 Loop Condition
+0:24 Compare Less Than (temp bool)
+0:24 'ga' (global highp int)
+0:24 'gb' (global highp int)
+0:24 No loop body
+0:26 Loop with condition not tested first
+0:26 Loop Condition
+0:26 Constant:
+0:26 false (const bool)
+0:26 No loop body
+0:28 Sequence
+0:28 Loop with condition tested first
+0:28 No loop condition
+0:28 No loop body
+0:29 Sequence
+0:29 Loop with condition tested first
+0:29 Loop Condition
+0:29 Compare Equal (temp bool)
+0:29 'ga' (global highp int)
+0:29 'gb' (global highp int)
+0:29 No loop body
+0:30 Sequence
+0:30 Loop with condition tested first
+0:30 No loop condition
+0:30 No loop body
+0:30 Loop Terminal Expression
+0:30 Post-Increment (temp highp float)
+0:30 'f' (global highp float)
+0:31 Sequence
+0:31 move second child to first child (temp highp int)
+0:31 'ga' (global highp int)
+0:31 Constant:
+0:31 0 (const int)
+0:31 Loop with condition tested first
+0:31 No loop condition
+0:31 No loop body
+0:32 Sequence
+0:32 Sequence
+0:32 move second child to first child (temp bool)
+0:32 'a' (temp bool)
+0:32 Constant:
+0:32 false (const bool)
+0:32 Loop with condition tested first
+0:32 No loop condition
+0:32 No loop body
+0:33 Sequence
+0:33 Sequence
+0:33 move second child to first child (temp highp float)
+0:33 'a' (temp highp float)
+0:33 Constant:
+0:33 0.000000
+0:33 Loop with condition tested first
+0:33 Loop Condition
+0:33 Compare Equal (temp bool)
+0:33 'a' (temp highp float)
+0:33 sine (global highp float)
+0:33 'f' (global highp float)
+0:33 No loop body
+0:34 Sequence
+0:34 Sequence
+0:34 move second child to first child (temp highp int)
+0:34 'a' (temp highp int)
+0:34 Constant:
+0:34 0 (const int)
+0:34 Loop with condition tested first
+0:34 Loop Condition
+0:34 Compare Less Than (temp bool)
+0:34 'a' (temp highp int)
+0:34 Constant:
+0:34 10 (const int)
+0:34 No loop body
+0:34 Loop Terminal Expression
+0:34 multiply second child into first child (temp highp int)
+0:34 'a' (temp highp int)
+0:34 Constant:
+0:34 2 (const int)
+0:35 Sequence
+0:35 Sequence
+0:35 move second child to first child (temp highp int)
+0:35 'a' (temp highp int)
+0:35 Constant:
+0:35 0 (const int)
+0:35 Loop with condition tested first
+0:35 Loop Condition
+0:35 Compare Less Than or Equal (temp bool)
+0:35 'a' (temp highp int)
+0:35 Constant:
+0:35 20 (const int)
+0:35 Loop Body
+0:35 Pre-Decrement (temp highp int)
+0:35 'a' (temp highp int)
+0:35 Loop Terminal Expression
+0:35 Post-Increment (temp highp int)
+0:35 'a' (temp highp int)
+0:36 Sequence
+0:36 Sequence
+0:36 move second child to first child (temp highp int)
+0:36 'a' (temp highp int)
+0:36 Constant:
+0:36 0 (const int)
+0:36 Loop with condition tested first
+0:36 Loop Condition
+0:36 Compare Less Than or Equal (temp bool)
+0:36 'a' (temp highp int)
+0:36 Constant:
+0:36 20 (const int)
+0:36 Loop Body
+0:36 Sequence
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 Compare Equal (temp bool)
+0:36 'ga' (global highp int)
+0:36 Constant:
+0:36 0 (const int)
+0:36 true case
+0:36 move second child to first child (temp highp int)
+0:36 'a' (temp highp int)
+0:36 Constant:
+0:36 4 (const int)
+0:36 Loop Terminal Expression
+0:36 Post-Increment (temp highp int)
+0:36 'a' (temp highp int)
+0:37 Sequence
+0:37 Sequence
+0:37 move second child to first child (temp highp float)
+0:37 'a' (temp highp float)
+0:37 Constant:
+0:37 0.000000
+0:37 Loop with condition tested first
+0:37 Loop Condition
+0:37 Compare Less Than or Equal (temp bool)
+0:37 'a' (temp highp float)
+0:37 Constant:
+0:37 20.000000
+0:37 No loop body
+0:37 Loop Terminal Expression
+0:37 add second child into first child (temp highp float)
+0:37 'a' (temp highp float)
+0:37 Constant:
+0:37 2.000000
+0:38 Sequence
+0:38 Sequence
+0:38 move second child to first child (temp highp float)
+0:38 'a' (temp highp float)
+0:38 Constant:
+0:38 0.000000
+0:38 Loop with condition tested first
+0:38 Loop Condition
+0:38 Compare Not Equal (temp bool)
+0:38 'a' (temp highp float)
+0:38 Constant:
+0:38 20.000000
+0:38 Loop Body
+0:38 Sequence
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Equal (temp bool)
+0:38 'ga' (global highp int)
+0:38 Constant:
+0:38 0 (const int)
+0:38 true case
+0:38 move second child to first child (temp highp int)
+0:38 'ga' (global highp int)
+0:38 Constant:
+0:38 4 (const int)
+0:38 Loop Terminal Expression
+0:38 subtract second child into first child (temp highp float)
+0:38 'a' (temp highp float)
+0:38 Constant:
+0:38 2.000000
+0:39 Sequence
+0:39 Sequence
+0:39 move second child to first child (temp highp float)
+0:39 'a' (temp highp float)
+0:39 Constant:
+0:39 0.000000
+0:39 Loop with condition tested first
+0:39 Loop Condition
+0:39 Compare Equal (temp bool)
+0:39 'a' (temp highp float)
+0:39 Constant:
+0:39 20.000000
+0:39 Loop Body
+0:39 Sequence
+0:39 Sequence
+0:39 move second child to first child (temp highp float)
+0:39 'a' (temp highp float)
+0:39 Constant:
+0:39 0.000000
+0:39 Loop with condition tested first
+0:39 Loop Condition
+0:39 Compare Equal (temp bool)
+0:39 'a' (temp highp float)
+0:39 Constant:
+0:39 20.000000
+0:39 No loop body
+0:39 Loop Terminal Expression
+0:39 Post-Decrement (temp highp float)
+0:39 'a' (temp highp float)
+0:39 Loop Terminal Expression
+0:39 Post-Decrement (temp highp float)
+0:39 'a' (temp highp float)
+0:40 Sequence
+0:40 Sequence
+0:40 move second child to first child (temp highp float)
+0:40 'a' (temp highp float)
+0:40 Constant:
+0:40 0.000000
+0:40 Loop with condition tested first
+0:40 Loop Condition
+0:40 Compare Less Than or Equal (temp bool)
+0:40 'a' (temp highp float)
+0:40 Constant:
+0:40 20.000000
+0:40 No loop body
+0:40 Loop Terminal Expression
+0:40 add second child into first child (temp highp float)
+0:40 'a' (temp highp float)
+0:40 Constant:
+0:40 2.000000
+0:41 Sequence
+0:41 Sequence
+0:41 move second child to first child (temp highp float)
+0:41 'a' (temp highp float)
+0:41 Constant:
+0:41 0.000000
+0:41 Loop with condition tested first
+0:41 Loop Condition
+0:41 Compare Less Than or Equal (temp bool)
+0:41 'a' (temp highp float)
+0:41 Constant:
+0:41 20.000000
+0:41 No loop body
+0:41 Loop Terminal Expression
+0:41 add second child into first child (temp highp float)
+0:41 'a' (temp highp float)
+0:41 Constant:
+0:41 2.000000
+0:42 Sequence
+0:42 Sequence
+0:42 move second child to first child (temp highp float)
+0:42 'a' (temp highp float)
+0:42 Constant:
+0:42 0.000000
+0:42 Loop with condition tested first
+0:42 Loop Condition
+0:42 Compare Greater Than (temp bool)
+0:42 'a' (temp highp float)
+0:42 Constant:
+0:42 40.000000
+0:42 No loop body
+0:42 Loop Terminal Expression
+0:42 add second child into first child (temp highp float)
+0:42 'a' (temp highp float)
+0:42 Constant:
+0:42 2.000000
+0:43 Sequence
+0:43 Sequence
+0:43 move second child to first child (temp highp float)
+0:43 'a' (temp highp float)
+0:43 Constant:
+0:43 0.000000
+0:43 Loop with condition tested first
+0:43 Loop Condition
+0:43 Compare Greater Than or Equal (temp bool)
+0:43 'a' (temp highp float)
+0:43 Constant:
+0:43 20.000000
+0:43 Loop Body
+0:43 Function Call: foo(f1; (global void)
+0:43 'a' (temp highp float)
+0:43 Loop Terminal Expression
+0:43 add second child into first child (temp highp float)
+0:43 'a' (temp highp float)
+0:43 Constant:
+0:43 2.000000
+0:47 indirect index (temp lowp sampler2D)
+0:47 'fsa' (uniform 3-element array of lowp sampler2D)
+0:47 'ga' (global highp int)
+0:48 indirect index (temp highp float)
+0:48 'fua' (uniform 10-element array of highp float)
+0:48 'ga' (global highp int)
+0:49 indirect index (temp highp 3-component vector of float)
+0:49 'am3' (in highp 3X3 matrix of float)
+0:49 'ga' (global highp int)
+0:50 indirect index (temp highp float)
+0:50 'av2' (in highp 2-component vector of float)
+0:50 'ga' (global highp int)
+0:51 indirect index (smooth temp highp 4-component vector of float)
+0:51 'va' (smooth out 4-element array of highp 4-component vector of float)
+0:51 add (temp highp int)
+0:51 Constant:
+0:51 2 (const int)
+0:51 'ga' (global highp int)
+0:52 indirect index (temp highp 2-component vector of float)
+0:52 Constant:
+0:52 1.000000
+0:52 0.000000
+0:52 0.000000
+0:52 1.000000
+0:52 'ga' (global highp int)
+0:53 indirect index (temp highp float)
+0:53 Constant:
+0:53 2.000000
+0:53 2.000000
+0:53 2.000000
+0:53 divide (temp highp int)
+0:53 'ga' (global highp int)
+0:53 Constant:
+0:53 2 (const int)
+0:54 indirect index (temp highp int)
+0:54 'ia' (temp 9-element array of highp int)
+0:54 'ga' (global highp int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp highp int)
+0:56 'a' (temp highp int)
+0:56 Constant:
+0:56 3 (const int)
+0:56 Loop with condition tested first
+0:56 Loop Condition
+0:56 Compare Greater Than or Equal (temp bool)
+0:56 'a' (temp highp int)
+0:56 Constant:
+0:56 0 (const int)
+0:56 Loop Body
+0:57 Sequence
+0:57 indirect index (temp lowp sampler2D)
+0:57 'fsa' (uniform 3-element array of lowp sampler2D)
+0:57 'a' (temp highp int)
+0:58 indirect index (temp highp float)
+0:58 'fua' (uniform 10-element array of highp float)
+0:58 add (temp highp int)
+0:58 'a' (temp highp int)
+0:58 Constant:
+0:58 2 (const int)
+0:59 indirect index (temp highp 3-component vector of float)
+0:59 'am3' (in highp 3X3 matrix of float)
+0:59 component-wise multiply (temp highp int)
+0:59 Constant:
+0:59 3 (const int)
+0:59 'a' (temp highp int)
+0:60 indirect index (temp highp float)
+0:60 'av2' (in highp 2-component vector of float)
+0:60 component-wise multiply (temp highp int)
+0:60 Constant:
+0:60 3 (const int)
+0:60 'a' (temp highp int)
+0:61 indirect index (smooth temp highp 4-component vector of float)
+0:61 'va' (smooth out 4-element array of highp 4-component vector of float)
+0:61 subtract (temp highp int)
+0:61 'a' (temp highp int)
+0:61 Constant:
+0:61 1 (const int)
+0:62 indirect index (temp highp 2-component vector of float)
+0:62 Constant:
+0:62 1.000000
+0:62 0.000000
+0:62 0.000000
+0:62 1.000000
+0:62 divide (temp highp int)
+0:62 'a' (temp highp int)
+0:62 Constant:
+0:62 2 (const int)
+0:63 indirect index (temp highp float)
+0:63 Constant:
+0:63 2.000000
+0:63 2.000000
+0:63 2.000000
+0:63 'a' (temp highp int)
+0:64 indirect index (temp highp int)
+0:64 'ia' (temp 9-element array of highp int)
+0:64 'a' (temp highp int)
+0:65 indirect index (temp highp int)
+0:65 'ia' (temp 9-element array of highp int)
+0:65 Function Call: bar( (global highp int)
+0:56 Loop Terminal Expression
+0:56 Post-Decrement (temp highp int)
+0:56 'a' (temp highp int)
+0:68 direct index (temp lowp sampler2D)
+0:68 'fsa' (uniform 3-element array of lowp sampler2D)
+0:68 Constant:
+0:68 2 (const int)
+0:69 direct index (temp highp float)
+0:69 'fua' (uniform 10-element array of highp float)
+0:69 Constant:
+0:69 3 (const int)
+0:70 direct index (temp highp 3-component vector of float)
+0:70 'am3' (in highp 3X3 matrix of float)
+0:70 Constant:
+0:70 2 (const int)
+0:71 direct index (temp highp float)
+0:71 'av2' (in highp 2-component vector of float)
+0:71 Constant:
+0:71 1 (const int)
+0:72 direct index (smooth temp highp 4-component vector of float)
+0:72 'va' (smooth out 4-element array of highp 4-component vector of float)
+0:72 Constant:
+0:72 1 (const int)
+0:73 Constant:
+0:73 0.000000
+0:73 1.000000
+0:74 Constant:
+0:74 2.000000
+0:75 direct index (temp highp int)
+0:75 'ia' (temp 9-element array of highp int)
+0:75 Constant:
+0:75 3 (const int)
+0:? Linker Objects
+0:? 'ga' (global highp int)
+0:? 'gb' (global highp int)
+0:? 'f' (global highp float)
+0:? 'fsa' (uniform 3-element array of lowp sampler2D)
+0:? 'fua' (uniform 10-element array of highp float)
+0:? 'am3' (in highp 3X3 matrix of float)
+0:? 'av2' (in highp 2-component vector of float)
+0:? 'va' (smooth out 4-element array of highp 4-component vector of float)
+0:? 'm2' (const highp 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'v3' (const highp 3-component vector of float)
+0:? 2.000000
+0:? 2.000000
+0:? 2.000000
+
diff --git a/Test/baseResults/100LimitsConf.vert.out b/Test/baseResults/100LimitsConf.vert.out
index 1a87ea8..983676e 100644
--- a/Test/baseResults/100LimitsConf.vert.out
+++ b/Test/baseResults/100LimitsConf.vert.out
@@ -1,23 +1,23 @@
-ERROR: 0:24: 'limitation' : while loops not available
-ERROR: 0:26: 'limitation' : do-while loops not available
-ERROR: 0:28: 'limitations' : inductive-loop init-declaration requires the form "type-specifier loop-index = constant-expression"
-ERROR: 0:29: 'limitations' : inductive-loop init-declaration requires the form "type-specifier loop-index = constant-expression"
-ERROR: 0:30: 'limitations' : inductive-loop init-declaration requires the form "type-specifier loop-index = constant-expression"
-ERROR: 0:31: 'limitations' : inductive-loop init-declaration requires the form "type-specifier loop-index = constant-expression"
-ERROR: 0:32: 'limitations' : inductive loop requires a scalar 'int' or 'float' loop index
-ERROR: 0:33: 'limitations' : inductive-loop condition requires the form "loop-index <comparison-op> constant-expression"
-ERROR: 0:34: 'limitations' : inductive-loop termination requires the form "loop-index++, loop-index--, loop-index += constant-expression, or loop-index -= constant-expression"
-ERROR: 0:35: 'limitations' : inductive loop index modified
-ERROR: 0:36: 'limitations' : inductive loop index modified
-ERROR: 0:43: 'limitations' : inductive loop index modified
-ERROR: 0:47: 'limitations' : Non-constant-index-expression
-ERROR: 0:49: 'limitations' : Non-constant-index-expression
-ERROR: 0:50: 'limitations' : Non-constant-index-expression
-ERROR: 0:51: 'limitations' : Non-constant-index-expression
-ERROR: 0:52: 'limitations' : Non-constant-index-expression
-ERROR: 0:53: 'limitations' : Non-constant-index-expression
-ERROR: 0:54: 'limitations' : Non-constant-index-expression
-ERROR: 0:65: 'limitations' : Non-constant-index-expression
-ERROR: 20 compilation errors. No code generated.
-
-
+ERROR: 0:24: 'limitation' : while loops not available
+ERROR: 0:26: 'limitation' : do-while loops not available
+ERROR: 0:28: 'limitations' : inductive-loop init-declaration requires the form "type-specifier loop-index = constant-expression"
+ERROR: 0:29: 'limitations' : inductive-loop init-declaration requires the form "type-specifier loop-index = constant-expression"
+ERROR: 0:30: 'limitations' : inductive-loop init-declaration requires the form "type-specifier loop-index = constant-expression"
+ERROR: 0:31: 'limitations' : inductive-loop init-declaration requires the form "type-specifier loop-index = constant-expression"
+ERROR: 0:32: 'limitations' : inductive loop requires a scalar 'int' or 'float' loop index
+ERROR: 0:33: 'limitations' : inductive-loop condition requires the form "loop-index <comparison-op> constant-expression"
+ERROR: 0:34: 'limitations' : inductive-loop termination requires the form "loop-index++, loop-index--, loop-index += constant-expression, or loop-index -= constant-expression"
+ERROR: 0:35: 'limitations' : inductive loop index modified
+ERROR: 0:36: 'limitations' : inductive loop index modified
+ERROR: 0:43: 'limitations' : inductive loop index modified
+ERROR: 0:47: 'limitations' : Non-constant-index-expression
+ERROR: 0:49: 'limitations' : Non-constant-index-expression
+ERROR: 0:50: 'limitations' : Non-constant-index-expression
+ERROR: 0:51: 'limitations' : Non-constant-index-expression
+ERROR: 0:52: 'limitations' : Non-constant-index-expression
+ERROR: 0:53: 'limitations' : Non-constant-index-expression
+ERROR: 0:54: 'limitations' : Non-constant-index-expression
+ERROR: 0:65: 'limitations' : Non-constant-index-expression
+ERROR: 20 compilation errors. No code generated.
+
+
diff --git a/Test/baseResults/100scope.vert.out b/Test/baseResults/100scope.vert.out
index 55b4dad..a3a6797 100644
--- a/Test/baseResults/100scope.vert.out
+++ b/Test/baseResults/100scope.vert.out
@@ -1,238 +1,238 @@
-100scope.vert
-ERROR: 0:5: 'a' : redefinition
-ERROR: 0:17: 'b' : function name is redeclaration of existing name
-ERROR: 0:20: 'c' : redefinition
-ERROR: 0:22: 'f' : redefinition
-ERROR: 0:24: 'redefinition of built-in function' : not supported with this profile: es
-ERROR: 0:25: 'redefinition of built-in function' : not supported with this profile: es
-ERROR: 0:38: 'local function declaration' : not supported with this profile: es
-ERROR: 0:43: 'sin' : can't use function syntax on variable
-ERROR: 0:57: 'z' : undeclared identifier
-ERROR: 0:57: 'z' : redefinition
-ERROR: 0:73: 'degrees' : can't use function syntax on variable
-ERROR: 0:76: 'vertex-shader struct output' : not supported for this version or the enabled extensions
-ERROR: 12 compilation errors. No code generated.
-
-
-Shader version: 100
-ERROR: node is still EOpNull!
-0:3 Function Definition: f(i1;i1;i1; (global highp int)
-0:3 Function Parameters:
-0:3 'a' (in highp int)
-0:3 'b' (in highp int)
-0:3 'c' (in highp int)
-0:? Sequence
-0:8 Sequence
-0:8 Sequence
-0:8 move second child to first child (temp highp float)
-0:8 'a' (temp highp float)
-0:8 add (temp highp float)
-0:8 Convert int to float (temp highp float)
-0:8 'a' (in highp int)
-0:8 Constant:
-0:8 1.000000
-0:11 Branch: Return with expression
-0:11 'a' (in highp int)
-0:25 Function Definition: cos(f1; (global highp float)
-0:25 Function Parameters:
-0:25 'x' (in highp float)
-0:27 Sequence
-0:27 Branch: Return with expression
-0:27 Constant:
-0:27 1.000000
-0:29 Function Definition: radians(b1; (global bool)
-0:29 Function Parameters:
-0:29 'x' (in bool)
-0:31 Sequence
-0:31 Branch: Return with expression
-0:31 Constant:
-0:31 true (const bool)
-0:36 Function Definition: main( (global void)
-0:36 Function Parameters:
-0:? Sequence
-0:39 Function Call: g( (temp highp int)
-0:42 'sin' (temp highp float)
-0:43 Constant:
-0:43 0.000000
-0:44 Function Call: f(i1;i1;i1; (global highp int)
-0:44 Constant:
-0:44 1 (const int)
-0:44 Constant:
-0:44 2 (const int)
-0:44 Constant:
-0:44 3 (const int)
-0:47 move second child to first child (temp highp float)
-0:47 'f' (temp highp float)
-0:47 Constant:
-0:47 3.000000
-0:49 move second child to first child (temp highp 4-component vector of float)
-0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position)
-0:49 Construct vec4 (temp highp 4-component vector of float)
-0:49 'f' (temp highp float)
-0:51 Sequence
-0:51 Sequence
-0:51 move second child to first child (temp highp int)
-0:51 'f' (temp highp int)
-0:51 Constant:
-0:51 0 (const int)
-0:51 Loop with condition tested first
-0:51 Loop Condition
-0:51 Compare Less Than (temp bool)
-0:51 'f' (temp highp int)
-0:51 Constant:
-0:51 10 (const int)
-0:51 Loop Body
-0:52 Pre-Increment (temp highp int)
-0:52 'f' (temp highp int)
-0:51 Loop Terminal Expression
-0:51 Pre-Increment (temp highp int)
-0:51 'f' (temp highp int)
-0:54 Sequence
-0:54 move second child to first child (temp highp int)
-0:54 'x' (temp highp int)
-0:54 Constant:
-0:54 1 (const int)
-0:56 Sequence
-0:56 Sequence
-0:56 move second child to first child (temp highp float)
-0:56 'x' (temp highp float)
-0:56 Constant:
-0:56 2.000000
-0:56 move second child to first child (temp highp float)
-0:56 'y' (temp highp float)
-0:56 'x' (temp highp float)
-0:60 Sequence
-0:60 Sequence
-0:60 move second child to first child (temp highp int)
-0:60 'x' (temp highp int)
-0:60 'x' (temp highp int)
-0:68 Sequence
-0:68 Sequence
-0:68 move second child to first child (temp structure{temp highp int x})
-0:68 'S' (temp structure{temp highp int x})
-0:68 Constant:
-0:68 0 (const int)
-0:69 x: direct index for structure (temp highp int)
-0:69 'S' (temp structure{temp highp int x})
-0:69 Constant:
-0:69 0 (const int)
-0:73 Constant:
-0:73 0.000000
-0:? Linker Objects
-0:? 'b' (global bool)
-0:? 'tan' (global highp float)
-0:? 's' (smooth out structure{global highp float f})
-
-
-Linked vertex stage:
-
-
-Shader version: 100
-ERROR: node is still EOpNull!
-0:3 Function Definition: f(i1;i1;i1; (global highp int)
-0:3 Function Parameters:
-0:3 'a' (in highp int)
-0:3 'b' (in highp int)
-0:3 'c' (in highp int)
-0:? Sequence
-0:8 Sequence
-0:8 Sequence
-0:8 move second child to first child (temp highp float)
-0:8 'a' (temp highp float)
-0:8 add (temp highp float)
-0:8 Convert int to float (temp highp float)
-0:8 'a' (in highp int)
-0:8 Constant:
-0:8 1.000000
-0:11 Branch: Return with expression
-0:11 'a' (in highp int)
-0:25 Function Definition: cos(f1; (global highp float)
-0:25 Function Parameters:
-0:25 'x' (in highp float)
-0:27 Sequence
-0:27 Branch: Return with expression
-0:27 Constant:
-0:27 1.000000
-0:29 Function Definition: radians(b1; (global bool)
-0:29 Function Parameters:
-0:29 'x' (in bool)
-0:31 Sequence
-0:31 Branch: Return with expression
-0:31 Constant:
-0:31 true (const bool)
-0:36 Function Definition: main( (global void)
-0:36 Function Parameters:
-0:? Sequence
-0:39 Function Call: g( (temp highp int)
-0:42 'sin' (temp highp float)
-0:43 Constant:
-0:43 0.000000
-0:44 Function Call: f(i1;i1;i1; (global highp int)
-0:44 Constant:
-0:44 1 (const int)
-0:44 Constant:
-0:44 2 (const int)
-0:44 Constant:
-0:44 3 (const int)
-0:47 move second child to first child (temp highp float)
-0:47 'f' (temp highp float)
-0:47 Constant:
-0:47 3.000000
-0:49 move second child to first child (temp highp 4-component vector of float)
-0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position)
-0:49 Construct vec4 (temp highp 4-component vector of float)
-0:49 'f' (temp highp float)
-0:51 Sequence
-0:51 Sequence
-0:51 move second child to first child (temp highp int)
-0:51 'f' (temp highp int)
-0:51 Constant:
-0:51 0 (const int)
-0:51 Loop with condition tested first
-0:51 Loop Condition
-0:51 Compare Less Than (temp bool)
-0:51 'f' (temp highp int)
-0:51 Constant:
-0:51 10 (const int)
-0:51 Loop Body
-0:52 Pre-Increment (temp highp int)
-0:52 'f' (temp highp int)
-0:51 Loop Terminal Expression
-0:51 Pre-Increment (temp highp int)
-0:51 'f' (temp highp int)
-0:54 Sequence
-0:54 move second child to first child (temp highp int)
-0:54 'x' (temp highp int)
-0:54 Constant:
-0:54 1 (const int)
-0:56 Sequence
-0:56 Sequence
-0:56 move second child to first child (temp highp float)
-0:56 'x' (temp highp float)
-0:56 Constant:
-0:56 2.000000
-0:56 move second child to first child (temp highp float)
-0:56 'y' (temp highp float)
-0:56 'x' (temp highp float)
-0:60 Sequence
-0:60 Sequence
-0:60 move second child to first child (temp highp int)
-0:60 'x' (temp highp int)
-0:60 'x' (temp highp int)
-0:68 Sequence
-0:68 Sequence
-0:68 move second child to first child (temp structure{temp highp int x})
-0:68 'S' (temp structure{temp highp int x})
-0:68 Constant:
-0:68 0 (const int)
-0:69 x: direct index for structure (temp highp int)
-0:69 'S' (temp structure{temp highp int x})
-0:69 Constant:
-0:69 0 (const int)
-0:73 Constant:
-0:73 0.000000
-0:? Linker Objects
-0:? 'b' (global bool)
-0:? 'tan' (global highp float)
-0:? 's' (smooth out structure{global highp float f})
-
+100scope.vert
+ERROR: 0:5: 'a' : redefinition
+ERROR: 0:17: 'b' : function name is redeclaration of existing name
+ERROR: 0:20: 'c' : redefinition
+ERROR: 0:22: 'f' : redefinition
+ERROR: 0:24: 'redefinition of built-in function' : not supported with this profile: es
+ERROR: 0:25: 'redefinition of built-in function' : not supported with this profile: es
+ERROR: 0:38: 'local function declaration' : not supported with this profile: es
+ERROR: 0:43: 'sin' : can't use function syntax on variable
+ERROR: 0:57: 'z' : undeclared identifier
+ERROR: 0:57: 'z' : redefinition
+ERROR: 0:73: 'degrees' : can't use function syntax on variable
+ERROR: 0:76: 'vertex-shader struct output' : not supported for this version or the enabled extensions
+ERROR: 12 compilation errors. No code generated.
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:3 Function Definition: f(i1;i1;i1; (global highp int)
+0:3 Function Parameters:
+0:3 'a' (in highp int)
+0:3 'b' (in highp int)
+0:3 'c' (in highp int)
+0:? Sequence
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp highp float)
+0:8 'a' (temp highp float)
+0:8 add (temp highp float)
+0:8 Convert int to float (temp highp float)
+0:8 'a' (in highp int)
+0:8 Constant:
+0:8 1.000000
+0:11 Branch: Return with expression
+0:11 'a' (in highp int)
+0:25 Function Definition: cos(f1; (global highp float)
+0:25 Function Parameters:
+0:25 'x' (in highp float)
+0:27 Sequence
+0:27 Branch: Return with expression
+0:27 Constant:
+0:27 1.000000
+0:29 Function Definition: radians(b1; (global bool)
+0:29 Function Parameters:
+0:29 'x' (in bool)
+0:31 Sequence
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 true (const bool)
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:? Sequence
+0:39 Function Call: g( (temp highp int)
+0:42 'sin' (temp highp float)
+0:43 Constant:
+0:43 0.000000
+0:44 Function Call: f(i1;i1;i1; (global highp int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 3 (const int)
+0:47 move second child to first child (temp highp float)
+0:47 'f' (temp highp float)
+0:47 Constant:
+0:47 3.000000
+0:49 move second child to first child (temp highp 4-component vector of float)
+0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position)
+0:49 Construct vec4 (temp highp 4-component vector of float)
+0:49 'f' (temp highp float)
+0:51 Sequence
+0:51 Sequence
+0:51 move second child to first child (temp highp int)
+0:51 'f' (temp highp int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Loop with condition tested first
+0:51 Loop Condition
+0:51 Compare Less Than (temp bool)
+0:51 'f' (temp highp int)
+0:51 Constant:
+0:51 10 (const int)
+0:51 Loop Body
+0:52 Pre-Increment (temp highp int)
+0:52 'f' (temp highp int)
+0:51 Loop Terminal Expression
+0:51 Pre-Increment (temp highp int)
+0:51 'f' (temp highp int)
+0:54 Sequence
+0:54 move second child to first child (temp highp int)
+0:54 'x' (temp highp int)
+0:54 Constant:
+0:54 1 (const int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp highp float)
+0:56 'x' (temp highp float)
+0:56 Constant:
+0:56 2.000000
+0:56 move second child to first child (temp highp float)
+0:56 'y' (temp highp float)
+0:56 'x' (temp highp float)
+0:60 Sequence
+0:60 Sequence
+0:60 move second child to first child (temp highp int)
+0:60 'x' (temp highp int)
+0:60 'x' (temp highp int)
+0:68 Sequence
+0:68 Sequence
+0:68 move second child to first child (temp structure{temp highp int x})
+0:68 'S' (temp structure{temp highp int x})
+0:68 Constant:
+0:68 0 (const int)
+0:69 x: direct index for structure (temp highp int)
+0:69 'S' (temp structure{temp highp int x})
+0:69 Constant:
+0:69 0 (const int)
+0:73 Constant:
+0:73 0.000000
+0:? Linker Objects
+0:? 'b' (global bool)
+0:? 'tan' (global highp float)
+0:? 's' (smooth out structure{global highp float f})
+
+
+Linked vertex stage:
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:3 Function Definition: f(i1;i1;i1; (global highp int)
+0:3 Function Parameters:
+0:3 'a' (in highp int)
+0:3 'b' (in highp int)
+0:3 'c' (in highp int)
+0:? Sequence
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp highp float)
+0:8 'a' (temp highp float)
+0:8 add (temp highp float)
+0:8 Convert int to float (temp highp float)
+0:8 'a' (in highp int)
+0:8 Constant:
+0:8 1.000000
+0:11 Branch: Return with expression
+0:11 'a' (in highp int)
+0:25 Function Definition: cos(f1; (global highp float)
+0:25 Function Parameters:
+0:25 'x' (in highp float)
+0:27 Sequence
+0:27 Branch: Return with expression
+0:27 Constant:
+0:27 1.000000
+0:29 Function Definition: radians(b1; (global bool)
+0:29 Function Parameters:
+0:29 'x' (in bool)
+0:31 Sequence
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 true (const bool)
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:? Sequence
+0:39 Function Call: g( (temp highp int)
+0:42 'sin' (temp highp float)
+0:43 Constant:
+0:43 0.000000
+0:44 Function Call: f(i1;i1;i1; (global highp int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 3 (const int)
+0:47 move second child to first child (temp highp float)
+0:47 'f' (temp highp float)
+0:47 Constant:
+0:47 3.000000
+0:49 move second child to first child (temp highp 4-component vector of float)
+0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position)
+0:49 Construct vec4 (temp highp 4-component vector of float)
+0:49 'f' (temp highp float)
+0:51 Sequence
+0:51 Sequence
+0:51 move second child to first child (temp highp int)
+0:51 'f' (temp highp int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Loop with condition tested first
+0:51 Loop Condition
+0:51 Compare Less Than (temp bool)
+0:51 'f' (temp highp int)
+0:51 Constant:
+0:51 10 (const int)
+0:51 Loop Body
+0:52 Pre-Increment (temp highp int)
+0:52 'f' (temp highp int)
+0:51 Loop Terminal Expression
+0:51 Pre-Increment (temp highp int)
+0:51 'f' (temp highp int)
+0:54 Sequence
+0:54 move second child to first child (temp highp int)
+0:54 'x' (temp highp int)
+0:54 Constant:
+0:54 1 (const int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp highp float)
+0:56 'x' (temp highp float)
+0:56 Constant:
+0:56 2.000000
+0:56 move second child to first child (temp highp float)
+0:56 'y' (temp highp float)
+0:56 'x' (temp highp float)
+0:60 Sequence
+0:60 Sequence
+0:60 move second child to first child (temp highp int)
+0:60 'x' (temp highp int)
+0:60 'x' (temp highp int)
+0:68 Sequence
+0:68 Sequence
+0:68 move second child to first child (temp structure{temp highp int x})
+0:68 'S' (temp structure{temp highp int x})
+0:68 Constant:
+0:68 0 (const int)
+0:69 x: direct index for structure (temp highp int)
+0:69 'S' (temp structure{temp highp int x})
+0:69 Constant:
+0:69 0 (const int)
+0:73 Constant:
+0:73 0.000000
+0:? Linker Objects
+0:? 'b' (global bool)
+0:? 'tan' (global highp float)
+0:? 's' (smooth out structure{global highp float f})
+
diff --git a/Test/baseResults/110scope.vert.out b/Test/baseResults/110scope.vert.out
index 3151246..5f41b86 100644
--- a/Test/baseResults/110scope.vert.out
+++ b/Test/baseResults/110scope.vert.out
@@ -1,256 +1,256 @@
-110scope.vert
-ERROR: 0:5: 'a' : redefinition
-ERROR: 0:34: 'f' : can't call user function from global scope
-ERROR: 0:57: 'z' : undeclared identifier
-ERROR: 0:57: 'z' : redefinition
-ERROR: 4 compilation errors. No code generated.
-
-
-Shader version: 110
-ERROR: node is still EOpNull!
-0:3 Function Definition: f(i1;i1;i1; (global int)
-0:3 Function Parameters:
-0:3 'a' (in int)
-0:3 'b' (in int)
-0:3 'c' (in int)
-0:? Sequence
-0:8 Sequence
-0:8 Sequence
-0:8 move second child to first child (temp float)
-0:8 'a' (temp float)
-0:8 add (temp float)
-0:8 Convert int to float (temp float)
-0:8 'a' (in int)
-0:8 Constant:
-0:8 1.000000
-0:11 Branch: Return with expression
-0:11 'a' (in int)
-0:25 Function Definition: cos(f1; (global float)
-0:25 Function Parameters:
-0:25 'x' (in float)
-0:27 Sequence
-0:27 Branch: Return with expression
-0:27 Constant:
-0:27 1.000000
-0:29 Function Definition: radians(b1; (global bool)
-0:29 Function Parameters:
-0:29 'x' (in bool)
-0:31 Sequence
-0:31 Branch: Return with expression
-0:31 Constant:
-0:31 true (const bool)
-0:34 Sequence
-0:34 move second child to first child (temp int)
-0:34 'gi' (global int)
-0:34 Function Call: f(i1;i1;i1; (global int)
-0:34 Constant:
-0:34 1 (const int)
-0:34 Constant:
-0:34 2 (const int)
-0:34 Constant:
-0:34 3 (const int)
-0:36 Function Definition: main( (global void)
-0:36 Function Parameters:
-0:? Sequence
-0:39 Function Call: g( (temp int)
-0:42 'sin' (temp float)
-0:43 Function Call: sin(f1; (global float)
-0:43 Constant:
-0:43 0.700000
-0:44 Function Call: f(i1;i1;i1; (global int)
-0:44 Constant:
-0:44 1 (const int)
-0:44 Constant:
-0:44 2 (const int)
-0:44 Constant:
-0:44 3 (const int)
-0:47 move second child to first child (temp float)
-0:47 'f' (temp float)
-0:47 Constant:
-0:47 3.000000
-0:49 move second child to first child (temp 4-component vector of float)
-0:49 'gl_Position' (gl_Position 4-component vector of float Position)
-0:49 Construct vec4 (temp 4-component vector of float)
-0:49 'f' (temp float)
-0:51 Sequence
-0:51 Sequence
-0:51 move second child to first child (temp int)
-0:51 'f' (temp int)
-0:51 Constant:
-0:51 0 (const int)
-0:51 Loop with condition tested first
-0:51 Loop Condition
-0:51 Compare Less Than (temp bool)
-0:51 'f' (temp int)
-0:51 Constant:
-0:51 10 (const int)
-0:51 Loop Body
-0:52 Pre-Increment (temp int)
-0:52 'f' (temp int)
-0:51 Loop Terminal Expression
-0:51 Pre-Increment (temp int)
-0:51 'f' (temp int)
-0:54 Sequence
-0:54 move second child to first child (temp int)
-0:54 'x' (temp int)
-0:54 Constant:
-0:54 1 (const int)
-0:56 Sequence
-0:56 Sequence
-0:56 move second child to first child (temp float)
-0:56 'x' (temp float)
-0:56 Constant:
-0:56 2.000000
-0:56 move second child to first child (temp float)
-0:56 'y' (temp float)
-0:56 'x' (temp float)
-0:60 Sequence
-0:60 Sequence
-0:60 move second child to first child (temp int)
-0:60 'x' (temp int)
-0:60 'x' (temp int)
-0:68 Sequence
-0:68 Sequence
-0:68 move second child to first child (temp structure{temp int x})
-0:68 'S' (temp structure{temp int x})
-0:68 Constant:
-0:68 0 (const int)
-0:69 x: direct index for structure (temp int)
-0:69 'S' (temp structure{temp int x})
-0:69 Constant:
-0:69 0 (const int)
-0:73 Constant:
-0:73 183.346494
-0:? Linker Objects
-0:? 'b' (global bool)
-0:? 'c' (global bool)
-0:? 'f' (global float)
-0:? 'tan' (global float)
-0:? 'gi' (global int)
-
-
-Linked vertex stage:
-
-
-Shader version: 110
-ERROR: node is still EOpNull!
-0:3 Function Definition: f(i1;i1;i1; (global int)
-0:3 Function Parameters:
-0:3 'a' (in int)
-0:3 'b' (in int)
-0:3 'c' (in int)
-0:? Sequence
-0:8 Sequence
-0:8 Sequence
-0:8 move second child to first child (temp float)
-0:8 'a' (temp float)
-0:8 add (temp float)
-0:8 Convert int to float (temp float)
-0:8 'a' (in int)
-0:8 Constant:
-0:8 1.000000
-0:11 Branch: Return with expression
-0:11 'a' (in int)
-0:25 Function Definition: cos(f1; (global float)
-0:25 Function Parameters:
-0:25 'x' (in float)
-0:27 Sequence
-0:27 Branch: Return with expression
-0:27 Constant:
-0:27 1.000000
-0:29 Function Definition: radians(b1; (global bool)
-0:29 Function Parameters:
-0:29 'x' (in bool)
-0:31 Sequence
-0:31 Branch: Return with expression
-0:31 Constant:
-0:31 true (const bool)
-0:34 Sequence
-0:34 move second child to first child (temp int)
-0:34 'gi' (global int)
-0:34 Function Call: f(i1;i1;i1; (global int)
-0:34 Constant:
-0:34 1 (const int)
-0:34 Constant:
-0:34 2 (const int)
-0:34 Constant:
-0:34 3 (const int)
-0:36 Function Definition: main( (global void)
-0:36 Function Parameters:
-0:? Sequence
-0:39 Function Call: g( (temp int)
-0:42 'sin' (temp float)
-0:43 Function Call: sin(f1; (global float)
-0:43 Constant:
-0:43 0.700000
-0:44 Function Call: f(i1;i1;i1; (global int)
-0:44 Constant:
-0:44 1 (const int)
-0:44 Constant:
-0:44 2 (const int)
-0:44 Constant:
-0:44 3 (const int)
-0:47 move second child to first child (temp float)
-0:47 'f' (temp float)
-0:47 Constant:
-0:47 3.000000
-0:49 move second child to first child (temp 4-component vector of float)
-0:49 'gl_Position' (gl_Position 4-component vector of float Position)
-0:49 Construct vec4 (temp 4-component vector of float)
-0:49 'f' (temp float)
-0:51 Sequence
-0:51 Sequence
-0:51 move second child to first child (temp int)
-0:51 'f' (temp int)
-0:51 Constant:
-0:51 0 (const int)
-0:51 Loop with condition tested first
-0:51 Loop Condition
-0:51 Compare Less Than (temp bool)
-0:51 'f' (temp int)
-0:51 Constant:
-0:51 10 (const int)
-0:51 Loop Body
-0:52 Pre-Increment (temp int)
-0:52 'f' (temp int)
-0:51 Loop Terminal Expression
-0:51 Pre-Increment (temp int)
-0:51 'f' (temp int)
-0:54 Sequence
-0:54 move second child to first child (temp int)
-0:54 'x' (temp int)
-0:54 Constant:
-0:54 1 (const int)
-0:56 Sequence
-0:56 Sequence
-0:56 move second child to first child (temp float)
-0:56 'x' (temp float)
-0:56 Constant:
-0:56 2.000000
-0:56 move second child to first child (temp float)
-0:56 'y' (temp float)
-0:56 'x' (temp float)
-0:60 Sequence
-0:60 Sequence
-0:60 move second child to first child (temp int)
-0:60 'x' (temp int)
-0:60 'x' (temp int)
-0:68 Sequence
-0:68 Sequence
-0:68 move second child to first child (temp structure{temp int x})
-0:68 'S' (temp structure{temp int x})
-0:68 Constant:
-0:68 0 (const int)
-0:69 x: direct index for structure (temp int)
-0:69 'S' (temp structure{temp int x})
-0:69 Constant:
-0:69 0 (const int)
-0:73 Constant:
-0:73 183.346494
-0:? Linker Objects
-0:? 'b' (global bool)
-0:? 'c' (global bool)
-0:? 'f' (global float)
-0:? 'tan' (global float)
-0:? 'gi' (global int)
-
+110scope.vert
+ERROR: 0:5: 'a' : redefinition
+ERROR: 0:34: 'f' : can't call user function from global scope
+ERROR: 0:57: 'z' : undeclared identifier
+ERROR: 0:57: 'z' : redefinition
+ERROR: 4 compilation errors. No code generated.
+
+
+Shader version: 110
+ERROR: node is still EOpNull!
+0:3 Function Definition: f(i1;i1;i1; (global int)
+0:3 Function Parameters:
+0:3 'a' (in int)
+0:3 'b' (in int)
+0:3 'c' (in int)
+0:? Sequence
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'a' (temp float)
+0:8 add (temp float)
+0:8 Convert int to float (temp float)
+0:8 'a' (in int)
+0:8 Constant:
+0:8 1.000000
+0:11 Branch: Return with expression
+0:11 'a' (in int)
+0:25 Function Definition: cos(f1; (global float)
+0:25 Function Parameters:
+0:25 'x' (in float)
+0:27 Sequence
+0:27 Branch: Return with expression
+0:27 Constant:
+0:27 1.000000
+0:29 Function Definition: radians(b1; (global bool)
+0:29 Function Parameters:
+0:29 'x' (in bool)
+0:31 Sequence
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 true (const bool)
+0:34 Sequence
+0:34 move second child to first child (temp int)
+0:34 'gi' (global int)
+0:34 Function Call: f(i1;i1;i1; (global int)
+0:34 Constant:
+0:34 1 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:34 Constant:
+0:34 3 (const int)
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:? Sequence
+0:39 Function Call: g( (temp int)
+0:42 'sin' (temp float)
+0:43 Function Call: sin(f1; (global float)
+0:43 Constant:
+0:43 0.700000
+0:44 Function Call: f(i1;i1;i1; (global int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 3 (const int)
+0:47 move second child to first child (temp float)
+0:47 'f' (temp float)
+0:47 Constant:
+0:47 3.000000
+0:49 move second child to first child (temp 4-component vector of float)
+0:49 'gl_Position' (gl_Position 4-component vector of float Position)
+0:49 Construct vec4 (temp 4-component vector of float)
+0:49 'f' (temp float)
+0:51 Sequence
+0:51 Sequence
+0:51 move second child to first child (temp int)
+0:51 'f' (temp int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Loop with condition tested first
+0:51 Loop Condition
+0:51 Compare Less Than (temp bool)
+0:51 'f' (temp int)
+0:51 Constant:
+0:51 10 (const int)
+0:51 Loop Body
+0:52 Pre-Increment (temp int)
+0:52 'f' (temp int)
+0:51 Loop Terminal Expression
+0:51 Pre-Increment (temp int)
+0:51 'f' (temp int)
+0:54 Sequence
+0:54 move second child to first child (temp int)
+0:54 'x' (temp int)
+0:54 Constant:
+0:54 1 (const int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp float)
+0:56 'x' (temp float)
+0:56 Constant:
+0:56 2.000000
+0:56 move second child to first child (temp float)
+0:56 'y' (temp float)
+0:56 'x' (temp float)
+0:60 Sequence
+0:60 Sequence
+0:60 move second child to first child (temp int)
+0:60 'x' (temp int)
+0:60 'x' (temp int)
+0:68 Sequence
+0:68 Sequence
+0:68 move second child to first child (temp structure{temp int x})
+0:68 'S' (temp structure{temp int x})
+0:68 Constant:
+0:68 0 (const int)
+0:69 x: direct index for structure (temp int)
+0:69 'S' (temp structure{temp int x})
+0:69 Constant:
+0:69 0 (const int)
+0:73 Constant:
+0:73 183.346494
+0:? Linker Objects
+0:? 'b' (global bool)
+0:? 'c' (global bool)
+0:? 'f' (global float)
+0:? 'tan' (global float)
+0:? 'gi' (global int)
+
+
+Linked vertex stage:
+
+
+Shader version: 110
+ERROR: node is still EOpNull!
+0:3 Function Definition: f(i1;i1;i1; (global int)
+0:3 Function Parameters:
+0:3 'a' (in int)
+0:3 'b' (in int)
+0:3 'c' (in int)
+0:? Sequence
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'a' (temp float)
+0:8 add (temp float)
+0:8 Convert int to float (temp float)
+0:8 'a' (in int)
+0:8 Constant:
+0:8 1.000000
+0:11 Branch: Return with expression
+0:11 'a' (in int)
+0:25 Function Definition: cos(f1; (global float)
+0:25 Function Parameters:
+0:25 'x' (in float)
+0:27 Sequence
+0:27 Branch: Return with expression
+0:27 Constant:
+0:27 1.000000
+0:29 Function Definition: radians(b1; (global bool)
+0:29 Function Parameters:
+0:29 'x' (in bool)
+0:31 Sequence
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 true (const bool)
+0:34 Sequence
+0:34 move second child to first child (temp int)
+0:34 'gi' (global int)
+0:34 Function Call: f(i1;i1;i1; (global int)
+0:34 Constant:
+0:34 1 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:34 Constant:
+0:34 3 (const int)
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:? Sequence
+0:39 Function Call: g( (temp int)
+0:42 'sin' (temp float)
+0:43 Function Call: sin(f1; (global float)
+0:43 Constant:
+0:43 0.700000
+0:44 Function Call: f(i1;i1;i1; (global int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 3 (const int)
+0:47 move second child to first child (temp float)
+0:47 'f' (temp float)
+0:47 Constant:
+0:47 3.000000
+0:49 move second child to first child (temp 4-component vector of float)
+0:49 'gl_Position' (gl_Position 4-component vector of float Position)
+0:49 Construct vec4 (temp 4-component vector of float)
+0:49 'f' (temp float)
+0:51 Sequence
+0:51 Sequence
+0:51 move second child to first child (temp int)
+0:51 'f' (temp int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Loop with condition tested first
+0:51 Loop Condition
+0:51 Compare Less Than (temp bool)
+0:51 'f' (temp int)
+0:51 Constant:
+0:51 10 (const int)
+0:51 Loop Body
+0:52 Pre-Increment (temp int)
+0:52 'f' (temp int)
+0:51 Loop Terminal Expression
+0:51 Pre-Increment (temp int)
+0:51 'f' (temp int)
+0:54 Sequence
+0:54 move second child to first child (temp int)
+0:54 'x' (temp int)
+0:54 Constant:
+0:54 1 (const int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp float)
+0:56 'x' (temp float)
+0:56 Constant:
+0:56 2.000000
+0:56 move second child to first child (temp float)
+0:56 'y' (temp float)
+0:56 'x' (temp float)
+0:60 Sequence
+0:60 Sequence
+0:60 move second child to first child (temp int)
+0:60 'x' (temp int)
+0:60 'x' (temp int)
+0:68 Sequence
+0:68 Sequence
+0:68 move second child to first child (temp structure{temp int x})
+0:68 'S' (temp structure{temp int x})
+0:68 Constant:
+0:68 0 (const int)
+0:69 x: direct index for structure (temp int)
+0:69 'S' (temp structure{temp int x})
+0:69 Constant:
+0:69 0 (const int)
+0:73 Constant:
+0:73 183.346494
+0:? Linker Objects
+0:? 'b' (global bool)
+0:? 'c' (global bool)
+0:? 'f' (global float)
+0:? 'tan' (global float)
+0:? 'gi' (global int)
+
diff --git a/Test/baseResults/120.frag.out b/Test/baseResults/120.frag.out
index f92e106..0d10b0e 100644
--- a/Test/baseResults/120.frag.out
+++ b/Test/baseResults/120.frag.out
@@ -1,1193 +1,1193 @@
-120.frag
-ERROR: 0:9: 'in for stage inputs' : not supported for this version or the enabled extensions
-ERROR: 0:10: 'out for stage outputs' : not supported for this version or the enabled extensions
-ERROR: 0:54: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp 2-component vector of float' and a right operand of type 'temp 3-component vector of float' (or there is no acceptable conversion)
-ERROR: 0:55: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type 'uniform 4X2 matrix of float' and a right operand of type 'temp 3-component vector of float' (or there is no acceptable conversion)
-ERROR: 0:56: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'uniform 4X2 matrix of float' and a right operand of type 'smooth in 4-component vector of float' (or there is no acceptable conversion)
-ERROR: 0:57: '=' : cannot convert from 'const float' to 'temp int'
-ERROR: 0:58: 'assign' : cannot convert from 'temp bool' to 'temp float'
-ERROR: 0:59: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp int' and a right operand of type 'temp bool' (or there is no acceptable conversion)
-ERROR: 0:60: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp int' (or there is no acceptable conversion)
-ERROR: 0:60: 'assign' : cannot convert from 'temp bool' to 'temp float'
-ERROR: 0:61: 'assign' : cannot convert from 'temp int' to 'temp bool'
-ERROR: 0:62: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp float' (or there is no acceptable conversion)
-ERROR: 0:63: 'bitwise-or assign' : not supported for this version or the enabled extensions
-ERROR: 0:63: 'assign' : cannot convert from 'temp bool' to 'temp float'
-ERROR: 0:79: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type 'temp 4-component vector of float' and a right operand of type 'temp 4X4 matrix of float' (or there is no acceptable conversion)
-ERROR: 0:79: 'assign' : cannot convert from 'temp 4X4 matrix of float' to 'fragColor 4-component vector of float FragColor'
-ERROR: 0:82: 'xr' : illegal - vector component fields not from the same set
-ERROR: 0:83: 'xyxyx' : illegal vector field selection
-ERROR: 0:83: 'scalar swizzle' : not supported for this version or the enabled extensions
-ERROR: 0:83: 'xy' : vector field selection out of range
-ERROR: 0:84: 'z' : vector field selection out of range
-ERROR: 0:85: 'assign' : l-value required
-ERROR: 0:91: 'int' : overloaded functions must have the same return type
-ERROR: 0:91: 'main' : function already has a body
-ERROR: 0:91: 'int' : main function cannot return a value
-ERROR: 0:92: 'main' : function cannot take any parameter(s)
-ERROR: 0:94: 'a' : variables with qualifier 'const' must be initialized
-ERROR: 0:97: 'out' : overloaded functions must have the same parameter storage qualifiers for argument 1
-ERROR: 0:99: 'return' : type does not match, or is not convertible to, the function's return type
-ERROR: 0:115: 'return' : void function cannot return a value
-ERROR: 0:125: 'gl_TexCoord' : redeclaration of array with size
-ERROR: 0:152: 'matrixCompMult' : no matching overloaded function found
-ERROR: 0:152: '=' : cannot convert from 'const float' to 'temp 3X2 matrix of float'
-ERROR: 0:153: 'matrixCompMult' : no matching overloaded function found
-ERROR: 0:153: '=' : cannot convert from 'const float' to 'temp 3X4 matrix of float'
-ERROR: 0:160: 'constructor' : not enough data provided for construction
-ERROR: 0:160: '=' : cannot convert from 'const float' to 'temp 4X4 matrix of float'
-ERROR: 0:161: 'constructor' : too many arguments
-ERROR: 0:161: '=' : cannot convert from 'const float' to 'temp 4X4 matrix of float'
-ERROR: 0:165: 'constructor' : matrix constructed from matrix can only have one argument
-ERROR: 0:166: 'constructor' : matrix constructed from matrix can only have one argument
-ERROR: 0:172: 'constructor' : array constructor needs one argument per array element
-ERROR: 0:172: '=' : cannot convert from 'const float' to 'temp 2-element array of 3X3 matrix of float'
-ERROR: 0:184: 'texture2DLod' : required extension not requested: GL_ARB_shader_texture_lod
-ERROR: 0:185: 'texture3DProjLod' : required extension not requested: GL_ARB_shader_texture_lod
-ERROR: 0:186: 'texture1DProjLod' : required extension not requested: GL_ARB_shader_texture_lod
-ERROR: 0:187: 'shadow2DProjLod' : required extension not requested: GL_ARB_shader_texture_lod
-ERROR: 0:189: 'texture1DGradARB' : required extension not requested: GL_ARB_shader_texture_lod
-ERROR: 0:190: 'texture2DProjGradARB' : required extension not requested: GL_ARB_shader_texture_lod
-ERROR: 0:191: 'shadow2DProjGradARB' : required extension not requested: GL_ARB_shader_texture_lod
-ERROR: 0:209: 'shadow2DRectProjGradARB' : no matching overloaded function found
-ERROR: 0:209: 'assign' : cannot convert from 'const float' to 'temp 4-component vector of float'
-ERROR: 0:212: 'sampler2DRect' : Reserved word.
-ERROR: 53 compilation errors. No code generated.
-
-
-Shader version: 120
-Requested GL_ARB_shader_texture_lod
-Requested GL_ARB_texture_rectangle
-ERROR: node is still EOpNull!
-0:21 Function Definition: main( (global void)
-0:21 Function Parameters:
-0:23 Sequence
-0:23 Sequence
-0:23 move second child to first child (temp 2X3 matrix of float)
-0:23 'm23' (temp 2X3 matrix of float)
-0:23 Construct mat2x3 (temp 2X3 matrix of float)
-0:23 'm' (uniform 4X2 matrix of float)
-0:27 Sequence
-0:27 move second child to first child (temp structure{global float f})
-0:27 'sv' (temp structure{global float f})
-0:27 Construct structure (temp structure{global float f})
-0:27 Convert int to float (temp float)
-0:27 'a' (temp int)
-0:28 Sequence
-0:28 move second child to first child (temp 2-element array of float)
-0:28 'ia' (temp 2-element array of float)
-0:28 Construct float (temp 2-element array of float)
-0:28 Constant:
-0:28 3.000000
-0:28 direct index (temp float)
-0:28 'i' (smooth in 4-component vector of float)
-0:28 Constant:
-0:28 1 (const int)
-0:29 Sequence
-0:29 move second child to first child (temp float)
-0:29 'f1' (temp float)
-0:29 Constant:
-0:29 1.000000
-0:30 Sequence
-0:30 move second child to first child (temp float)
-0:30 'f' (temp float)
-0:30 Convert int to float (temp float)
-0:30 'a' (temp int)
-0:31 move second child to first child (temp float)
-0:31 'f' (temp float)
-0:31 Convert int to float (temp float)
-0:31 'a' (temp int)
-0:33 Sequence
-0:33 move second child to first child (temp 3-component vector of float)
-0:33 'v3' (temp 3-component vector of float)
-0:33 Convert int to float (temp 3-component vector of float)
-0:33 'iv3' (temp 3-component vector of int)
-0:34 move second child to first child (temp float)
-0:34 'f' (temp float)
-0:34 add (temp float)
-0:34 'f' (temp float)
-0:34 Convert int to float (temp float)
-0:34 'a' (temp int)
-0:35 move second child to first child (temp float)
-0:35 'f' (temp float)
-0:35 subtract (temp float)
-0:35 Convert int to float (temp float)
-0:35 'a' (temp int)
-0:35 'f' (temp float)
-0:36 add second child into first child (temp float)
-0:36 'f' (temp float)
-0:36 Convert int to float (temp float)
-0:36 'a' (temp int)
-0:37 move second child to first child (temp float)
-0:37 'f' (temp float)
-0:37 subtract (temp float)
-0:37 Convert int to float (temp float)
-0:37 'a' (temp int)
-0:37 'f' (temp float)
-0:38 multiply second child into first child (temp 3-component vector of float)
-0:38 'v3' (temp 3-component vector of float)
-0:38 Convert int to float (temp 3-component vector of float)
-0:38 'iv3' (temp 3-component vector of int)
-0:39 move second child to first child (temp 3-component vector of float)
-0:39 'v3' (temp 3-component vector of float)
-0:39 divide (temp 3-component vector of float)
-0:39 Convert int to float (temp 3-component vector of float)
-0:39 'iv3' (temp 3-component vector of int)
-0:39 Constant:
-0:39 2.000000
-0:40 move second child to first child (temp 3-component vector of float)
-0:40 'v3' (temp 3-component vector of float)
-0:40 vector-scale (temp 3-component vector of float)
-0:40 Constant:
-0:40 3.000000
-0:40 Convert int to float (temp 3-component vector of float)
-0:40 'iv3' (temp 3-component vector of int)
-0:41 move second child to first child (temp 3-component vector of float)
-0:41 'v3' (temp 3-component vector of float)
-0:41 vector-scale (temp 3-component vector of float)
-0:41 Constant:
-0:41 2.000000
-0:41 'v3' (temp 3-component vector of float)
-0:42 move second child to first child (temp 3-component vector of float)
-0:42 'v3' (temp 3-component vector of float)
-0:42 subtract (temp 3-component vector of float)
-0:42 'v3' (temp 3-component vector of float)
-0:42 Constant:
-0:42 2.000000
-0:43 Test condition and select (temp void)
-0:43 Condition
-0:47 logical-or (temp bool)
-0:46 logical-or (temp bool)
-0:45 logical-or (temp bool)
-0:44 logical-or (temp bool)
-0:43 logical-or (temp bool)
-0:43 Compare Less Than (temp bool)
-0:43 'f' (temp float)
-0:43 Convert int to float (temp float)
-0:43 'a' (temp int)
-0:44 Compare Less Than or Equal (temp bool)
-0:44 Convert int to float (temp float)
-0:44 'a' (temp int)
-0:44 'f' (temp float)
-0:45 Compare Greater Than (temp bool)
-0:45 'f' (temp float)
-0:45 Convert int to float (temp float)
-0:45 'a' (temp int)
-0:46 Compare Greater Than or Equal (temp bool)
-0:46 'f' (temp float)
-0:46 Convert int to float (temp float)
-0:46 'a' (temp int)
-0:47 Compare Equal (temp bool)
-0:47 Convert int to float (temp float)
-0:47 'a' (temp int)
-0:47 'f' (temp float)
-0:48 Compare Not Equal (temp bool)
-0:48 'f' (temp float)
-0:48 Convert int to float (temp float)
-0:48 'a' (temp int)
-0:43 true case is null
-0:49 move second child to first child (temp float)
-0:49 'f' (temp float)
-0:49 Test condition and select (temp float)
-0:49 Condition
-0:49 'b' (temp bool)
-0:49 true case
-0:49 Convert int to float (temp float)
-0:49 'a' (temp int)
-0:49 false case
-0:49 'f' (temp float)
-0:50 move second child to first child (temp float)
-0:50 'f' (temp float)
-0:50 Test condition and select (temp float)
-0:50 Condition
-0:50 'b' (temp bool)
-0:50 true case
-0:50 'f' (temp float)
-0:50 false case
-0:50 Convert int to float (temp float)
-0:50 'a' (temp int)
-0:51 move second child to first child (temp float)
-0:51 'f' (temp float)
-0:51 Convert int to float (temp float)
-0:51 Test condition and select (temp int)
-0:51 Condition
-0:51 'b' (temp bool)
-0:51 true case
-0:51 'a' (temp int)
-0:51 false case
-0:51 'a' (temp int)
-0:52 Sequence
-0:52 move second child to first child (temp structure{global float f})
-0:52 'news' (temp structure{global float f})
-0:52 'sv' (temp structure{global float f})
-0:54 vector swizzle (temp 2-component vector of float)
-0:54 'i' (smooth in 4-component vector of float)
-0:54 Sequence
-0:54 Constant:
-0:54 0 (const int)
-0:54 Constant:
-0:54 1 (const int)
-0:55 'm' (uniform 4X2 matrix of float)
-0:56 'm' (uniform 4X2 matrix of float)
-0:58 'f' (temp float)
-0:59 move second child to first child (temp float)
-0:59 'f' (temp float)
-0:59 Convert int to float (temp float)
-0:59 'a' (temp int)
-0:60 'f' (temp float)
-0:61 'b' (temp bool)
-0:62 move second child to first child (temp bool)
-0:62 'b' (temp bool)
-0:62 'b' (temp bool)
-0:63 'f' (temp float)
-0:65 move second child to first child (temp 4-component vector of float)
-0:65 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:65 texture (global 4-component vector of float)
-0:65 's2D' (uniform sampler2D)
-0:65 'centTexCoord' (centroid smooth in 2-component vector of float)
-0:? Sequence
-0:79 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:82 direct index (temp float)
-0:82 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:82 Constant:
-0:82 0 (const int)
-0:83 direct index (temp float)
-0:83 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:83 Constant:
-0:83 0 (const int)
-0:84 direct index (temp float)
-0:84 'centTexCoord' (centroid smooth in 2-component vector of float)
-0:84 Constant:
-0:84 0 (const int)
-0:85 move second child to first child (temp bool)
-0:85 Comma (temp bool)
-0:85 'a' (temp int)
-0:85 'b' (temp bool)
-0:85 Constant:
-0:85 true (const bool)
-0:91 Function Definition: main( (global int)
-0:91 Function Parameters:
-0:92 Function Definition: main(i1; (global void)
-0:92 Function Parameters:
-0:92 'a' (in int)
-0:97 Function Definition: foo(f1; (global int)
-0:97 Function Parameters:
-0:97 'a' (out float)
-0:99 Sequence
-0:99 Branch: Return with expression
-0:99 Constant:
-0:99 3.200000
-0:100 Function Call: foo(f1; (global int)
-0:100 'a' (out float)
-0:103 Function Definition: gen(vf3; (global bool)
-0:103 Function Parameters:
-0:103 'v' (in 3-component vector of float)
-0:105 Sequence
-0:105 Test condition and select (temp void)
-0:105 Condition
-0:105 logical-and (temp bool)
-0:105 Compare Less Than (temp bool)
-0:105 Absolute value (global float)
-0:105 direct index (temp float)
-0:105 'v' (in 3-component vector of float)
-0:105 Constant:
-0:105 0 (const int)
-0:105 Constant:
-0:105 0.000100
-0:105 Compare Less Than (temp bool)
-0:105 Absolute value (global float)
-0:105 direct index (temp float)
-0:105 'v' (in 3-component vector of float)
-0:105 Constant:
-0:105 1 (const int)
-0:105 Constant:
-0:105 0.000100
-0:105 true case
-0:106 Branch: Return with expression
-0:106 Constant:
-0:106 true (const bool)
-0:109 Function Definition: v1( (global void)
-0:109 Function Parameters:
-0:113 Function Definition: v2( (global void)
-0:113 Function Parameters:
-0:115 Sequence
-0:115 Branch: Return
-0:118 Function Definition: atest( (global void)
-0:118 Function Parameters:
-0:120 Sequence
-0:120 Sequence
-0:120 move second child to first child (temp 4-component vector of float)
-0:120 'v' (temp 4-component vector of float)
-0:120 direct index (smooth temp 4-component vector of float TexCoord)
-0:120 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:120 Constant:
-0:120 1 (const int)
-0:121 add second child into first child (temp 4-component vector of float)
-0:121 'v' (temp 4-component vector of float)
-0:121 direct index (smooth temp 4-component vector of float TexCoord)
-0:121 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:121 Constant:
-0:121 3 (const int)
-0:139 Function Definition: foo123( (global void)
-0:139 Function Parameters:
-0:141 Sequence
-0:141 Sequence
-0:141 move second child to first child (temp 2X2 matrix of float)
-0:141 'r2' (temp 2X2 matrix of float)
-0:141 component-wise multiply (global 2X2 matrix of float)
-0:141 'm22' (global 2X2 matrix of float)
-0:141 'm22' (global 2X2 matrix of float)
-0:142 Sequence
-0:142 move second child to first child (temp 3X3 matrix of float)
-0:142 'r3' (temp 3X3 matrix of float)
-0:142 component-wise multiply (global 3X3 matrix of float)
-0:142 'm33' (global 3X3 matrix of float)
-0:142 'm33' (global 3X3 matrix of float)
-0:143 Sequence
-0:143 move second child to first child (temp 4X4 matrix of float)
-0:143 'r4' (temp 4X4 matrix of float)
-0:143 component-wise multiply (global 4X4 matrix of float)
-0:143 'm44' (global 4X4 matrix of float)
-0:143 'm44' (global 4X4 matrix of float)
-0:145 Sequence
-0:145 move second child to first child (temp 2X3 matrix of float)
-0:145 'r23' (temp 2X3 matrix of float)
-0:145 component-wise multiply (global 2X3 matrix of float)
-0:145 'm23' (global 2X3 matrix of float)
-0:145 'm23' (global 2X3 matrix of float)
-0:146 Sequence
-0:146 move second child to first child (temp 2X4 matrix of float)
-0:146 'r24' (temp 2X4 matrix of float)
-0:146 component-wise multiply (global 2X4 matrix of float)
-0:146 'm24' (global 2X4 matrix of float)
-0:146 'm24' (global 2X4 matrix of float)
-0:147 Sequence
-0:147 move second child to first child (temp 3X2 matrix of float)
-0:147 'r32' (temp 3X2 matrix of float)
-0:147 component-wise multiply (global 3X2 matrix of float)
-0:147 'm32' (global 3X2 matrix of float)
-0:147 'm32' (global 3X2 matrix of float)
-0:148 Sequence
-0:148 move second child to first child (temp 3X4 matrix of float)
-0:148 'r34' (temp 3X4 matrix of float)
-0:148 component-wise multiply (global 3X4 matrix of float)
-0:148 'm34' (global 3X4 matrix of float)
-0:148 'm34' (global 3X4 matrix of float)
-0:149 Sequence
-0:149 move second child to first child (temp 4X2 matrix of float)
-0:149 'r42' (temp 4X2 matrix of float)
-0:149 component-wise multiply (global 4X2 matrix of float)
-0:149 'm42' (global 4X2 matrix of float)
-0:149 'm42' (global 4X2 matrix of float)
-0:150 Sequence
-0:150 move second child to first child (temp 4X3 matrix of float)
-0:150 'r43' (temp 4X3 matrix of float)
-0:150 component-wise multiply (global 4X3 matrix of float)
-0:150 'm43' (global 4X3 matrix of float)
-0:150 'm43' (global 4X3 matrix of float)
-0:156 Function Definition: matConst( (global void)
-0:156 Function Parameters:
-0:? Sequence
-0:162 Sequence
-0:162 move second child to first child (temp 4X4 matrix of float)
-0:162 'm4g' (temp 4X4 matrix of float)
-0:162 Construct mat4 (temp 4X4 matrix of float)
-0:162 'v2' (temp 2-component vector of float)
-0:162 'v3' (temp 3-component vector of float)
-0:162 'v3' (temp 3-component vector of float)
-0:162 'v3' (temp 3-component vector of float)
-0:162 'v3' (temp 3-component vector of float)
-0:162 'v3' (temp 3-component vector of float)
-0:163 Sequence
-0:163 move second child to first child (temp 4X4 matrix of float)
-0:163 'm4' (temp 4X4 matrix of float)
-0:163 Construct mat4 (temp 4X4 matrix of float)
-0:163 'v2' (temp 2-component vector of float)
-0:163 'v3' (temp 3-component vector of float)
-0:163 'v3' (temp 3-component vector of float)
-0:163 'v3' (temp 3-component vector of float)
-0:163 'v3' (temp 3-component vector of float)
-0:163 'v2' (temp 2-component vector of float)
-0:164 Sequence
-0:164 move second child to first child (temp 3X3 matrix of float)
-0:164 'm3' (temp 3X3 matrix of float)
-0:164 Construct mat3 (temp 3X3 matrix of float)
-0:164 'm4' (temp 4X4 matrix of float)
-0:165 Sequence
-0:165 move second child to first child (temp 3X3 matrix of float)
-0:165 'm3b1' (temp 3X3 matrix of float)
-0:165 Construct mat3 (temp 3X3 matrix of float)
-0:165 'm4' (temp 4X4 matrix of float)
-0:165 'v2' (temp 2-component vector of float)
-0:166 Sequence
-0:166 move second child to first child (temp 3X3 matrix of float)
-0:166 'm3b2' (temp 3X3 matrix of float)
-0:166 Construct mat3 (temp 3X3 matrix of float)
-0:166 'm4' (temp 4X4 matrix of float)
-0:166 'm4' (temp 4X4 matrix of float)
-0:167 Sequence
-0:167 move second child to first child (temp 3X2 matrix of float)
-0:167 'm32' (temp 3X2 matrix of float)
-0:167 Construct mat3x2 (temp 3X2 matrix of float)
-0:167 'm4' (temp 4X4 matrix of float)
-0:168 Sequence
-0:168 move second child to first child (temp 4X4 matrix of float)
-0:168 'm4c' (temp 4X4 matrix of float)
-0:168 Construct mat4 (temp 4X4 matrix of float)
-0:168 'm32' (temp 3X2 matrix of float)
-0:169 Sequence
-0:169 move second child to first child (temp 3X3 matrix of float)
-0:169 'm3s' (temp 3X3 matrix of float)
-0:169 Construct mat3 (temp 3X3 matrix of float)
-0:169 direct index (temp float)
-0:169 'v2' (temp 2-component vector of float)
-0:169 Constant:
-0:169 0 (const int)
-0:171 Sequence
-0:171 move second child to first child (temp 2-element array of 3X3 matrix of float)
-0:171 'm3a1' (temp 2-element array of 3X3 matrix of float)
-0:171 Construct mat3 (temp 2-element array of 3X3 matrix of float)
-0:171 'm3s' (temp 3X3 matrix of float)
-0:171 'm3s' (temp 3X3 matrix of float)
-0:179 Function Definition: foo2323( (global void)
-0:179 Function Parameters:
-0:? Sequence
-0:184 move second child to first child (temp 4-component vector of float)
-0:184 'v' (temp 4-component vector of float)
-0:184 textureLod (global 4-component vector of float)
-0:184 's2D' (uniform sampler2D)
-0:184 'v2' (temp 2-component vector of float)
-0:184 'f' (temp float)
-0:185 move second child to first child (temp 4-component vector of float)
-0:185 'v' (temp 4-component vector of float)
-0:185 textureProjLod (global 4-component vector of float)
-0:185 's3D' (uniform sampler3D)
-0:185 'v' (temp 4-component vector of float)
-0:185 'f' (temp float)
-0:186 move second child to first child (temp 4-component vector of float)
-0:186 'v' (temp 4-component vector of float)
-0:186 textureProjLod (global 4-component vector of float)
-0:186 's1D' (uniform sampler1D)
-0:186 'v' (temp 4-component vector of float)
-0:186 'f' (temp float)
-0:187 move second child to first child (temp 4-component vector of float)
-0:187 'v' (temp 4-component vector of float)
-0:187 textureProjLod (global 4-component vector of float)
-0:187 's2DS' (uniform sampler2DShadow)
-0:187 'v' (temp 4-component vector of float)
-0:187 'f' (temp float)
-0:189 move second child to first child (temp 4-component vector of float)
-0:189 'v' (temp 4-component vector of float)
-0:189 textureGrad (global 4-component vector of float)
-0:189 's1D' (uniform sampler1D)
-0:189 'f' (temp float)
-0:189 'f' (temp float)
-0:189 'f' (temp float)
-0:190 move second child to first child (temp 4-component vector of float)
-0:190 'v' (temp 4-component vector of float)
-0:190 textureProjGrad (global 4-component vector of float)
-0:190 's2D' (uniform sampler2D)
-0:190 'v' (temp 4-component vector of float)
-0:190 'v2' (temp 2-component vector of float)
-0:190 'v2' (temp 2-component vector of float)
-0:191 move second child to first child (temp 4-component vector of float)
-0:191 'v' (temp 4-component vector of float)
-0:191 textureProjGrad (global 4-component vector of float)
-0:191 's2DS' (uniform sampler2DShadow)
-0:191 'v' (temp 4-component vector of float)
-0:191 'v2' (temp 2-component vector of float)
-0:191 'v2' (temp 2-component vector of float)
-0:196 Function Definition: foo2324( (global void)
-0:196 Function Parameters:
-0:? Sequence
-0:201 move second child to first child (temp 4-component vector of float)
-0:201 'v' (temp 4-component vector of float)
-0:201 textureLod (global 4-component vector of float)
-0:201 's2D' (uniform sampler2D)
-0:201 'v2' (temp 2-component vector of float)
-0:201 'f' (temp float)
-0:202 move second child to first child (temp 4-component vector of float)
-0:202 'v' (temp 4-component vector of float)
-0:202 textureProjLod (global 4-component vector of float)
-0:202 's3D' (uniform sampler3D)
-0:202 'v' (temp 4-component vector of float)
-0:202 'f' (temp float)
-0:203 move second child to first child (temp 4-component vector of float)
-0:203 'v' (temp 4-component vector of float)
-0:203 textureProjLod (global 4-component vector of float)
-0:203 's1D' (uniform sampler1D)
-0:203 'v' (temp 4-component vector of float)
-0:203 'f' (temp float)
-0:204 move second child to first child (temp 4-component vector of float)
-0:204 'v' (temp 4-component vector of float)
-0:204 textureProjLod (global 4-component vector of float)
-0:204 's2DS' (uniform sampler2DShadow)
-0:204 'v' (temp 4-component vector of float)
-0:204 'f' (temp float)
-0:206 move second child to first child (temp 4-component vector of float)
-0:206 'v' (temp 4-component vector of float)
-0:206 textureGrad (global 4-component vector of float)
-0:206 's1D' (uniform sampler1D)
-0:206 'f' (temp float)
-0:206 'f' (temp float)
-0:206 'f' (temp float)
-0:207 move second child to first child (temp 4-component vector of float)
-0:207 'v' (temp 4-component vector of float)
-0:207 textureProjGrad (global 4-component vector of float)
-0:207 's2D' (uniform sampler2D)
-0:207 'v' (temp 4-component vector of float)
-0:207 'v2' (temp 2-component vector of float)
-0:207 'v2' (temp 2-component vector of float)
-0:208 move second child to first child (temp 4-component vector of float)
-0:208 'v' (temp 4-component vector of float)
-0:208 textureProjGrad (global 4-component vector of float)
-0:208 's2DS' (uniform sampler2DShadow)
-0:208 'v' (temp 4-component vector of float)
-0:208 'v2' (temp 2-component vector of float)
-0:208 'v2' (temp 2-component vector of float)
-0:209 'v' (temp 4-component vector of float)
-0:214 Function Definition: foo121111( (global void)
-0:214 Function Parameters:
-0:? Sequence
-0:217 Sequence
-0:217 move second child to first child (temp 4-component vector of float)
-0:217 'v' (temp 4-component vector of float)
-0:217 texture (global 4-component vector of float)
-0:217 's2DRbad' (uniform sampler2DRect)
-0:217 'v2' (temp 2-component vector of float)
-0:225 Function Definition: foo12111( (global void)
-0:225 Function Parameters:
-0:? Sequence
-0:231 move second child to first child (temp 4-component vector of float)
-0:231 'v' (temp 4-component vector of float)
-0:231 texture (global 4-component vector of float)
-0:231 's2DR' (uniform sampler2DRect)
-0:231 'v2' (temp 2-component vector of float)
-0:232 move second child to first child (temp 4-component vector of float)
-0:232 'v' (temp 4-component vector of float)
-0:232 textureProj (global 4-component vector of float)
-0:232 's2DR' (uniform sampler2DRect)
-0:232 'v3' (temp 3-component vector of float)
-0:233 move second child to first child (temp 4-component vector of float)
-0:233 'v' (temp 4-component vector of float)
-0:233 textureProj (global 4-component vector of float)
-0:233 's2DR' (uniform sampler2DRect)
-0:233 'v4' (temp 4-component vector of float)
-0:234 move second child to first child (temp 4-component vector of float)
-0:234 'v' (temp 4-component vector of float)
-0:234 texture (global 4-component vector of float)
-0:234 's2DRS' (uniform sampler2DRectShadow)
-0:234 'v3' (temp 3-component vector of float)
-0:235 move second child to first child (temp 4-component vector of float)
-0:235 'v' (temp 4-component vector of float)
-0:235 textureProj (global 4-component vector of float)
-0:235 's2DRS' (uniform sampler2DRectShadow)
-0:235 'v4' (temp 4-component vector of float)
-0:237 move second child to first child (temp 4-component vector of float)
-0:237 'v' (temp 4-component vector of float)
-0:237 textureProjGrad (global 4-component vector of float)
-0:237 's2DRS' (uniform sampler2DRectShadow)
-0:237 'v' (temp 4-component vector of float)
-0:237 'v2' (temp 2-component vector of float)
-0:237 'v2' (temp 2-component vector of float)
-0:? Linker Objects
-0:? 'lowp' (global float)
-0:? 'mediump' (global float)
-0:? 'highp' (global float)
-0:? 'precision' (global float)
-0:? 'i' (smooth in 4-component vector of float)
-0:? 'o' (out 4-component vector of float)
-0:? 's2D' (uniform sampler2D)
-0:? 'centTexCoord' (centroid smooth in 2-component vector of float)
-0:? 'm' (uniform 4X2 matrix of float)
-0:? 'imageBuffer' (global float)
-0:? 'uimage2DRect' (global float)
-0:? 'a' (temp int)
-0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:? 'm22' (global 2X2 matrix of float)
-0:? 'm23' (global 2X3 matrix of float)
-0:? 'm24' (global 2X4 matrix of float)
-0:? 'm32' (global 3X2 matrix of float)
-0:? 'm33' (global 3X3 matrix of float)
-0:? 'm34' (global 3X4 matrix of float)
-0:? 'm42' (global 4X2 matrix of float)
-0:? 'm43' (global 4X3 matrix of float)
-0:? 'm44' (global 4X4 matrix of float)
-0:? 's3D' (uniform sampler3D)
-0:? 's1D' (uniform sampler1D)
-0:? 's2DS' (uniform sampler2DShadow)
-0:? 's2DRbad' (uniform sampler2DRect)
-0:? 's2DR' (uniform sampler2DRect)
-0:? 's2DRS' (uniform sampler2DRectShadow)
-
-
-Linked fragment stage:
-
-ERROR: Linking fragment stage: Recursion detected:
- foo(f1; calling foo(f1;
-
-Shader version: 120
-Requested GL_ARB_shader_texture_lod
-Requested GL_ARB_texture_rectangle
-ERROR: node is still EOpNull!
-0:21 Function Definition: main( (global void)
-0:21 Function Parameters:
-0:23 Sequence
-0:23 Sequence
-0:23 move second child to first child (temp 2X3 matrix of float)
-0:23 'm23' (temp 2X3 matrix of float)
-0:23 Construct mat2x3 (temp 2X3 matrix of float)
-0:23 'm' (uniform 4X2 matrix of float)
-0:27 Sequence
-0:27 move second child to first child (temp structure{global float f})
-0:27 'sv' (temp structure{global float f})
-0:27 Construct structure (temp structure{global float f})
-0:27 Convert int to float (temp float)
-0:27 'a' (temp int)
-0:28 Sequence
-0:28 move second child to first child (temp 2-element array of float)
-0:28 'ia' (temp 2-element array of float)
-0:28 Construct float (temp 2-element array of float)
-0:28 Constant:
-0:28 3.000000
-0:28 direct index (temp float)
-0:28 'i' (smooth in 4-component vector of float)
-0:28 Constant:
-0:28 1 (const int)
-0:29 Sequence
-0:29 move second child to first child (temp float)
-0:29 'f1' (temp float)
-0:29 Constant:
-0:29 1.000000
-0:30 Sequence
-0:30 move second child to first child (temp float)
-0:30 'f' (temp float)
-0:30 Convert int to float (temp float)
-0:30 'a' (temp int)
-0:31 move second child to first child (temp float)
-0:31 'f' (temp float)
-0:31 Convert int to float (temp float)
-0:31 'a' (temp int)
-0:33 Sequence
-0:33 move second child to first child (temp 3-component vector of float)
-0:33 'v3' (temp 3-component vector of float)
-0:33 Convert int to float (temp 3-component vector of float)
-0:33 'iv3' (temp 3-component vector of int)
-0:34 move second child to first child (temp float)
-0:34 'f' (temp float)
-0:34 add (temp float)
-0:34 'f' (temp float)
-0:34 Convert int to float (temp float)
-0:34 'a' (temp int)
-0:35 move second child to first child (temp float)
-0:35 'f' (temp float)
-0:35 subtract (temp float)
-0:35 Convert int to float (temp float)
-0:35 'a' (temp int)
-0:35 'f' (temp float)
-0:36 add second child into first child (temp float)
-0:36 'f' (temp float)
-0:36 Convert int to float (temp float)
-0:36 'a' (temp int)
-0:37 move second child to first child (temp float)
-0:37 'f' (temp float)
-0:37 subtract (temp float)
-0:37 Convert int to float (temp float)
-0:37 'a' (temp int)
-0:37 'f' (temp float)
-0:38 multiply second child into first child (temp 3-component vector of float)
-0:38 'v3' (temp 3-component vector of float)
-0:38 Convert int to float (temp 3-component vector of float)
-0:38 'iv3' (temp 3-component vector of int)
-0:39 move second child to first child (temp 3-component vector of float)
-0:39 'v3' (temp 3-component vector of float)
-0:39 divide (temp 3-component vector of float)
-0:39 Convert int to float (temp 3-component vector of float)
-0:39 'iv3' (temp 3-component vector of int)
-0:39 Constant:
-0:39 2.000000
-0:40 move second child to first child (temp 3-component vector of float)
-0:40 'v3' (temp 3-component vector of float)
-0:40 vector-scale (temp 3-component vector of float)
-0:40 Constant:
-0:40 3.000000
-0:40 Convert int to float (temp 3-component vector of float)
-0:40 'iv3' (temp 3-component vector of int)
-0:41 move second child to first child (temp 3-component vector of float)
-0:41 'v3' (temp 3-component vector of float)
-0:41 vector-scale (temp 3-component vector of float)
-0:41 Constant:
-0:41 2.000000
-0:41 'v3' (temp 3-component vector of float)
-0:42 move second child to first child (temp 3-component vector of float)
-0:42 'v3' (temp 3-component vector of float)
-0:42 subtract (temp 3-component vector of float)
-0:42 'v3' (temp 3-component vector of float)
-0:42 Constant:
-0:42 2.000000
-0:43 Test condition and select (temp void)
-0:43 Condition
-0:47 logical-or (temp bool)
-0:46 logical-or (temp bool)
-0:45 logical-or (temp bool)
-0:44 logical-or (temp bool)
-0:43 logical-or (temp bool)
-0:43 Compare Less Than (temp bool)
-0:43 'f' (temp float)
-0:43 Convert int to float (temp float)
-0:43 'a' (temp int)
-0:44 Compare Less Than or Equal (temp bool)
-0:44 Convert int to float (temp float)
-0:44 'a' (temp int)
-0:44 'f' (temp float)
-0:45 Compare Greater Than (temp bool)
-0:45 'f' (temp float)
-0:45 Convert int to float (temp float)
-0:45 'a' (temp int)
-0:46 Compare Greater Than or Equal (temp bool)
-0:46 'f' (temp float)
-0:46 Convert int to float (temp float)
-0:46 'a' (temp int)
-0:47 Compare Equal (temp bool)
-0:47 Convert int to float (temp float)
-0:47 'a' (temp int)
-0:47 'f' (temp float)
-0:48 Compare Not Equal (temp bool)
-0:48 'f' (temp float)
-0:48 Convert int to float (temp float)
-0:48 'a' (temp int)
-0:43 true case is null
-0:49 move second child to first child (temp float)
-0:49 'f' (temp float)
-0:49 Test condition and select (temp float)
-0:49 Condition
-0:49 'b' (temp bool)
-0:49 true case
-0:49 Convert int to float (temp float)
-0:49 'a' (temp int)
-0:49 false case
-0:49 'f' (temp float)
-0:50 move second child to first child (temp float)
-0:50 'f' (temp float)
-0:50 Test condition and select (temp float)
-0:50 Condition
-0:50 'b' (temp bool)
-0:50 true case
-0:50 'f' (temp float)
-0:50 false case
-0:50 Convert int to float (temp float)
-0:50 'a' (temp int)
-0:51 move second child to first child (temp float)
-0:51 'f' (temp float)
-0:51 Convert int to float (temp float)
-0:51 Test condition and select (temp int)
-0:51 Condition
-0:51 'b' (temp bool)
-0:51 true case
-0:51 'a' (temp int)
-0:51 false case
-0:51 'a' (temp int)
-0:52 Sequence
-0:52 move second child to first child (temp structure{global float f})
-0:52 'news' (temp structure{global float f})
-0:52 'sv' (temp structure{global float f})
-0:54 vector swizzle (temp 2-component vector of float)
-0:54 'i' (smooth in 4-component vector of float)
-0:54 Sequence
-0:54 Constant:
-0:54 0 (const int)
-0:54 Constant:
-0:54 1 (const int)
-0:55 'm' (uniform 4X2 matrix of float)
-0:56 'm' (uniform 4X2 matrix of float)
-0:58 'f' (temp float)
-0:59 move second child to first child (temp float)
-0:59 'f' (temp float)
-0:59 Convert int to float (temp float)
-0:59 'a' (temp int)
-0:60 'f' (temp float)
-0:61 'b' (temp bool)
-0:62 move second child to first child (temp bool)
-0:62 'b' (temp bool)
-0:62 'b' (temp bool)
-0:63 'f' (temp float)
-0:65 move second child to first child (temp 4-component vector of float)
-0:65 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:65 texture (global 4-component vector of float)
-0:65 's2D' (uniform sampler2D)
-0:65 'centTexCoord' (centroid smooth in 2-component vector of float)
-0:? Sequence
-0:79 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:82 direct index (temp float)
-0:82 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:82 Constant:
-0:82 0 (const int)
-0:83 direct index (temp float)
-0:83 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:83 Constant:
-0:83 0 (const int)
-0:84 direct index (temp float)
-0:84 'centTexCoord' (centroid smooth in 2-component vector of float)
-0:84 Constant:
-0:84 0 (const int)
-0:85 move second child to first child (temp bool)
-0:85 Comma (temp bool)
-0:85 'a' (temp int)
-0:85 'b' (temp bool)
-0:85 Constant:
-0:85 true (const bool)
-0:91 Function Definition: main( (global int)
-0:91 Function Parameters:
-0:92 Function Definition: main(i1; (global void)
-0:92 Function Parameters:
-0:92 'a' (in int)
-0:97 Function Definition: foo(f1; (global int)
-0:97 Function Parameters:
-0:97 'a' (out float)
-0:99 Sequence
-0:99 Branch: Return with expression
-0:99 Constant:
-0:99 3.200000
-0:100 Function Call: foo(f1; (global int)
-0:100 'a' (out float)
-0:103 Function Definition: gen(vf3; (global bool)
-0:103 Function Parameters:
-0:103 'v' (in 3-component vector of float)
-0:105 Sequence
-0:105 Test condition and select (temp void)
-0:105 Condition
-0:105 logical-and (temp bool)
-0:105 Compare Less Than (temp bool)
-0:105 Absolute value (global float)
-0:105 direct index (temp float)
-0:105 'v' (in 3-component vector of float)
-0:105 Constant:
-0:105 0 (const int)
-0:105 Constant:
-0:105 0.000100
-0:105 Compare Less Than (temp bool)
-0:105 Absolute value (global float)
-0:105 direct index (temp float)
-0:105 'v' (in 3-component vector of float)
-0:105 Constant:
-0:105 1 (const int)
-0:105 Constant:
-0:105 0.000100
-0:105 true case
-0:106 Branch: Return with expression
-0:106 Constant:
-0:106 true (const bool)
-0:109 Function Definition: v1( (global void)
-0:109 Function Parameters:
-0:113 Function Definition: v2( (global void)
-0:113 Function Parameters:
-0:115 Sequence
-0:115 Branch: Return
-0:118 Function Definition: atest( (global void)
-0:118 Function Parameters:
-0:120 Sequence
-0:120 Sequence
-0:120 move second child to first child (temp 4-component vector of float)
-0:120 'v' (temp 4-component vector of float)
-0:120 direct index (smooth temp 4-component vector of float TexCoord)
-0:120 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:120 Constant:
-0:120 1 (const int)
-0:121 add second child into first child (temp 4-component vector of float)
-0:121 'v' (temp 4-component vector of float)
-0:121 direct index (smooth temp 4-component vector of float TexCoord)
-0:121 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:121 Constant:
-0:121 3 (const int)
-0:139 Function Definition: foo123( (global void)
-0:139 Function Parameters:
-0:141 Sequence
-0:141 Sequence
-0:141 move second child to first child (temp 2X2 matrix of float)
-0:141 'r2' (temp 2X2 matrix of float)
-0:141 component-wise multiply (global 2X2 matrix of float)
-0:141 'm22' (global 2X2 matrix of float)
-0:141 'm22' (global 2X2 matrix of float)
-0:142 Sequence
-0:142 move second child to first child (temp 3X3 matrix of float)
-0:142 'r3' (temp 3X3 matrix of float)
-0:142 component-wise multiply (global 3X3 matrix of float)
-0:142 'm33' (global 3X3 matrix of float)
-0:142 'm33' (global 3X3 matrix of float)
-0:143 Sequence
-0:143 move second child to first child (temp 4X4 matrix of float)
-0:143 'r4' (temp 4X4 matrix of float)
-0:143 component-wise multiply (global 4X4 matrix of float)
-0:143 'm44' (global 4X4 matrix of float)
-0:143 'm44' (global 4X4 matrix of float)
-0:145 Sequence
-0:145 move second child to first child (temp 2X3 matrix of float)
-0:145 'r23' (temp 2X3 matrix of float)
-0:145 component-wise multiply (global 2X3 matrix of float)
-0:145 'm23' (global 2X3 matrix of float)
-0:145 'm23' (global 2X3 matrix of float)
-0:146 Sequence
-0:146 move second child to first child (temp 2X4 matrix of float)
-0:146 'r24' (temp 2X4 matrix of float)
-0:146 component-wise multiply (global 2X4 matrix of float)
-0:146 'm24' (global 2X4 matrix of float)
-0:146 'm24' (global 2X4 matrix of float)
-0:147 Sequence
-0:147 move second child to first child (temp 3X2 matrix of float)
-0:147 'r32' (temp 3X2 matrix of float)
-0:147 component-wise multiply (global 3X2 matrix of float)
-0:147 'm32' (global 3X2 matrix of float)
-0:147 'm32' (global 3X2 matrix of float)
-0:148 Sequence
-0:148 move second child to first child (temp 3X4 matrix of float)
-0:148 'r34' (temp 3X4 matrix of float)
-0:148 component-wise multiply (global 3X4 matrix of float)
-0:148 'm34' (global 3X4 matrix of float)
-0:148 'm34' (global 3X4 matrix of float)
-0:149 Sequence
-0:149 move second child to first child (temp 4X2 matrix of float)
-0:149 'r42' (temp 4X2 matrix of float)
-0:149 component-wise multiply (global 4X2 matrix of float)
-0:149 'm42' (global 4X2 matrix of float)
-0:149 'm42' (global 4X2 matrix of float)
-0:150 Sequence
-0:150 move second child to first child (temp 4X3 matrix of float)
-0:150 'r43' (temp 4X3 matrix of float)
-0:150 component-wise multiply (global 4X3 matrix of float)
-0:150 'm43' (global 4X3 matrix of float)
-0:150 'm43' (global 4X3 matrix of float)
-0:156 Function Definition: matConst( (global void)
-0:156 Function Parameters:
-0:? Sequence
-0:162 Sequence
-0:162 move second child to first child (temp 4X4 matrix of float)
-0:162 'm4g' (temp 4X4 matrix of float)
-0:162 Construct mat4 (temp 4X4 matrix of float)
-0:162 'v2' (temp 2-component vector of float)
-0:162 'v3' (temp 3-component vector of float)
-0:162 'v3' (temp 3-component vector of float)
-0:162 'v3' (temp 3-component vector of float)
-0:162 'v3' (temp 3-component vector of float)
-0:162 'v3' (temp 3-component vector of float)
-0:163 Sequence
-0:163 move second child to first child (temp 4X4 matrix of float)
-0:163 'm4' (temp 4X4 matrix of float)
-0:163 Construct mat4 (temp 4X4 matrix of float)
-0:163 'v2' (temp 2-component vector of float)
-0:163 'v3' (temp 3-component vector of float)
-0:163 'v3' (temp 3-component vector of float)
-0:163 'v3' (temp 3-component vector of float)
-0:163 'v3' (temp 3-component vector of float)
-0:163 'v2' (temp 2-component vector of float)
-0:164 Sequence
-0:164 move second child to first child (temp 3X3 matrix of float)
-0:164 'm3' (temp 3X3 matrix of float)
-0:164 Construct mat3 (temp 3X3 matrix of float)
-0:164 'm4' (temp 4X4 matrix of float)
-0:165 Sequence
-0:165 move second child to first child (temp 3X3 matrix of float)
-0:165 'm3b1' (temp 3X3 matrix of float)
-0:165 Construct mat3 (temp 3X3 matrix of float)
-0:165 'm4' (temp 4X4 matrix of float)
-0:165 'v2' (temp 2-component vector of float)
-0:166 Sequence
-0:166 move second child to first child (temp 3X3 matrix of float)
-0:166 'm3b2' (temp 3X3 matrix of float)
-0:166 Construct mat3 (temp 3X3 matrix of float)
-0:166 'm4' (temp 4X4 matrix of float)
-0:166 'm4' (temp 4X4 matrix of float)
-0:167 Sequence
-0:167 move second child to first child (temp 3X2 matrix of float)
-0:167 'm32' (temp 3X2 matrix of float)
-0:167 Construct mat3x2 (temp 3X2 matrix of float)
-0:167 'm4' (temp 4X4 matrix of float)
-0:168 Sequence
-0:168 move second child to first child (temp 4X4 matrix of float)
-0:168 'm4c' (temp 4X4 matrix of float)
-0:168 Construct mat4 (temp 4X4 matrix of float)
-0:168 'm32' (temp 3X2 matrix of float)
-0:169 Sequence
-0:169 move second child to first child (temp 3X3 matrix of float)
-0:169 'm3s' (temp 3X3 matrix of float)
-0:169 Construct mat3 (temp 3X3 matrix of float)
-0:169 direct index (temp float)
-0:169 'v2' (temp 2-component vector of float)
-0:169 Constant:
-0:169 0 (const int)
-0:171 Sequence
-0:171 move second child to first child (temp 2-element array of 3X3 matrix of float)
-0:171 'm3a1' (temp 2-element array of 3X3 matrix of float)
-0:171 Construct mat3 (temp 2-element array of 3X3 matrix of float)
-0:171 'm3s' (temp 3X3 matrix of float)
-0:171 'm3s' (temp 3X3 matrix of float)
-0:179 Function Definition: foo2323( (global void)
-0:179 Function Parameters:
-0:? Sequence
-0:184 move second child to first child (temp 4-component vector of float)
-0:184 'v' (temp 4-component vector of float)
-0:184 textureLod (global 4-component vector of float)
-0:184 's2D' (uniform sampler2D)
-0:184 'v2' (temp 2-component vector of float)
-0:184 'f' (temp float)
-0:185 move second child to first child (temp 4-component vector of float)
-0:185 'v' (temp 4-component vector of float)
-0:185 textureProjLod (global 4-component vector of float)
-0:185 's3D' (uniform sampler3D)
-0:185 'v' (temp 4-component vector of float)
-0:185 'f' (temp float)
-0:186 move second child to first child (temp 4-component vector of float)
-0:186 'v' (temp 4-component vector of float)
-0:186 textureProjLod (global 4-component vector of float)
-0:186 's1D' (uniform sampler1D)
-0:186 'v' (temp 4-component vector of float)
-0:186 'f' (temp float)
-0:187 move second child to first child (temp 4-component vector of float)
-0:187 'v' (temp 4-component vector of float)
-0:187 textureProjLod (global 4-component vector of float)
-0:187 's2DS' (uniform sampler2DShadow)
-0:187 'v' (temp 4-component vector of float)
-0:187 'f' (temp float)
-0:189 move second child to first child (temp 4-component vector of float)
-0:189 'v' (temp 4-component vector of float)
-0:189 textureGrad (global 4-component vector of float)
-0:189 's1D' (uniform sampler1D)
-0:189 'f' (temp float)
-0:189 'f' (temp float)
-0:189 'f' (temp float)
-0:190 move second child to first child (temp 4-component vector of float)
-0:190 'v' (temp 4-component vector of float)
-0:190 textureProjGrad (global 4-component vector of float)
-0:190 's2D' (uniform sampler2D)
-0:190 'v' (temp 4-component vector of float)
-0:190 'v2' (temp 2-component vector of float)
-0:190 'v2' (temp 2-component vector of float)
-0:191 move second child to first child (temp 4-component vector of float)
-0:191 'v' (temp 4-component vector of float)
-0:191 textureProjGrad (global 4-component vector of float)
-0:191 's2DS' (uniform sampler2DShadow)
-0:191 'v' (temp 4-component vector of float)
-0:191 'v2' (temp 2-component vector of float)
-0:191 'v2' (temp 2-component vector of float)
-0:196 Function Definition: foo2324( (global void)
-0:196 Function Parameters:
-0:? Sequence
-0:201 move second child to first child (temp 4-component vector of float)
-0:201 'v' (temp 4-component vector of float)
-0:201 textureLod (global 4-component vector of float)
-0:201 's2D' (uniform sampler2D)
-0:201 'v2' (temp 2-component vector of float)
-0:201 'f' (temp float)
-0:202 move second child to first child (temp 4-component vector of float)
-0:202 'v' (temp 4-component vector of float)
-0:202 textureProjLod (global 4-component vector of float)
-0:202 's3D' (uniform sampler3D)
-0:202 'v' (temp 4-component vector of float)
-0:202 'f' (temp float)
-0:203 move second child to first child (temp 4-component vector of float)
-0:203 'v' (temp 4-component vector of float)
-0:203 textureProjLod (global 4-component vector of float)
-0:203 's1D' (uniform sampler1D)
-0:203 'v' (temp 4-component vector of float)
-0:203 'f' (temp float)
-0:204 move second child to first child (temp 4-component vector of float)
-0:204 'v' (temp 4-component vector of float)
-0:204 textureProjLod (global 4-component vector of float)
-0:204 's2DS' (uniform sampler2DShadow)
-0:204 'v' (temp 4-component vector of float)
-0:204 'f' (temp float)
-0:206 move second child to first child (temp 4-component vector of float)
-0:206 'v' (temp 4-component vector of float)
-0:206 textureGrad (global 4-component vector of float)
-0:206 's1D' (uniform sampler1D)
-0:206 'f' (temp float)
-0:206 'f' (temp float)
-0:206 'f' (temp float)
-0:207 move second child to first child (temp 4-component vector of float)
-0:207 'v' (temp 4-component vector of float)
-0:207 textureProjGrad (global 4-component vector of float)
-0:207 's2D' (uniform sampler2D)
-0:207 'v' (temp 4-component vector of float)
-0:207 'v2' (temp 2-component vector of float)
-0:207 'v2' (temp 2-component vector of float)
-0:208 move second child to first child (temp 4-component vector of float)
-0:208 'v' (temp 4-component vector of float)
-0:208 textureProjGrad (global 4-component vector of float)
-0:208 's2DS' (uniform sampler2DShadow)
-0:208 'v' (temp 4-component vector of float)
-0:208 'v2' (temp 2-component vector of float)
-0:208 'v2' (temp 2-component vector of float)
-0:209 'v' (temp 4-component vector of float)
-0:214 Function Definition: foo121111( (global void)
-0:214 Function Parameters:
-0:? Sequence
-0:217 Sequence
-0:217 move second child to first child (temp 4-component vector of float)
-0:217 'v' (temp 4-component vector of float)
-0:217 texture (global 4-component vector of float)
-0:217 's2DRbad' (uniform sampler2DRect)
-0:217 'v2' (temp 2-component vector of float)
-0:225 Function Definition: foo12111( (global void)
-0:225 Function Parameters:
-0:? Sequence
-0:231 move second child to first child (temp 4-component vector of float)
-0:231 'v' (temp 4-component vector of float)
-0:231 texture (global 4-component vector of float)
-0:231 's2DR' (uniform sampler2DRect)
-0:231 'v2' (temp 2-component vector of float)
-0:232 move second child to first child (temp 4-component vector of float)
-0:232 'v' (temp 4-component vector of float)
-0:232 textureProj (global 4-component vector of float)
-0:232 's2DR' (uniform sampler2DRect)
-0:232 'v3' (temp 3-component vector of float)
-0:233 move second child to first child (temp 4-component vector of float)
-0:233 'v' (temp 4-component vector of float)
-0:233 textureProj (global 4-component vector of float)
-0:233 's2DR' (uniform sampler2DRect)
-0:233 'v4' (temp 4-component vector of float)
-0:234 move second child to first child (temp 4-component vector of float)
-0:234 'v' (temp 4-component vector of float)
-0:234 texture (global 4-component vector of float)
-0:234 's2DRS' (uniform sampler2DRectShadow)
-0:234 'v3' (temp 3-component vector of float)
-0:235 move second child to first child (temp 4-component vector of float)
-0:235 'v' (temp 4-component vector of float)
-0:235 textureProj (global 4-component vector of float)
-0:235 's2DRS' (uniform sampler2DRectShadow)
-0:235 'v4' (temp 4-component vector of float)
-0:237 move second child to first child (temp 4-component vector of float)
-0:237 'v' (temp 4-component vector of float)
-0:237 textureProjGrad (global 4-component vector of float)
-0:237 's2DRS' (uniform sampler2DRectShadow)
-0:237 'v' (temp 4-component vector of float)
-0:237 'v2' (temp 2-component vector of float)
-0:237 'v2' (temp 2-component vector of float)
-0:? Linker Objects
-0:? 'lowp' (global float)
-0:? 'mediump' (global float)
-0:? 'highp' (global float)
-0:? 'precision' (global float)
-0:? 'i' (smooth in 4-component vector of float)
-0:? 'o' (out 4-component vector of float)
-0:? 's2D' (uniform sampler2D)
-0:? 'centTexCoord' (centroid smooth in 2-component vector of float)
-0:? 'm' (uniform 4X2 matrix of float)
-0:? 'imageBuffer' (global float)
-0:? 'uimage2DRect' (global float)
-0:? 'a' (temp int)
-0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:? 'm22' (global 2X2 matrix of float)
-0:? 'm23' (global 2X3 matrix of float)
-0:? 'm24' (global 2X4 matrix of float)
-0:? 'm32' (global 3X2 matrix of float)
-0:? 'm33' (global 3X3 matrix of float)
-0:? 'm34' (global 3X4 matrix of float)
-0:? 'm42' (global 4X2 matrix of float)
-0:? 'm43' (global 4X3 matrix of float)
-0:? 'm44' (global 4X4 matrix of float)
-0:? 's3D' (uniform sampler3D)
-0:? 's1D' (uniform sampler1D)
-0:? 's2DS' (uniform sampler2DShadow)
-0:? 's2DRbad' (uniform sampler2DRect)
-0:? 's2DR' (uniform sampler2DRect)
-0:? 's2DRS' (uniform sampler2DRectShadow)
-
+120.frag
+ERROR: 0:9: 'in for stage inputs' : not supported for this version or the enabled extensions
+ERROR: 0:10: 'out for stage outputs' : not supported for this version or the enabled extensions
+ERROR: 0:54: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp 2-component vector of float' and a right operand of type 'temp 3-component vector of float' (or there is no acceptable conversion)
+ERROR: 0:55: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type 'uniform 4X2 matrix of float' and a right operand of type 'temp 3-component vector of float' (or there is no acceptable conversion)
+ERROR: 0:56: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'uniform 4X2 matrix of float' and a right operand of type 'smooth in 4-component vector of float' (or there is no acceptable conversion)
+ERROR: 0:57: '=' : cannot convert from 'const float' to 'temp int'
+ERROR: 0:58: 'assign' : cannot convert from 'temp bool' to 'temp float'
+ERROR: 0:59: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp int' and a right operand of type 'temp bool' (or there is no acceptable conversion)
+ERROR: 0:60: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp int' (or there is no acceptable conversion)
+ERROR: 0:60: 'assign' : cannot convert from 'temp bool' to 'temp float'
+ERROR: 0:61: 'assign' : cannot convert from 'temp int' to 'temp bool'
+ERROR: 0:62: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp float' (or there is no acceptable conversion)
+ERROR: 0:63: 'bitwise-or assign' : not supported for this version or the enabled extensions
+ERROR: 0:63: 'assign' : cannot convert from 'temp bool' to 'temp float'
+ERROR: 0:79: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type 'temp 4-component vector of float' and a right operand of type 'temp 4X4 matrix of float' (or there is no acceptable conversion)
+ERROR: 0:79: 'assign' : cannot convert from 'temp 4X4 matrix of float' to 'fragColor 4-component vector of float FragColor'
+ERROR: 0:82: 'xr' : illegal - vector component fields not from the same set
+ERROR: 0:83: 'xyxyx' : illegal vector field selection
+ERROR: 0:83: 'scalar swizzle' : not supported for this version or the enabled extensions
+ERROR: 0:83: 'xy' : vector field selection out of range
+ERROR: 0:84: 'z' : vector field selection out of range
+ERROR: 0:85: 'assign' : l-value required
+ERROR: 0:91: 'int' : overloaded functions must have the same return type
+ERROR: 0:91: 'main' : function already has a body
+ERROR: 0:91: 'int' : main function cannot return a value
+ERROR: 0:92: 'main' : function cannot take any parameter(s)
+ERROR: 0:94: 'a' : variables with qualifier 'const' must be initialized
+ERROR: 0:97: 'out' : overloaded functions must have the same parameter storage qualifiers for argument 1
+ERROR: 0:99: 'return' : type does not match, or is not convertible to, the function's return type
+ERROR: 0:115: 'return' : void function cannot return a value
+ERROR: 0:125: 'gl_TexCoord' : redeclaration of array with size
+ERROR: 0:152: 'matrixCompMult' : no matching overloaded function found
+ERROR: 0:152: '=' : cannot convert from 'const float' to 'temp 3X2 matrix of float'
+ERROR: 0:153: 'matrixCompMult' : no matching overloaded function found
+ERROR: 0:153: '=' : cannot convert from 'const float' to 'temp 3X4 matrix of float'
+ERROR: 0:160: 'constructor' : not enough data provided for construction
+ERROR: 0:160: '=' : cannot convert from 'const float' to 'temp 4X4 matrix of float'
+ERROR: 0:161: 'constructor' : too many arguments
+ERROR: 0:161: '=' : cannot convert from 'const float' to 'temp 4X4 matrix of float'
+ERROR: 0:165: 'constructor' : matrix constructed from matrix can only have one argument
+ERROR: 0:166: 'constructor' : matrix constructed from matrix can only have one argument
+ERROR: 0:172: 'constructor' : array constructor needs one argument per array element
+ERROR: 0:172: '=' : cannot convert from 'const float' to 'temp 2-element array of 3X3 matrix of float'
+ERROR: 0:184: 'texture2DLod' : required extension not requested: GL_ARB_shader_texture_lod
+ERROR: 0:185: 'texture3DProjLod' : required extension not requested: GL_ARB_shader_texture_lod
+ERROR: 0:186: 'texture1DProjLod' : required extension not requested: GL_ARB_shader_texture_lod
+ERROR: 0:187: 'shadow2DProjLod' : required extension not requested: GL_ARB_shader_texture_lod
+ERROR: 0:189: 'texture1DGradARB' : required extension not requested: GL_ARB_shader_texture_lod
+ERROR: 0:190: 'texture2DProjGradARB' : required extension not requested: GL_ARB_shader_texture_lod
+ERROR: 0:191: 'shadow2DProjGradARB' : required extension not requested: GL_ARB_shader_texture_lod
+ERROR: 0:209: 'shadow2DRectProjGradARB' : no matching overloaded function found
+ERROR: 0:209: 'assign' : cannot convert from 'const float' to 'temp 4-component vector of float'
+ERROR: 0:212: 'sampler2DRect' : Reserved word.
+ERROR: 53 compilation errors. No code generated.
+
+
+Shader version: 120
+Requested GL_ARB_shader_texture_lod
+Requested GL_ARB_texture_rectangle
+ERROR: node is still EOpNull!
+0:21 Function Definition: main( (global void)
+0:21 Function Parameters:
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp 2X3 matrix of float)
+0:23 'm23' (temp 2X3 matrix of float)
+0:23 Construct mat2x3 (temp 2X3 matrix of float)
+0:23 'm' (uniform 4X2 matrix of float)
+0:27 Sequence
+0:27 move second child to first child (temp structure{global float f})
+0:27 'sv' (temp structure{global float f})
+0:27 Construct structure (temp structure{global float f})
+0:27 Convert int to float (temp float)
+0:27 'a' (temp int)
+0:28 Sequence
+0:28 move second child to first child (temp 2-element array of float)
+0:28 'ia' (temp 2-element array of float)
+0:28 Construct float (temp 2-element array of float)
+0:28 Constant:
+0:28 3.000000
+0:28 direct index (temp float)
+0:28 'i' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 1 (const int)
+0:29 Sequence
+0:29 move second child to first child (temp float)
+0:29 'f1' (temp float)
+0:29 Constant:
+0:29 1.000000
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'f' (temp float)
+0:30 Convert int to float (temp float)
+0:30 'a' (temp int)
+0:31 move second child to first child (temp float)
+0:31 'f' (temp float)
+0:31 Convert int to float (temp float)
+0:31 'a' (temp int)
+0:33 Sequence
+0:33 move second child to first child (temp 3-component vector of float)
+0:33 'v3' (temp 3-component vector of float)
+0:33 Convert int to float (temp 3-component vector of float)
+0:33 'iv3' (temp 3-component vector of int)
+0:34 move second child to first child (temp float)
+0:34 'f' (temp float)
+0:34 add (temp float)
+0:34 'f' (temp float)
+0:34 Convert int to float (temp float)
+0:34 'a' (temp int)
+0:35 move second child to first child (temp float)
+0:35 'f' (temp float)
+0:35 subtract (temp float)
+0:35 Convert int to float (temp float)
+0:35 'a' (temp int)
+0:35 'f' (temp float)
+0:36 add second child into first child (temp float)
+0:36 'f' (temp float)
+0:36 Convert int to float (temp float)
+0:36 'a' (temp int)
+0:37 move second child to first child (temp float)
+0:37 'f' (temp float)
+0:37 subtract (temp float)
+0:37 Convert int to float (temp float)
+0:37 'a' (temp int)
+0:37 'f' (temp float)
+0:38 multiply second child into first child (temp 3-component vector of float)
+0:38 'v3' (temp 3-component vector of float)
+0:38 Convert int to float (temp 3-component vector of float)
+0:38 'iv3' (temp 3-component vector of int)
+0:39 move second child to first child (temp 3-component vector of float)
+0:39 'v3' (temp 3-component vector of float)
+0:39 divide (temp 3-component vector of float)
+0:39 Convert int to float (temp 3-component vector of float)
+0:39 'iv3' (temp 3-component vector of int)
+0:39 Constant:
+0:39 2.000000
+0:40 move second child to first child (temp 3-component vector of float)
+0:40 'v3' (temp 3-component vector of float)
+0:40 vector-scale (temp 3-component vector of float)
+0:40 Constant:
+0:40 3.000000
+0:40 Convert int to float (temp 3-component vector of float)
+0:40 'iv3' (temp 3-component vector of int)
+0:41 move second child to first child (temp 3-component vector of float)
+0:41 'v3' (temp 3-component vector of float)
+0:41 vector-scale (temp 3-component vector of float)
+0:41 Constant:
+0:41 2.000000
+0:41 'v3' (temp 3-component vector of float)
+0:42 move second child to first child (temp 3-component vector of float)
+0:42 'v3' (temp 3-component vector of float)
+0:42 subtract (temp 3-component vector of float)
+0:42 'v3' (temp 3-component vector of float)
+0:42 Constant:
+0:42 2.000000
+0:43 Test condition and select (temp void)
+0:43 Condition
+0:47 logical-or (temp bool)
+0:46 logical-or (temp bool)
+0:45 logical-or (temp bool)
+0:44 logical-or (temp bool)
+0:43 logical-or (temp bool)
+0:43 Compare Less Than (temp bool)
+0:43 'f' (temp float)
+0:43 Convert int to float (temp float)
+0:43 'a' (temp int)
+0:44 Compare Less Than or Equal (temp bool)
+0:44 Convert int to float (temp float)
+0:44 'a' (temp int)
+0:44 'f' (temp float)
+0:45 Compare Greater Than (temp bool)
+0:45 'f' (temp float)
+0:45 Convert int to float (temp float)
+0:45 'a' (temp int)
+0:46 Compare Greater Than or Equal (temp bool)
+0:46 'f' (temp float)
+0:46 Convert int to float (temp float)
+0:46 'a' (temp int)
+0:47 Compare Equal (temp bool)
+0:47 Convert int to float (temp float)
+0:47 'a' (temp int)
+0:47 'f' (temp float)
+0:48 Compare Not Equal (temp bool)
+0:48 'f' (temp float)
+0:48 Convert int to float (temp float)
+0:48 'a' (temp int)
+0:43 true case is null
+0:49 move second child to first child (temp float)
+0:49 'f' (temp float)
+0:49 Test condition and select (temp float)
+0:49 Condition
+0:49 'b' (temp bool)
+0:49 true case
+0:49 Convert int to float (temp float)
+0:49 'a' (temp int)
+0:49 false case
+0:49 'f' (temp float)
+0:50 move second child to first child (temp float)
+0:50 'f' (temp float)
+0:50 Test condition and select (temp float)
+0:50 Condition
+0:50 'b' (temp bool)
+0:50 true case
+0:50 'f' (temp float)
+0:50 false case
+0:50 Convert int to float (temp float)
+0:50 'a' (temp int)
+0:51 move second child to first child (temp float)
+0:51 'f' (temp float)
+0:51 Convert int to float (temp float)
+0:51 Test condition and select (temp int)
+0:51 Condition
+0:51 'b' (temp bool)
+0:51 true case
+0:51 'a' (temp int)
+0:51 false case
+0:51 'a' (temp int)
+0:52 Sequence
+0:52 move second child to first child (temp structure{global float f})
+0:52 'news' (temp structure{global float f})
+0:52 'sv' (temp structure{global float f})
+0:54 vector swizzle (temp 2-component vector of float)
+0:54 'i' (smooth in 4-component vector of float)
+0:54 Sequence
+0:54 Constant:
+0:54 0 (const int)
+0:54 Constant:
+0:54 1 (const int)
+0:55 'm' (uniform 4X2 matrix of float)
+0:56 'm' (uniform 4X2 matrix of float)
+0:58 'f' (temp float)
+0:59 move second child to first child (temp float)
+0:59 'f' (temp float)
+0:59 Convert int to float (temp float)
+0:59 'a' (temp int)
+0:60 'f' (temp float)
+0:61 'b' (temp bool)
+0:62 move second child to first child (temp bool)
+0:62 'b' (temp bool)
+0:62 'b' (temp bool)
+0:63 'f' (temp float)
+0:65 move second child to first child (temp 4-component vector of float)
+0:65 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:65 texture (global 4-component vector of float)
+0:65 's2D' (uniform sampler2D)
+0:65 'centTexCoord' (centroid smooth in 2-component vector of float)
+0:? Sequence
+0:79 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:82 direct index (temp float)
+0:82 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:82 Constant:
+0:82 0 (const int)
+0:83 direct index (temp float)
+0:83 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:83 Constant:
+0:83 0 (const int)
+0:84 direct index (temp float)
+0:84 'centTexCoord' (centroid smooth in 2-component vector of float)
+0:84 Constant:
+0:84 0 (const int)
+0:85 move second child to first child (temp bool)
+0:85 Comma (temp bool)
+0:85 'a' (temp int)
+0:85 'b' (temp bool)
+0:85 Constant:
+0:85 true (const bool)
+0:91 Function Definition: main( (global int)
+0:91 Function Parameters:
+0:92 Function Definition: main(i1; (global void)
+0:92 Function Parameters:
+0:92 'a' (in int)
+0:97 Function Definition: foo(f1; (global int)
+0:97 Function Parameters:
+0:97 'a' (out float)
+0:99 Sequence
+0:99 Branch: Return with expression
+0:99 Constant:
+0:99 3.200000
+0:100 Function Call: foo(f1; (global int)
+0:100 'a' (out float)
+0:103 Function Definition: gen(vf3; (global bool)
+0:103 Function Parameters:
+0:103 'v' (in 3-component vector of float)
+0:105 Sequence
+0:105 Test condition and select (temp void)
+0:105 Condition
+0:105 logical-and (temp bool)
+0:105 Compare Less Than (temp bool)
+0:105 Absolute value (global float)
+0:105 direct index (temp float)
+0:105 'v' (in 3-component vector of float)
+0:105 Constant:
+0:105 0 (const int)
+0:105 Constant:
+0:105 0.000100
+0:105 Compare Less Than (temp bool)
+0:105 Absolute value (global float)
+0:105 direct index (temp float)
+0:105 'v' (in 3-component vector of float)
+0:105 Constant:
+0:105 1 (const int)
+0:105 Constant:
+0:105 0.000100
+0:105 true case
+0:106 Branch: Return with expression
+0:106 Constant:
+0:106 true (const bool)
+0:109 Function Definition: v1( (global void)
+0:109 Function Parameters:
+0:113 Function Definition: v2( (global void)
+0:113 Function Parameters:
+0:115 Sequence
+0:115 Branch: Return
+0:118 Function Definition: atest( (global void)
+0:118 Function Parameters:
+0:120 Sequence
+0:120 Sequence
+0:120 move second child to first child (temp 4-component vector of float)
+0:120 'v' (temp 4-component vector of float)
+0:120 direct index (smooth temp 4-component vector of float TexCoord)
+0:120 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:120 Constant:
+0:120 1 (const int)
+0:121 add second child into first child (temp 4-component vector of float)
+0:121 'v' (temp 4-component vector of float)
+0:121 direct index (smooth temp 4-component vector of float TexCoord)
+0:121 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:121 Constant:
+0:121 3 (const int)
+0:139 Function Definition: foo123( (global void)
+0:139 Function Parameters:
+0:141 Sequence
+0:141 Sequence
+0:141 move second child to first child (temp 2X2 matrix of float)
+0:141 'r2' (temp 2X2 matrix of float)
+0:141 component-wise multiply (global 2X2 matrix of float)
+0:141 'm22' (global 2X2 matrix of float)
+0:141 'm22' (global 2X2 matrix of float)
+0:142 Sequence
+0:142 move second child to first child (temp 3X3 matrix of float)
+0:142 'r3' (temp 3X3 matrix of float)
+0:142 component-wise multiply (global 3X3 matrix of float)
+0:142 'm33' (global 3X3 matrix of float)
+0:142 'm33' (global 3X3 matrix of float)
+0:143 Sequence
+0:143 move second child to first child (temp 4X4 matrix of float)
+0:143 'r4' (temp 4X4 matrix of float)
+0:143 component-wise multiply (global 4X4 matrix of float)
+0:143 'm44' (global 4X4 matrix of float)
+0:143 'm44' (global 4X4 matrix of float)
+0:145 Sequence
+0:145 move second child to first child (temp 2X3 matrix of float)
+0:145 'r23' (temp 2X3 matrix of float)
+0:145 component-wise multiply (global 2X3 matrix of float)
+0:145 'm23' (global 2X3 matrix of float)
+0:145 'm23' (global 2X3 matrix of float)
+0:146 Sequence
+0:146 move second child to first child (temp 2X4 matrix of float)
+0:146 'r24' (temp 2X4 matrix of float)
+0:146 component-wise multiply (global 2X4 matrix of float)
+0:146 'm24' (global 2X4 matrix of float)
+0:146 'm24' (global 2X4 matrix of float)
+0:147 Sequence
+0:147 move second child to first child (temp 3X2 matrix of float)
+0:147 'r32' (temp 3X2 matrix of float)
+0:147 component-wise multiply (global 3X2 matrix of float)
+0:147 'm32' (global 3X2 matrix of float)
+0:147 'm32' (global 3X2 matrix of float)
+0:148 Sequence
+0:148 move second child to first child (temp 3X4 matrix of float)
+0:148 'r34' (temp 3X4 matrix of float)
+0:148 component-wise multiply (global 3X4 matrix of float)
+0:148 'm34' (global 3X4 matrix of float)
+0:148 'm34' (global 3X4 matrix of float)
+0:149 Sequence
+0:149 move second child to first child (temp 4X2 matrix of float)
+0:149 'r42' (temp 4X2 matrix of float)
+0:149 component-wise multiply (global 4X2 matrix of float)
+0:149 'm42' (global 4X2 matrix of float)
+0:149 'm42' (global 4X2 matrix of float)
+0:150 Sequence
+0:150 move second child to first child (temp 4X3 matrix of float)
+0:150 'r43' (temp 4X3 matrix of float)
+0:150 component-wise multiply (global 4X3 matrix of float)
+0:150 'm43' (global 4X3 matrix of float)
+0:150 'm43' (global 4X3 matrix of float)
+0:156 Function Definition: matConst( (global void)
+0:156 Function Parameters:
+0:? Sequence
+0:162 Sequence
+0:162 move second child to first child (temp 4X4 matrix of float)
+0:162 'm4g' (temp 4X4 matrix of float)
+0:162 Construct mat4 (temp 4X4 matrix of float)
+0:162 'v2' (temp 2-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:163 Sequence
+0:163 move second child to first child (temp 4X4 matrix of float)
+0:163 'm4' (temp 4X4 matrix of float)
+0:163 Construct mat4 (temp 4X4 matrix of float)
+0:163 'v2' (temp 2-component vector of float)
+0:163 'v3' (temp 3-component vector of float)
+0:163 'v3' (temp 3-component vector of float)
+0:163 'v3' (temp 3-component vector of float)
+0:163 'v3' (temp 3-component vector of float)
+0:163 'v2' (temp 2-component vector of float)
+0:164 Sequence
+0:164 move second child to first child (temp 3X3 matrix of float)
+0:164 'm3' (temp 3X3 matrix of float)
+0:164 Construct mat3 (temp 3X3 matrix of float)
+0:164 'm4' (temp 4X4 matrix of float)
+0:165 Sequence
+0:165 move second child to first child (temp 3X3 matrix of float)
+0:165 'm3b1' (temp 3X3 matrix of float)
+0:165 Construct mat3 (temp 3X3 matrix of float)
+0:165 'm4' (temp 4X4 matrix of float)
+0:165 'v2' (temp 2-component vector of float)
+0:166 Sequence
+0:166 move second child to first child (temp 3X3 matrix of float)
+0:166 'm3b2' (temp 3X3 matrix of float)
+0:166 Construct mat3 (temp 3X3 matrix of float)
+0:166 'm4' (temp 4X4 matrix of float)
+0:166 'm4' (temp 4X4 matrix of float)
+0:167 Sequence
+0:167 move second child to first child (temp 3X2 matrix of float)
+0:167 'm32' (temp 3X2 matrix of float)
+0:167 Construct mat3x2 (temp 3X2 matrix of float)
+0:167 'm4' (temp 4X4 matrix of float)
+0:168 Sequence
+0:168 move second child to first child (temp 4X4 matrix of float)
+0:168 'm4c' (temp 4X4 matrix of float)
+0:168 Construct mat4 (temp 4X4 matrix of float)
+0:168 'm32' (temp 3X2 matrix of float)
+0:169 Sequence
+0:169 move second child to first child (temp 3X3 matrix of float)
+0:169 'm3s' (temp 3X3 matrix of float)
+0:169 Construct mat3 (temp 3X3 matrix of float)
+0:169 direct index (temp float)
+0:169 'v2' (temp 2-component vector of float)
+0:169 Constant:
+0:169 0 (const int)
+0:171 Sequence
+0:171 move second child to first child (temp 2-element array of 3X3 matrix of float)
+0:171 'm3a1' (temp 2-element array of 3X3 matrix of float)
+0:171 Construct mat3 (temp 2-element array of 3X3 matrix of float)
+0:171 'm3s' (temp 3X3 matrix of float)
+0:171 'm3s' (temp 3X3 matrix of float)
+0:179 Function Definition: foo2323( (global void)
+0:179 Function Parameters:
+0:? Sequence
+0:184 move second child to first child (temp 4-component vector of float)
+0:184 'v' (temp 4-component vector of float)
+0:184 textureLod (global 4-component vector of float)
+0:184 's2D' (uniform sampler2D)
+0:184 'v2' (temp 2-component vector of float)
+0:184 'f' (temp float)
+0:185 move second child to first child (temp 4-component vector of float)
+0:185 'v' (temp 4-component vector of float)
+0:185 textureProjLod (global 4-component vector of float)
+0:185 's3D' (uniform sampler3D)
+0:185 'v' (temp 4-component vector of float)
+0:185 'f' (temp float)
+0:186 move second child to first child (temp 4-component vector of float)
+0:186 'v' (temp 4-component vector of float)
+0:186 textureProjLod (global 4-component vector of float)
+0:186 's1D' (uniform sampler1D)
+0:186 'v' (temp 4-component vector of float)
+0:186 'f' (temp float)
+0:187 move second child to first child (temp 4-component vector of float)
+0:187 'v' (temp 4-component vector of float)
+0:187 textureProjLod (global 4-component vector of float)
+0:187 's2DS' (uniform sampler2DShadow)
+0:187 'v' (temp 4-component vector of float)
+0:187 'f' (temp float)
+0:189 move second child to first child (temp 4-component vector of float)
+0:189 'v' (temp 4-component vector of float)
+0:189 textureGrad (global 4-component vector of float)
+0:189 's1D' (uniform sampler1D)
+0:189 'f' (temp float)
+0:189 'f' (temp float)
+0:189 'f' (temp float)
+0:190 move second child to first child (temp 4-component vector of float)
+0:190 'v' (temp 4-component vector of float)
+0:190 textureProjGrad (global 4-component vector of float)
+0:190 's2D' (uniform sampler2D)
+0:190 'v' (temp 4-component vector of float)
+0:190 'v2' (temp 2-component vector of float)
+0:190 'v2' (temp 2-component vector of float)
+0:191 move second child to first child (temp 4-component vector of float)
+0:191 'v' (temp 4-component vector of float)
+0:191 textureProjGrad (global 4-component vector of float)
+0:191 's2DS' (uniform sampler2DShadow)
+0:191 'v' (temp 4-component vector of float)
+0:191 'v2' (temp 2-component vector of float)
+0:191 'v2' (temp 2-component vector of float)
+0:196 Function Definition: foo2324( (global void)
+0:196 Function Parameters:
+0:? Sequence
+0:201 move second child to first child (temp 4-component vector of float)
+0:201 'v' (temp 4-component vector of float)
+0:201 textureLod (global 4-component vector of float)
+0:201 's2D' (uniform sampler2D)
+0:201 'v2' (temp 2-component vector of float)
+0:201 'f' (temp float)
+0:202 move second child to first child (temp 4-component vector of float)
+0:202 'v' (temp 4-component vector of float)
+0:202 textureProjLod (global 4-component vector of float)
+0:202 's3D' (uniform sampler3D)
+0:202 'v' (temp 4-component vector of float)
+0:202 'f' (temp float)
+0:203 move second child to first child (temp 4-component vector of float)
+0:203 'v' (temp 4-component vector of float)
+0:203 textureProjLod (global 4-component vector of float)
+0:203 's1D' (uniform sampler1D)
+0:203 'v' (temp 4-component vector of float)
+0:203 'f' (temp float)
+0:204 move second child to first child (temp 4-component vector of float)
+0:204 'v' (temp 4-component vector of float)
+0:204 textureProjLod (global 4-component vector of float)
+0:204 's2DS' (uniform sampler2DShadow)
+0:204 'v' (temp 4-component vector of float)
+0:204 'f' (temp float)
+0:206 move second child to first child (temp 4-component vector of float)
+0:206 'v' (temp 4-component vector of float)
+0:206 textureGrad (global 4-component vector of float)
+0:206 's1D' (uniform sampler1D)
+0:206 'f' (temp float)
+0:206 'f' (temp float)
+0:206 'f' (temp float)
+0:207 move second child to first child (temp 4-component vector of float)
+0:207 'v' (temp 4-component vector of float)
+0:207 textureProjGrad (global 4-component vector of float)
+0:207 's2D' (uniform sampler2D)
+0:207 'v' (temp 4-component vector of float)
+0:207 'v2' (temp 2-component vector of float)
+0:207 'v2' (temp 2-component vector of float)
+0:208 move second child to first child (temp 4-component vector of float)
+0:208 'v' (temp 4-component vector of float)
+0:208 textureProjGrad (global 4-component vector of float)
+0:208 's2DS' (uniform sampler2DShadow)
+0:208 'v' (temp 4-component vector of float)
+0:208 'v2' (temp 2-component vector of float)
+0:208 'v2' (temp 2-component vector of float)
+0:209 'v' (temp 4-component vector of float)
+0:214 Function Definition: foo121111( (global void)
+0:214 Function Parameters:
+0:? Sequence
+0:217 Sequence
+0:217 move second child to first child (temp 4-component vector of float)
+0:217 'v' (temp 4-component vector of float)
+0:217 texture (global 4-component vector of float)
+0:217 's2DRbad' (uniform sampler2DRect)
+0:217 'v2' (temp 2-component vector of float)
+0:225 Function Definition: foo12111( (global void)
+0:225 Function Parameters:
+0:? Sequence
+0:231 move second child to first child (temp 4-component vector of float)
+0:231 'v' (temp 4-component vector of float)
+0:231 texture (global 4-component vector of float)
+0:231 's2DR' (uniform sampler2DRect)
+0:231 'v2' (temp 2-component vector of float)
+0:232 move second child to first child (temp 4-component vector of float)
+0:232 'v' (temp 4-component vector of float)
+0:232 textureProj (global 4-component vector of float)
+0:232 's2DR' (uniform sampler2DRect)
+0:232 'v3' (temp 3-component vector of float)
+0:233 move second child to first child (temp 4-component vector of float)
+0:233 'v' (temp 4-component vector of float)
+0:233 textureProj (global 4-component vector of float)
+0:233 's2DR' (uniform sampler2DRect)
+0:233 'v4' (temp 4-component vector of float)
+0:234 move second child to first child (temp 4-component vector of float)
+0:234 'v' (temp 4-component vector of float)
+0:234 texture (global 4-component vector of float)
+0:234 's2DRS' (uniform sampler2DRectShadow)
+0:234 'v3' (temp 3-component vector of float)
+0:235 move second child to first child (temp 4-component vector of float)
+0:235 'v' (temp 4-component vector of float)
+0:235 textureProj (global 4-component vector of float)
+0:235 's2DRS' (uniform sampler2DRectShadow)
+0:235 'v4' (temp 4-component vector of float)
+0:237 move second child to first child (temp 4-component vector of float)
+0:237 'v' (temp 4-component vector of float)
+0:237 textureProjGrad (global 4-component vector of float)
+0:237 's2DRS' (uniform sampler2DRectShadow)
+0:237 'v' (temp 4-component vector of float)
+0:237 'v2' (temp 2-component vector of float)
+0:237 'v2' (temp 2-component vector of float)
+0:? Linker Objects
+0:? 'lowp' (global float)
+0:? 'mediump' (global float)
+0:? 'highp' (global float)
+0:? 'precision' (global float)
+0:? 'i' (smooth in 4-component vector of float)
+0:? 'o' (out 4-component vector of float)
+0:? 's2D' (uniform sampler2D)
+0:? 'centTexCoord' (centroid smooth in 2-component vector of float)
+0:? 'm' (uniform 4X2 matrix of float)
+0:? 'imageBuffer' (global float)
+0:? 'uimage2DRect' (global float)
+0:? 'a' (temp int)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'm22' (global 2X2 matrix of float)
+0:? 'm23' (global 2X3 matrix of float)
+0:? 'm24' (global 2X4 matrix of float)
+0:? 'm32' (global 3X2 matrix of float)
+0:? 'm33' (global 3X3 matrix of float)
+0:? 'm34' (global 3X4 matrix of float)
+0:? 'm42' (global 4X2 matrix of float)
+0:? 'm43' (global 4X3 matrix of float)
+0:? 'm44' (global 4X4 matrix of float)
+0:? 's3D' (uniform sampler3D)
+0:? 's1D' (uniform sampler1D)
+0:? 's2DS' (uniform sampler2DShadow)
+0:? 's2DRbad' (uniform sampler2DRect)
+0:? 's2DR' (uniform sampler2DRect)
+0:? 's2DRS' (uniform sampler2DRectShadow)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Recursion detected:
+ foo(f1; calling foo(f1;
+
+Shader version: 120
+Requested GL_ARB_shader_texture_lod
+Requested GL_ARB_texture_rectangle
+ERROR: node is still EOpNull!
+0:21 Function Definition: main( (global void)
+0:21 Function Parameters:
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp 2X3 matrix of float)
+0:23 'm23' (temp 2X3 matrix of float)
+0:23 Construct mat2x3 (temp 2X3 matrix of float)
+0:23 'm' (uniform 4X2 matrix of float)
+0:27 Sequence
+0:27 move second child to first child (temp structure{global float f})
+0:27 'sv' (temp structure{global float f})
+0:27 Construct structure (temp structure{global float f})
+0:27 Convert int to float (temp float)
+0:27 'a' (temp int)
+0:28 Sequence
+0:28 move second child to first child (temp 2-element array of float)
+0:28 'ia' (temp 2-element array of float)
+0:28 Construct float (temp 2-element array of float)
+0:28 Constant:
+0:28 3.000000
+0:28 direct index (temp float)
+0:28 'i' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 1 (const int)
+0:29 Sequence
+0:29 move second child to first child (temp float)
+0:29 'f1' (temp float)
+0:29 Constant:
+0:29 1.000000
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'f' (temp float)
+0:30 Convert int to float (temp float)
+0:30 'a' (temp int)
+0:31 move second child to first child (temp float)
+0:31 'f' (temp float)
+0:31 Convert int to float (temp float)
+0:31 'a' (temp int)
+0:33 Sequence
+0:33 move second child to first child (temp 3-component vector of float)
+0:33 'v3' (temp 3-component vector of float)
+0:33 Convert int to float (temp 3-component vector of float)
+0:33 'iv3' (temp 3-component vector of int)
+0:34 move second child to first child (temp float)
+0:34 'f' (temp float)
+0:34 add (temp float)
+0:34 'f' (temp float)
+0:34 Convert int to float (temp float)
+0:34 'a' (temp int)
+0:35 move second child to first child (temp float)
+0:35 'f' (temp float)
+0:35 subtract (temp float)
+0:35 Convert int to float (temp float)
+0:35 'a' (temp int)
+0:35 'f' (temp float)
+0:36 add second child into first child (temp float)
+0:36 'f' (temp float)
+0:36 Convert int to float (temp float)
+0:36 'a' (temp int)
+0:37 move second child to first child (temp float)
+0:37 'f' (temp float)
+0:37 subtract (temp float)
+0:37 Convert int to float (temp float)
+0:37 'a' (temp int)
+0:37 'f' (temp float)
+0:38 multiply second child into first child (temp 3-component vector of float)
+0:38 'v3' (temp 3-component vector of float)
+0:38 Convert int to float (temp 3-component vector of float)
+0:38 'iv3' (temp 3-component vector of int)
+0:39 move second child to first child (temp 3-component vector of float)
+0:39 'v3' (temp 3-component vector of float)
+0:39 divide (temp 3-component vector of float)
+0:39 Convert int to float (temp 3-component vector of float)
+0:39 'iv3' (temp 3-component vector of int)
+0:39 Constant:
+0:39 2.000000
+0:40 move second child to first child (temp 3-component vector of float)
+0:40 'v3' (temp 3-component vector of float)
+0:40 vector-scale (temp 3-component vector of float)
+0:40 Constant:
+0:40 3.000000
+0:40 Convert int to float (temp 3-component vector of float)
+0:40 'iv3' (temp 3-component vector of int)
+0:41 move second child to first child (temp 3-component vector of float)
+0:41 'v3' (temp 3-component vector of float)
+0:41 vector-scale (temp 3-component vector of float)
+0:41 Constant:
+0:41 2.000000
+0:41 'v3' (temp 3-component vector of float)
+0:42 move second child to first child (temp 3-component vector of float)
+0:42 'v3' (temp 3-component vector of float)
+0:42 subtract (temp 3-component vector of float)
+0:42 'v3' (temp 3-component vector of float)
+0:42 Constant:
+0:42 2.000000
+0:43 Test condition and select (temp void)
+0:43 Condition
+0:47 logical-or (temp bool)
+0:46 logical-or (temp bool)
+0:45 logical-or (temp bool)
+0:44 logical-or (temp bool)
+0:43 logical-or (temp bool)
+0:43 Compare Less Than (temp bool)
+0:43 'f' (temp float)
+0:43 Convert int to float (temp float)
+0:43 'a' (temp int)
+0:44 Compare Less Than or Equal (temp bool)
+0:44 Convert int to float (temp float)
+0:44 'a' (temp int)
+0:44 'f' (temp float)
+0:45 Compare Greater Than (temp bool)
+0:45 'f' (temp float)
+0:45 Convert int to float (temp float)
+0:45 'a' (temp int)
+0:46 Compare Greater Than or Equal (temp bool)
+0:46 'f' (temp float)
+0:46 Convert int to float (temp float)
+0:46 'a' (temp int)
+0:47 Compare Equal (temp bool)
+0:47 Convert int to float (temp float)
+0:47 'a' (temp int)
+0:47 'f' (temp float)
+0:48 Compare Not Equal (temp bool)
+0:48 'f' (temp float)
+0:48 Convert int to float (temp float)
+0:48 'a' (temp int)
+0:43 true case is null
+0:49 move second child to first child (temp float)
+0:49 'f' (temp float)
+0:49 Test condition and select (temp float)
+0:49 Condition
+0:49 'b' (temp bool)
+0:49 true case
+0:49 Convert int to float (temp float)
+0:49 'a' (temp int)
+0:49 false case
+0:49 'f' (temp float)
+0:50 move second child to first child (temp float)
+0:50 'f' (temp float)
+0:50 Test condition and select (temp float)
+0:50 Condition
+0:50 'b' (temp bool)
+0:50 true case
+0:50 'f' (temp float)
+0:50 false case
+0:50 Convert int to float (temp float)
+0:50 'a' (temp int)
+0:51 move second child to first child (temp float)
+0:51 'f' (temp float)
+0:51 Convert int to float (temp float)
+0:51 Test condition and select (temp int)
+0:51 Condition
+0:51 'b' (temp bool)
+0:51 true case
+0:51 'a' (temp int)
+0:51 false case
+0:51 'a' (temp int)
+0:52 Sequence
+0:52 move second child to first child (temp structure{global float f})
+0:52 'news' (temp structure{global float f})
+0:52 'sv' (temp structure{global float f})
+0:54 vector swizzle (temp 2-component vector of float)
+0:54 'i' (smooth in 4-component vector of float)
+0:54 Sequence
+0:54 Constant:
+0:54 0 (const int)
+0:54 Constant:
+0:54 1 (const int)
+0:55 'm' (uniform 4X2 matrix of float)
+0:56 'm' (uniform 4X2 matrix of float)
+0:58 'f' (temp float)
+0:59 move second child to first child (temp float)
+0:59 'f' (temp float)
+0:59 Convert int to float (temp float)
+0:59 'a' (temp int)
+0:60 'f' (temp float)
+0:61 'b' (temp bool)
+0:62 move second child to first child (temp bool)
+0:62 'b' (temp bool)
+0:62 'b' (temp bool)
+0:63 'f' (temp float)
+0:65 move second child to first child (temp 4-component vector of float)
+0:65 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:65 texture (global 4-component vector of float)
+0:65 's2D' (uniform sampler2D)
+0:65 'centTexCoord' (centroid smooth in 2-component vector of float)
+0:? Sequence
+0:79 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:82 direct index (temp float)
+0:82 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:82 Constant:
+0:82 0 (const int)
+0:83 direct index (temp float)
+0:83 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:83 Constant:
+0:83 0 (const int)
+0:84 direct index (temp float)
+0:84 'centTexCoord' (centroid smooth in 2-component vector of float)
+0:84 Constant:
+0:84 0 (const int)
+0:85 move second child to first child (temp bool)
+0:85 Comma (temp bool)
+0:85 'a' (temp int)
+0:85 'b' (temp bool)
+0:85 Constant:
+0:85 true (const bool)
+0:91 Function Definition: main( (global int)
+0:91 Function Parameters:
+0:92 Function Definition: main(i1; (global void)
+0:92 Function Parameters:
+0:92 'a' (in int)
+0:97 Function Definition: foo(f1; (global int)
+0:97 Function Parameters:
+0:97 'a' (out float)
+0:99 Sequence
+0:99 Branch: Return with expression
+0:99 Constant:
+0:99 3.200000
+0:100 Function Call: foo(f1; (global int)
+0:100 'a' (out float)
+0:103 Function Definition: gen(vf3; (global bool)
+0:103 Function Parameters:
+0:103 'v' (in 3-component vector of float)
+0:105 Sequence
+0:105 Test condition and select (temp void)
+0:105 Condition
+0:105 logical-and (temp bool)
+0:105 Compare Less Than (temp bool)
+0:105 Absolute value (global float)
+0:105 direct index (temp float)
+0:105 'v' (in 3-component vector of float)
+0:105 Constant:
+0:105 0 (const int)
+0:105 Constant:
+0:105 0.000100
+0:105 Compare Less Than (temp bool)
+0:105 Absolute value (global float)
+0:105 direct index (temp float)
+0:105 'v' (in 3-component vector of float)
+0:105 Constant:
+0:105 1 (const int)
+0:105 Constant:
+0:105 0.000100
+0:105 true case
+0:106 Branch: Return with expression
+0:106 Constant:
+0:106 true (const bool)
+0:109 Function Definition: v1( (global void)
+0:109 Function Parameters:
+0:113 Function Definition: v2( (global void)
+0:113 Function Parameters:
+0:115 Sequence
+0:115 Branch: Return
+0:118 Function Definition: atest( (global void)
+0:118 Function Parameters:
+0:120 Sequence
+0:120 Sequence
+0:120 move second child to first child (temp 4-component vector of float)
+0:120 'v' (temp 4-component vector of float)
+0:120 direct index (smooth temp 4-component vector of float TexCoord)
+0:120 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:120 Constant:
+0:120 1 (const int)
+0:121 add second child into first child (temp 4-component vector of float)
+0:121 'v' (temp 4-component vector of float)
+0:121 direct index (smooth temp 4-component vector of float TexCoord)
+0:121 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:121 Constant:
+0:121 3 (const int)
+0:139 Function Definition: foo123( (global void)
+0:139 Function Parameters:
+0:141 Sequence
+0:141 Sequence
+0:141 move second child to first child (temp 2X2 matrix of float)
+0:141 'r2' (temp 2X2 matrix of float)
+0:141 component-wise multiply (global 2X2 matrix of float)
+0:141 'm22' (global 2X2 matrix of float)
+0:141 'm22' (global 2X2 matrix of float)
+0:142 Sequence
+0:142 move second child to first child (temp 3X3 matrix of float)
+0:142 'r3' (temp 3X3 matrix of float)
+0:142 component-wise multiply (global 3X3 matrix of float)
+0:142 'm33' (global 3X3 matrix of float)
+0:142 'm33' (global 3X3 matrix of float)
+0:143 Sequence
+0:143 move second child to first child (temp 4X4 matrix of float)
+0:143 'r4' (temp 4X4 matrix of float)
+0:143 component-wise multiply (global 4X4 matrix of float)
+0:143 'm44' (global 4X4 matrix of float)
+0:143 'm44' (global 4X4 matrix of float)
+0:145 Sequence
+0:145 move second child to first child (temp 2X3 matrix of float)
+0:145 'r23' (temp 2X3 matrix of float)
+0:145 component-wise multiply (global 2X3 matrix of float)
+0:145 'm23' (global 2X3 matrix of float)
+0:145 'm23' (global 2X3 matrix of float)
+0:146 Sequence
+0:146 move second child to first child (temp 2X4 matrix of float)
+0:146 'r24' (temp 2X4 matrix of float)
+0:146 component-wise multiply (global 2X4 matrix of float)
+0:146 'm24' (global 2X4 matrix of float)
+0:146 'm24' (global 2X4 matrix of float)
+0:147 Sequence
+0:147 move second child to first child (temp 3X2 matrix of float)
+0:147 'r32' (temp 3X2 matrix of float)
+0:147 component-wise multiply (global 3X2 matrix of float)
+0:147 'm32' (global 3X2 matrix of float)
+0:147 'm32' (global 3X2 matrix of float)
+0:148 Sequence
+0:148 move second child to first child (temp 3X4 matrix of float)
+0:148 'r34' (temp 3X4 matrix of float)
+0:148 component-wise multiply (global 3X4 matrix of float)
+0:148 'm34' (global 3X4 matrix of float)
+0:148 'm34' (global 3X4 matrix of float)
+0:149 Sequence
+0:149 move second child to first child (temp 4X2 matrix of float)
+0:149 'r42' (temp 4X2 matrix of float)
+0:149 component-wise multiply (global 4X2 matrix of float)
+0:149 'm42' (global 4X2 matrix of float)
+0:149 'm42' (global 4X2 matrix of float)
+0:150 Sequence
+0:150 move second child to first child (temp 4X3 matrix of float)
+0:150 'r43' (temp 4X3 matrix of float)
+0:150 component-wise multiply (global 4X3 matrix of float)
+0:150 'm43' (global 4X3 matrix of float)
+0:150 'm43' (global 4X3 matrix of float)
+0:156 Function Definition: matConst( (global void)
+0:156 Function Parameters:
+0:? Sequence
+0:162 Sequence
+0:162 move second child to first child (temp 4X4 matrix of float)
+0:162 'm4g' (temp 4X4 matrix of float)
+0:162 Construct mat4 (temp 4X4 matrix of float)
+0:162 'v2' (temp 2-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:162 'v3' (temp 3-component vector of float)
+0:163 Sequence
+0:163 move second child to first child (temp 4X4 matrix of float)
+0:163 'm4' (temp 4X4 matrix of float)
+0:163 Construct mat4 (temp 4X4 matrix of float)
+0:163 'v2' (temp 2-component vector of float)
+0:163 'v3' (temp 3-component vector of float)
+0:163 'v3' (temp 3-component vector of float)
+0:163 'v3' (temp 3-component vector of float)
+0:163 'v3' (temp 3-component vector of float)
+0:163 'v2' (temp 2-component vector of float)
+0:164 Sequence
+0:164 move second child to first child (temp 3X3 matrix of float)
+0:164 'm3' (temp 3X3 matrix of float)
+0:164 Construct mat3 (temp 3X3 matrix of float)
+0:164 'm4' (temp 4X4 matrix of float)
+0:165 Sequence
+0:165 move second child to first child (temp 3X3 matrix of float)
+0:165 'm3b1' (temp 3X3 matrix of float)
+0:165 Construct mat3 (temp 3X3 matrix of float)
+0:165 'm4' (temp 4X4 matrix of float)
+0:165 'v2' (temp 2-component vector of float)
+0:166 Sequence
+0:166 move second child to first child (temp 3X3 matrix of float)
+0:166 'm3b2' (temp 3X3 matrix of float)
+0:166 Construct mat3 (temp 3X3 matrix of float)
+0:166 'm4' (temp 4X4 matrix of float)
+0:166 'm4' (temp 4X4 matrix of float)
+0:167 Sequence
+0:167 move second child to first child (temp 3X2 matrix of float)
+0:167 'm32' (temp 3X2 matrix of float)
+0:167 Construct mat3x2 (temp 3X2 matrix of float)
+0:167 'm4' (temp 4X4 matrix of float)
+0:168 Sequence
+0:168 move second child to first child (temp 4X4 matrix of float)
+0:168 'm4c' (temp 4X4 matrix of float)
+0:168 Construct mat4 (temp 4X4 matrix of float)
+0:168 'm32' (temp 3X2 matrix of float)
+0:169 Sequence
+0:169 move second child to first child (temp 3X3 matrix of float)
+0:169 'm3s' (temp 3X3 matrix of float)
+0:169 Construct mat3 (temp 3X3 matrix of float)
+0:169 direct index (temp float)
+0:169 'v2' (temp 2-component vector of float)
+0:169 Constant:
+0:169 0 (const int)
+0:171 Sequence
+0:171 move second child to first child (temp 2-element array of 3X3 matrix of float)
+0:171 'm3a1' (temp 2-element array of 3X3 matrix of float)
+0:171 Construct mat3 (temp 2-element array of 3X3 matrix of float)
+0:171 'm3s' (temp 3X3 matrix of float)
+0:171 'm3s' (temp 3X3 matrix of float)
+0:179 Function Definition: foo2323( (global void)
+0:179 Function Parameters:
+0:? Sequence
+0:184 move second child to first child (temp 4-component vector of float)
+0:184 'v' (temp 4-component vector of float)
+0:184 textureLod (global 4-component vector of float)
+0:184 's2D' (uniform sampler2D)
+0:184 'v2' (temp 2-component vector of float)
+0:184 'f' (temp float)
+0:185 move second child to first child (temp 4-component vector of float)
+0:185 'v' (temp 4-component vector of float)
+0:185 textureProjLod (global 4-component vector of float)
+0:185 's3D' (uniform sampler3D)
+0:185 'v' (temp 4-component vector of float)
+0:185 'f' (temp float)
+0:186 move second child to first child (temp 4-component vector of float)
+0:186 'v' (temp 4-component vector of float)
+0:186 textureProjLod (global 4-component vector of float)
+0:186 's1D' (uniform sampler1D)
+0:186 'v' (temp 4-component vector of float)
+0:186 'f' (temp float)
+0:187 move second child to first child (temp 4-component vector of float)
+0:187 'v' (temp 4-component vector of float)
+0:187 textureProjLod (global 4-component vector of float)
+0:187 's2DS' (uniform sampler2DShadow)
+0:187 'v' (temp 4-component vector of float)
+0:187 'f' (temp float)
+0:189 move second child to first child (temp 4-component vector of float)
+0:189 'v' (temp 4-component vector of float)
+0:189 textureGrad (global 4-component vector of float)
+0:189 's1D' (uniform sampler1D)
+0:189 'f' (temp float)
+0:189 'f' (temp float)
+0:189 'f' (temp float)
+0:190 move second child to first child (temp 4-component vector of float)
+0:190 'v' (temp 4-component vector of float)
+0:190 textureProjGrad (global 4-component vector of float)
+0:190 's2D' (uniform sampler2D)
+0:190 'v' (temp 4-component vector of float)
+0:190 'v2' (temp 2-component vector of float)
+0:190 'v2' (temp 2-component vector of float)
+0:191 move second child to first child (temp 4-component vector of float)
+0:191 'v' (temp 4-component vector of float)
+0:191 textureProjGrad (global 4-component vector of float)
+0:191 's2DS' (uniform sampler2DShadow)
+0:191 'v' (temp 4-component vector of float)
+0:191 'v2' (temp 2-component vector of float)
+0:191 'v2' (temp 2-component vector of float)
+0:196 Function Definition: foo2324( (global void)
+0:196 Function Parameters:
+0:? Sequence
+0:201 move second child to first child (temp 4-component vector of float)
+0:201 'v' (temp 4-component vector of float)
+0:201 textureLod (global 4-component vector of float)
+0:201 's2D' (uniform sampler2D)
+0:201 'v2' (temp 2-component vector of float)
+0:201 'f' (temp float)
+0:202 move second child to first child (temp 4-component vector of float)
+0:202 'v' (temp 4-component vector of float)
+0:202 textureProjLod (global 4-component vector of float)
+0:202 's3D' (uniform sampler3D)
+0:202 'v' (temp 4-component vector of float)
+0:202 'f' (temp float)
+0:203 move second child to first child (temp 4-component vector of float)
+0:203 'v' (temp 4-component vector of float)
+0:203 textureProjLod (global 4-component vector of float)
+0:203 's1D' (uniform sampler1D)
+0:203 'v' (temp 4-component vector of float)
+0:203 'f' (temp float)
+0:204 move second child to first child (temp 4-component vector of float)
+0:204 'v' (temp 4-component vector of float)
+0:204 textureProjLod (global 4-component vector of float)
+0:204 's2DS' (uniform sampler2DShadow)
+0:204 'v' (temp 4-component vector of float)
+0:204 'f' (temp float)
+0:206 move second child to first child (temp 4-component vector of float)
+0:206 'v' (temp 4-component vector of float)
+0:206 textureGrad (global 4-component vector of float)
+0:206 's1D' (uniform sampler1D)
+0:206 'f' (temp float)
+0:206 'f' (temp float)
+0:206 'f' (temp float)
+0:207 move second child to first child (temp 4-component vector of float)
+0:207 'v' (temp 4-component vector of float)
+0:207 textureProjGrad (global 4-component vector of float)
+0:207 's2D' (uniform sampler2D)
+0:207 'v' (temp 4-component vector of float)
+0:207 'v2' (temp 2-component vector of float)
+0:207 'v2' (temp 2-component vector of float)
+0:208 move second child to first child (temp 4-component vector of float)
+0:208 'v' (temp 4-component vector of float)
+0:208 textureProjGrad (global 4-component vector of float)
+0:208 's2DS' (uniform sampler2DShadow)
+0:208 'v' (temp 4-component vector of float)
+0:208 'v2' (temp 2-component vector of float)
+0:208 'v2' (temp 2-component vector of float)
+0:209 'v' (temp 4-component vector of float)
+0:214 Function Definition: foo121111( (global void)
+0:214 Function Parameters:
+0:? Sequence
+0:217 Sequence
+0:217 move second child to first child (temp 4-component vector of float)
+0:217 'v' (temp 4-component vector of float)
+0:217 texture (global 4-component vector of float)
+0:217 's2DRbad' (uniform sampler2DRect)
+0:217 'v2' (temp 2-component vector of float)
+0:225 Function Definition: foo12111( (global void)
+0:225 Function Parameters:
+0:? Sequence
+0:231 move second child to first child (temp 4-component vector of float)
+0:231 'v' (temp 4-component vector of float)
+0:231 texture (global 4-component vector of float)
+0:231 's2DR' (uniform sampler2DRect)
+0:231 'v2' (temp 2-component vector of float)
+0:232 move second child to first child (temp 4-component vector of float)
+0:232 'v' (temp 4-component vector of float)
+0:232 textureProj (global 4-component vector of float)
+0:232 's2DR' (uniform sampler2DRect)
+0:232 'v3' (temp 3-component vector of float)
+0:233 move second child to first child (temp 4-component vector of float)
+0:233 'v' (temp 4-component vector of float)
+0:233 textureProj (global 4-component vector of float)
+0:233 's2DR' (uniform sampler2DRect)
+0:233 'v4' (temp 4-component vector of float)
+0:234 move second child to first child (temp 4-component vector of float)
+0:234 'v' (temp 4-component vector of float)
+0:234 texture (global 4-component vector of float)
+0:234 's2DRS' (uniform sampler2DRectShadow)
+0:234 'v3' (temp 3-component vector of float)
+0:235 move second child to first child (temp 4-component vector of float)
+0:235 'v' (temp 4-component vector of float)
+0:235 textureProj (global 4-component vector of float)
+0:235 's2DRS' (uniform sampler2DRectShadow)
+0:235 'v4' (temp 4-component vector of float)
+0:237 move second child to first child (temp 4-component vector of float)
+0:237 'v' (temp 4-component vector of float)
+0:237 textureProjGrad (global 4-component vector of float)
+0:237 's2DRS' (uniform sampler2DRectShadow)
+0:237 'v' (temp 4-component vector of float)
+0:237 'v2' (temp 2-component vector of float)
+0:237 'v2' (temp 2-component vector of float)
+0:? Linker Objects
+0:? 'lowp' (global float)
+0:? 'mediump' (global float)
+0:? 'highp' (global float)
+0:? 'precision' (global float)
+0:? 'i' (smooth in 4-component vector of float)
+0:? 'o' (out 4-component vector of float)
+0:? 's2D' (uniform sampler2D)
+0:? 'centTexCoord' (centroid smooth in 2-component vector of float)
+0:? 'm' (uniform 4X2 matrix of float)
+0:? 'imageBuffer' (global float)
+0:? 'uimage2DRect' (global float)
+0:? 'a' (temp int)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'm22' (global 2X2 matrix of float)
+0:? 'm23' (global 2X3 matrix of float)
+0:? 'm24' (global 2X4 matrix of float)
+0:? 'm32' (global 3X2 matrix of float)
+0:? 'm33' (global 3X3 matrix of float)
+0:? 'm34' (global 3X4 matrix of float)
+0:? 'm42' (global 4X2 matrix of float)
+0:? 'm43' (global 4X3 matrix of float)
+0:? 'm44' (global 4X4 matrix of float)
+0:? 's3D' (uniform sampler3D)
+0:? 's1D' (uniform sampler1D)
+0:? 's2DS' (uniform sampler2DShadow)
+0:? 's2DRbad' (uniform sampler2DRect)
+0:? 's2DR' (uniform sampler2DRect)
+0:? 's2DRS' (uniform sampler2DRectShadow)
+
diff --git a/Test/baseResults/120.vert.out b/Test/baseResults/120.vert.out
index b235868..4c06909 100644
--- a/Test/baseResults/120.vert.out
+++ b/Test/baseResults/120.vert.out
@@ -1,717 +1,717 @@
-120.vert
-ERROR: 0:3: 'in for stage inputs' : not supported for this version or the enabled extensions
-ERROR: 0:4: 'out for stage outputs' : not supported for this version or the enabled extensions
-ERROR: 0:11: 'gl_Position' : cannot add storage, auxiliary, memory, interpolation, layout, or precision qualifier to an existing variable
-ERROR: 0:12: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
-ERROR: 0:12: '' : replicated qualifiers
-ERROR: 0:12: 'foo' : identifier not previously declared
-ERROR: 0:21: 'gl_ClipDistance' : undeclared identifier
-ERROR: 0:21: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector
-ERROR: 0:21: 'assign' : l-value required (can't modify a const)
-ERROR: 0:28: 'length' : array must be declared with a size before using this method
-ERROR: 0:31: 'length' : incomplete method syntax
-ERROR: 0:32: 'length' : method does not accept any arguments
-ERROR: 0:33: '.' : cannot apply to an array: flizbit
-ERROR: 0:33: '=' : cannot convert from 'temp 7-element array of float' to 'temp int'
-ERROR: 0:34: '.' : cannot apply to an array: flizbit
-ERROR: 0:34: 'f' : can't use function syntax on variable
-ERROR: 0:34: 'a4' : redefinition
-ERROR: 0:35: 'arrays of arrays' : not supported with this profile: none
-ERROR: 0:36: 'arrays of arrays' : not supported with this profile: none
-ERROR: 0:37: 'arrays of arrays' : not supported with this profile: none
-ERROR: 0:38: 'arrays of arrays' : not supported with this profile: none
-ERROR: 0:39: 'arrays of arrays' : not supported with this profile: none
-ERROR: 0:40: 'arrays of arrays' : not supported with this profile: none
-ERROR: 0:40: 'constructor' : array constructor needs one argument per array element
-ERROR: 0:40: 'arrays of arrays' : not supported with this profile: none
-ERROR: 0:40: '=' : cannot convert from 'const float' to 'temp 2-element array of 3-element array of float'
-ERROR: 0:41: 'arrays of arrays' : not supported with this profile: none
-ERROR: 0:41: 'constructor' : array constructor needs one argument per array element
-ERROR: 0:41: 'arrays of arrays' : not supported with this profile: none
-ERROR: 0:41: '=' : cannot convert from 'const float' to 'temp 2-element array of 3-element array of float'
-ERROR: 0:50: 'arrays of arrays' : not supported with this profile: none
-ERROR: 0:51: 'arrays of arrays' : not supported with this profile: none
-ERROR: 0:52: 'arrays of arrays' : not supported with this profile: none
-ERROR: 0:53: 'arrays of arrays' : not supported with this profile: none
-ERROR: 0:56: 'out' : overloaded functions must have the same parameter storage qualifiers for argument 1
-ERROR: 0:57: 'float' : overloaded functions must have the same return type
-ERROR: 0:87: 'overloadC' : no matching overloaded function found
-ERROR: 0:90: 'overloadC' : no matching overloaded function found
-ERROR: 0:95: 'overloadD' : ambiguous function signature match: multiple signatures match under implicit type conversion
-ERROR: 0:98: 'overloadB' : can't use function syntax on variable
-ERROR: 0:106: 'overloadC' : no matching overloaded function found
-ERROR: 0:107: 'overloadE' : no matching overloaded function found
-ERROR: 0:108: 'overloadE' : no matching overloaded function found
-ERROR: 0:111: 'overloadE' : no matching overloaded function found
-ERROR: 0:117: 'overloadF' : no matching overloaded function found
-ERROR: 0:121: 'gl_TexCoord array size' : must be less than gl_MaxTextureCoords (32)
-ERROR: 0:157: 'switch' : Reserved word.
-ERROR: 0:163: 'default' : Reserved word.
-ERROR: 0:157: 'switch statements' : not supported for this version or the enabled extensions
-ERROR: 0:168: 'bit shift left' : not supported for this version or the enabled extensions
-ERROR: 0:168: 'bit shift right' : not supported for this version or the enabled extensions
-ERROR: 0:168: 'bitwise and' : not supported for this version or the enabled extensions
-ERROR: 0:168: 'bitwise inclusive or' : not supported for this version or the enabled extensions
-ERROR: 0:171: 'modf' : no matching overloaded function found
-ERROR: 0:171: '=' : cannot convert from 'const float' to 'temp 3-component vector of float'
-ERROR: 0:172: 'trunc' : no matching overloaded function found
-ERROR: 0:173: 'round' : no matching overloaded function found
-ERROR: 0:173: '=' : cannot convert from 'const float' to 'temp 2-component vector of float'
-ERROR: 0:174: 'roundEven' : no matching overloaded function found
-ERROR: 0:174: '=' : cannot convert from 'const float' to 'temp 2-component vector of float'
-ERROR: 0:175: 'isnan' : no matching overloaded function found
-ERROR: 0:175: '=' : cannot convert from 'const float' to 'temp 2-component vector of bool'
-ERROR: 0:176: 'isinf' : no matching overloaded function found
-ERROR: 0:176: '=' : cannot convert from 'const float' to 'temp 4-component vector of bool'
-ERROR: 0:178: 'sinh' : no matching overloaded function found
-ERROR: 0:179: 'cosh' : no matching overloaded function found
-ERROR: 0:179: 'tanh' : no matching overloaded function found
-ERROR: 0:180: 'c4D' : undeclared identifier
-ERROR: 0:180: 'asinh' : no matching overloaded function found
-ERROR: 0:180: 'acosh' : no matching overloaded function found
-ERROR: 0:181: 'atanh' : no matching overloaded function found
-ERROR: 0:183: 'gl_VertexID' : undeclared identifier
-ERROR: 0:183: '=' : cannot convert from 'temp float' to 'temp int'
-ERROR: 0:184: 'gl_ClipDistance' : undeclared identifier
-ERROR: 0:184: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector
-ERROR: 0:184: 'assign' : l-value required (can't modify a const)
-ERROR: 0:190: 'token pasting (##)' : not supported for this version or the enabled extensions
-ERROR: 0:190: '##' : token pasting not implemented (internal error)
-ERROR: 0:190: '' : syntax error
-ERROR: 79 compilation errors. No code generated.
-
-
-Shader version: 120
-ERROR: node is still EOpNull!
-0:15 Function Definition: main( (global void)
-0:15 Function Parameters:
-0:17 Sequence
-0:17 move second child to first child (temp 2-component vector of float)
-0:17 'centTexCoord' (invariant smooth out 2-component vector of float)
-0:17 'attv2' (in 2-component vector of float)
-0:18 move second child to first child (temp 4-component vector of float)
-0:18 'gl_Position' (invariant gl_Position 4-component vector of float Position)
-0:18 'attv4' (in 4-component vector of float)
-0:20 move second child to first child (temp 4-component vector of float)
-0:20 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
-0:20 'attv4' (in 4-component vector of float)
-0:21 move second child to first child (temp float)
-0:21 Constant:
-0:21 0.000000
-0:21 Constant:
-0:21 0.200000
-0:25 move second child to first child (temp 4-component vector of float)
-0:25 'gl_Position' (invariant gl_Position 4-component vector of float Position)
-0:25 direct index (temp 4-component vector of float)
-0:25 'b' (temp 12-element array of 4-component vector of float)
-0:25 Constant:
-0:25 11 (const int)
-0:28 Sequence
-0:28 move second child to first child (temp int)
-0:28 'a1' (temp int)
-0:28 Constant:
-0:28 1 (const int)
-0:30 Sequence
-0:30 move second child to first child (temp int)
-0:30 'aa' (temp int)
-0:30 Constant:
-0:30 7 (const int)
-0:31 Sequence
-0:31 move second child to first child (temp int)
-0:31 'a2' (temp int)
-0:32 Sequence
-0:32 move second child to first child (temp int)
-0:32 'a3' (temp int)
-0:32 Constant:
-0:32 1 (const int)
-0:43 move second child to first child (temp float)
-0:43 'gl_PointSize' (invariant gl_PointSize float PointSize)
-0:43 Constant:
-0:43 3.800000
-0:61 Function Definition: overloadB(f1;f1; (global void)
-0:61 Function Parameters:
-0:61 '' (in float)
-0:61 '' (const (read only) float)
-0:78 Function Definition: foo( (global void)
-0:78 Function Parameters:
-0:? Sequence
-0:83 Function Call: overloadB(f1;f1; (global void)
-0:83 'f' (temp float)
-0:83 'f' (temp float)
-0:84 Function Call: overloadB(f1;f1; (global void)
-0:84 'f' (temp float)
-0:84 Constant:
-0:84 2.000000
-0:85 Function Call: overloadB(f1;f1; (global void)
-0:85 Constant:
-0:85 1.000000
-0:85 Convert int to float (temp float)
-0:85 'i' (temp int)
-0:87 Constant:
-0:87 0.000000
-0:88 Function Call: overloadC(i1;i1; (global 2-component vector of float)
-0:88 Constant:
-0:88 1 (const int)
-0:88 'i' (temp int)
-0:89 Function Call: overloadC(vf2;vf2; (global 2-component vector of float)
-0:89 Constant:
-0:89 1.000000
-0:89 1.000000
-0:89 Constant:
-0:89 2.000000
-0:89 2.000000
-0:90 Constant:
-0:90 0.000000
-0:91 Function Call: overloadC(vf2;vf2; (global 2-component vector of float)
-0:91 Constant:
-0:91 1.000000
-0:91 1.000000
-0:91 Constant:
-0:91 2.000000
-0:91 2.000000
-0:93 Function Call: overloadD(i1;f1; (global 3-component vector of float)
-0:93 'i' (temp int)
-0:93 'f' (temp float)
-0:94 Function Call: overloadD(f1;i1; (global 3-component vector of float)
-0:94 'f' (temp float)
-0:94 'i' (temp int)
-0:95 Function Call: overloadD(f1;i1; (global 3-component vector of float)
-0:95 Convert int to float (temp float)
-0:95 'i' (temp int)
-0:95 'i' (temp int)
-0:98 Constant:
-0:98 0.000000
-0:100 Constant:
-0:100 0.841471
-0:101 texture (global 4-component vector of float)
-0:101 's2D' (uniform sampler2D)
-0:101 Constant:
-0:101 0.000000
-0:101 0.000000
-0:102 clamp (global 4-component vector of float)
-0:102 'attv4' (in 4-component vector of float)
-0:102 Constant:
-0:102 0.000000
-0:102 Constant:
-0:102 1.000000
-0:103 clamp (global 4-component vector of float)
-0:103 Convert int to float (temp 4-component vector of float)
-0:103 Convert float to int (temp 4-component vector of int)
-0:103 'attv4' (in 4-component vector of float)
-0:103 Constant:
-0:103 0.000000
-0:103 Constant:
-0:103 1.000000
-0:106 Constant:
-0:106 0.000000
-0:107 Constant:
-0:107 0.000000
-0:108 Constant:
-0:108 0.000000
-0:109 Function Call: overloadE(vf2; (global 3-component vector of float)
-0:109 Constant:
-0:109 3.300000
-0:109 3.300000
-0:110 Function Call: overloadE(mf22; (global 3-component vector of float)
-0:110 Constant:
-0:110 0.500000
-0:110 0.000000
-0:110 0.000000
-0:110 0.500000
-0:111 Constant:
-0:111 0.000000
-0:112 Function Call: overloadE(vf2; (global 3-component vector of float)
-0:112 Constant:
-0:112 1.000000
-0:112 1.000000
-0:115 Function Call: overloadE(f1[2]; (global 3-component vector of float)
-0:115 'b' (temp 2-element array of float)
-0:117 Constant:
-0:117 0.000000
-0:118 Function Call: overloadF(i1; (global 3-component vector of float)
-0:118 Constant:
-0:118 1 (const int)
-0:128 Function Definition: foo2( (global void)
-0:128 Function Parameters:
-0:? Sequence
-0:135 Comma (global void)
-0:135 Function Call: outFun(f1;vi2;i1;f1; (global void)
-0:135 Convert int to float (temp float)
-0:135 'i' (temp int)
-0:135 'tempArg' (temp 2-component vector of int)
-0:135 'i' (temp int)
-0:135 'f' (temp float)
-0:135 move second child to first child (temp 2-component vector of float)
-0:135 'v2' (temp 2-component vector of float)
-0:135 Convert int to float (temp 2-component vector of float)
-0:135 'tempArg' (temp 2-component vector of int)
-0:136 Comma (global int)
-0:136 move second child to first child (temp int)
-0:136 'tempReturn' (global int)
-0:136 Function Call: outFunRet(f1;i1;i1;vi4; (global int)
-0:136 Convert int to float (temp float)
-0:136 'i' (temp int)
-0:136 'tempArg' (temp int)
-0:136 'i' (temp int)
-0:136 'tempArg' (temp 4-component vector of int)
-0:136 move second child to first child (temp float)
-0:136 'f' (temp float)
-0:136 Convert int to float (temp float)
-0:136 'tempArg' (temp int)
-0:136 move second child to first child (temp 4-component vector of float)
-0:136 'v4' (temp 4-component vector of float)
-0:136 Convert int to float (temp 4-component vector of float)
-0:136 'tempArg' (temp 4-component vector of int)
-0:136 'tempReturn' (global int)
-0:137 Sequence
-0:137 move second child to first child (temp float)
-0:137 'ret' (temp float)
-0:137 Convert int to float (temp float)
-0:137 Comma (global int)
-0:137 move second child to first child (temp int)
-0:137 'tempReturn' (global int)
-0:137 Function Call: outFunRet(f1;i1;i1;vi4; (global int)
-0:137 Convert int to float (temp float)
-0:137 'i' (temp int)
-0:137 'tempArg' (temp int)
-0:137 'i' (temp int)
-0:137 'tempArg' (temp 4-component vector of int)
-0:137 move second child to first child (temp float)
-0:137 'f' (temp float)
-0:137 Convert int to float (temp float)
-0:137 'tempArg' (temp int)
-0:137 move second child to first child (temp 4-component vector of float)
-0:137 'v4' (temp 4-component vector of float)
-0:137 Convert int to float (temp 4-component vector of float)
-0:137 'tempArg' (temp 4-component vector of int)
-0:137 'tempReturn' (global int)
-0:138 Sequence
-0:138 move second child to first child (temp 2-component vector of float)
-0:138 'ret2' (temp 2-component vector of float)
-0:138 Convert int to float (temp 2-component vector of float)
-0:138 Comma (global 2-component vector of int)
-0:138 move second child to first child (temp 2-component vector of int)
-0:138 'tempReturn' (global 2-component vector of int)
-0:138 Function Call: outFunRet(f1;vi4;i1;vi4; (global 2-component vector of int)
-0:138 Convert int to float (temp float)
-0:138 'i' (temp int)
-0:138 'tempArg' (temp 4-component vector of int)
-0:138 'i' (temp int)
-0:138 'tempArg' (temp 4-component vector of int)
-0:138 move second child to first child (temp 4-component vector of float)
-0:138 'v4' (temp 4-component vector of float)
-0:138 Convert int to float (temp 4-component vector of float)
-0:138 'tempArg' (temp 4-component vector of int)
-0:138 move second child to first child (temp 4-component vector of float)
-0:138 'v4' (temp 4-component vector of float)
-0:138 Convert int to float (temp 4-component vector of float)
-0:138 'tempArg' (temp 4-component vector of int)
-0:138 'tempReturn' (global 2-component vector of int)
-0:139 Sequence
-0:139 move second child to first child (temp bool)
-0:139 'b' (temp bool)
-0:139 any (global bool)
-0:139 Compare Less Than (global 4-component vector of bool)
-0:139 'v4' (temp 4-component vector of float)
-0:139 'attv4' (in 4-component vector of float)
-0:154 Function Definition: foo213( (global void)
-0:154 Function Parameters:
-0:156 Sequence
-0:156 Sequence
-0:156 move second child to first child (temp float)
-0:156 'f' (temp float)
-0:156 Constant:
-0:156 3.000000
-0:157 switch
-0:157 condition
-0:157 'c' (uniform int)
-0:157 body
-0:157 Sequence
-0:158 case: with expression
-0:158 Constant:
-0:158 1 (const int)
-0:? Sequence
-0:159 move second child to first child (temp float)
-0:159 'f' (temp float)
-0:159 sine (global float)
-0:159 'f' (temp float)
-0:160 Branch: Break
-0:161 case: with expression
-0:161 Constant:
-0:161 2 (const int)
-0:? Sequence
-0:162 move second child to first child (temp float)
-0:162 'f' (temp float)
-0:162 component-wise multiply (temp float)
-0:162 'f' (temp float)
-0:162 'f' (temp float)
-0:163 default:
-0:? Sequence
-0:164 move second child to first child (temp float)
-0:164 'f' (temp float)
-0:164 Constant:
-0:164 3.000000
-0:168 inclusive-or (temp int)
-0:168 left-shift (temp int)
-0:168 'i' (temp int)
-0:168 Constant:
-0:168 3 (const int)
-0:168 Constant:
-0:168 69 (const int)
-0:172 Sequence
-0:172 move second child to first child (temp float)
-0:172 't' (temp float)
-0:172 Constant:
-0:172 0.000000
-0:178 Constant:
-0:178 0.000000
-0:180 Constant:
-0:180 0.000000
-0:181 Constant:
-0:181 0.000000
-0:184 move second child to first child (temp float)
-0:184 Constant:
-0:184 0.000000
-0:184 Constant:
-0:184 0.300000
-0:? Linker Objects
-0:? 'i' (in 4-component vector of float)
-0:? 'o' (smooth out 4-component vector of float)
-0:? 'attv2' (in 2-component vector of float)
-0:? 'attv4' (in 4-component vector of float)
-0:? 's2D' (uniform sampler2D)
-0:? 'centTexCoord' (invariant smooth out 2-component vector of float)
-0:? 'initted' (uniform float)
-0:? 3.400000
-0:? 'concall' (const float)
-0:? 0.295520
-0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
-0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
-0:? 'c' (uniform int)
-0:? 'x' (in 2-component vector of int)
-0:? 'v2a' (in 2-component vector of float)
-0:? 'c1D' (in float)
-0:? 'c2D' (in 2-component vector of float)
-0:? 'c3D' (in 3-component vector of float)
-0:? 'v4' (uniform 4-component vector of float)
-0:? 'abc' (global int)
-
-
-Linked vertex stage:
-
-
-Shader version: 120
-ERROR: node is still EOpNull!
-0:15 Function Definition: main( (global void)
-0:15 Function Parameters:
-0:17 Sequence
-0:17 move second child to first child (temp 2-component vector of float)
-0:17 'centTexCoord' (invariant smooth out 2-component vector of float)
-0:17 'attv2' (in 2-component vector of float)
-0:18 move second child to first child (temp 4-component vector of float)
-0:18 'gl_Position' (invariant gl_Position 4-component vector of float Position)
-0:18 'attv4' (in 4-component vector of float)
-0:20 move second child to first child (temp 4-component vector of float)
-0:20 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
-0:20 'attv4' (in 4-component vector of float)
-0:21 move second child to first child (temp float)
-0:21 Constant:
-0:21 0.000000
-0:21 Constant:
-0:21 0.200000
-0:25 move second child to first child (temp 4-component vector of float)
-0:25 'gl_Position' (invariant gl_Position 4-component vector of float Position)
-0:25 direct index (temp 4-component vector of float)
-0:25 'b' (temp 12-element array of 4-component vector of float)
-0:25 Constant:
-0:25 11 (const int)
-0:28 Sequence
-0:28 move second child to first child (temp int)
-0:28 'a1' (temp int)
-0:28 Constant:
-0:28 1 (const int)
-0:30 Sequence
-0:30 move second child to first child (temp int)
-0:30 'aa' (temp int)
-0:30 Constant:
-0:30 7 (const int)
-0:31 Sequence
-0:31 move second child to first child (temp int)
-0:31 'a2' (temp int)
-0:32 Sequence
-0:32 move second child to first child (temp int)
-0:32 'a3' (temp int)
-0:32 Constant:
-0:32 1 (const int)
-0:43 move second child to first child (temp float)
-0:43 'gl_PointSize' (invariant gl_PointSize float PointSize)
-0:43 Constant:
-0:43 3.800000
-0:61 Function Definition: overloadB(f1;f1; (global void)
-0:61 Function Parameters:
-0:61 '' (in float)
-0:61 '' (const (read only) float)
-0:78 Function Definition: foo( (global void)
-0:78 Function Parameters:
-0:? Sequence
-0:83 Function Call: overloadB(f1;f1; (global void)
-0:83 'f' (temp float)
-0:83 'f' (temp float)
-0:84 Function Call: overloadB(f1;f1; (global void)
-0:84 'f' (temp float)
-0:84 Constant:
-0:84 2.000000
-0:85 Function Call: overloadB(f1;f1; (global void)
-0:85 Constant:
-0:85 1.000000
-0:85 Convert int to float (temp float)
-0:85 'i' (temp int)
-0:87 Constant:
-0:87 0.000000
-0:88 Function Call: overloadC(i1;i1; (global 2-component vector of float)
-0:88 Constant:
-0:88 1 (const int)
-0:88 'i' (temp int)
-0:89 Function Call: overloadC(vf2;vf2; (global 2-component vector of float)
-0:89 Constant:
-0:89 1.000000
-0:89 1.000000
-0:89 Constant:
-0:89 2.000000
-0:89 2.000000
-0:90 Constant:
-0:90 0.000000
-0:91 Function Call: overloadC(vf2;vf2; (global 2-component vector of float)
-0:91 Constant:
-0:91 1.000000
-0:91 1.000000
-0:91 Constant:
-0:91 2.000000
-0:91 2.000000
-0:93 Function Call: overloadD(i1;f1; (global 3-component vector of float)
-0:93 'i' (temp int)
-0:93 'f' (temp float)
-0:94 Function Call: overloadD(f1;i1; (global 3-component vector of float)
-0:94 'f' (temp float)
-0:94 'i' (temp int)
-0:95 Function Call: overloadD(f1;i1; (global 3-component vector of float)
-0:95 Convert int to float (temp float)
-0:95 'i' (temp int)
-0:95 'i' (temp int)
-0:98 Constant:
-0:98 0.000000
-0:100 Constant:
-0:100 0.841471
-0:101 texture (global 4-component vector of float)
-0:101 's2D' (uniform sampler2D)
-0:101 Constant:
-0:101 0.000000
-0:101 0.000000
-0:102 clamp (global 4-component vector of float)
-0:102 'attv4' (in 4-component vector of float)
-0:102 Constant:
-0:102 0.000000
-0:102 Constant:
-0:102 1.000000
-0:103 clamp (global 4-component vector of float)
-0:103 Convert int to float (temp 4-component vector of float)
-0:103 Convert float to int (temp 4-component vector of int)
-0:103 'attv4' (in 4-component vector of float)
-0:103 Constant:
-0:103 0.000000
-0:103 Constant:
-0:103 1.000000
-0:106 Constant:
-0:106 0.000000
-0:107 Constant:
-0:107 0.000000
-0:108 Constant:
-0:108 0.000000
-0:109 Function Call: overloadE(vf2; (global 3-component vector of float)
-0:109 Constant:
-0:109 3.300000
-0:109 3.300000
-0:110 Function Call: overloadE(mf22; (global 3-component vector of float)
-0:110 Constant:
-0:110 0.500000
-0:110 0.000000
-0:110 0.000000
-0:110 0.500000
-0:111 Constant:
-0:111 0.000000
-0:112 Function Call: overloadE(vf2; (global 3-component vector of float)
-0:112 Constant:
-0:112 1.000000
-0:112 1.000000
-0:115 Function Call: overloadE(f1[2]; (global 3-component vector of float)
-0:115 'b' (temp 2-element array of float)
-0:117 Constant:
-0:117 0.000000
-0:118 Function Call: overloadF(i1; (global 3-component vector of float)
-0:118 Constant:
-0:118 1 (const int)
-0:128 Function Definition: foo2( (global void)
-0:128 Function Parameters:
-0:? Sequence
-0:135 Comma (global void)
-0:135 Function Call: outFun(f1;vi2;i1;f1; (global void)
-0:135 Convert int to float (temp float)
-0:135 'i' (temp int)
-0:135 'tempArg' (temp 2-component vector of int)
-0:135 'i' (temp int)
-0:135 'f' (temp float)
-0:135 move second child to first child (temp 2-component vector of float)
-0:135 'v2' (temp 2-component vector of float)
-0:135 Convert int to float (temp 2-component vector of float)
-0:135 'tempArg' (temp 2-component vector of int)
-0:136 Comma (global int)
-0:136 move second child to first child (temp int)
-0:136 'tempReturn' (global int)
-0:136 Function Call: outFunRet(f1;i1;i1;vi4; (global int)
-0:136 Convert int to float (temp float)
-0:136 'i' (temp int)
-0:136 'tempArg' (temp int)
-0:136 'i' (temp int)
-0:136 'tempArg' (temp 4-component vector of int)
-0:136 move second child to first child (temp float)
-0:136 'f' (temp float)
-0:136 Convert int to float (temp float)
-0:136 'tempArg' (temp int)
-0:136 move second child to first child (temp 4-component vector of float)
-0:136 'v4' (temp 4-component vector of float)
-0:136 Convert int to float (temp 4-component vector of float)
-0:136 'tempArg' (temp 4-component vector of int)
-0:136 'tempReturn' (global int)
-0:137 Sequence
-0:137 move second child to first child (temp float)
-0:137 'ret' (temp float)
-0:137 Convert int to float (temp float)
-0:137 Comma (global int)
-0:137 move second child to first child (temp int)
-0:137 'tempReturn' (global int)
-0:137 Function Call: outFunRet(f1;i1;i1;vi4; (global int)
-0:137 Convert int to float (temp float)
-0:137 'i' (temp int)
-0:137 'tempArg' (temp int)
-0:137 'i' (temp int)
-0:137 'tempArg' (temp 4-component vector of int)
-0:137 move second child to first child (temp float)
-0:137 'f' (temp float)
-0:137 Convert int to float (temp float)
-0:137 'tempArg' (temp int)
-0:137 move second child to first child (temp 4-component vector of float)
-0:137 'v4' (temp 4-component vector of float)
-0:137 Convert int to float (temp 4-component vector of float)
-0:137 'tempArg' (temp 4-component vector of int)
-0:137 'tempReturn' (global int)
-0:138 Sequence
-0:138 move second child to first child (temp 2-component vector of float)
-0:138 'ret2' (temp 2-component vector of float)
-0:138 Convert int to float (temp 2-component vector of float)
-0:138 Comma (global 2-component vector of int)
-0:138 move second child to first child (temp 2-component vector of int)
-0:138 'tempReturn' (global 2-component vector of int)
-0:138 Function Call: outFunRet(f1;vi4;i1;vi4; (global 2-component vector of int)
-0:138 Convert int to float (temp float)
-0:138 'i' (temp int)
-0:138 'tempArg' (temp 4-component vector of int)
-0:138 'i' (temp int)
-0:138 'tempArg' (temp 4-component vector of int)
-0:138 move second child to first child (temp 4-component vector of float)
-0:138 'v4' (temp 4-component vector of float)
-0:138 Convert int to float (temp 4-component vector of float)
-0:138 'tempArg' (temp 4-component vector of int)
-0:138 move second child to first child (temp 4-component vector of float)
-0:138 'v4' (temp 4-component vector of float)
-0:138 Convert int to float (temp 4-component vector of float)
-0:138 'tempArg' (temp 4-component vector of int)
-0:138 'tempReturn' (global 2-component vector of int)
-0:139 Sequence
-0:139 move second child to first child (temp bool)
-0:139 'b' (temp bool)
-0:139 any (global bool)
-0:139 Compare Less Than (global 4-component vector of bool)
-0:139 'v4' (temp 4-component vector of float)
-0:139 'attv4' (in 4-component vector of float)
-0:154 Function Definition: foo213( (global void)
-0:154 Function Parameters:
-0:156 Sequence
-0:156 Sequence
-0:156 move second child to first child (temp float)
-0:156 'f' (temp float)
-0:156 Constant:
-0:156 3.000000
-0:157 switch
-0:157 condition
-0:157 'c' (uniform int)
-0:157 body
-0:157 Sequence
-0:158 case: with expression
-0:158 Constant:
-0:158 1 (const int)
-0:? Sequence
-0:159 move second child to first child (temp float)
-0:159 'f' (temp float)
-0:159 sine (global float)
-0:159 'f' (temp float)
-0:160 Branch: Break
-0:161 case: with expression
-0:161 Constant:
-0:161 2 (const int)
-0:? Sequence
-0:162 move second child to first child (temp float)
-0:162 'f' (temp float)
-0:162 component-wise multiply (temp float)
-0:162 'f' (temp float)
-0:162 'f' (temp float)
-0:163 default:
-0:? Sequence
-0:164 move second child to first child (temp float)
-0:164 'f' (temp float)
-0:164 Constant:
-0:164 3.000000
-0:168 inclusive-or (temp int)
-0:168 left-shift (temp int)
-0:168 'i' (temp int)
-0:168 Constant:
-0:168 3 (const int)
-0:168 Constant:
-0:168 69 (const int)
-0:172 Sequence
-0:172 move second child to first child (temp float)
-0:172 't' (temp float)
-0:172 Constant:
-0:172 0.000000
-0:178 Constant:
-0:178 0.000000
-0:180 Constant:
-0:180 0.000000
-0:181 Constant:
-0:181 0.000000
-0:184 move second child to first child (temp float)
-0:184 Constant:
-0:184 0.000000
-0:184 Constant:
-0:184 0.300000
-0:? Linker Objects
-0:? 'i' (in 4-component vector of float)
-0:? 'o' (smooth out 4-component vector of float)
-0:? 'attv2' (in 2-component vector of float)
-0:? 'attv4' (in 4-component vector of float)
-0:? 's2D' (uniform sampler2D)
-0:? 'centTexCoord' (invariant smooth out 2-component vector of float)
-0:? 'initted' (uniform float)
-0:? 3.400000
-0:? 'concall' (const float)
-0:? 0.295520
-0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
-0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
-0:? 'c' (uniform int)
-0:? 'x' (in 2-component vector of int)
-0:? 'v2a' (in 2-component vector of float)
-0:? 'c1D' (in float)
-0:? 'c2D' (in 2-component vector of float)
-0:? 'c3D' (in 3-component vector of float)
-0:? 'v4' (uniform 4-component vector of float)
-0:? 'abc' (global int)
-
+120.vert
+ERROR: 0:3: 'in for stage inputs' : not supported for this version or the enabled extensions
+ERROR: 0:4: 'out for stage outputs' : not supported for this version or the enabled extensions
+ERROR: 0:11: 'gl_Position' : cannot add storage, auxiliary, memory, interpolation, layout, or precision qualifier to an existing variable
+ERROR: 0:12: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
+ERROR: 0:12: '' : replicated qualifiers
+ERROR: 0:12: 'foo' : identifier not previously declared
+ERROR: 0:21: 'gl_ClipDistance' : undeclared identifier
+ERROR: 0:21: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:21: 'assign' : l-value required (can't modify a const)
+ERROR: 0:28: 'length' : array must be declared with a size before using this method
+ERROR: 0:31: 'length' : incomplete method syntax
+ERROR: 0:32: 'length' : method does not accept any arguments
+ERROR: 0:33: '.' : cannot apply to an array: flizbit
+ERROR: 0:33: '=' : cannot convert from 'temp 7-element array of float' to 'temp int'
+ERROR: 0:34: '.' : cannot apply to an array: flizbit
+ERROR: 0:34: 'f' : can't use function syntax on variable
+ERROR: 0:34: 'a4' : redefinition
+ERROR: 0:35: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:36: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:37: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:38: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:39: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:40: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:40: 'constructor' : array constructor needs one argument per array element
+ERROR: 0:40: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:40: '=' : cannot convert from 'const float' to 'temp 2-element array of 3-element array of float'
+ERROR: 0:41: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:41: 'constructor' : array constructor needs one argument per array element
+ERROR: 0:41: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:41: '=' : cannot convert from 'const float' to 'temp 2-element array of 3-element array of float'
+ERROR: 0:50: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:51: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:52: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:53: 'arrays of arrays' : not supported with this profile: none
+ERROR: 0:56: 'out' : overloaded functions must have the same parameter storage qualifiers for argument 1
+ERROR: 0:57: 'float' : overloaded functions must have the same return type
+ERROR: 0:87: 'overloadC' : no matching overloaded function found
+ERROR: 0:90: 'overloadC' : no matching overloaded function found
+ERROR: 0:95: 'overloadD' : ambiguous function signature match: multiple signatures match under implicit type conversion
+ERROR: 0:98: 'overloadB' : can't use function syntax on variable
+ERROR: 0:106: 'overloadC' : no matching overloaded function found
+ERROR: 0:107: 'overloadE' : no matching overloaded function found
+ERROR: 0:108: 'overloadE' : no matching overloaded function found
+ERROR: 0:111: 'overloadE' : no matching overloaded function found
+ERROR: 0:117: 'overloadF' : no matching overloaded function found
+ERROR: 0:121: 'gl_TexCoord array size' : must be less than gl_MaxTextureCoords (32)
+ERROR: 0:157: 'switch' : Reserved word.
+ERROR: 0:163: 'default' : Reserved word.
+ERROR: 0:157: 'switch statements' : not supported for this version or the enabled extensions
+ERROR: 0:168: 'bit shift left' : not supported for this version or the enabled extensions
+ERROR: 0:168: 'bit shift right' : not supported for this version or the enabled extensions
+ERROR: 0:168: 'bitwise and' : not supported for this version or the enabled extensions
+ERROR: 0:168: 'bitwise inclusive or' : not supported for this version or the enabled extensions
+ERROR: 0:171: 'modf' : no matching overloaded function found
+ERROR: 0:171: '=' : cannot convert from 'const float' to 'temp 3-component vector of float'
+ERROR: 0:172: 'trunc' : no matching overloaded function found
+ERROR: 0:173: 'round' : no matching overloaded function found
+ERROR: 0:173: '=' : cannot convert from 'const float' to 'temp 2-component vector of float'
+ERROR: 0:174: 'roundEven' : no matching overloaded function found
+ERROR: 0:174: '=' : cannot convert from 'const float' to 'temp 2-component vector of float'
+ERROR: 0:175: 'isnan' : no matching overloaded function found
+ERROR: 0:175: '=' : cannot convert from 'const float' to 'temp 2-component vector of bool'
+ERROR: 0:176: 'isinf' : no matching overloaded function found
+ERROR: 0:176: '=' : cannot convert from 'const float' to 'temp 4-component vector of bool'
+ERROR: 0:178: 'sinh' : no matching overloaded function found
+ERROR: 0:179: 'cosh' : no matching overloaded function found
+ERROR: 0:179: 'tanh' : no matching overloaded function found
+ERROR: 0:180: 'c4D' : undeclared identifier
+ERROR: 0:180: 'asinh' : no matching overloaded function found
+ERROR: 0:180: 'acosh' : no matching overloaded function found
+ERROR: 0:181: 'atanh' : no matching overloaded function found
+ERROR: 0:183: 'gl_VertexID' : undeclared identifier
+ERROR: 0:183: '=' : cannot convert from 'temp float' to 'temp int'
+ERROR: 0:184: 'gl_ClipDistance' : undeclared identifier
+ERROR: 0:184: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:184: 'assign' : l-value required (can't modify a const)
+ERROR: 0:190: 'token pasting (##)' : not supported for this version or the enabled extensions
+ERROR: 0:190: '##' : token pasting not implemented (internal error)
+ERROR: 0:190: '' : syntax error
+ERROR: 79 compilation errors. No code generated.
+
+
+Shader version: 120
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 move second child to first child (temp 2-component vector of float)
+0:17 'centTexCoord' (invariant smooth out 2-component vector of float)
+0:17 'attv2' (in 2-component vector of float)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'gl_Position' (invariant gl_Position 4-component vector of float Position)
+0:18 'attv4' (in 4-component vector of float)
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:20 'attv4' (in 4-component vector of float)
+0:21 move second child to first child (temp float)
+0:21 Constant:
+0:21 0.000000
+0:21 Constant:
+0:21 0.200000
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 'gl_Position' (invariant gl_Position 4-component vector of float Position)
+0:25 direct index (temp 4-component vector of float)
+0:25 'b' (temp 12-element array of 4-component vector of float)
+0:25 Constant:
+0:25 11 (const int)
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'a1' (temp int)
+0:28 Constant:
+0:28 1 (const int)
+0:30 Sequence
+0:30 move second child to first child (temp int)
+0:30 'aa' (temp int)
+0:30 Constant:
+0:30 7 (const int)
+0:31 Sequence
+0:31 move second child to first child (temp int)
+0:31 'a2' (temp int)
+0:32 Sequence
+0:32 move second child to first child (temp int)
+0:32 'a3' (temp int)
+0:32 Constant:
+0:32 1 (const int)
+0:43 move second child to first child (temp float)
+0:43 'gl_PointSize' (invariant gl_PointSize float PointSize)
+0:43 Constant:
+0:43 3.800000
+0:61 Function Definition: overloadB(f1;f1; (global void)
+0:61 Function Parameters:
+0:61 '' (in float)
+0:61 '' (const (read only) float)
+0:78 Function Definition: foo( (global void)
+0:78 Function Parameters:
+0:? Sequence
+0:83 Function Call: overloadB(f1;f1; (global void)
+0:83 'f' (temp float)
+0:83 'f' (temp float)
+0:84 Function Call: overloadB(f1;f1; (global void)
+0:84 'f' (temp float)
+0:84 Constant:
+0:84 2.000000
+0:85 Function Call: overloadB(f1;f1; (global void)
+0:85 Constant:
+0:85 1.000000
+0:85 Convert int to float (temp float)
+0:85 'i' (temp int)
+0:87 Constant:
+0:87 0.000000
+0:88 Function Call: overloadC(i1;i1; (global 2-component vector of float)
+0:88 Constant:
+0:88 1 (const int)
+0:88 'i' (temp int)
+0:89 Function Call: overloadC(vf2;vf2; (global 2-component vector of float)
+0:89 Constant:
+0:89 1.000000
+0:89 1.000000
+0:89 Constant:
+0:89 2.000000
+0:89 2.000000
+0:90 Constant:
+0:90 0.000000
+0:91 Function Call: overloadC(vf2;vf2; (global 2-component vector of float)
+0:91 Constant:
+0:91 1.000000
+0:91 1.000000
+0:91 Constant:
+0:91 2.000000
+0:91 2.000000
+0:93 Function Call: overloadD(i1;f1; (global 3-component vector of float)
+0:93 'i' (temp int)
+0:93 'f' (temp float)
+0:94 Function Call: overloadD(f1;i1; (global 3-component vector of float)
+0:94 'f' (temp float)
+0:94 'i' (temp int)
+0:95 Function Call: overloadD(f1;i1; (global 3-component vector of float)
+0:95 Convert int to float (temp float)
+0:95 'i' (temp int)
+0:95 'i' (temp int)
+0:98 Constant:
+0:98 0.000000
+0:100 Constant:
+0:100 0.841471
+0:101 texture (global 4-component vector of float)
+0:101 's2D' (uniform sampler2D)
+0:101 Constant:
+0:101 0.000000
+0:101 0.000000
+0:102 clamp (global 4-component vector of float)
+0:102 'attv4' (in 4-component vector of float)
+0:102 Constant:
+0:102 0.000000
+0:102 Constant:
+0:102 1.000000
+0:103 clamp (global 4-component vector of float)
+0:103 Convert int to float (temp 4-component vector of float)
+0:103 Convert float to int (temp 4-component vector of int)
+0:103 'attv4' (in 4-component vector of float)
+0:103 Constant:
+0:103 0.000000
+0:103 Constant:
+0:103 1.000000
+0:106 Constant:
+0:106 0.000000
+0:107 Constant:
+0:107 0.000000
+0:108 Constant:
+0:108 0.000000
+0:109 Function Call: overloadE(vf2; (global 3-component vector of float)
+0:109 Constant:
+0:109 3.300000
+0:109 3.300000
+0:110 Function Call: overloadE(mf22; (global 3-component vector of float)
+0:110 Constant:
+0:110 0.500000
+0:110 0.000000
+0:110 0.000000
+0:110 0.500000
+0:111 Constant:
+0:111 0.000000
+0:112 Function Call: overloadE(vf2; (global 3-component vector of float)
+0:112 Constant:
+0:112 1.000000
+0:112 1.000000
+0:115 Function Call: overloadE(f1[2]; (global 3-component vector of float)
+0:115 'b' (temp 2-element array of float)
+0:117 Constant:
+0:117 0.000000
+0:118 Function Call: overloadF(i1; (global 3-component vector of float)
+0:118 Constant:
+0:118 1 (const int)
+0:128 Function Definition: foo2( (global void)
+0:128 Function Parameters:
+0:? Sequence
+0:135 Comma (global void)
+0:135 Function Call: outFun(f1;vi2;i1;f1; (global void)
+0:135 Convert int to float (temp float)
+0:135 'i' (temp int)
+0:135 'tempArg' (temp 2-component vector of int)
+0:135 'i' (temp int)
+0:135 'f' (temp float)
+0:135 move second child to first child (temp 2-component vector of float)
+0:135 'v2' (temp 2-component vector of float)
+0:135 Convert int to float (temp 2-component vector of float)
+0:135 'tempArg' (temp 2-component vector of int)
+0:136 Comma (global int)
+0:136 move second child to first child (temp int)
+0:136 'tempReturn' (global int)
+0:136 Function Call: outFunRet(f1;i1;i1;vi4; (global int)
+0:136 Convert int to float (temp float)
+0:136 'i' (temp int)
+0:136 'tempArg' (temp int)
+0:136 'i' (temp int)
+0:136 'tempArg' (temp 4-component vector of int)
+0:136 move second child to first child (temp float)
+0:136 'f' (temp float)
+0:136 Convert int to float (temp float)
+0:136 'tempArg' (temp int)
+0:136 move second child to first child (temp 4-component vector of float)
+0:136 'v4' (temp 4-component vector of float)
+0:136 Convert int to float (temp 4-component vector of float)
+0:136 'tempArg' (temp 4-component vector of int)
+0:136 'tempReturn' (global int)
+0:137 Sequence
+0:137 move second child to first child (temp float)
+0:137 'ret' (temp float)
+0:137 Convert int to float (temp float)
+0:137 Comma (global int)
+0:137 move second child to first child (temp int)
+0:137 'tempReturn' (global int)
+0:137 Function Call: outFunRet(f1;i1;i1;vi4; (global int)
+0:137 Convert int to float (temp float)
+0:137 'i' (temp int)
+0:137 'tempArg' (temp int)
+0:137 'i' (temp int)
+0:137 'tempArg' (temp 4-component vector of int)
+0:137 move second child to first child (temp float)
+0:137 'f' (temp float)
+0:137 Convert int to float (temp float)
+0:137 'tempArg' (temp int)
+0:137 move second child to first child (temp 4-component vector of float)
+0:137 'v4' (temp 4-component vector of float)
+0:137 Convert int to float (temp 4-component vector of float)
+0:137 'tempArg' (temp 4-component vector of int)
+0:137 'tempReturn' (global int)
+0:138 Sequence
+0:138 move second child to first child (temp 2-component vector of float)
+0:138 'ret2' (temp 2-component vector of float)
+0:138 Convert int to float (temp 2-component vector of float)
+0:138 Comma (global 2-component vector of int)
+0:138 move second child to first child (temp 2-component vector of int)
+0:138 'tempReturn' (global 2-component vector of int)
+0:138 Function Call: outFunRet(f1;vi4;i1;vi4; (global 2-component vector of int)
+0:138 Convert int to float (temp float)
+0:138 'i' (temp int)
+0:138 'tempArg' (temp 4-component vector of int)
+0:138 'i' (temp int)
+0:138 'tempArg' (temp 4-component vector of int)
+0:138 move second child to first child (temp 4-component vector of float)
+0:138 'v4' (temp 4-component vector of float)
+0:138 Convert int to float (temp 4-component vector of float)
+0:138 'tempArg' (temp 4-component vector of int)
+0:138 move second child to first child (temp 4-component vector of float)
+0:138 'v4' (temp 4-component vector of float)
+0:138 Convert int to float (temp 4-component vector of float)
+0:138 'tempArg' (temp 4-component vector of int)
+0:138 'tempReturn' (global 2-component vector of int)
+0:139 Sequence
+0:139 move second child to first child (temp bool)
+0:139 'b' (temp bool)
+0:139 any (global bool)
+0:139 Compare Less Than (global 4-component vector of bool)
+0:139 'v4' (temp 4-component vector of float)
+0:139 'attv4' (in 4-component vector of float)
+0:154 Function Definition: foo213( (global void)
+0:154 Function Parameters:
+0:156 Sequence
+0:156 Sequence
+0:156 move second child to first child (temp float)
+0:156 'f' (temp float)
+0:156 Constant:
+0:156 3.000000
+0:157 switch
+0:157 condition
+0:157 'c' (uniform int)
+0:157 body
+0:157 Sequence
+0:158 case: with expression
+0:158 Constant:
+0:158 1 (const int)
+0:? Sequence
+0:159 move second child to first child (temp float)
+0:159 'f' (temp float)
+0:159 sine (global float)
+0:159 'f' (temp float)
+0:160 Branch: Break
+0:161 case: with expression
+0:161 Constant:
+0:161 2 (const int)
+0:? Sequence
+0:162 move second child to first child (temp float)
+0:162 'f' (temp float)
+0:162 component-wise multiply (temp float)
+0:162 'f' (temp float)
+0:162 'f' (temp float)
+0:163 default:
+0:? Sequence
+0:164 move second child to first child (temp float)
+0:164 'f' (temp float)
+0:164 Constant:
+0:164 3.000000
+0:168 inclusive-or (temp int)
+0:168 left-shift (temp int)
+0:168 'i' (temp int)
+0:168 Constant:
+0:168 3 (const int)
+0:168 Constant:
+0:168 69 (const int)
+0:172 Sequence
+0:172 move second child to first child (temp float)
+0:172 't' (temp float)
+0:172 Constant:
+0:172 0.000000
+0:178 Constant:
+0:178 0.000000
+0:180 Constant:
+0:180 0.000000
+0:181 Constant:
+0:181 0.000000
+0:184 move second child to first child (temp float)
+0:184 Constant:
+0:184 0.000000
+0:184 Constant:
+0:184 0.300000
+0:? Linker Objects
+0:? 'i' (in 4-component vector of float)
+0:? 'o' (smooth out 4-component vector of float)
+0:? 'attv2' (in 2-component vector of float)
+0:? 'attv4' (in 4-component vector of float)
+0:? 's2D' (uniform sampler2D)
+0:? 'centTexCoord' (invariant smooth out 2-component vector of float)
+0:? 'initted' (uniform float)
+0:? 3.400000
+0:? 'concall' (const float)
+0:? 0.295520
+0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
+0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
+0:? 'c' (uniform int)
+0:? 'x' (in 2-component vector of int)
+0:? 'v2a' (in 2-component vector of float)
+0:? 'c1D' (in float)
+0:? 'c2D' (in 2-component vector of float)
+0:? 'c3D' (in 3-component vector of float)
+0:? 'v4' (uniform 4-component vector of float)
+0:? 'abc' (global int)
+
+
+Linked vertex stage:
+
+
+Shader version: 120
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 move second child to first child (temp 2-component vector of float)
+0:17 'centTexCoord' (invariant smooth out 2-component vector of float)
+0:17 'attv2' (in 2-component vector of float)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'gl_Position' (invariant gl_Position 4-component vector of float Position)
+0:18 'attv4' (in 4-component vector of float)
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:20 'attv4' (in 4-component vector of float)
+0:21 move second child to first child (temp float)
+0:21 Constant:
+0:21 0.000000
+0:21 Constant:
+0:21 0.200000
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 'gl_Position' (invariant gl_Position 4-component vector of float Position)
+0:25 direct index (temp 4-component vector of float)
+0:25 'b' (temp 12-element array of 4-component vector of float)
+0:25 Constant:
+0:25 11 (const int)
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'a1' (temp int)
+0:28 Constant:
+0:28 1 (const int)
+0:30 Sequence
+0:30 move second child to first child (temp int)
+0:30 'aa' (temp int)
+0:30 Constant:
+0:30 7 (const int)
+0:31 Sequence
+0:31 move second child to first child (temp int)
+0:31 'a2' (temp int)
+0:32 Sequence
+0:32 move second child to first child (temp int)
+0:32 'a3' (temp int)
+0:32 Constant:
+0:32 1 (const int)
+0:43 move second child to first child (temp float)
+0:43 'gl_PointSize' (invariant gl_PointSize float PointSize)
+0:43 Constant:
+0:43 3.800000
+0:61 Function Definition: overloadB(f1;f1; (global void)
+0:61 Function Parameters:
+0:61 '' (in float)
+0:61 '' (const (read only) float)
+0:78 Function Definition: foo( (global void)
+0:78 Function Parameters:
+0:? Sequence
+0:83 Function Call: overloadB(f1;f1; (global void)
+0:83 'f' (temp float)
+0:83 'f' (temp float)
+0:84 Function Call: overloadB(f1;f1; (global void)
+0:84 'f' (temp float)
+0:84 Constant:
+0:84 2.000000
+0:85 Function Call: overloadB(f1;f1; (global void)
+0:85 Constant:
+0:85 1.000000
+0:85 Convert int to float (temp float)
+0:85 'i' (temp int)
+0:87 Constant:
+0:87 0.000000
+0:88 Function Call: overloadC(i1;i1; (global 2-component vector of float)
+0:88 Constant:
+0:88 1 (const int)
+0:88 'i' (temp int)
+0:89 Function Call: overloadC(vf2;vf2; (global 2-component vector of float)
+0:89 Constant:
+0:89 1.000000
+0:89 1.000000
+0:89 Constant:
+0:89 2.000000
+0:89 2.000000
+0:90 Constant:
+0:90 0.000000
+0:91 Function Call: overloadC(vf2;vf2; (global 2-component vector of float)
+0:91 Constant:
+0:91 1.000000
+0:91 1.000000
+0:91 Constant:
+0:91 2.000000
+0:91 2.000000
+0:93 Function Call: overloadD(i1;f1; (global 3-component vector of float)
+0:93 'i' (temp int)
+0:93 'f' (temp float)
+0:94 Function Call: overloadD(f1;i1; (global 3-component vector of float)
+0:94 'f' (temp float)
+0:94 'i' (temp int)
+0:95 Function Call: overloadD(f1;i1; (global 3-component vector of float)
+0:95 Convert int to float (temp float)
+0:95 'i' (temp int)
+0:95 'i' (temp int)
+0:98 Constant:
+0:98 0.000000
+0:100 Constant:
+0:100 0.841471
+0:101 texture (global 4-component vector of float)
+0:101 's2D' (uniform sampler2D)
+0:101 Constant:
+0:101 0.000000
+0:101 0.000000
+0:102 clamp (global 4-component vector of float)
+0:102 'attv4' (in 4-component vector of float)
+0:102 Constant:
+0:102 0.000000
+0:102 Constant:
+0:102 1.000000
+0:103 clamp (global 4-component vector of float)
+0:103 Convert int to float (temp 4-component vector of float)
+0:103 Convert float to int (temp 4-component vector of int)
+0:103 'attv4' (in 4-component vector of float)
+0:103 Constant:
+0:103 0.000000
+0:103 Constant:
+0:103 1.000000
+0:106 Constant:
+0:106 0.000000
+0:107 Constant:
+0:107 0.000000
+0:108 Constant:
+0:108 0.000000
+0:109 Function Call: overloadE(vf2; (global 3-component vector of float)
+0:109 Constant:
+0:109 3.300000
+0:109 3.300000
+0:110 Function Call: overloadE(mf22; (global 3-component vector of float)
+0:110 Constant:
+0:110 0.500000
+0:110 0.000000
+0:110 0.000000
+0:110 0.500000
+0:111 Constant:
+0:111 0.000000
+0:112 Function Call: overloadE(vf2; (global 3-component vector of float)
+0:112 Constant:
+0:112 1.000000
+0:112 1.000000
+0:115 Function Call: overloadE(f1[2]; (global 3-component vector of float)
+0:115 'b' (temp 2-element array of float)
+0:117 Constant:
+0:117 0.000000
+0:118 Function Call: overloadF(i1; (global 3-component vector of float)
+0:118 Constant:
+0:118 1 (const int)
+0:128 Function Definition: foo2( (global void)
+0:128 Function Parameters:
+0:? Sequence
+0:135 Comma (global void)
+0:135 Function Call: outFun(f1;vi2;i1;f1; (global void)
+0:135 Convert int to float (temp float)
+0:135 'i' (temp int)
+0:135 'tempArg' (temp 2-component vector of int)
+0:135 'i' (temp int)
+0:135 'f' (temp float)
+0:135 move second child to first child (temp 2-component vector of float)
+0:135 'v2' (temp 2-component vector of float)
+0:135 Convert int to float (temp 2-component vector of float)
+0:135 'tempArg' (temp 2-component vector of int)
+0:136 Comma (global int)
+0:136 move second child to first child (temp int)
+0:136 'tempReturn' (global int)
+0:136 Function Call: outFunRet(f1;i1;i1;vi4; (global int)
+0:136 Convert int to float (temp float)
+0:136 'i' (temp int)
+0:136 'tempArg' (temp int)
+0:136 'i' (temp int)
+0:136 'tempArg' (temp 4-component vector of int)
+0:136 move second child to first child (temp float)
+0:136 'f' (temp float)
+0:136 Convert int to float (temp float)
+0:136 'tempArg' (temp int)
+0:136 move second child to first child (temp 4-component vector of float)
+0:136 'v4' (temp 4-component vector of float)
+0:136 Convert int to float (temp 4-component vector of float)
+0:136 'tempArg' (temp 4-component vector of int)
+0:136 'tempReturn' (global int)
+0:137 Sequence
+0:137 move second child to first child (temp float)
+0:137 'ret' (temp float)
+0:137 Convert int to float (temp float)
+0:137 Comma (global int)
+0:137 move second child to first child (temp int)
+0:137 'tempReturn' (global int)
+0:137 Function Call: outFunRet(f1;i1;i1;vi4; (global int)
+0:137 Convert int to float (temp float)
+0:137 'i' (temp int)
+0:137 'tempArg' (temp int)
+0:137 'i' (temp int)
+0:137 'tempArg' (temp 4-component vector of int)
+0:137 move second child to first child (temp float)
+0:137 'f' (temp float)
+0:137 Convert int to float (temp float)
+0:137 'tempArg' (temp int)
+0:137 move second child to first child (temp 4-component vector of float)
+0:137 'v4' (temp 4-component vector of float)
+0:137 Convert int to float (temp 4-component vector of float)
+0:137 'tempArg' (temp 4-component vector of int)
+0:137 'tempReturn' (global int)
+0:138 Sequence
+0:138 move second child to first child (temp 2-component vector of float)
+0:138 'ret2' (temp 2-component vector of float)
+0:138 Convert int to float (temp 2-component vector of float)
+0:138 Comma (global 2-component vector of int)
+0:138 move second child to first child (temp 2-component vector of int)
+0:138 'tempReturn' (global 2-component vector of int)
+0:138 Function Call: outFunRet(f1;vi4;i1;vi4; (global 2-component vector of int)
+0:138 Convert int to float (temp float)
+0:138 'i' (temp int)
+0:138 'tempArg' (temp 4-component vector of int)
+0:138 'i' (temp int)
+0:138 'tempArg' (temp 4-component vector of int)
+0:138 move second child to first child (temp 4-component vector of float)
+0:138 'v4' (temp 4-component vector of float)
+0:138 Convert int to float (temp 4-component vector of float)
+0:138 'tempArg' (temp 4-component vector of int)
+0:138 move second child to first child (temp 4-component vector of float)
+0:138 'v4' (temp 4-component vector of float)
+0:138 Convert int to float (temp 4-component vector of float)
+0:138 'tempArg' (temp 4-component vector of int)
+0:138 'tempReturn' (global 2-component vector of int)
+0:139 Sequence
+0:139 move second child to first child (temp bool)
+0:139 'b' (temp bool)
+0:139 any (global bool)
+0:139 Compare Less Than (global 4-component vector of bool)
+0:139 'v4' (temp 4-component vector of float)
+0:139 'attv4' (in 4-component vector of float)
+0:154 Function Definition: foo213( (global void)
+0:154 Function Parameters:
+0:156 Sequence
+0:156 Sequence
+0:156 move second child to first child (temp float)
+0:156 'f' (temp float)
+0:156 Constant:
+0:156 3.000000
+0:157 switch
+0:157 condition
+0:157 'c' (uniform int)
+0:157 body
+0:157 Sequence
+0:158 case: with expression
+0:158 Constant:
+0:158 1 (const int)
+0:? Sequence
+0:159 move second child to first child (temp float)
+0:159 'f' (temp float)
+0:159 sine (global float)
+0:159 'f' (temp float)
+0:160 Branch: Break
+0:161 case: with expression
+0:161 Constant:
+0:161 2 (const int)
+0:? Sequence
+0:162 move second child to first child (temp float)
+0:162 'f' (temp float)
+0:162 component-wise multiply (temp float)
+0:162 'f' (temp float)
+0:162 'f' (temp float)
+0:163 default:
+0:? Sequence
+0:164 move second child to first child (temp float)
+0:164 'f' (temp float)
+0:164 Constant:
+0:164 3.000000
+0:168 inclusive-or (temp int)
+0:168 left-shift (temp int)
+0:168 'i' (temp int)
+0:168 Constant:
+0:168 3 (const int)
+0:168 Constant:
+0:168 69 (const int)
+0:172 Sequence
+0:172 move second child to first child (temp float)
+0:172 't' (temp float)
+0:172 Constant:
+0:172 0.000000
+0:178 Constant:
+0:178 0.000000
+0:180 Constant:
+0:180 0.000000
+0:181 Constant:
+0:181 0.000000
+0:184 move second child to first child (temp float)
+0:184 Constant:
+0:184 0.000000
+0:184 Constant:
+0:184 0.300000
+0:? Linker Objects
+0:? 'i' (in 4-component vector of float)
+0:? 'o' (smooth out 4-component vector of float)
+0:? 'attv2' (in 2-component vector of float)
+0:? 'attv4' (in 4-component vector of float)
+0:? 's2D' (uniform sampler2D)
+0:? 'centTexCoord' (invariant smooth out 2-component vector of float)
+0:? 'initted' (uniform float)
+0:? 3.400000
+0:? 'concall' (const float)
+0:? 0.295520
+0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
+0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
+0:? 'c' (uniform int)
+0:? 'x' (in 2-component vector of int)
+0:? 'v2a' (in 2-component vector of float)
+0:? 'c1D' (in float)
+0:? 'c2D' (in 2-component vector of float)
+0:? 'c3D' (in 3-component vector of float)
+0:? 'v4' (uniform 4-component vector of float)
+0:? 'abc' (global int)
+
diff --git a/Test/baseResults/130.frag.out b/Test/baseResults/130.frag.out
index e418127..b2b4dd0 100644
--- a/Test/baseResults/130.frag.out
+++ b/Test/baseResults/130.frag.out
@@ -1,782 +1,782 @@
-130.frag
-ERROR: 0:25: 'textureGather(...)' : not supported for this version or the enabled extensions
-ERROR: 0:35: 'redeclaration' : cannot change the type of gl_Color
-ERROR: 0:38: 'gl_Color' : redeclaring non-array as array
-ERROR: 0:39: 'redeclaration' : cannot change storage, memory, or auxiliary qualification of gl_Color
-WARNING: 0:45: extension GL_ARB_texture_gather is being used for textureGather(...)
-ERROR: 0:62: '<' : wrong operand types: no operation '<' exists that takes a left-hand operand of type 'temp 3-component vector of bool' and a right operand of type 'temp 3-component vector of bool' (or there is no acceptable conversion)
-ERROR: 0:63: '>' : wrong operand types: no operation '>' exists that takes a left-hand operand of type 'temp 3-component vector of uint' and a right operand of type 'temp 3-component vector of uint' (or there is no acceptable conversion)
-ERROR: 0:64: '>=' : wrong operand types: no operation '>=' exists that takes a left-hand operand of type 'const 2-component vector of uint' and a right operand of type 'const 2-component vector of uint' (or there is no acceptable conversion)
-ERROR: 0:80: 'textureGatherOffset' : no matching overloaded function found
-ERROR: 0:80: 'assign' : cannot convert from 'const float' to 'temp 4-component vector of float'
-ERROR: 0:81: 'textureGatherOffset(...)' : not supported for this version or the enabled extensions
-ERROR: 0:84: 'textureGatherOffset(...)' : not supported for this version or the enabled extensions
-ERROR: 0:85: 'textureGatherOffset(...)' : not supported for this version or the enabled extensions
-WARNING: 0:88: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5
-ERROR: 0:120: 'line continuation' : not supported for this version or the enabled extensions
-ERROR: 0:126: 'uniform block' : not supported for this version or the enabled extensions
-ERROR: 0:140: 'length' : does not operate on this type: temp bool
-ERROR: 0:140: 'boolb' : can't use function syntax on variable
-ERROR: 0:141: 'length' : does not operate on this type: temp float
-ERROR: 0:141: '' : function call, method, or subroutine call expected
-ERROR: 0:141: '' : no matching overloaded function found
-ERROR: 0:142: 'length' : incomplete method syntax
-ERROR: 0:143: 'length' : method does not accept any arguments
-ERROR: 0:146: 'gl_FogFragCoord' : identifiers starting with "gl_" are reserved
-ERROR: 0:151: 'int' : must be qualified as flat in
-ERROR: 0:151: 'redeclaration' : cannot change the type of gl_FogFragCoord
-ERROR: 0:153: 'early_fragment_tests' : not supported for this version or the enabled extensions
-ERROR: 0:154: 'image load store' : not supported for this version or the enabled extensions
-ERROR: 0:154: 'iimage2D' : Reserved word.
-ERROR: 0:169: 'early_fragment_tests' : can only apply to 'in'
-ERROR: 28 compilation errors. No code generated.
-
-
-Shader version: 130
-Requested GL_ARB_gpu_shader5
-Requested GL_ARB_separate_shader_objects
-Requested GL_ARB_shader_image_load_store
-Requested GL_ARB_shading_language_420pack
-Requested GL_ARB_texture_cube_map_array
-Requested GL_ARB_texture_gather
-Requested GL_ARB_texture_rectangle
-using early_fragment_tests
-ERROR: node is still EOpNull!
-0:16 Function Definition: main( (global void)
-0:16 Function Parameters:
-0:18 Sequence
-0:18 Sequence
-0:18 move second child to first child (temp float)
-0:18 'clip' (temp float)
-0:18 direct index (smooth temp float ClipDistance)
-0:18 'gl_ClipDistance' (smooth in implicitly-sized array of float ClipDistance)
-0:18 Constant:
-0:18 3 (const int)
-0:23 Function Definition: foo( (global void)
-0:23 Function Parameters:
-0:25 Sequence
-0:25 Sequence
-0:25 move second child to first child (temp 4-component vector of float)
-0:25 's' (temp 4-component vector of float)
-0:25 textureGather (global 4-component vector of float)
-0:25 'sampC' (uniform samplerCube)
-0:25 Constant:
-0:25 0.200000
-0:25 0.200000
-0:25 0.200000
-0:30 Function Definition: bar( (global void)
-0:30 Function Parameters:
-0:32 Sequence
-0:32 Sequence
-0:32 move second child to first child (temp 4-component vector of float)
-0:32 's' (temp 4-component vector of float)
-0:32 textureGather (global 4-component vector of float)
-0:32 'sampC' (uniform samplerCube)
-0:32 Constant:
-0:32 0.200000
-0:32 0.200000
-0:32 0.200000
-0:43 Function Definition: bar2( (global void)
-0:43 Function Parameters:
-0:45 Sequence
-0:45 Sequence
-0:45 move second child to first child (temp 4-component vector of float)
-0:45 's' (temp 4-component vector of float)
-0:45 textureGather (global 4-component vector of float)
-0:45 'sampC' (uniform samplerCube)
-0:45 Constant:
-0:45 0.200000
-0:45 0.200000
-0:45 0.200000
-0:49 move second child to first child (temp 3-component vector of bool)
-0:49 'b3' (temp 3-component vector of bool)
-0:49 Compare Less Than (global 3-component vector of bool)
-0:49 'uv3' (temp 3-component vector of uint)
-0:49 'uv3' (temp 3-component vector of uint)
-0:50 move second child to first child (temp 3-component vector of bool)
-0:50 'b3' (temp 3-component vector of bool)
-0:50 Equal (global 3-component vector of bool)
-0:50 'uv3' (temp 3-component vector of uint)
-0:50 'uv3' (temp 3-component vector of uint)
-0:56 direct index (temp int)
-0:56 'a1' (temp 1-element array of int)
-0:56 Constant:
-0:56 0 (const int)
-0:57 direct index (temp int)
-0:57 'a2' (temp 1-element array of int)
-0:57 Constant:
-0:57 0 (const int)
-0:60 direct index (temp int)
-0:60 'a3' (temp 4-element array of int)
-0:60 Constant:
-0:60 3 (const int)
-0:61 Compare Not Equal (temp bool)
-0:61 'b3' (temp 3-component vector of bool)
-0:61 'b3' (temp 3-component vector of bool)
-0:62 Constant:
-0:62 false (const bool)
-0:63 Constant:
-0:63 false (const bool)
-0:64 Constant:
-0:64 false (const bool)
-0:65 Constant:
-0:65 true (const bool)
-0:66 Constant:
-0:66 false (const bool)
-0:77 Function Definition: bar23( (global void)
-0:77 Function Parameters:
-0:? Sequence
-0:80 's' (temp 4-component vector of float)
-0:81 move second child to first child (temp 4-component vector of float)
-0:81 's' (temp 4-component vector of float)
-0:81 textureGatherOffset (global 4-component vector of float)
-0:81 'samp2DR' (uniform sampler2DRect)
-0:81 Constant:
-0:81 0.300000
-0:81 0.300000
-0:81 Constant:
-0:81 1 (const int)
-0:81 1 (const int)
-0:82 move second child to first child (temp 4-component vector of float)
-0:82 's' (temp 4-component vector of float)
-0:82 textureGatherOffset (global 4-component vector of float)
-0:82 'samp2D' (uniform sampler2D)
-0:82 Constant:
-0:82 0.300000
-0:82 0.300000
-0:82 Constant:
-0:82 1 (const int)
-0:82 1 (const int)
-0:83 move second child to first child (temp 4-component vector of float)
-0:83 's' (temp 4-component vector of float)
-0:83 textureGatherOffset (global 4-component vector of float)
-0:83 'samp2DA' (uniform sampler2DArray)
-0:83 Constant:
-0:83 0.300000
-0:83 0.300000
-0:83 0.300000
-0:83 Constant:
-0:83 1 (const int)
-0:83 1 (const int)
-0:84 move second child to first child (temp 4-component vector of float)
-0:84 's' (temp 4-component vector of float)
-0:84 textureGatherOffset (global 4-component vector of float)
-0:84 'samp2DS' (uniform sampler2DShadow)
-0:84 Constant:
-0:84 0.300000
-0:84 0.300000
-0:84 Constant:
-0:84 1.300000
-0:84 Constant:
-0:84 1 (const int)
-0:84 1 (const int)
-0:85 move second child to first child (temp 4-component vector of float)
-0:85 's' (temp 4-component vector of float)
-0:85 textureGatherOffset (global 4-component vector of float)
-0:85 'samp2D' (uniform sampler2D)
-0:85 Constant:
-0:85 0.300000
-0:85 0.300000
-0:85 Constant:
-0:85 1 (const int)
-0:85 1 (const int)
-0:85 Constant:
-0:85 2 (const int)
-0:90 Function Definition: bar234( (global void)
-0:90 Function Parameters:
-0:? Sequence
-0:93 move second child to first child (temp 4-component vector of float)
-0:93 's' (temp 4-component vector of float)
-0:93 textureGatherOffset (global 4-component vector of float)
-0:93 'samp2D' (uniform sampler2D)
-0:93 Constant:
-0:93 0.300000
-0:93 0.300000
-0:93 Constant:
-0:93 1 (const int)
-0:93 1 (const int)
-0:94 move second child to first child (temp 4-component vector of float)
-0:94 's' (temp 4-component vector of float)
-0:94 textureGatherOffset (global 4-component vector of float)
-0:94 'samp2DA' (uniform sampler2DArray)
-0:94 Constant:
-0:94 0.300000
-0:94 0.300000
-0:94 0.300000
-0:94 Constant:
-0:94 1 (const int)
-0:94 1 (const int)
-0:95 move second child to first child (temp 4-component vector of float)
-0:95 's' (temp 4-component vector of float)
-0:95 textureGatherOffset (global 4-component vector of float)
-0:95 'samp2DR' (uniform sampler2DRect)
-0:95 Constant:
-0:95 0.300000
-0:95 0.300000
-0:95 Constant:
-0:95 1 (const int)
-0:95 1 (const int)
-0:96 move second child to first child (temp 4-component vector of float)
-0:96 's' (temp 4-component vector of float)
-0:96 textureGatherOffset (global 4-component vector of float)
-0:96 'samp2DS' (uniform sampler2DShadow)
-0:96 Constant:
-0:96 0.300000
-0:96 0.300000
-0:96 Constant:
-0:96 1.300000
-0:96 Constant:
-0:96 1 (const int)
-0:96 1 (const int)
-0:97 move second child to first child (temp 4-component vector of float)
-0:97 's' (temp 4-component vector of float)
-0:97 textureGatherOffset (global 4-component vector of float)
-0:97 'samp2D' (uniform sampler2D)
-0:97 Constant:
-0:97 0.300000
-0:97 0.300000
-0:97 Constant:
-0:97 1 (const int)
-0:97 1 (const int)
-0:97 Constant:
-0:97 2 (const int)
-0:107 Function Definition: bar235( (global void)
-0:107 Function Parameters:
-0:109 Sequence
-0:109 Sequence
-0:109 move second child to first child (temp 3-component vector of int)
-0:109 'a' (temp 3-component vector of int)
-0:109 textureSize (global 3-component vector of int)
-0:109 'Sca' (uniform samplerCubeArray)
-0:109 Constant:
-0:109 3 (const int)
-0:110 Sequence
-0:110 move second child to first child (temp 4-component vector of float)
-0:110 'b' (temp 4-component vector of float)
-0:110 texture (global 4-component vector of float)
-0:110 'Sca' (uniform samplerCubeArray)
-0:110 'i' (smooth in 4-component vector of float)
-0:111 Sequence
-0:111 move second child to first child (temp 4-component vector of int)
-0:111 'c' (temp 4-component vector of int)
-0:111 texture (global 4-component vector of int)
-0:111 'Isca' (uniform isamplerCubeArray)
-0:111 'i' (smooth in 4-component vector of float)
-0:111 Constant:
-0:111 0.700000
-0:112 Sequence
-0:112 move second child to first child (temp 4-component vector of uint)
-0:112 'd' (temp 4-component vector of uint)
-0:112 texture (global 4-component vector of uint)
-0:112 'Usca' (uniform usamplerCubeArray)
-0:112 'i' (smooth in 4-component vector of float)
-0:114 move second child to first child (temp 4-component vector of float)
-0:114 'b' (temp 4-component vector of float)
-0:114 textureLod (global 4-component vector of float)
-0:114 'Sca' (uniform samplerCubeArray)
-0:114 'i' (smooth in 4-component vector of float)
-0:114 Constant:
-0:114 1.700000
-0:115 move second child to first child (temp 3-component vector of int)
-0:115 'a' (temp 3-component vector of int)
-0:115 textureSize (global 3-component vector of int)
-0:115 'Scas' (uniform samplerCubeArrayShadow)
-0:115 direct index (temp int)
-0:115 'a' (temp 3-component vector of int)
-0:115 Constant:
-0:115 0 (const int)
-0:116 Sequence
-0:116 move second child to first child (temp float)
-0:116 'f' (temp float)
-0:116 texture (global float)
-0:116 'Scas' (uniform samplerCubeArrayShadow)
-0:116 'i' (smooth in 4-component vector of float)
-0:116 direct index (temp float)
-0:116 'b' (temp 4-component vector of float)
-0:116 Constant:
-0:116 1 (const int)
-0:117 move second child to first child (temp 4-component vector of int)
-0:117 'c' (temp 4-component vector of int)
-0:117 textureGrad (global 4-component vector of int)
-0:117 'Isca' (uniform isamplerCubeArray)
-0:117 'i' (smooth in 4-component vector of float)
-0:117 Constant:
-0:117 0.100000
-0:117 0.100000
-0:117 0.100000
-0:117 Constant:
-0:117 0.200000
-0:117 0.200000
-0:117 0.200000
-0:129 Function Definition: bar23444( (global void)
-0:129 Function Parameters:
-0:? Sequence
-0:132 Sequence
-0:132 move second child to first child (temp float)
-0:132 'a1' (temp float)
-0:132 direct index (temp float)
-0:132 direct index (temp 3-component vector of float)
-0:132 'm43' (temp 4X3 matrix of float)
-0:132 Constant:
-0:132 3 (const int)
-0:132 Constant:
-0:132 1 (const int)
-0:134 Sequence
-0:134 move second child to first child (temp int)
-0:134 'a2' (temp int)
-0:134 Constant:
-0:134 4 (const int)
-0:135 add second child into first child (temp int)
-0:135 'a2' (temp int)
-0:135 Constant:
-0:135 3 (const int)
-0:136 add second child into first child (temp int)
-0:136 'a2' (temp int)
-0:136 Constant:
-0:136 3 (const int)
-0:137 Sequence
-0:137 move second child to first child (temp float)
-0:137 'b' (const (read only) float)
-0:137 component-wise multiply (temp float)
-0:137 Constant:
-0:137 2.000000
-0:137 'a1' (temp float)
-0:138 move second child to first child (temp float)
-0:138 direct index (temp float)
-0:138 'a' (global 3-component vector of float)
-0:138 Constant:
-0:138 0 (const int)
-0:138 Constant:
-0:138 -1.000000
-0:140 Constant:
-0:140 0.000000
-0:141 Constant:
-0:141 0.000000
-0:143 Constant:
-0:143 1 (const int)
-0:162 Function Definition: qux2( (global void)
-0:162 Function Parameters:
-0:? Sequence
-0:165 imageAtomicCompSwap (global int)
-0:165 'iimg2D' (layout(r32i ) uniform iimage2D)
-0:165 Construct ivec2 (temp 2-component vector of int)
-0:165 'i' (temp int)
-0:165 'i' (temp int)
-0:165 'i' (temp int)
-0:165 'i' (temp int)
-0:166 Sequence
-0:166 move second child to first child (temp 4-component vector of int)
-0:166 'pos' (temp 4-component vector of int)
-0:166 imageLoad (global 4-component vector of int)
-0:166 'iimg2D' (layout(r32i ) uniform iimage2D)
-0:166 Construct ivec2 (temp 2-component vector of int)
-0:166 'i' (temp int)
-0:166 'i' (temp int)
-0:? Linker Objects
-0:? 'a' (global 3-component vector of float)
-0:? 'b' (global float)
-0:? 'c' (global int)
-0:? 'i' (smooth in 4-component vector of float)
-0:? 'o' (out 4-component vector of float)
-0:? 'fflat' (flat in float)
-0:? 'fsmooth' (smooth in float)
-0:? 'fnop' (noperspective in float)
-0:? 'gl_ClipDistance' (smooth in implicitly-sized array of float ClipDistance)
-0:? 'sampC' (uniform samplerCube)
-0:? 'gl_Color' (smooth in 4-component vector of float Color)
-0:? 'gl_Color' (flat in 4-component vector of float Color)
-0:? 'samp2D' (uniform sampler2D)
-0:? 'samp2DS' (uniform sampler2DShadow)
-0:? 'samp2DR' (uniform sampler2DRect)
-0:? 'samp2DA' (uniform sampler2DArray)
-0:? 'Sca' (uniform samplerCubeArray)
-0:? 'Isca' (uniform isamplerCubeArray)
-0:? 'Usca' (uniform usamplerCubeArray)
-0:? 'Scas' (uniform samplerCubeArrayShadow)
-0:? 'x' (global int)
-0:? 'ai' (const 3-element array of int)
-0:? 10 (const int)
-0:? 23 (const int)
-0:? 32 (const int)
-0:? 'instanceName' (layout(binding=0 column_major shared ) uniform block{layout(column_major shared ) uniform int a})
-0:? 'bounds' (layout(binding=0 ) uniform sampler2D)
-0:? 'gl_FogFragCoord' (smooth in float)
-0:? 'iimg2Dbad' (layout(r32i ) uniform iimage2D)
-0:? 'iimg2D' (layout(r32i ) uniform iimage2D)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-Requested GL_ARB_gpu_shader5
-Requested GL_ARB_separate_shader_objects
-Requested GL_ARB_shader_image_load_store
-Requested GL_ARB_shading_language_420pack
-Requested GL_ARB_texture_cube_map_array
-Requested GL_ARB_texture_gather
-Requested GL_ARB_texture_rectangle
-using early_fragment_tests
-ERROR: node is still EOpNull!
-0:16 Function Definition: main( (global void)
-0:16 Function Parameters:
-0:18 Sequence
-0:18 Sequence
-0:18 move second child to first child (temp float)
-0:18 'clip' (temp float)
-0:18 direct index (smooth temp float ClipDistance)
-0:18 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
-0:18 Constant:
-0:18 3 (const int)
-0:23 Function Definition: foo( (global void)
-0:23 Function Parameters:
-0:25 Sequence
-0:25 Sequence
-0:25 move second child to first child (temp 4-component vector of float)
-0:25 's' (temp 4-component vector of float)
-0:25 textureGather (global 4-component vector of float)
-0:25 'sampC' (uniform samplerCube)
-0:25 Constant:
-0:25 0.200000
-0:25 0.200000
-0:25 0.200000
-0:30 Function Definition: bar( (global void)
-0:30 Function Parameters:
-0:32 Sequence
-0:32 Sequence
-0:32 move second child to first child (temp 4-component vector of float)
-0:32 's' (temp 4-component vector of float)
-0:32 textureGather (global 4-component vector of float)
-0:32 'sampC' (uniform samplerCube)
-0:32 Constant:
-0:32 0.200000
-0:32 0.200000
-0:32 0.200000
-0:43 Function Definition: bar2( (global void)
-0:43 Function Parameters:
-0:45 Sequence
-0:45 Sequence
-0:45 move second child to first child (temp 4-component vector of float)
-0:45 's' (temp 4-component vector of float)
-0:45 textureGather (global 4-component vector of float)
-0:45 'sampC' (uniform samplerCube)
-0:45 Constant:
-0:45 0.200000
-0:45 0.200000
-0:45 0.200000
-0:49 move second child to first child (temp 3-component vector of bool)
-0:49 'b3' (temp 3-component vector of bool)
-0:49 Compare Less Than (global 3-component vector of bool)
-0:49 'uv3' (temp 3-component vector of uint)
-0:49 'uv3' (temp 3-component vector of uint)
-0:50 move second child to first child (temp 3-component vector of bool)
-0:50 'b3' (temp 3-component vector of bool)
-0:50 Equal (global 3-component vector of bool)
-0:50 'uv3' (temp 3-component vector of uint)
-0:50 'uv3' (temp 3-component vector of uint)
-0:56 direct index (temp int)
-0:56 'a1' (temp 1-element array of int)
-0:56 Constant:
-0:56 0 (const int)
-0:57 direct index (temp int)
-0:57 'a2' (temp 1-element array of int)
-0:57 Constant:
-0:57 0 (const int)
-0:60 direct index (temp int)
-0:60 'a3' (temp 4-element array of int)
-0:60 Constant:
-0:60 3 (const int)
-0:61 Compare Not Equal (temp bool)
-0:61 'b3' (temp 3-component vector of bool)
-0:61 'b3' (temp 3-component vector of bool)
-0:62 Constant:
-0:62 false (const bool)
-0:63 Constant:
-0:63 false (const bool)
-0:64 Constant:
-0:64 false (const bool)
-0:65 Constant:
-0:65 true (const bool)
-0:66 Constant:
-0:66 false (const bool)
-0:77 Function Definition: bar23( (global void)
-0:77 Function Parameters:
-0:? Sequence
-0:80 's' (temp 4-component vector of float)
-0:81 move second child to first child (temp 4-component vector of float)
-0:81 's' (temp 4-component vector of float)
-0:81 textureGatherOffset (global 4-component vector of float)
-0:81 'samp2DR' (uniform sampler2DRect)
-0:81 Constant:
-0:81 0.300000
-0:81 0.300000
-0:81 Constant:
-0:81 1 (const int)
-0:81 1 (const int)
-0:82 move second child to first child (temp 4-component vector of float)
-0:82 's' (temp 4-component vector of float)
-0:82 textureGatherOffset (global 4-component vector of float)
-0:82 'samp2D' (uniform sampler2D)
-0:82 Constant:
-0:82 0.300000
-0:82 0.300000
-0:82 Constant:
-0:82 1 (const int)
-0:82 1 (const int)
-0:83 move second child to first child (temp 4-component vector of float)
-0:83 's' (temp 4-component vector of float)
-0:83 textureGatherOffset (global 4-component vector of float)
-0:83 'samp2DA' (uniform sampler2DArray)
-0:83 Constant:
-0:83 0.300000
-0:83 0.300000
-0:83 0.300000
-0:83 Constant:
-0:83 1 (const int)
-0:83 1 (const int)
-0:84 move second child to first child (temp 4-component vector of float)
-0:84 's' (temp 4-component vector of float)
-0:84 textureGatherOffset (global 4-component vector of float)
-0:84 'samp2DS' (uniform sampler2DShadow)
-0:84 Constant:
-0:84 0.300000
-0:84 0.300000
-0:84 Constant:
-0:84 1.300000
-0:84 Constant:
-0:84 1 (const int)
-0:84 1 (const int)
-0:85 move second child to first child (temp 4-component vector of float)
-0:85 's' (temp 4-component vector of float)
-0:85 textureGatherOffset (global 4-component vector of float)
-0:85 'samp2D' (uniform sampler2D)
-0:85 Constant:
-0:85 0.300000
-0:85 0.300000
-0:85 Constant:
-0:85 1 (const int)
-0:85 1 (const int)
-0:85 Constant:
-0:85 2 (const int)
-0:90 Function Definition: bar234( (global void)
-0:90 Function Parameters:
-0:? Sequence
-0:93 move second child to first child (temp 4-component vector of float)
-0:93 's' (temp 4-component vector of float)
-0:93 textureGatherOffset (global 4-component vector of float)
-0:93 'samp2D' (uniform sampler2D)
-0:93 Constant:
-0:93 0.300000
-0:93 0.300000
-0:93 Constant:
-0:93 1 (const int)
-0:93 1 (const int)
-0:94 move second child to first child (temp 4-component vector of float)
-0:94 's' (temp 4-component vector of float)
-0:94 textureGatherOffset (global 4-component vector of float)
-0:94 'samp2DA' (uniform sampler2DArray)
-0:94 Constant:
-0:94 0.300000
-0:94 0.300000
-0:94 0.300000
-0:94 Constant:
-0:94 1 (const int)
-0:94 1 (const int)
-0:95 move second child to first child (temp 4-component vector of float)
-0:95 's' (temp 4-component vector of float)
-0:95 textureGatherOffset (global 4-component vector of float)
-0:95 'samp2DR' (uniform sampler2DRect)
-0:95 Constant:
-0:95 0.300000
-0:95 0.300000
-0:95 Constant:
-0:95 1 (const int)
-0:95 1 (const int)
-0:96 move second child to first child (temp 4-component vector of float)
-0:96 's' (temp 4-component vector of float)
-0:96 textureGatherOffset (global 4-component vector of float)
-0:96 'samp2DS' (uniform sampler2DShadow)
-0:96 Constant:
-0:96 0.300000
-0:96 0.300000
-0:96 Constant:
-0:96 1.300000
-0:96 Constant:
-0:96 1 (const int)
-0:96 1 (const int)
-0:97 move second child to first child (temp 4-component vector of float)
-0:97 's' (temp 4-component vector of float)
-0:97 textureGatherOffset (global 4-component vector of float)
-0:97 'samp2D' (uniform sampler2D)
-0:97 Constant:
-0:97 0.300000
-0:97 0.300000
-0:97 Constant:
-0:97 1 (const int)
-0:97 1 (const int)
-0:97 Constant:
-0:97 2 (const int)
-0:107 Function Definition: bar235( (global void)
-0:107 Function Parameters:
-0:109 Sequence
-0:109 Sequence
-0:109 move second child to first child (temp 3-component vector of int)
-0:109 'a' (temp 3-component vector of int)
-0:109 textureSize (global 3-component vector of int)
-0:109 'Sca' (uniform samplerCubeArray)
-0:109 Constant:
-0:109 3 (const int)
-0:110 Sequence
-0:110 move second child to first child (temp 4-component vector of float)
-0:110 'b' (temp 4-component vector of float)
-0:110 texture (global 4-component vector of float)
-0:110 'Sca' (uniform samplerCubeArray)
-0:110 'i' (smooth in 4-component vector of float)
-0:111 Sequence
-0:111 move second child to first child (temp 4-component vector of int)
-0:111 'c' (temp 4-component vector of int)
-0:111 texture (global 4-component vector of int)
-0:111 'Isca' (uniform isamplerCubeArray)
-0:111 'i' (smooth in 4-component vector of float)
-0:111 Constant:
-0:111 0.700000
-0:112 Sequence
-0:112 move second child to first child (temp 4-component vector of uint)
-0:112 'd' (temp 4-component vector of uint)
-0:112 texture (global 4-component vector of uint)
-0:112 'Usca' (uniform usamplerCubeArray)
-0:112 'i' (smooth in 4-component vector of float)
-0:114 move second child to first child (temp 4-component vector of float)
-0:114 'b' (temp 4-component vector of float)
-0:114 textureLod (global 4-component vector of float)
-0:114 'Sca' (uniform samplerCubeArray)
-0:114 'i' (smooth in 4-component vector of float)
-0:114 Constant:
-0:114 1.700000
-0:115 move second child to first child (temp 3-component vector of int)
-0:115 'a' (temp 3-component vector of int)
-0:115 textureSize (global 3-component vector of int)
-0:115 'Scas' (uniform samplerCubeArrayShadow)
-0:115 direct index (temp int)
-0:115 'a' (temp 3-component vector of int)
-0:115 Constant:
-0:115 0 (const int)
-0:116 Sequence
-0:116 move second child to first child (temp float)
-0:116 'f' (temp float)
-0:116 texture (global float)
-0:116 'Scas' (uniform samplerCubeArrayShadow)
-0:116 'i' (smooth in 4-component vector of float)
-0:116 direct index (temp float)
-0:116 'b' (temp 4-component vector of float)
-0:116 Constant:
-0:116 1 (const int)
-0:117 move second child to first child (temp 4-component vector of int)
-0:117 'c' (temp 4-component vector of int)
-0:117 textureGrad (global 4-component vector of int)
-0:117 'Isca' (uniform isamplerCubeArray)
-0:117 'i' (smooth in 4-component vector of float)
-0:117 Constant:
-0:117 0.100000
-0:117 0.100000
-0:117 0.100000
-0:117 Constant:
-0:117 0.200000
-0:117 0.200000
-0:117 0.200000
-0:129 Function Definition: bar23444( (global void)
-0:129 Function Parameters:
-0:? Sequence
-0:132 Sequence
-0:132 move second child to first child (temp float)
-0:132 'a1' (temp float)
-0:132 direct index (temp float)
-0:132 direct index (temp 3-component vector of float)
-0:132 'm43' (temp 4X3 matrix of float)
-0:132 Constant:
-0:132 3 (const int)
-0:132 Constant:
-0:132 1 (const int)
-0:134 Sequence
-0:134 move second child to first child (temp int)
-0:134 'a2' (temp int)
-0:134 Constant:
-0:134 4 (const int)
-0:135 add second child into first child (temp int)
-0:135 'a2' (temp int)
-0:135 Constant:
-0:135 3 (const int)
-0:136 add second child into first child (temp int)
-0:136 'a2' (temp int)
-0:136 Constant:
-0:136 3 (const int)
-0:137 Sequence
-0:137 move second child to first child (temp float)
-0:137 'b' (const (read only) float)
-0:137 component-wise multiply (temp float)
-0:137 Constant:
-0:137 2.000000
-0:137 'a1' (temp float)
-0:138 move second child to first child (temp float)
-0:138 direct index (temp float)
-0:138 'a' (global 3-component vector of float)
-0:138 Constant:
-0:138 0 (const int)
-0:138 Constant:
-0:138 -1.000000
-0:140 Constant:
-0:140 0.000000
-0:141 Constant:
-0:141 0.000000
-0:143 Constant:
-0:143 1 (const int)
-0:162 Function Definition: qux2( (global void)
-0:162 Function Parameters:
-0:? Sequence
-0:165 imageAtomicCompSwap (global int)
-0:165 'iimg2D' (layout(r32i ) uniform iimage2D)
-0:165 Construct ivec2 (temp 2-component vector of int)
-0:165 'i' (temp int)
-0:165 'i' (temp int)
-0:165 'i' (temp int)
-0:165 'i' (temp int)
-0:166 Sequence
-0:166 move second child to first child (temp 4-component vector of int)
-0:166 'pos' (temp 4-component vector of int)
-0:166 imageLoad (global 4-component vector of int)
-0:166 'iimg2D' (layout(r32i ) uniform iimage2D)
-0:166 Construct ivec2 (temp 2-component vector of int)
-0:166 'i' (temp int)
-0:166 'i' (temp int)
-0:? Linker Objects
-0:? 'a' (global 3-component vector of float)
-0:? 'b' (global float)
-0:? 'c' (global int)
-0:? 'i' (smooth in 4-component vector of float)
-0:? 'o' (out 4-component vector of float)
-0:? 'fflat' (flat in float)
-0:? 'fsmooth' (smooth in float)
-0:? 'fnop' (noperspective in float)
-0:? 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
-0:? 'sampC' (uniform samplerCube)
-0:? 'gl_Color' (smooth in 4-component vector of float Color)
-0:? 'gl_Color' (flat in 4-component vector of float Color)
-0:? 'samp2D' (uniform sampler2D)
-0:? 'samp2DS' (uniform sampler2DShadow)
-0:? 'samp2DR' (uniform sampler2DRect)
-0:? 'samp2DA' (uniform sampler2DArray)
-0:? 'Sca' (uniform samplerCubeArray)
-0:? 'Isca' (uniform isamplerCubeArray)
-0:? 'Usca' (uniform usamplerCubeArray)
-0:? 'Scas' (uniform samplerCubeArrayShadow)
-0:? 'x' (global int)
-0:? 'ai' (const 3-element array of int)
-0:? 10 (const int)
-0:? 23 (const int)
-0:? 32 (const int)
-0:? 'instanceName' (layout(binding=0 column_major shared ) uniform block{layout(column_major shared ) uniform int a})
-0:? 'bounds' (layout(binding=0 ) uniform sampler2D)
-0:? 'gl_FogFragCoord' (smooth in float)
-0:? 'iimg2Dbad' (layout(r32i ) uniform iimage2D)
-0:? 'iimg2D' (layout(r32i ) uniform iimage2D)
-
+130.frag
+ERROR: 0:25: 'textureGather(...)' : not supported for this version or the enabled extensions
+ERROR: 0:35: 'redeclaration' : cannot change the type of gl_Color
+ERROR: 0:38: 'gl_Color' : redeclaring non-array as array
+ERROR: 0:39: 'redeclaration' : cannot change storage, memory, or auxiliary qualification of gl_Color
+WARNING: 0:45: extension GL_ARB_texture_gather is being used for textureGather(...)
+ERROR: 0:62: '<' : wrong operand types: no operation '<' exists that takes a left-hand operand of type 'temp 3-component vector of bool' and a right operand of type 'temp 3-component vector of bool' (or there is no acceptable conversion)
+ERROR: 0:63: '>' : wrong operand types: no operation '>' exists that takes a left-hand operand of type 'temp 3-component vector of uint' and a right operand of type 'temp 3-component vector of uint' (or there is no acceptable conversion)
+ERROR: 0:64: '>=' : wrong operand types: no operation '>=' exists that takes a left-hand operand of type 'const 2-component vector of uint' and a right operand of type 'const 2-component vector of uint' (or there is no acceptable conversion)
+ERROR: 0:80: 'textureGatherOffset' : no matching overloaded function found
+ERROR: 0:80: 'assign' : cannot convert from 'const float' to 'temp 4-component vector of float'
+ERROR: 0:81: 'textureGatherOffset(...)' : not supported for this version or the enabled extensions
+ERROR: 0:84: 'textureGatherOffset(...)' : not supported for this version or the enabled extensions
+ERROR: 0:85: 'textureGatherOffset(...)' : not supported for this version or the enabled extensions
+WARNING: 0:88: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5
+ERROR: 0:120: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:126: 'uniform block' : not supported for this version or the enabled extensions
+ERROR: 0:140: 'length' : does not operate on this type: temp bool
+ERROR: 0:140: 'boolb' : can't use function syntax on variable
+ERROR: 0:141: 'length' : does not operate on this type: temp float
+ERROR: 0:141: '' : function call, method, or subroutine call expected
+ERROR: 0:141: '' : no matching overloaded function found
+ERROR: 0:142: 'length' : incomplete method syntax
+ERROR: 0:143: 'length' : method does not accept any arguments
+ERROR: 0:146: 'gl_FogFragCoord' : identifiers starting with "gl_" are reserved
+ERROR: 0:151: 'int' : must be qualified as flat in
+ERROR: 0:151: 'redeclaration' : cannot change the type of gl_FogFragCoord
+ERROR: 0:153: 'early_fragment_tests' : not supported for this version or the enabled extensions
+ERROR: 0:154: 'image load store' : not supported for this version or the enabled extensions
+ERROR: 0:154: 'iimage2D' : Reserved word.
+ERROR: 0:169: 'early_fragment_tests' : can only apply to 'in'
+ERROR: 28 compilation errors. No code generated.
+
+
+Shader version: 130
+Requested GL_ARB_gpu_shader5
+Requested GL_ARB_separate_shader_objects
+Requested GL_ARB_shader_image_load_store
+Requested GL_ARB_shading_language_420pack
+Requested GL_ARB_texture_cube_map_array
+Requested GL_ARB_texture_gather
+Requested GL_ARB_texture_rectangle
+using early_fragment_tests
+ERROR: node is still EOpNull!
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:18 Sequence
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'clip' (temp float)
+0:18 direct index (smooth temp float ClipDistance)
+0:18 'gl_ClipDistance' (smooth in implicitly-sized array of float ClipDistance)
+0:18 Constant:
+0:18 3 (const int)
+0:23 Function Definition: foo( (global void)
+0:23 Function Parameters:
+0:25 Sequence
+0:25 Sequence
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 's' (temp 4-component vector of float)
+0:25 textureGather (global 4-component vector of float)
+0:25 'sampC' (uniform samplerCube)
+0:25 Constant:
+0:25 0.200000
+0:25 0.200000
+0:25 0.200000
+0:30 Function Definition: bar( (global void)
+0:30 Function Parameters:
+0:32 Sequence
+0:32 Sequence
+0:32 move second child to first child (temp 4-component vector of float)
+0:32 's' (temp 4-component vector of float)
+0:32 textureGather (global 4-component vector of float)
+0:32 'sampC' (uniform samplerCube)
+0:32 Constant:
+0:32 0.200000
+0:32 0.200000
+0:32 0.200000
+0:43 Function Definition: bar2( (global void)
+0:43 Function Parameters:
+0:45 Sequence
+0:45 Sequence
+0:45 move second child to first child (temp 4-component vector of float)
+0:45 's' (temp 4-component vector of float)
+0:45 textureGather (global 4-component vector of float)
+0:45 'sampC' (uniform samplerCube)
+0:45 Constant:
+0:45 0.200000
+0:45 0.200000
+0:45 0.200000
+0:49 move second child to first child (temp 3-component vector of bool)
+0:49 'b3' (temp 3-component vector of bool)
+0:49 Compare Less Than (global 3-component vector of bool)
+0:49 'uv3' (temp 3-component vector of uint)
+0:49 'uv3' (temp 3-component vector of uint)
+0:50 move second child to first child (temp 3-component vector of bool)
+0:50 'b3' (temp 3-component vector of bool)
+0:50 Equal (global 3-component vector of bool)
+0:50 'uv3' (temp 3-component vector of uint)
+0:50 'uv3' (temp 3-component vector of uint)
+0:56 direct index (temp int)
+0:56 'a1' (temp 1-element array of int)
+0:56 Constant:
+0:56 0 (const int)
+0:57 direct index (temp int)
+0:57 'a2' (temp 1-element array of int)
+0:57 Constant:
+0:57 0 (const int)
+0:60 direct index (temp int)
+0:60 'a3' (temp 4-element array of int)
+0:60 Constant:
+0:60 3 (const int)
+0:61 Compare Not Equal (temp bool)
+0:61 'b3' (temp 3-component vector of bool)
+0:61 'b3' (temp 3-component vector of bool)
+0:62 Constant:
+0:62 false (const bool)
+0:63 Constant:
+0:63 false (const bool)
+0:64 Constant:
+0:64 false (const bool)
+0:65 Constant:
+0:65 true (const bool)
+0:66 Constant:
+0:66 false (const bool)
+0:77 Function Definition: bar23( (global void)
+0:77 Function Parameters:
+0:? Sequence
+0:80 's' (temp 4-component vector of float)
+0:81 move second child to first child (temp 4-component vector of float)
+0:81 's' (temp 4-component vector of float)
+0:81 textureGatherOffset (global 4-component vector of float)
+0:81 'samp2DR' (uniform sampler2DRect)
+0:81 Constant:
+0:81 0.300000
+0:81 0.300000
+0:81 Constant:
+0:81 1 (const int)
+0:81 1 (const int)
+0:82 move second child to first child (temp 4-component vector of float)
+0:82 's' (temp 4-component vector of float)
+0:82 textureGatherOffset (global 4-component vector of float)
+0:82 'samp2D' (uniform sampler2D)
+0:82 Constant:
+0:82 0.300000
+0:82 0.300000
+0:82 Constant:
+0:82 1 (const int)
+0:82 1 (const int)
+0:83 move second child to first child (temp 4-component vector of float)
+0:83 's' (temp 4-component vector of float)
+0:83 textureGatherOffset (global 4-component vector of float)
+0:83 'samp2DA' (uniform sampler2DArray)
+0:83 Constant:
+0:83 0.300000
+0:83 0.300000
+0:83 0.300000
+0:83 Constant:
+0:83 1 (const int)
+0:83 1 (const int)
+0:84 move second child to first child (temp 4-component vector of float)
+0:84 's' (temp 4-component vector of float)
+0:84 textureGatherOffset (global 4-component vector of float)
+0:84 'samp2DS' (uniform sampler2DShadow)
+0:84 Constant:
+0:84 0.300000
+0:84 0.300000
+0:84 Constant:
+0:84 1.300000
+0:84 Constant:
+0:84 1 (const int)
+0:84 1 (const int)
+0:85 move second child to first child (temp 4-component vector of float)
+0:85 's' (temp 4-component vector of float)
+0:85 textureGatherOffset (global 4-component vector of float)
+0:85 'samp2D' (uniform sampler2D)
+0:85 Constant:
+0:85 0.300000
+0:85 0.300000
+0:85 Constant:
+0:85 1 (const int)
+0:85 1 (const int)
+0:85 Constant:
+0:85 2 (const int)
+0:90 Function Definition: bar234( (global void)
+0:90 Function Parameters:
+0:? Sequence
+0:93 move second child to first child (temp 4-component vector of float)
+0:93 's' (temp 4-component vector of float)
+0:93 textureGatherOffset (global 4-component vector of float)
+0:93 'samp2D' (uniform sampler2D)
+0:93 Constant:
+0:93 0.300000
+0:93 0.300000
+0:93 Constant:
+0:93 1 (const int)
+0:93 1 (const int)
+0:94 move second child to first child (temp 4-component vector of float)
+0:94 's' (temp 4-component vector of float)
+0:94 textureGatherOffset (global 4-component vector of float)
+0:94 'samp2DA' (uniform sampler2DArray)
+0:94 Constant:
+0:94 0.300000
+0:94 0.300000
+0:94 0.300000
+0:94 Constant:
+0:94 1 (const int)
+0:94 1 (const int)
+0:95 move second child to first child (temp 4-component vector of float)
+0:95 's' (temp 4-component vector of float)
+0:95 textureGatherOffset (global 4-component vector of float)
+0:95 'samp2DR' (uniform sampler2DRect)
+0:95 Constant:
+0:95 0.300000
+0:95 0.300000
+0:95 Constant:
+0:95 1 (const int)
+0:95 1 (const int)
+0:96 move second child to first child (temp 4-component vector of float)
+0:96 's' (temp 4-component vector of float)
+0:96 textureGatherOffset (global 4-component vector of float)
+0:96 'samp2DS' (uniform sampler2DShadow)
+0:96 Constant:
+0:96 0.300000
+0:96 0.300000
+0:96 Constant:
+0:96 1.300000
+0:96 Constant:
+0:96 1 (const int)
+0:96 1 (const int)
+0:97 move second child to first child (temp 4-component vector of float)
+0:97 's' (temp 4-component vector of float)
+0:97 textureGatherOffset (global 4-component vector of float)
+0:97 'samp2D' (uniform sampler2D)
+0:97 Constant:
+0:97 0.300000
+0:97 0.300000
+0:97 Constant:
+0:97 1 (const int)
+0:97 1 (const int)
+0:97 Constant:
+0:97 2 (const int)
+0:107 Function Definition: bar235( (global void)
+0:107 Function Parameters:
+0:109 Sequence
+0:109 Sequence
+0:109 move second child to first child (temp 3-component vector of int)
+0:109 'a' (temp 3-component vector of int)
+0:109 textureSize (global 3-component vector of int)
+0:109 'Sca' (uniform samplerCubeArray)
+0:109 Constant:
+0:109 3 (const int)
+0:110 Sequence
+0:110 move second child to first child (temp 4-component vector of float)
+0:110 'b' (temp 4-component vector of float)
+0:110 texture (global 4-component vector of float)
+0:110 'Sca' (uniform samplerCubeArray)
+0:110 'i' (smooth in 4-component vector of float)
+0:111 Sequence
+0:111 move second child to first child (temp 4-component vector of int)
+0:111 'c' (temp 4-component vector of int)
+0:111 texture (global 4-component vector of int)
+0:111 'Isca' (uniform isamplerCubeArray)
+0:111 'i' (smooth in 4-component vector of float)
+0:111 Constant:
+0:111 0.700000
+0:112 Sequence
+0:112 move second child to first child (temp 4-component vector of uint)
+0:112 'd' (temp 4-component vector of uint)
+0:112 texture (global 4-component vector of uint)
+0:112 'Usca' (uniform usamplerCubeArray)
+0:112 'i' (smooth in 4-component vector of float)
+0:114 move second child to first child (temp 4-component vector of float)
+0:114 'b' (temp 4-component vector of float)
+0:114 textureLod (global 4-component vector of float)
+0:114 'Sca' (uniform samplerCubeArray)
+0:114 'i' (smooth in 4-component vector of float)
+0:114 Constant:
+0:114 1.700000
+0:115 move second child to first child (temp 3-component vector of int)
+0:115 'a' (temp 3-component vector of int)
+0:115 textureSize (global 3-component vector of int)
+0:115 'Scas' (uniform samplerCubeArrayShadow)
+0:115 direct index (temp int)
+0:115 'a' (temp 3-component vector of int)
+0:115 Constant:
+0:115 0 (const int)
+0:116 Sequence
+0:116 move second child to first child (temp float)
+0:116 'f' (temp float)
+0:116 texture (global float)
+0:116 'Scas' (uniform samplerCubeArrayShadow)
+0:116 'i' (smooth in 4-component vector of float)
+0:116 direct index (temp float)
+0:116 'b' (temp 4-component vector of float)
+0:116 Constant:
+0:116 1 (const int)
+0:117 move second child to first child (temp 4-component vector of int)
+0:117 'c' (temp 4-component vector of int)
+0:117 textureGrad (global 4-component vector of int)
+0:117 'Isca' (uniform isamplerCubeArray)
+0:117 'i' (smooth in 4-component vector of float)
+0:117 Constant:
+0:117 0.100000
+0:117 0.100000
+0:117 0.100000
+0:117 Constant:
+0:117 0.200000
+0:117 0.200000
+0:117 0.200000
+0:129 Function Definition: bar23444( (global void)
+0:129 Function Parameters:
+0:? Sequence
+0:132 Sequence
+0:132 move second child to first child (temp float)
+0:132 'a1' (temp float)
+0:132 direct index (temp float)
+0:132 direct index (temp 3-component vector of float)
+0:132 'm43' (temp 4X3 matrix of float)
+0:132 Constant:
+0:132 3 (const int)
+0:132 Constant:
+0:132 1 (const int)
+0:134 Sequence
+0:134 move second child to first child (temp int)
+0:134 'a2' (temp int)
+0:134 Constant:
+0:134 4 (const int)
+0:135 add second child into first child (temp int)
+0:135 'a2' (temp int)
+0:135 Constant:
+0:135 3 (const int)
+0:136 add second child into first child (temp int)
+0:136 'a2' (temp int)
+0:136 Constant:
+0:136 3 (const int)
+0:137 Sequence
+0:137 move second child to first child (temp float)
+0:137 'b' (const (read only) float)
+0:137 component-wise multiply (temp float)
+0:137 Constant:
+0:137 2.000000
+0:137 'a1' (temp float)
+0:138 move second child to first child (temp float)
+0:138 direct index (temp float)
+0:138 'a' (global 3-component vector of float)
+0:138 Constant:
+0:138 0 (const int)
+0:138 Constant:
+0:138 -1.000000
+0:140 Constant:
+0:140 0.000000
+0:141 Constant:
+0:141 0.000000
+0:143 Constant:
+0:143 1 (const int)
+0:162 Function Definition: qux2( (global void)
+0:162 Function Parameters:
+0:? Sequence
+0:165 imageAtomicCompSwap (global int)
+0:165 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:165 Construct ivec2 (temp 2-component vector of int)
+0:165 'i' (temp int)
+0:165 'i' (temp int)
+0:165 'i' (temp int)
+0:165 'i' (temp int)
+0:166 Sequence
+0:166 move second child to first child (temp 4-component vector of int)
+0:166 'pos' (temp 4-component vector of int)
+0:166 imageLoad (global 4-component vector of int)
+0:166 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:166 Construct ivec2 (temp 2-component vector of int)
+0:166 'i' (temp int)
+0:166 'i' (temp int)
+0:? Linker Objects
+0:? 'a' (global 3-component vector of float)
+0:? 'b' (global float)
+0:? 'c' (global int)
+0:? 'i' (smooth in 4-component vector of float)
+0:? 'o' (out 4-component vector of float)
+0:? 'fflat' (flat in float)
+0:? 'fsmooth' (smooth in float)
+0:? 'fnop' (noperspective in float)
+0:? 'gl_ClipDistance' (smooth in implicitly-sized array of float ClipDistance)
+0:? 'sampC' (uniform samplerCube)
+0:? 'gl_Color' (smooth in 4-component vector of float Color)
+0:? 'gl_Color' (flat in 4-component vector of float Color)
+0:? 'samp2D' (uniform sampler2D)
+0:? 'samp2DS' (uniform sampler2DShadow)
+0:? 'samp2DR' (uniform sampler2DRect)
+0:? 'samp2DA' (uniform sampler2DArray)
+0:? 'Sca' (uniform samplerCubeArray)
+0:? 'Isca' (uniform isamplerCubeArray)
+0:? 'Usca' (uniform usamplerCubeArray)
+0:? 'Scas' (uniform samplerCubeArrayShadow)
+0:? 'x' (global int)
+0:? 'ai' (const 3-element array of int)
+0:? 10 (const int)
+0:? 23 (const int)
+0:? 32 (const int)
+0:? 'instanceName' (layout(binding=0 column_major shared ) uniform block{layout(column_major shared ) uniform int a})
+0:? 'bounds' (layout(binding=0 ) uniform sampler2D)
+0:? 'gl_FogFragCoord' (smooth in float)
+0:? 'iimg2Dbad' (layout(r32i ) uniform iimage2D)
+0:? 'iimg2D' (layout(r32i ) uniform iimage2D)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+Requested GL_ARB_gpu_shader5
+Requested GL_ARB_separate_shader_objects
+Requested GL_ARB_shader_image_load_store
+Requested GL_ARB_shading_language_420pack
+Requested GL_ARB_texture_cube_map_array
+Requested GL_ARB_texture_gather
+Requested GL_ARB_texture_rectangle
+using early_fragment_tests
+ERROR: node is still EOpNull!
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:18 Sequence
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'clip' (temp float)
+0:18 direct index (smooth temp float ClipDistance)
+0:18 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
+0:18 Constant:
+0:18 3 (const int)
+0:23 Function Definition: foo( (global void)
+0:23 Function Parameters:
+0:25 Sequence
+0:25 Sequence
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 's' (temp 4-component vector of float)
+0:25 textureGather (global 4-component vector of float)
+0:25 'sampC' (uniform samplerCube)
+0:25 Constant:
+0:25 0.200000
+0:25 0.200000
+0:25 0.200000
+0:30 Function Definition: bar( (global void)
+0:30 Function Parameters:
+0:32 Sequence
+0:32 Sequence
+0:32 move second child to first child (temp 4-component vector of float)
+0:32 's' (temp 4-component vector of float)
+0:32 textureGather (global 4-component vector of float)
+0:32 'sampC' (uniform samplerCube)
+0:32 Constant:
+0:32 0.200000
+0:32 0.200000
+0:32 0.200000
+0:43 Function Definition: bar2( (global void)
+0:43 Function Parameters:
+0:45 Sequence
+0:45 Sequence
+0:45 move second child to first child (temp 4-component vector of float)
+0:45 's' (temp 4-component vector of float)
+0:45 textureGather (global 4-component vector of float)
+0:45 'sampC' (uniform samplerCube)
+0:45 Constant:
+0:45 0.200000
+0:45 0.200000
+0:45 0.200000
+0:49 move second child to first child (temp 3-component vector of bool)
+0:49 'b3' (temp 3-component vector of bool)
+0:49 Compare Less Than (global 3-component vector of bool)
+0:49 'uv3' (temp 3-component vector of uint)
+0:49 'uv3' (temp 3-component vector of uint)
+0:50 move second child to first child (temp 3-component vector of bool)
+0:50 'b3' (temp 3-component vector of bool)
+0:50 Equal (global 3-component vector of bool)
+0:50 'uv3' (temp 3-component vector of uint)
+0:50 'uv3' (temp 3-component vector of uint)
+0:56 direct index (temp int)
+0:56 'a1' (temp 1-element array of int)
+0:56 Constant:
+0:56 0 (const int)
+0:57 direct index (temp int)
+0:57 'a2' (temp 1-element array of int)
+0:57 Constant:
+0:57 0 (const int)
+0:60 direct index (temp int)
+0:60 'a3' (temp 4-element array of int)
+0:60 Constant:
+0:60 3 (const int)
+0:61 Compare Not Equal (temp bool)
+0:61 'b3' (temp 3-component vector of bool)
+0:61 'b3' (temp 3-component vector of bool)
+0:62 Constant:
+0:62 false (const bool)
+0:63 Constant:
+0:63 false (const bool)
+0:64 Constant:
+0:64 false (const bool)
+0:65 Constant:
+0:65 true (const bool)
+0:66 Constant:
+0:66 false (const bool)
+0:77 Function Definition: bar23( (global void)
+0:77 Function Parameters:
+0:? Sequence
+0:80 's' (temp 4-component vector of float)
+0:81 move second child to first child (temp 4-component vector of float)
+0:81 's' (temp 4-component vector of float)
+0:81 textureGatherOffset (global 4-component vector of float)
+0:81 'samp2DR' (uniform sampler2DRect)
+0:81 Constant:
+0:81 0.300000
+0:81 0.300000
+0:81 Constant:
+0:81 1 (const int)
+0:81 1 (const int)
+0:82 move second child to first child (temp 4-component vector of float)
+0:82 's' (temp 4-component vector of float)
+0:82 textureGatherOffset (global 4-component vector of float)
+0:82 'samp2D' (uniform sampler2D)
+0:82 Constant:
+0:82 0.300000
+0:82 0.300000
+0:82 Constant:
+0:82 1 (const int)
+0:82 1 (const int)
+0:83 move second child to first child (temp 4-component vector of float)
+0:83 's' (temp 4-component vector of float)
+0:83 textureGatherOffset (global 4-component vector of float)
+0:83 'samp2DA' (uniform sampler2DArray)
+0:83 Constant:
+0:83 0.300000
+0:83 0.300000
+0:83 0.300000
+0:83 Constant:
+0:83 1 (const int)
+0:83 1 (const int)
+0:84 move second child to first child (temp 4-component vector of float)
+0:84 's' (temp 4-component vector of float)
+0:84 textureGatherOffset (global 4-component vector of float)
+0:84 'samp2DS' (uniform sampler2DShadow)
+0:84 Constant:
+0:84 0.300000
+0:84 0.300000
+0:84 Constant:
+0:84 1.300000
+0:84 Constant:
+0:84 1 (const int)
+0:84 1 (const int)
+0:85 move second child to first child (temp 4-component vector of float)
+0:85 's' (temp 4-component vector of float)
+0:85 textureGatherOffset (global 4-component vector of float)
+0:85 'samp2D' (uniform sampler2D)
+0:85 Constant:
+0:85 0.300000
+0:85 0.300000
+0:85 Constant:
+0:85 1 (const int)
+0:85 1 (const int)
+0:85 Constant:
+0:85 2 (const int)
+0:90 Function Definition: bar234( (global void)
+0:90 Function Parameters:
+0:? Sequence
+0:93 move second child to first child (temp 4-component vector of float)
+0:93 's' (temp 4-component vector of float)
+0:93 textureGatherOffset (global 4-component vector of float)
+0:93 'samp2D' (uniform sampler2D)
+0:93 Constant:
+0:93 0.300000
+0:93 0.300000
+0:93 Constant:
+0:93 1 (const int)
+0:93 1 (const int)
+0:94 move second child to first child (temp 4-component vector of float)
+0:94 's' (temp 4-component vector of float)
+0:94 textureGatherOffset (global 4-component vector of float)
+0:94 'samp2DA' (uniform sampler2DArray)
+0:94 Constant:
+0:94 0.300000
+0:94 0.300000
+0:94 0.300000
+0:94 Constant:
+0:94 1 (const int)
+0:94 1 (const int)
+0:95 move second child to first child (temp 4-component vector of float)
+0:95 's' (temp 4-component vector of float)
+0:95 textureGatherOffset (global 4-component vector of float)
+0:95 'samp2DR' (uniform sampler2DRect)
+0:95 Constant:
+0:95 0.300000
+0:95 0.300000
+0:95 Constant:
+0:95 1 (const int)
+0:95 1 (const int)
+0:96 move second child to first child (temp 4-component vector of float)
+0:96 's' (temp 4-component vector of float)
+0:96 textureGatherOffset (global 4-component vector of float)
+0:96 'samp2DS' (uniform sampler2DShadow)
+0:96 Constant:
+0:96 0.300000
+0:96 0.300000
+0:96 Constant:
+0:96 1.300000
+0:96 Constant:
+0:96 1 (const int)
+0:96 1 (const int)
+0:97 move second child to first child (temp 4-component vector of float)
+0:97 's' (temp 4-component vector of float)
+0:97 textureGatherOffset (global 4-component vector of float)
+0:97 'samp2D' (uniform sampler2D)
+0:97 Constant:
+0:97 0.300000
+0:97 0.300000
+0:97 Constant:
+0:97 1 (const int)
+0:97 1 (const int)
+0:97 Constant:
+0:97 2 (const int)
+0:107 Function Definition: bar235( (global void)
+0:107 Function Parameters:
+0:109 Sequence
+0:109 Sequence
+0:109 move second child to first child (temp 3-component vector of int)
+0:109 'a' (temp 3-component vector of int)
+0:109 textureSize (global 3-component vector of int)
+0:109 'Sca' (uniform samplerCubeArray)
+0:109 Constant:
+0:109 3 (const int)
+0:110 Sequence
+0:110 move second child to first child (temp 4-component vector of float)
+0:110 'b' (temp 4-component vector of float)
+0:110 texture (global 4-component vector of float)
+0:110 'Sca' (uniform samplerCubeArray)
+0:110 'i' (smooth in 4-component vector of float)
+0:111 Sequence
+0:111 move second child to first child (temp 4-component vector of int)
+0:111 'c' (temp 4-component vector of int)
+0:111 texture (global 4-component vector of int)
+0:111 'Isca' (uniform isamplerCubeArray)
+0:111 'i' (smooth in 4-component vector of float)
+0:111 Constant:
+0:111 0.700000
+0:112 Sequence
+0:112 move second child to first child (temp 4-component vector of uint)
+0:112 'd' (temp 4-component vector of uint)
+0:112 texture (global 4-component vector of uint)
+0:112 'Usca' (uniform usamplerCubeArray)
+0:112 'i' (smooth in 4-component vector of float)
+0:114 move second child to first child (temp 4-component vector of float)
+0:114 'b' (temp 4-component vector of float)
+0:114 textureLod (global 4-component vector of float)
+0:114 'Sca' (uniform samplerCubeArray)
+0:114 'i' (smooth in 4-component vector of float)
+0:114 Constant:
+0:114 1.700000
+0:115 move second child to first child (temp 3-component vector of int)
+0:115 'a' (temp 3-component vector of int)
+0:115 textureSize (global 3-component vector of int)
+0:115 'Scas' (uniform samplerCubeArrayShadow)
+0:115 direct index (temp int)
+0:115 'a' (temp 3-component vector of int)
+0:115 Constant:
+0:115 0 (const int)
+0:116 Sequence
+0:116 move second child to first child (temp float)
+0:116 'f' (temp float)
+0:116 texture (global float)
+0:116 'Scas' (uniform samplerCubeArrayShadow)
+0:116 'i' (smooth in 4-component vector of float)
+0:116 direct index (temp float)
+0:116 'b' (temp 4-component vector of float)
+0:116 Constant:
+0:116 1 (const int)
+0:117 move second child to first child (temp 4-component vector of int)
+0:117 'c' (temp 4-component vector of int)
+0:117 textureGrad (global 4-component vector of int)
+0:117 'Isca' (uniform isamplerCubeArray)
+0:117 'i' (smooth in 4-component vector of float)
+0:117 Constant:
+0:117 0.100000
+0:117 0.100000
+0:117 0.100000
+0:117 Constant:
+0:117 0.200000
+0:117 0.200000
+0:117 0.200000
+0:129 Function Definition: bar23444( (global void)
+0:129 Function Parameters:
+0:? Sequence
+0:132 Sequence
+0:132 move second child to first child (temp float)
+0:132 'a1' (temp float)
+0:132 direct index (temp float)
+0:132 direct index (temp 3-component vector of float)
+0:132 'm43' (temp 4X3 matrix of float)
+0:132 Constant:
+0:132 3 (const int)
+0:132 Constant:
+0:132 1 (const int)
+0:134 Sequence
+0:134 move second child to first child (temp int)
+0:134 'a2' (temp int)
+0:134 Constant:
+0:134 4 (const int)
+0:135 add second child into first child (temp int)
+0:135 'a2' (temp int)
+0:135 Constant:
+0:135 3 (const int)
+0:136 add second child into first child (temp int)
+0:136 'a2' (temp int)
+0:136 Constant:
+0:136 3 (const int)
+0:137 Sequence
+0:137 move second child to first child (temp float)
+0:137 'b' (const (read only) float)
+0:137 component-wise multiply (temp float)
+0:137 Constant:
+0:137 2.000000
+0:137 'a1' (temp float)
+0:138 move second child to first child (temp float)
+0:138 direct index (temp float)
+0:138 'a' (global 3-component vector of float)
+0:138 Constant:
+0:138 0 (const int)
+0:138 Constant:
+0:138 -1.000000
+0:140 Constant:
+0:140 0.000000
+0:141 Constant:
+0:141 0.000000
+0:143 Constant:
+0:143 1 (const int)
+0:162 Function Definition: qux2( (global void)
+0:162 Function Parameters:
+0:? Sequence
+0:165 imageAtomicCompSwap (global int)
+0:165 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:165 Construct ivec2 (temp 2-component vector of int)
+0:165 'i' (temp int)
+0:165 'i' (temp int)
+0:165 'i' (temp int)
+0:165 'i' (temp int)
+0:166 Sequence
+0:166 move second child to first child (temp 4-component vector of int)
+0:166 'pos' (temp 4-component vector of int)
+0:166 imageLoad (global 4-component vector of int)
+0:166 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:166 Construct ivec2 (temp 2-component vector of int)
+0:166 'i' (temp int)
+0:166 'i' (temp int)
+0:? Linker Objects
+0:? 'a' (global 3-component vector of float)
+0:? 'b' (global float)
+0:? 'c' (global int)
+0:? 'i' (smooth in 4-component vector of float)
+0:? 'o' (out 4-component vector of float)
+0:? 'fflat' (flat in float)
+0:? 'fsmooth' (smooth in float)
+0:? 'fnop' (noperspective in float)
+0:? 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
+0:? 'sampC' (uniform samplerCube)
+0:? 'gl_Color' (smooth in 4-component vector of float Color)
+0:? 'gl_Color' (flat in 4-component vector of float Color)
+0:? 'samp2D' (uniform sampler2D)
+0:? 'samp2DS' (uniform sampler2DShadow)
+0:? 'samp2DR' (uniform sampler2DRect)
+0:? 'samp2DA' (uniform sampler2DArray)
+0:? 'Sca' (uniform samplerCubeArray)
+0:? 'Isca' (uniform isamplerCubeArray)
+0:? 'Usca' (uniform usamplerCubeArray)
+0:? 'Scas' (uniform samplerCubeArrayShadow)
+0:? 'x' (global int)
+0:? 'ai' (const 3-element array of int)
+0:? 10 (const int)
+0:? 23 (const int)
+0:? 32 (const int)
+0:? 'instanceName' (layout(binding=0 column_major shared ) uniform block{layout(column_major shared ) uniform int a})
+0:? 'bounds' (layout(binding=0 ) uniform sampler2D)
+0:? 'gl_FogFragCoord' (smooth in float)
+0:? 'iimg2Dbad' (layout(r32i ) uniform iimage2D)
+0:? 'iimg2D' (layout(r32i ) uniform iimage2D)
+
diff --git a/Test/baseResults/130.vert.out b/Test/baseResults/130.vert.out
index cbfe39f..7cfeb19 100644
--- a/Test/baseResults/130.vert.out
+++ b/Test/baseResults/130.vert.out
@@ -1,303 +1,303 @@
-130.vert
-ERROR: 0:59: 'gl_InstanceID' : undeclared identifier
-ERROR: 0:59: '=' : cannot convert from 'temp float' to 'temp int'
-ERROR: 0:61: 'texelFetch' : no matching overloaded function found
-ERROR: 0:61: 'assign' : cannot convert from 'const float' to 'temp int'
-ERROR: 0:75: '##' : token pasting not implemented (internal error)
-ERROR: 0:75: '' : syntax error
-ERROR: 6 compilation errors. No code generated.
-
-
-Shader version: 130
-ERROR: node is still EOpNull!
-0:15 Function Definition: main( (global void)
-0:15 Function Parameters:
-0:17 Sequence
-0:17 Sequence
-0:17 move second child to first child (temp float)
-0:17 'f' (temp float)
-0:17 Constant:
-0:17 3.000000
-0:18 switch
-0:18 condition
-0:18 'c' (uniform int)
-0:18 body
-0:18 Sequence
-0:19 case: with expression
-0:19 Constant:
-0:19 1 (const int)
-0:? Sequence
-0:20 move second child to first child (temp float)
-0:20 'f' (temp float)
-0:20 sine (global float)
-0:20 'f' (temp float)
-0:21 Branch: Break
-0:22 case: with expression
-0:22 Constant:
-0:22 2 (const int)
-0:? Sequence
-0:23 move second child to first child (temp float)
-0:23 'f' (temp float)
-0:23 component-wise multiply (temp float)
-0:23 'f' (temp float)
-0:23 'f' (temp float)
-0:24 default:
-0:? Sequence
-0:25 move second child to first child (temp float)
-0:25 'f' (temp float)
-0:25 Constant:
-0:25 3.000000
-0:29 move second child to first child (temp uint)
-0:29 'i' (temp uint)
-0:29 direct index (temp uint)
-0:29 texture (global 4-component vector of uint)
-0:29 'us2D' (uniform usampler2D)
-0:29 Convert int to float (temp 2-component vector of float)
-0:29 'x' (in 2-component vector of int)
-0:29 Constant:
-0:29 3 (const int)
-0:30 inclusive-or (temp uint)
-0:30 left-shift (temp uint)
-0:30 'i' (temp uint)
-0:30 Constant:
-0:30 3 (const uint)
-0:30 Constant:
-0:30 69 (const uint)
-0:33 Sequence
-0:33 move second child to first child (temp 3-component vector of float)
-0:33 'v11' (temp 3-component vector of float)
-0:33 modf (global 3-component vector of float)
-0:33 'modfIn' (temp 3-component vector of float)
-0:33 'modfOut' (temp 3-component vector of float)
-0:34 Sequence
-0:34 move second child to first child (temp float)
-0:34 't' (temp float)
-0:34 trunc (global float)
-0:34 'f' (temp float)
-0:35 Sequence
-0:35 move second child to first child (temp 2-component vector of float)
-0:35 'v12' (temp 2-component vector of float)
-0:35 round (global 2-component vector of float)
-0:35 'v2a' (in 2-component vector of float)
-0:36 Sequence
-0:36 move second child to first child (temp 2-component vector of float)
-0:36 'v13' (temp 2-component vector of float)
-0:36 roundEven (global 2-component vector of float)
-0:36 'v2a' (in 2-component vector of float)
-0:37 Sequence
-0:37 move second child to first child (temp 2-component vector of bool)
-0:37 'b10' (temp 2-component vector of bool)
-0:37 isnan (global 2-component vector of bool)
-0:37 'v2a' (in 2-component vector of float)
-0:38 Sequence
-0:38 move second child to first child (temp 4-component vector of bool)
-0:38 'b11' (temp 4-component vector of bool)
-0:38 isinf (global 4-component vector of bool)
-0:38 'v4' (uniform 4-component vector of float)
-0:40 add (temp 2-component vector of float)
-0:40 hyp. sine (global float)
-0:40 'c1D' (in float)
-0:41 vector-scale (temp 2-component vector of float)
-0:41 hyp. cosine (global float)
-0:41 'c1D' (in float)
-0:41 hyp. tangent (global 2-component vector of float)
-0:41 'c2D' (in 2-component vector of float)
-0:42 add (temp 4-component vector of float)
-0:42 arc hyp. sine (global 4-component vector of float)
-0:42 'c4D' (smooth temp 4-component vector of float)
-0:42 arc hyp. cosine (global 4-component vector of float)
-0:42 'c4D' (smooth temp 4-component vector of float)
-0:43 arc hyp. tangent (global 3-component vector of float)
-0:43 'c3D' (in 3-component vector of float)
-0:45 Sequence
-0:45 move second child to first child (temp int)
-0:45 'id' (temp int)
-0:45 'gl_VertexID' (gl_VertexId int VertexId)
-0:46 move second child to first child (temp float)
-0:46 direct index (smooth temp float ClipDistance)
-0:46 'gl_ClipDistance' (smooth out implicitly-sized array of float ClipDistance)
-0:46 Constant:
-0:46 1 (const int)
-0:46 Constant:
-0:46 0.300000
-0:57 Function Definition: foo88( (global void)
-0:57 Function Parameters:
-0:? Sequence
-0:61 'id' (temp int)
-0:63 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
-0:64 'gl_Color' (in 4-component vector of float Color)
-0:65 direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
-0:65 'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
-0:65 Constant:
-0:65 0 (const int)
-0:66 far: direct index for structure (global float)
-0:66 'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})
-0:66 Constant:
-0:66 1 (const int)
-0:67 'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord)
-0:68 'gl_FogFragCoord' (smooth out float FogFragCoord)
-0:69 'gl_FrontColor' (smooth out 4-component vector of float FrontColor)
-0:? Linker Objects
-0:? 'c' (uniform int)
-0:? 'us2D' (uniform usampler2D)
-0:? 'x' (in 2-component vector of int)
-0:? 'v2a' (in 2-component vector of float)
-0:? 'c1D' (in float)
-0:? 'c2D' (in 2-component vector of float)
-0:? 'c3D' (in 3-component vector of float)
-0:? 'c4D' (smooth temp 4-component vector of float)
-0:? 'v4' (uniform 4-component vector of float)
-0:? 'gl_ClipDistance' (smooth out implicitly-sized array of float ClipDistance)
-0:? 'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord)
-0:? 'abc' (global int)
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-
-
-Linked vertex stage:
-
-ERROR: Linking vertex stage: Can only use one of gl_ClipDistance or gl_ClipVertex (gl_ClipDistance is preferred)
-
-Shader version: 130
-ERROR: node is still EOpNull!
-0:15 Function Definition: main( (global void)
-0:15 Function Parameters:
-0:17 Sequence
-0:17 Sequence
-0:17 move second child to first child (temp float)
-0:17 'f' (temp float)
-0:17 Constant:
-0:17 3.000000
-0:18 switch
-0:18 condition
-0:18 'c' (uniform int)
-0:18 body
-0:18 Sequence
-0:19 case: with expression
-0:19 Constant:
-0:19 1 (const int)
-0:? Sequence
-0:20 move second child to first child (temp float)
-0:20 'f' (temp float)
-0:20 sine (global float)
-0:20 'f' (temp float)
-0:21 Branch: Break
-0:22 case: with expression
-0:22 Constant:
-0:22 2 (const int)
-0:? Sequence
-0:23 move second child to first child (temp float)
-0:23 'f' (temp float)
-0:23 component-wise multiply (temp float)
-0:23 'f' (temp float)
-0:23 'f' (temp float)
-0:24 default:
-0:? Sequence
-0:25 move second child to first child (temp float)
-0:25 'f' (temp float)
-0:25 Constant:
-0:25 3.000000
-0:29 move second child to first child (temp uint)
-0:29 'i' (temp uint)
-0:29 direct index (temp uint)
-0:29 texture (global 4-component vector of uint)
-0:29 'us2D' (uniform usampler2D)
-0:29 Convert int to float (temp 2-component vector of float)
-0:29 'x' (in 2-component vector of int)
-0:29 Constant:
-0:29 3 (const int)
-0:30 inclusive-or (temp uint)
-0:30 left-shift (temp uint)
-0:30 'i' (temp uint)
-0:30 Constant:
-0:30 3 (const uint)
-0:30 Constant:
-0:30 69 (const uint)
-0:33 Sequence
-0:33 move second child to first child (temp 3-component vector of float)
-0:33 'v11' (temp 3-component vector of float)
-0:33 modf (global 3-component vector of float)
-0:33 'modfIn' (temp 3-component vector of float)
-0:33 'modfOut' (temp 3-component vector of float)
-0:34 Sequence
-0:34 move second child to first child (temp float)
-0:34 't' (temp float)
-0:34 trunc (global float)
-0:34 'f' (temp float)
-0:35 Sequence
-0:35 move second child to first child (temp 2-component vector of float)
-0:35 'v12' (temp 2-component vector of float)
-0:35 round (global 2-component vector of float)
-0:35 'v2a' (in 2-component vector of float)
-0:36 Sequence
-0:36 move second child to first child (temp 2-component vector of float)
-0:36 'v13' (temp 2-component vector of float)
-0:36 roundEven (global 2-component vector of float)
-0:36 'v2a' (in 2-component vector of float)
-0:37 Sequence
-0:37 move second child to first child (temp 2-component vector of bool)
-0:37 'b10' (temp 2-component vector of bool)
-0:37 isnan (global 2-component vector of bool)
-0:37 'v2a' (in 2-component vector of float)
-0:38 Sequence
-0:38 move second child to first child (temp 4-component vector of bool)
-0:38 'b11' (temp 4-component vector of bool)
-0:38 isinf (global 4-component vector of bool)
-0:38 'v4' (uniform 4-component vector of float)
-0:40 add (temp 2-component vector of float)
-0:40 hyp. sine (global float)
-0:40 'c1D' (in float)
-0:41 vector-scale (temp 2-component vector of float)
-0:41 hyp. cosine (global float)
-0:41 'c1D' (in float)
-0:41 hyp. tangent (global 2-component vector of float)
-0:41 'c2D' (in 2-component vector of float)
-0:42 add (temp 4-component vector of float)
-0:42 arc hyp. sine (global 4-component vector of float)
-0:42 'c4D' (smooth temp 4-component vector of float)
-0:42 arc hyp. cosine (global 4-component vector of float)
-0:42 'c4D' (smooth temp 4-component vector of float)
-0:43 arc hyp. tangent (global 3-component vector of float)
-0:43 'c3D' (in 3-component vector of float)
-0:45 Sequence
-0:45 move second child to first child (temp int)
-0:45 'id' (temp int)
-0:45 'gl_VertexID' (gl_VertexId int VertexId)
-0:46 move second child to first child (temp float)
-0:46 direct index (smooth temp float ClipDistance)
-0:46 'gl_ClipDistance' (smooth out 2-element array of float ClipDistance)
-0:46 Constant:
-0:46 1 (const int)
-0:46 Constant:
-0:46 0.300000
-0:57 Function Definition: foo88( (global void)
-0:57 Function Parameters:
-0:? Sequence
-0:61 'id' (temp int)
-0:63 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
-0:64 'gl_Color' (in 4-component vector of float Color)
-0:65 direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
-0:65 'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
-0:65 Constant:
-0:65 0 (const int)
-0:66 far: direct index for structure (global float)
-0:66 'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})
-0:66 Constant:
-0:66 1 (const int)
-0:67 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)
-0:68 'gl_FogFragCoord' (smooth out float FogFragCoord)
-0:69 'gl_FrontColor' (smooth out 4-component vector of float FrontColor)
-0:? Linker Objects
-0:? 'c' (uniform int)
-0:? 'us2D' (uniform usampler2D)
-0:? 'x' (in 2-component vector of int)
-0:? 'v2a' (in 2-component vector of float)
-0:? 'c1D' (in float)
-0:? 'c2D' (in 2-component vector of float)
-0:? 'c3D' (in 3-component vector of float)
-0:? 'c4D' (smooth temp 4-component vector of float)
-0:? 'v4' (uniform 4-component vector of float)
-0:? 'gl_ClipDistance' (smooth out 2-element array of float ClipDistance)
-0:? 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)
-0:? 'abc' (global int)
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-
+130.vert
+ERROR: 0:59: 'gl_InstanceID' : undeclared identifier
+ERROR: 0:59: '=' : cannot convert from 'temp float' to 'temp int'
+ERROR: 0:61: 'texelFetch' : no matching overloaded function found
+ERROR: 0:61: 'assign' : cannot convert from 'const float' to 'temp int'
+ERROR: 0:75: '##' : token pasting not implemented (internal error)
+ERROR: 0:75: '' : syntax error
+ERROR: 6 compilation errors. No code generated.
+
+
+Shader version: 130
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child (temp float)
+0:17 'f' (temp float)
+0:17 Constant:
+0:17 3.000000
+0:18 switch
+0:18 condition
+0:18 'c' (uniform int)
+0:18 body
+0:18 Sequence
+0:19 case: with expression
+0:19 Constant:
+0:19 1 (const int)
+0:? Sequence
+0:20 move second child to first child (temp float)
+0:20 'f' (temp float)
+0:20 sine (global float)
+0:20 'f' (temp float)
+0:21 Branch: Break
+0:22 case: with expression
+0:22 Constant:
+0:22 2 (const int)
+0:? Sequence
+0:23 move second child to first child (temp float)
+0:23 'f' (temp float)
+0:23 component-wise multiply (temp float)
+0:23 'f' (temp float)
+0:23 'f' (temp float)
+0:24 default:
+0:? Sequence
+0:25 move second child to first child (temp float)
+0:25 'f' (temp float)
+0:25 Constant:
+0:25 3.000000
+0:29 move second child to first child (temp uint)
+0:29 'i' (temp uint)
+0:29 direct index (temp uint)
+0:29 texture (global 4-component vector of uint)
+0:29 'us2D' (uniform usampler2D)
+0:29 Convert int to float (temp 2-component vector of float)
+0:29 'x' (in 2-component vector of int)
+0:29 Constant:
+0:29 3 (const int)
+0:30 inclusive-or (temp uint)
+0:30 left-shift (temp uint)
+0:30 'i' (temp uint)
+0:30 Constant:
+0:30 3 (const uint)
+0:30 Constant:
+0:30 69 (const uint)
+0:33 Sequence
+0:33 move second child to first child (temp 3-component vector of float)
+0:33 'v11' (temp 3-component vector of float)
+0:33 modf (global 3-component vector of float)
+0:33 'modfIn' (temp 3-component vector of float)
+0:33 'modfOut' (temp 3-component vector of float)
+0:34 Sequence
+0:34 move second child to first child (temp float)
+0:34 't' (temp float)
+0:34 trunc (global float)
+0:34 'f' (temp float)
+0:35 Sequence
+0:35 move second child to first child (temp 2-component vector of float)
+0:35 'v12' (temp 2-component vector of float)
+0:35 round (global 2-component vector of float)
+0:35 'v2a' (in 2-component vector of float)
+0:36 Sequence
+0:36 move second child to first child (temp 2-component vector of float)
+0:36 'v13' (temp 2-component vector of float)
+0:36 roundEven (global 2-component vector of float)
+0:36 'v2a' (in 2-component vector of float)
+0:37 Sequence
+0:37 move second child to first child (temp 2-component vector of bool)
+0:37 'b10' (temp 2-component vector of bool)
+0:37 isnan (global 2-component vector of bool)
+0:37 'v2a' (in 2-component vector of float)
+0:38 Sequence
+0:38 move second child to first child (temp 4-component vector of bool)
+0:38 'b11' (temp 4-component vector of bool)
+0:38 isinf (global 4-component vector of bool)
+0:38 'v4' (uniform 4-component vector of float)
+0:40 add (temp 2-component vector of float)
+0:40 hyp. sine (global float)
+0:40 'c1D' (in float)
+0:41 vector-scale (temp 2-component vector of float)
+0:41 hyp. cosine (global float)
+0:41 'c1D' (in float)
+0:41 hyp. tangent (global 2-component vector of float)
+0:41 'c2D' (in 2-component vector of float)
+0:42 add (temp 4-component vector of float)
+0:42 arc hyp. sine (global 4-component vector of float)
+0:42 'c4D' (smooth temp 4-component vector of float)
+0:42 arc hyp. cosine (global 4-component vector of float)
+0:42 'c4D' (smooth temp 4-component vector of float)
+0:43 arc hyp. tangent (global 3-component vector of float)
+0:43 'c3D' (in 3-component vector of float)
+0:45 Sequence
+0:45 move second child to first child (temp int)
+0:45 'id' (temp int)
+0:45 'gl_VertexID' (gl_VertexId int VertexId)
+0:46 move second child to first child (temp float)
+0:46 direct index (smooth temp float ClipDistance)
+0:46 'gl_ClipDistance' (smooth out implicitly-sized array of float ClipDistance)
+0:46 Constant:
+0:46 1 (const int)
+0:46 Constant:
+0:46 0.300000
+0:57 Function Definition: foo88( (global void)
+0:57 Function Parameters:
+0:? Sequence
+0:61 'id' (temp int)
+0:63 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:64 'gl_Color' (in 4-component vector of float Color)
+0:65 direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
+0:65 'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
+0:65 Constant:
+0:65 0 (const int)
+0:66 far: direct index for structure (global float)
+0:66 'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})
+0:66 Constant:
+0:66 1 (const int)
+0:67 'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord)
+0:68 'gl_FogFragCoord' (smooth out float FogFragCoord)
+0:69 'gl_FrontColor' (smooth out 4-component vector of float FrontColor)
+0:? Linker Objects
+0:? 'c' (uniform int)
+0:? 'us2D' (uniform usampler2D)
+0:? 'x' (in 2-component vector of int)
+0:? 'v2a' (in 2-component vector of float)
+0:? 'c1D' (in float)
+0:? 'c2D' (in 2-component vector of float)
+0:? 'c3D' (in 3-component vector of float)
+0:? 'c4D' (smooth temp 4-component vector of float)
+0:? 'v4' (uniform 4-component vector of float)
+0:? 'gl_ClipDistance' (smooth out implicitly-sized array of float ClipDistance)
+0:? 'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord)
+0:? 'abc' (global int)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+
+
+Linked vertex stage:
+
+ERROR: Linking vertex stage: Can only use one of gl_ClipDistance or gl_ClipVertex (gl_ClipDistance is preferred)
+
+Shader version: 130
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child (temp float)
+0:17 'f' (temp float)
+0:17 Constant:
+0:17 3.000000
+0:18 switch
+0:18 condition
+0:18 'c' (uniform int)
+0:18 body
+0:18 Sequence
+0:19 case: with expression
+0:19 Constant:
+0:19 1 (const int)
+0:? Sequence
+0:20 move second child to first child (temp float)
+0:20 'f' (temp float)
+0:20 sine (global float)
+0:20 'f' (temp float)
+0:21 Branch: Break
+0:22 case: with expression
+0:22 Constant:
+0:22 2 (const int)
+0:? Sequence
+0:23 move second child to first child (temp float)
+0:23 'f' (temp float)
+0:23 component-wise multiply (temp float)
+0:23 'f' (temp float)
+0:23 'f' (temp float)
+0:24 default:
+0:? Sequence
+0:25 move second child to first child (temp float)
+0:25 'f' (temp float)
+0:25 Constant:
+0:25 3.000000
+0:29 move second child to first child (temp uint)
+0:29 'i' (temp uint)
+0:29 direct index (temp uint)
+0:29 texture (global 4-component vector of uint)
+0:29 'us2D' (uniform usampler2D)
+0:29 Convert int to float (temp 2-component vector of float)
+0:29 'x' (in 2-component vector of int)
+0:29 Constant:
+0:29 3 (const int)
+0:30 inclusive-or (temp uint)
+0:30 left-shift (temp uint)
+0:30 'i' (temp uint)
+0:30 Constant:
+0:30 3 (const uint)
+0:30 Constant:
+0:30 69 (const uint)
+0:33 Sequence
+0:33 move second child to first child (temp 3-component vector of float)
+0:33 'v11' (temp 3-component vector of float)
+0:33 modf (global 3-component vector of float)
+0:33 'modfIn' (temp 3-component vector of float)
+0:33 'modfOut' (temp 3-component vector of float)
+0:34 Sequence
+0:34 move second child to first child (temp float)
+0:34 't' (temp float)
+0:34 trunc (global float)
+0:34 'f' (temp float)
+0:35 Sequence
+0:35 move second child to first child (temp 2-component vector of float)
+0:35 'v12' (temp 2-component vector of float)
+0:35 round (global 2-component vector of float)
+0:35 'v2a' (in 2-component vector of float)
+0:36 Sequence
+0:36 move second child to first child (temp 2-component vector of float)
+0:36 'v13' (temp 2-component vector of float)
+0:36 roundEven (global 2-component vector of float)
+0:36 'v2a' (in 2-component vector of float)
+0:37 Sequence
+0:37 move second child to first child (temp 2-component vector of bool)
+0:37 'b10' (temp 2-component vector of bool)
+0:37 isnan (global 2-component vector of bool)
+0:37 'v2a' (in 2-component vector of float)
+0:38 Sequence
+0:38 move second child to first child (temp 4-component vector of bool)
+0:38 'b11' (temp 4-component vector of bool)
+0:38 isinf (global 4-component vector of bool)
+0:38 'v4' (uniform 4-component vector of float)
+0:40 add (temp 2-component vector of float)
+0:40 hyp. sine (global float)
+0:40 'c1D' (in float)
+0:41 vector-scale (temp 2-component vector of float)
+0:41 hyp. cosine (global float)
+0:41 'c1D' (in float)
+0:41 hyp. tangent (global 2-component vector of float)
+0:41 'c2D' (in 2-component vector of float)
+0:42 add (temp 4-component vector of float)
+0:42 arc hyp. sine (global 4-component vector of float)
+0:42 'c4D' (smooth temp 4-component vector of float)
+0:42 arc hyp. cosine (global 4-component vector of float)
+0:42 'c4D' (smooth temp 4-component vector of float)
+0:43 arc hyp. tangent (global 3-component vector of float)
+0:43 'c3D' (in 3-component vector of float)
+0:45 Sequence
+0:45 move second child to first child (temp int)
+0:45 'id' (temp int)
+0:45 'gl_VertexID' (gl_VertexId int VertexId)
+0:46 move second child to first child (temp float)
+0:46 direct index (smooth temp float ClipDistance)
+0:46 'gl_ClipDistance' (smooth out 2-element array of float ClipDistance)
+0:46 Constant:
+0:46 1 (const int)
+0:46 Constant:
+0:46 0.300000
+0:57 Function Definition: foo88( (global void)
+0:57 Function Parameters:
+0:? Sequence
+0:61 'id' (temp int)
+0:63 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:64 'gl_Color' (in 4-component vector of float Color)
+0:65 direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
+0:65 'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
+0:65 Constant:
+0:65 0 (const int)
+0:66 far: direct index for structure (global float)
+0:66 'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})
+0:66 Constant:
+0:66 1 (const int)
+0:67 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)
+0:68 'gl_FogFragCoord' (smooth out float FogFragCoord)
+0:69 'gl_FrontColor' (smooth out 4-component vector of float FrontColor)
+0:? Linker Objects
+0:? 'c' (uniform int)
+0:? 'us2D' (uniform usampler2D)
+0:? 'x' (in 2-component vector of int)
+0:? 'v2a' (in 2-component vector of float)
+0:? 'c1D' (in float)
+0:? 'c2D' (in 2-component vector of float)
+0:? 'c3D' (in 3-component vector of float)
+0:? 'c4D' (smooth temp 4-component vector of float)
+0:? 'v4' (uniform 4-component vector of float)
+0:? 'gl_ClipDistance' (smooth out 2-element array of float ClipDistance)
+0:? 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)
+0:? 'abc' (global int)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+
diff --git a/Test/baseResults/140.frag.out b/Test/baseResults/140.frag.out
index 8af2967..fbeee83 100644
--- a/Test/baseResults/140.frag.out
+++ b/Test/baseResults/140.frag.out
@@ -1,223 +1,223 @@
-140.frag
-WARNING: 0:3: varying deprecated in version 130; may be removed in future release
-ERROR: 0:17: '#error' : GL_ES is not set
-ERROR: 0:20: 'fragment-shader struct input' : not supported for this version or the enabled extensions
-ERROR: 0:24: 'location' : not supported for this version or the enabled extensions
-ERROR: 0:24: 'location qualifier on input' : not supported for this version or the enabled extensions
-ERROR: 0:26: 'location' : not supported for this version or the enabled extensions
-ERROR: 0:26: 'location qualifier on output' : not supported for this version or the enabled extensions
-ERROR: 0:40: 'assign' : l-value required "v" (can't modify shader input)
-ERROR: 0:40: 'out' : Non-L-value cannot be passed for 'out' or 'inout' parameters.
-ERROR: 8 compilation errors. No code generated.
-
-
-Shader version: 140
-Requested GL_ARB_explicit_attrib_location
-Requested GL_ARB_separate_shader_objects
-ERROR: node is still EOpNull!
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:12 Sequence
-0:12 Sequence
-0:12 move second child to first child (temp float)
-0:12 'clip' (temp float)
-0:12 direct index (smooth temp float ClipDistance)
-0:12 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
-0:12 Constant:
-0:12 2 (const int)
-0:22 Sequence
-0:22 move second child to first child (temp float)
-0:22 'patch' (global float)
-0:22 Constant:
-0:22 3.100000
-0:38 Function Definition: foo( (global void)
-0:38 Function Parameters:
-0:40 Sequence
-0:40 Sequence
-0:40 move second child to first child (temp 2-component vector of float)
-0:40 'r1' (temp 2-component vector of float)
-0:40 modf (global 2-component vector of float)
-0:40 vector swizzle (temp 2-component vector of float)
-0:40 'v' (smooth in 4-component vector of float)
-0:40 Sequence
-0:40 Constant:
-0:40 0 (const int)
-0:40 Constant:
-0:40 1 (const int)
-0:40 vector swizzle (temp 2-component vector of float)
-0:40 'v' (smooth in 4-component vector of float)
-0:40 Sequence
-0:40 Constant:
-0:40 2 (const int)
-0:40 Constant:
-0:40 3 (const int)
-0:41 Sequence
-0:41 move second child to first child (temp 2-component vector of float)
-0:41 'r2' (temp 2-component vector of float)
-0:41 modf (global 2-component vector of float)
-0:41 vector swizzle (temp 2-component vector of float)
-0:41 'o' (out 4-component vector of float)
-0:41 Sequence
-0:41 Constant:
-0:41 0 (const int)
-0:41 Constant:
-0:41 1 (const int)
-0:41 vector swizzle (temp 2-component vector of float)
-0:41 'o' (out 4-component vector of float)
-0:41 Sequence
-0:41 Constant:
-0:41 2 (const int)
-0:41 Constant:
-0:41 3 (const int)
-0:42 move second child to first child (temp float)
-0:42 direct index (temp float)
-0:42 'o' (out 4-component vector of float)
-0:42 Constant:
-0:42 2 (const int)
-0:42 Function Call: fooi( (global float)
-0:47 Sequence
-0:47 move second child to first child (temp float)
-0:47 'i1' (global float)
-0:47 Test condition and select (temp float)
-0:47 Condition
-0:47 'gl_FrontFacing' (gl_FrontFacing bool Face)
-0:47 true case
-0:47 Constant:
-0:47 -2.000000
-0:47 false case
-0:47 Constant:
-0:47 2.000000
-0:48 Sequence
-0:48 move second child to first child (temp float)
-0:48 'i2' (global float)
-0:48 Constant:
-0:48 102.000000
-0:50 Function Definition: fooi( (global float)
-0:50 Function Parameters:
-0:52 Sequence
-0:52 Branch: Return with expression
-0:52 add (temp float)
-0:52 'i1' (global float)
-0:52 'i2' (global float)
-0:? Linker Objects
-0:? 'v' (smooth in 4-component vector of float)
-0:? 'i' (smooth in 4-component vector of float)
-0:? 'o' (out 4-component vector of float)
-0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
-0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
-0:? 's' (smooth in structure{global float f})
-0:? 'patch' (global float)
-0:? 'vl' (layout(location=3 ) smooth in 4-component vector of float)
-0:? 'factorBad' (layout(location=3 ) out 4-component vector of float)
-0:? 'factor' (layout(location=5 ) out 4-component vector of float)
-0:? 'vl2' (layout(location=4 ) smooth in 4-component vector of float)
-0:? 'i1' (global float)
-0:? 'i2' (global float)
-
-
-Linked fragment stage:
-
-
-Shader version: 140
-Requested GL_ARB_explicit_attrib_location
-Requested GL_ARB_separate_shader_objects
-ERROR: node is still EOpNull!
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:12 Sequence
-0:12 Sequence
-0:12 move second child to first child (temp float)
-0:12 'clip' (temp float)
-0:12 direct index (smooth temp float ClipDistance)
-0:12 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
-0:12 Constant:
-0:12 2 (const int)
-0:22 Sequence
-0:22 move second child to first child (temp float)
-0:22 'patch' (global float)
-0:22 Constant:
-0:22 3.100000
-0:38 Function Definition: foo( (global void)
-0:38 Function Parameters:
-0:40 Sequence
-0:40 Sequence
-0:40 move second child to first child (temp 2-component vector of float)
-0:40 'r1' (temp 2-component vector of float)
-0:40 modf (global 2-component vector of float)
-0:40 vector swizzle (temp 2-component vector of float)
-0:40 'v' (smooth in 4-component vector of float)
-0:40 Sequence
-0:40 Constant:
-0:40 0 (const int)
-0:40 Constant:
-0:40 1 (const int)
-0:40 vector swizzle (temp 2-component vector of float)
-0:40 'v' (smooth in 4-component vector of float)
-0:40 Sequence
-0:40 Constant:
-0:40 2 (const int)
-0:40 Constant:
-0:40 3 (const int)
-0:41 Sequence
-0:41 move second child to first child (temp 2-component vector of float)
-0:41 'r2' (temp 2-component vector of float)
-0:41 modf (global 2-component vector of float)
-0:41 vector swizzle (temp 2-component vector of float)
-0:41 'o' (out 4-component vector of float)
-0:41 Sequence
-0:41 Constant:
-0:41 0 (const int)
-0:41 Constant:
-0:41 1 (const int)
-0:41 vector swizzle (temp 2-component vector of float)
-0:41 'o' (out 4-component vector of float)
-0:41 Sequence
-0:41 Constant:
-0:41 2 (const int)
-0:41 Constant:
-0:41 3 (const int)
-0:42 move second child to first child (temp float)
-0:42 direct index (temp float)
-0:42 'o' (out 4-component vector of float)
-0:42 Constant:
-0:42 2 (const int)
-0:42 Function Call: fooi( (global float)
-0:47 Sequence
-0:47 move second child to first child (temp float)
-0:47 'i1' (global float)
-0:47 Test condition and select (temp float)
-0:47 Condition
-0:47 'gl_FrontFacing' (gl_FrontFacing bool Face)
-0:47 true case
-0:47 Constant:
-0:47 -2.000000
-0:47 false case
-0:47 Constant:
-0:47 2.000000
-0:48 Sequence
-0:48 move second child to first child (temp float)
-0:48 'i2' (global float)
-0:48 Constant:
-0:48 102.000000
-0:50 Function Definition: fooi( (global float)
-0:50 Function Parameters:
-0:52 Sequence
-0:52 Branch: Return with expression
-0:52 add (temp float)
-0:52 'i1' (global float)
-0:52 'i2' (global float)
-0:? Linker Objects
-0:? 'v' (smooth in 4-component vector of float)
-0:? 'i' (smooth in 4-component vector of float)
-0:? 'o' (out 4-component vector of float)
-0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
-0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
-0:? 's' (smooth in structure{global float f})
-0:? 'patch' (global float)
-0:? 'vl' (layout(location=3 ) smooth in 4-component vector of float)
-0:? 'factorBad' (layout(location=3 ) out 4-component vector of float)
-0:? 'factor' (layout(location=5 ) out 4-component vector of float)
-0:? 'vl2' (layout(location=4 ) smooth in 4-component vector of float)
-0:? 'i1' (global float)
-0:? 'i2' (global float)
-
+140.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+ERROR: 0:17: '#error' : GL_ES is not set
+ERROR: 0:20: 'fragment-shader struct input' : not supported for this version or the enabled extensions
+ERROR: 0:24: 'location' : not supported for this version or the enabled extensions
+ERROR: 0:24: 'location qualifier on input' : not supported for this version or the enabled extensions
+ERROR: 0:26: 'location' : not supported for this version or the enabled extensions
+ERROR: 0:26: 'location qualifier on output' : not supported for this version or the enabled extensions
+ERROR: 0:40: 'assign' : l-value required "v" (can't modify shader input)
+ERROR: 0:40: 'out' : Non-L-value cannot be passed for 'out' or 'inout' parameters.
+ERROR: 8 compilation errors. No code generated.
+
+
+Shader version: 140
+Requested GL_ARB_explicit_attrib_location
+Requested GL_ARB_separate_shader_objects
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'clip' (temp float)
+0:12 direct index (smooth temp float ClipDistance)
+0:12 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
+0:12 Constant:
+0:12 2 (const int)
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'patch' (global float)
+0:22 Constant:
+0:22 3.100000
+0:38 Function Definition: foo( (global void)
+0:38 Function Parameters:
+0:40 Sequence
+0:40 Sequence
+0:40 move second child to first child (temp 2-component vector of float)
+0:40 'r1' (temp 2-component vector of float)
+0:40 modf (global 2-component vector of float)
+0:40 vector swizzle (temp 2-component vector of float)
+0:40 'v' (smooth in 4-component vector of float)
+0:40 Sequence
+0:40 Constant:
+0:40 0 (const int)
+0:40 Constant:
+0:40 1 (const int)
+0:40 vector swizzle (temp 2-component vector of float)
+0:40 'v' (smooth in 4-component vector of float)
+0:40 Sequence
+0:40 Constant:
+0:40 2 (const int)
+0:40 Constant:
+0:40 3 (const int)
+0:41 Sequence
+0:41 move second child to first child (temp 2-component vector of float)
+0:41 'r2' (temp 2-component vector of float)
+0:41 modf (global 2-component vector of float)
+0:41 vector swizzle (temp 2-component vector of float)
+0:41 'o' (out 4-component vector of float)
+0:41 Sequence
+0:41 Constant:
+0:41 0 (const int)
+0:41 Constant:
+0:41 1 (const int)
+0:41 vector swizzle (temp 2-component vector of float)
+0:41 'o' (out 4-component vector of float)
+0:41 Sequence
+0:41 Constant:
+0:41 2 (const int)
+0:41 Constant:
+0:41 3 (const int)
+0:42 move second child to first child (temp float)
+0:42 direct index (temp float)
+0:42 'o' (out 4-component vector of float)
+0:42 Constant:
+0:42 2 (const int)
+0:42 Function Call: fooi( (global float)
+0:47 Sequence
+0:47 move second child to first child (temp float)
+0:47 'i1' (global float)
+0:47 Test condition and select (temp float)
+0:47 Condition
+0:47 'gl_FrontFacing' (gl_FrontFacing bool Face)
+0:47 true case
+0:47 Constant:
+0:47 -2.000000
+0:47 false case
+0:47 Constant:
+0:47 2.000000
+0:48 Sequence
+0:48 move second child to first child (temp float)
+0:48 'i2' (global float)
+0:48 Constant:
+0:48 102.000000
+0:50 Function Definition: fooi( (global float)
+0:50 Function Parameters:
+0:52 Sequence
+0:52 Branch: Return with expression
+0:52 add (temp float)
+0:52 'i1' (global float)
+0:52 'i2' (global float)
+0:? Linker Objects
+0:? 'v' (smooth in 4-component vector of float)
+0:? 'i' (smooth in 4-component vector of float)
+0:? 'o' (out 4-component vector of float)
+0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
+0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
+0:? 's' (smooth in structure{global float f})
+0:? 'patch' (global float)
+0:? 'vl' (layout(location=3 ) smooth in 4-component vector of float)
+0:? 'factorBad' (layout(location=3 ) out 4-component vector of float)
+0:? 'factor' (layout(location=5 ) out 4-component vector of float)
+0:? 'vl2' (layout(location=4 ) smooth in 4-component vector of float)
+0:? 'i1' (global float)
+0:? 'i2' (global float)
+
+
+Linked fragment stage:
+
+
+Shader version: 140
+Requested GL_ARB_explicit_attrib_location
+Requested GL_ARB_separate_shader_objects
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'clip' (temp float)
+0:12 direct index (smooth temp float ClipDistance)
+0:12 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
+0:12 Constant:
+0:12 2 (const int)
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'patch' (global float)
+0:22 Constant:
+0:22 3.100000
+0:38 Function Definition: foo( (global void)
+0:38 Function Parameters:
+0:40 Sequence
+0:40 Sequence
+0:40 move second child to first child (temp 2-component vector of float)
+0:40 'r1' (temp 2-component vector of float)
+0:40 modf (global 2-component vector of float)
+0:40 vector swizzle (temp 2-component vector of float)
+0:40 'v' (smooth in 4-component vector of float)
+0:40 Sequence
+0:40 Constant:
+0:40 0 (const int)
+0:40 Constant:
+0:40 1 (const int)
+0:40 vector swizzle (temp 2-component vector of float)
+0:40 'v' (smooth in 4-component vector of float)
+0:40 Sequence
+0:40 Constant:
+0:40 2 (const int)
+0:40 Constant:
+0:40 3 (const int)
+0:41 Sequence
+0:41 move second child to first child (temp 2-component vector of float)
+0:41 'r2' (temp 2-component vector of float)
+0:41 modf (global 2-component vector of float)
+0:41 vector swizzle (temp 2-component vector of float)
+0:41 'o' (out 4-component vector of float)
+0:41 Sequence
+0:41 Constant:
+0:41 0 (const int)
+0:41 Constant:
+0:41 1 (const int)
+0:41 vector swizzle (temp 2-component vector of float)
+0:41 'o' (out 4-component vector of float)
+0:41 Sequence
+0:41 Constant:
+0:41 2 (const int)
+0:41 Constant:
+0:41 3 (const int)
+0:42 move second child to first child (temp float)
+0:42 direct index (temp float)
+0:42 'o' (out 4-component vector of float)
+0:42 Constant:
+0:42 2 (const int)
+0:42 Function Call: fooi( (global float)
+0:47 Sequence
+0:47 move second child to first child (temp float)
+0:47 'i1' (global float)
+0:47 Test condition and select (temp float)
+0:47 Condition
+0:47 'gl_FrontFacing' (gl_FrontFacing bool Face)
+0:47 true case
+0:47 Constant:
+0:47 -2.000000
+0:47 false case
+0:47 Constant:
+0:47 2.000000
+0:48 Sequence
+0:48 move second child to first child (temp float)
+0:48 'i2' (global float)
+0:48 Constant:
+0:48 102.000000
+0:50 Function Definition: fooi( (global float)
+0:50 Function Parameters:
+0:52 Sequence
+0:52 Branch: Return with expression
+0:52 add (temp float)
+0:52 'i1' (global float)
+0:52 'i2' (global float)
+0:? Linker Objects
+0:? 'v' (smooth in 4-component vector of float)
+0:? 'i' (smooth in 4-component vector of float)
+0:? 'o' (out 4-component vector of float)
+0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
+0:? 'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
+0:? 's' (smooth in structure{global float f})
+0:? 'patch' (global float)
+0:? 'vl' (layout(location=3 ) smooth in 4-component vector of float)
+0:? 'factorBad' (layout(location=3 ) out 4-component vector of float)
+0:? 'factor' (layout(location=5 ) out 4-component vector of float)
+0:? 'vl2' (layout(location=4 ) smooth in 4-component vector of float)
+0:? 'i1' (global float)
+0:? 'i2' (global float)
+
diff --git a/Test/baseResults/140.vert.out b/Test/baseResults/140.vert.out
index 3493c0e..634458c 100644
--- a/Test/baseResults/140.vert.out
+++ b/Test/baseResults/140.vert.out
@@ -1,270 +1,270 @@
-140.vert
-ERROR: 0:23: 'gl_Position' : identifiers starting with "gl_" are reserved
-ERROR: 0:25: 'location' : not supported for this version or the enabled extensions
-ERROR: 0:25: 'location qualifier on input' : not supported for this version or the enabled extensions
-ERROR: 0:34: 'redeclaration' : cannot change storage, memory, or auxiliary qualification of gl_Position
-ERROR: 0:34: 'redeclaration' : cannot change interpolation qualification of gl_Position
-ERROR: 0:35: 'redeclaration' : cannot change the type of gl_Position
-ERROR: 0:38: 'gl_ClipVertex' : cannot redeclare after use
-ERROR: 0:39: 'gl_FogFragCoord' : cannot redeclare after use
-ERROR: 0:51: 'texelFetch' : no matching overloaded function found
-ERROR: 0:53: 'texture' : no matching overloaded function found
-ERROR: 10 compilation errors. No code generated.
-
-
-Shader version: 140
-Requested GL_ARB_explicit_attrib_location
-Requested GL_ARB_separate_shader_objects
-ERROR: node is still EOpNull!
-0:9 Function Definition: main( (global void)
-0:9 Function Parameters:
-0:11 Sequence
-0:11 Sequence
-0:11 move second child to first child (temp int)
-0:11 'id' (temp int)
-0:11 'gl_InstanceID' (gl_InstanceId int InstanceId)
-0:12 add second child into first child (temp int)
-0:12 'id' (temp int)
-0:12 anonMem: direct index for structure (layout(column_major std140 offset=0 ) uniform int)
-0:12 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})
-0:12 Constant:
-0:12 0 (const uint)
-0:13 add second child into first child (temp int)
-0:13 'id' (temp int)
-0:13 direct index (temp int)
-0:13 textureFetch (global 4-component vector of int)
-0:13 'sbuf' (uniform isamplerBuffer)
-0:13 Constant:
-0:13 8 (const int)
-0:13 Constant:
-0:13 3 (const int)
-0:14 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
-0:15 'gl_Color' (in 4-component vector of float Color)
-0:16 direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
-0:16 'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
-0:16 Constant:
-0:16 0 (const int)
-0:17 far: direct index for structure (global float)
-0:17 'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})
-0:17 Constant:
-0:17 1 (const int)
-0:18 'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord)
-0:19 'gl_FogFragCoord' (smooth out float FogFragCoord)
-0:20 'gl_FrontColor' (smooth out 4-component vector of float FrontColor)
-0:48 Function Definition: foo( (global void)
-0:48 Function Parameters:
-0:50 Sequence
-0:50 Sequence
-0:50 move second child to first child (temp 4-component vector of float)
-0:50 'v' (temp 4-component vector of float)
-0:50 textureFetch (global 4-component vector of float)
-0:50 's2dr' (uniform sampler2DRect)
-0:50 'itloc2' (in 2-component vector of int)
-0:51 add second child into first child (temp 4-component vector of float)
-0:51 'v' (temp 4-component vector of float)
-0:51 Constant:
-0:51 0.000000
-0:52 add second child into first child (temp 4-component vector of float)
-0:52 'v' (temp 4-component vector of float)
-0:52 texture (global 4-component vector of float)
-0:52 's2dr' (uniform sampler2DRect)
-0:52 'tloc2' (in 2-component vector of float)
-0:53 add second child into first child (temp 4-component vector of float)
-0:53 'v' (temp 4-component vector of float)
-0:53 Constant:
-0:53 0.000000
-0:54 add second child into first child (temp 4-component vector of float)
-0:54 'v' (temp 4-component vector of float)
-0:54 texture (global float)
-0:54 's2drs' (uniform sampler2DRectShadow)
-0:54 'tloc3' (in 3-component vector of float)
-0:55 add second child into first child (temp 4-component vector of float)
-0:55 'v' (temp 4-component vector of float)
-0:55 textureProj (global 4-component vector of float)
-0:55 's2dr' (uniform sampler2DRect)
-0:55 'tloc3' (in 3-component vector of float)
-0:56 add second child into first child (temp 4-component vector of float)
-0:56 'v' (temp 4-component vector of float)
-0:56 textureProj (global 4-component vector of float)
-0:56 's2dr' (uniform sampler2DRect)
-0:56 'tloc4' (in 4-component vector of float)
-0:57 add second child into first child (temp 4-component vector of float)
-0:57 'v' (temp 4-component vector of float)
-0:57 textureProjGradOffset (global 4-component vector of float)
-0:57 's2dr' (uniform sampler2DRect)
-0:57 'tloc4' (in 4-component vector of float)
-0:57 Constant:
-0:57 0.000000
-0:57 0.000000
-0:57 Constant:
-0:57 0.000000
-0:57 0.000000
-0:57 Constant:
-0:57 1 (const int)
-0:57 2 (const int)
-0:58 add second child into first child (temp 4-component vector of float)
-0:58 'v' (temp 4-component vector of float)
-0:58 textureProjGradOffset (global float)
-0:58 's2drs' (uniform sampler2DRectShadow)
-0:58 'tloc4' (in 4-component vector of float)
-0:58 Constant:
-0:58 0.000000
-0:58 0.000000
-0:58 Constant:
-0:58 0.000000
-0:58 0.000000
-0:58 Constant:
-0:58 1 (const int)
-0:58 2 (const int)
-0:? Linker Objects
-0:? 'sbuf' (uniform isamplerBuffer)
-0:? 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})
-0:? 'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord)
-0:? 'gl_Position' (smooth out 4-component vector of float)
-0:? 'locBad' (layout(location=9 ) in 4-component vector of float)
-0:? 'loc' (layout(location=9 ) in 4-component vector of float)
-0:? 'gl_PointSize' (gl_PointSize float PointSize)
-0:? 'gl_PointSize' (gl_PointSize float PointSize)
-0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
-0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
-0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
-0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
-0:? 's2dr' (uniform sampler2DRect)
-0:? 's2drs' (uniform sampler2DRectShadow)
-0:? 'itloc2' (in 2-component vector of int)
-0:? 'tloc2' (in 2-component vector of float)
-0:? 'tloc3' (in 3-component vector of float)
-0:? 'tloc4' (in 4-component vector of float)
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 140
-Requested GL_ARB_explicit_attrib_location
-Requested GL_ARB_separate_shader_objects
-ERROR: node is still EOpNull!
-0:9 Function Definition: main( (global void)
-0:9 Function Parameters:
-0:11 Sequence
-0:11 Sequence
-0:11 move second child to first child (temp int)
-0:11 'id' (temp int)
-0:11 'gl_InstanceID' (gl_InstanceId int InstanceId)
-0:12 add second child into first child (temp int)
-0:12 'id' (temp int)
-0:12 anonMem: direct index for structure (layout(column_major std140 offset=0 ) uniform int)
-0:12 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})
-0:12 Constant:
-0:12 0 (const uint)
-0:13 add second child into first child (temp int)
-0:13 'id' (temp int)
-0:13 direct index (temp int)
-0:13 textureFetch (global 4-component vector of int)
-0:13 'sbuf' (uniform isamplerBuffer)
-0:13 Constant:
-0:13 8 (const int)
-0:13 Constant:
-0:13 3 (const int)
-0:14 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
-0:15 'gl_Color' (in 4-component vector of float Color)
-0:16 direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
-0:16 'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
-0:16 Constant:
-0:16 0 (const int)
-0:17 far: direct index for structure (global float)
-0:17 'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})
-0:17 Constant:
-0:17 1 (const int)
-0:18 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)
-0:19 'gl_FogFragCoord' (smooth out float FogFragCoord)
-0:20 'gl_FrontColor' (smooth out 4-component vector of float FrontColor)
-0:48 Function Definition: foo( (global void)
-0:48 Function Parameters:
-0:50 Sequence
-0:50 Sequence
-0:50 move second child to first child (temp 4-component vector of float)
-0:50 'v' (temp 4-component vector of float)
-0:50 textureFetch (global 4-component vector of float)
-0:50 's2dr' (uniform sampler2DRect)
-0:50 'itloc2' (in 2-component vector of int)
-0:51 add second child into first child (temp 4-component vector of float)
-0:51 'v' (temp 4-component vector of float)
-0:51 Constant:
-0:51 0.000000
-0:52 add second child into first child (temp 4-component vector of float)
-0:52 'v' (temp 4-component vector of float)
-0:52 texture (global 4-component vector of float)
-0:52 's2dr' (uniform sampler2DRect)
-0:52 'tloc2' (in 2-component vector of float)
-0:53 add second child into first child (temp 4-component vector of float)
-0:53 'v' (temp 4-component vector of float)
-0:53 Constant:
-0:53 0.000000
-0:54 add second child into first child (temp 4-component vector of float)
-0:54 'v' (temp 4-component vector of float)
-0:54 texture (global float)
-0:54 's2drs' (uniform sampler2DRectShadow)
-0:54 'tloc3' (in 3-component vector of float)
-0:55 add second child into first child (temp 4-component vector of float)
-0:55 'v' (temp 4-component vector of float)
-0:55 textureProj (global 4-component vector of float)
-0:55 's2dr' (uniform sampler2DRect)
-0:55 'tloc3' (in 3-component vector of float)
-0:56 add second child into first child (temp 4-component vector of float)
-0:56 'v' (temp 4-component vector of float)
-0:56 textureProj (global 4-component vector of float)
-0:56 's2dr' (uniform sampler2DRect)
-0:56 'tloc4' (in 4-component vector of float)
-0:57 add second child into first child (temp 4-component vector of float)
-0:57 'v' (temp 4-component vector of float)
-0:57 textureProjGradOffset (global 4-component vector of float)
-0:57 's2dr' (uniform sampler2DRect)
-0:57 'tloc4' (in 4-component vector of float)
-0:57 Constant:
-0:57 0.000000
-0:57 0.000000
-0:57 Constant:
-0:57 0.000000
-0:57 0.000000
-0:57 Constant:
-0:57 1 (const int)
-0:57 2 (const int)
-0:58 add second child into first child (temp 4-component vector of float)
-0:58 'v' (temp 4-component vector of float)
-0:58 textureProjGradOffset (global float)
-0:58 's2drs' (uniform sampler2DRectShadow)
-0:58 'tloc4' (in 4-component vector of float)
-0:58 Constant:
-0:58 0.000000
-0:58 0.000000
-0:58 Constant:
-0:58 0.000000
-0:58 0.000000
-0:58 Constant:
-0:58 1 (const int)
-0:58 2 (const int)
-0:? Linker Objects
-0:? 'sbuf' (uniform isamplerBuffer)
-0:? 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})
-0:? 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)
-0:? 'gl_Position' (smooth out 4-component vector of float)
-0:? 'locBad' (layout(location=9 ) in 4-component vector of float)
-0:? 'loc' (layout(location=9 ) in 4-component vector of float)
-0:? 'gl_PointSize' (gl_PointSize float PointSize)
-0:? 'gl_PointSize' (gl_PointSize float PointSize)
-0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
-0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
-0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
-0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
-0:? 's2dr' (uniform sampler2DRect)
-0:? 's2drs' (uniform sampler2DRectShadow)
-0:? 'itloc2' (in 2-component vector of int)
-0:? 'tloc2' (in 2-component vector of float)
-0:? 'tloc3' (in 3-component vector of float)
-0:? 'tloc4' (in 4-component vector of float)
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
+140.vert
+ERROR: 0:23: 'gl_Position' : identifiers starting with "gl_" are reserved
+ERROR: 0:25: 'location' : not supported for this version or the enabled extensions
+ERROR: 0:25: 'location qualifier on input' : not supported for this version or the enabled extensions
+ERROR: 0:34: 'redeclaration' : cannot change storage, memory, or auxiliary qualification of gl_Position
+ERROR: 0:34: 'redeclaration' : cannot change interpolation qualification of gl_Position
+ERROR: 0:35: 'redeclaration' : cannot change the type of gl_Position
+ERROR: 0:38: 'gl_ClipVertex' : cannot redeclare after use
+ERROR: 0:39: 'gl_FogFragCoord' : cannot redeclare after use
+ERROR: 0:51: 'texelFetch' : no matching overloaded function found
+ERROR: 0:53: 'texture' : no matching overloaded function found
+ERROR: 10 compilation errors. No code generated.
+
+
+Shader version: 140
+Requested GL_ARB_explicit_attrib_location
+Requested GL_ARB_separate_shader_objects
+ERROR: node is still EOpNull!
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Sequence
+0:11 move second child to first child (temp int)
+0:11 'id' (temp int)
+0:11 'gl_InstanceID' (gl_InstanceId int InstanceId)
+0:12 add second child into first child (temp int)
+0:12 'id' (temp int)
+0:12 anonMem: direct index for structure (layout(column_major std140 offset=0 ) uniform int)
+0:12 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})
+0:12 Constant:
+0:12 0 (const uint)
+0:13 add second child into first child (temp int)
+0:13 'id' (temp int)
+0:13 direct index (temp int)
+0:13 textureFetch (global 4-component vector of int)
+0:13 'sbuf' (uniform isamplerBuffer)
+0:13 Constant:
+0:13 8 (const int)
+0:13 Constant:
+0:13 3 (const int)
+0:14 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:15 'gl_Color' (in 4-component vector of float Color)
+0:16 direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
+0:16 'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
+0:16 Constant:
+0:16 0 (const int)
+0:17 far: direct index for structure (global float)
+0:17 'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})
+0:17 Constant:
+0:17 1 (const int)
+0:18 'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord)
+0:19 'gl_FogFragCoord' (smooth out float FogFragCoord)
+0:20 'gl_FrontColor' (smooth out 4-component vector of float FrontColor)
+0:48 Function Definition: foo( (global void)
+0:48 Function Parameters:
+0:50 Sequence
+0:50 Sequence
+0:50 move second child to first child (temp 4-component vector of float)
+0:50 'v' (temp 4-component vector of float)
+0:50 textureFetch (global 4-component vector of float)
+0:50 's2dr' (uniform sampler2DRect)
+0:50 'itloc2' (in 2-component vector of int)
+0:51 add second child into first child (temp 4-component vector of float)
+0:51 'v' (temp 4-component vector of float)
+0:51 Constant:
+0:51 0.000000
+0:52 add second child into first child (temp 4-component vector of float)
+0:52 'v' (temp 4-component vector of float)
+0:52 texture (global 4-component vector of float)
+0:52 's2dr' (uniform sampler2DRect)
+0:52 'tloc2' (in 2-component vector of float)
+0:53 add second child into first child (temp 4-component vector of float)
+0:53 'v' (temp 4-component vector of float)
+0:53 Constant:
+0:53 0.000000
+0:54 add second child into first child (temp 4-component vector of float)
+0:54 'v' (temp 4-component vector of float)
+0:54 texture (global float)
+0:54 's2drs' (uniform sampler2DRectShadow)
+0:54 'tloc3' (in 3-component vector of float)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'v' (temp 4-component vector of float)
+0:55 textureProj (global 4-component vector of float)
+0:55 's2dr' (uniform sampler2DRect)
+0:55 'tloc3' (in 3-component vector of float)
+0:56 add second child into first child (temp 4-component vector of float)
+0:56 'v' (temp 4-component vector of float)
+0:56 textureProj (global 4-component vector of float)
+0:56 's2dr' (uniform sampler2DRect)
+0:56 'tloc4' (in 4-component vector of float)
+0:57 add second child into first child (temp 4-component vector of float)
+0:57 'v' (temp 4-component vector of float)
+0:57 textureProjGradOffset (global 4-component vector of float)
+0:57 's2dr' (uniform sampler2DRect)
+0:57 'tloc4' (in 4-component vector of float)
+0:57 Constant:
+0:57 0.000000
+0:57 0.000000
+0:57 Constant:
+0:57 0.000000
+0:57 0.000000
+0:57 Constant:
+0:57 1 (const int)
+0:57 2 (const int)
+0:58 add second child into first child (temp 4-component vector of float)
+0:58 'v' (temp 4-component vector of float)
+0:58 textureProjGradOffset (global float)
+0:58 's2drs' (uniform sampler2DRectShadow)
+0:58 'tloc4' (in 4-component vector of float)
+0:58 Constant:
+0:58 0.000000
+0:58 0.000000
+0:58 Constant:
+0:58 0.000000
+0:58 0.000000
+0:58 Constant:
+0:58 1 (const int)
+0:58 2 (const int)
+0:? Linker Objects
+0:? 'sbuf' (uniform isamplerBuffer)
+0:? 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})
+0:? 'gl_TexCoord' (smooth out implicitly-sized array of 4-component vector of float TexCoord)
+0:? 'gl_Position' (smooth out 4-component vector of float)
+0:? 'locBad' (layout(location=9 ) in 4-component vector of float)
+0:? 'loc' (layout(location=9 ) in 4-component vector of float)
+0:? 'gl_PointSize' (gl_PointSize float PointSize)
+0:? 'gl_PointSize' (gl_PointSize float PointSize)
+0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
+0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
+0:? 's2dr' (uniform sampler2DRect)
+0:? 's2drs' (uniform sampler2DRectShadow)
+0:? 'itloc2' (in 2-component vector of int)
+0:? 'tloc2' (in 2-component vector of float)
+0:? 'tloc3' (in 3-component vector of float)
+0:? 'tloc4' (in 4-component vector of float)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 140
+Requested GL_ARB_explicit_attrib_location
+Requested GL_ARB_separate_shader_objects
+ERROR: node is still EOpNull!
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Sequence
+0:11 move second child to first child (temp int)
+0:11 'id' (temp int)
+0:11 'gl_InstanceID' (gl_InstanceId int InstanceId)
+0:12 add second child into first child (temp int)
+0:12 'id' (temp int)
+0:12 anonMem: direct index for structure (layout(column_major std140 offset=0 ) uniform int)
+0:12 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})
+0:12 Constant:
+0:12 0 (const uint)
+0:13 add second child into first child (temp int)
+0:13 'id' (temp int)
+0:13 direct index (temp int)
+0:13 textureFetch (global 4-component vector of int)
+0:13 'sbuf' (uniform isamplerBuffer)
+0:13 Constant:
+0:13 8 (const int)
+0:13 Constant:
+0:13 3 (const int)
+0:14 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:15 'gl_Color' (in 4-component vector of float Color)
+0:16 direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
+0:16 'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
+0:16 Constant:
+0:16 0 (const int)
+0:17 far: direct index for structure (global float)
+0:17 'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})
+0:17 Constant:
+0:17 1 (const int)
+0:18 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)
+0:19 'gl_FogFragCoord' (smooth out float FogFragCoord)
+0:20 'gl_FrontColor' (smooth out 4-component vector of float FrontColor)
+0:48 Function Definition: foo( (global void)
+0:48 Function Parameters:
+0:50 Sequence
+0:50 Sequence
+0:50 move second child to first child (temp 4-component vector of float)
+0:50 'v' (temp 4-component vector of float)
+0:50 textureFetch (global 4-component vector of float)
+0:50 's2dr' (uniform sampler2DRect)
+0:50 'itloc2' (in 2-component vector of int)
+0:51 add second child into first child (temp 4-component vector of float)
+0:51 'v' (temp 4-component vector of float)
+0:51 Constant:
+0:51 0.000000
+0:52 add second child into first child (temp 4-component vector of float)
+0:52 'v' (temp 4-component vector of float)
+0:52 texture (global 4-component vector of float)
+0:52 's2dr' (uniform sampler2DRect)
+0:52 'tloc2' (in 2-component vector of float)
+0:53 add second child into first child (temp 4-component vector of float)
+0:53 'v' (temp 4-component vector of float)
+0:53 Constant:
+0:53 0.000000
+0:54 add second child into first child (temp 4-component vector of float)
+0:54 'v' (temp 4-component vector of float)
+0:54 texture (global float)
+0:54 's2drs' (uniform sampler2DRectShadow)
+0:54 'tloc3' (in 3-component vector of float)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'v' (temp 4-component vector of float)
+0:55 textureProj (global 4-component vector of float)
+0:55 's2dr' (uniform sampler2DRect)
+0:55 'tloc3' (in 3-component vector of float)
+0:56 add second child into first child (temp 4-component vector of float)
+0:56 'v' (temp 4-component vector of float)
+0:56 textureProj (global 4-component vector of float)
+0:56 's2dr' (uniform sampler2DRect)
+0:56 'tloc4' (in 4-component vector of float)
+0:57 add second child into first child (temp 4-component vector of float)
+0:57 'v' (temp 4-component vector of float)
+0:57 textureProjGradOffset (global 4-component vector of float)
+0:57 's2dr' (uniform sampler2DRect)
+0:57 'tloc4' (in 4-component vector of float)
+0:57 Constant:
+0:57 0.000000
+0:57 0.000000
+0:57 Constant:
+0:57 0.000000
+0:57 0.000000
+0:57 Constant:
+0:57 1 (const int)
+0:57 2 (const int)
+0:58 add second child into first child (temp 4-component vector of float)
+0:58 'v' (temp 4-component vector of float)
+0:58 textureProjGradOffset (global float)
+0:58 's2drs' (uniform sampler2DRectShadow)
+0:58 'tloc4' (in 4-component vector of float)
+0:58 Constant:
+0:58 0.000000
+0:58 0.000000
+0:58 Constant:
+0:58 0.000000
+0:58 0.000000
+0:58 Constant:
+0:58 1 (const int)
+0:58 2 (const int)
+0:? Linker Objects
+0:? 'sbuf' (uniform isamplerBuffer)
+0:? 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})
+0:? 'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)
+0:? 'gl_Position' (smooth out 4-component vector of float)
+0:? 'locBad' (layout(location=9 ) in 4-component vector of float)
+0:? 'loc' (layout(location=9 ) in 4-component vector of float)
+0:? 'gl_PointSize' (gl_PointSize float PointSize)
+0:? 'gl_PointSize' (gl_PointSize float PointSize)
+0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:? 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
+0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
+0:? 'gl_FogFragCoord' (smooth out float FogFragCoord)
+0:? 's2dr' (uniform sampler2DRect)
+0:? 's2drs' (uniform sampler2DRectShadow)
+0:? 'itloc2' (in 2-component vector of int)
+0:? 'tloc2' (in 2-component vector of float)
+0:? 'tloc3' (in 3-component vector of float)
+0:? 'tloc4' (in 4-component vector of float)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/150.frag.out b/Test/baseResults/150.frag.out
index 73bd45a..082a827 100644
--- a/Test/baseResults/150.frag.out
+++ b/Test/baseResults/150.frag.out
@@ -1,244 +1,244 @@
-150.frag
-ERROR: 0:4: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
-ERROR: 0:5: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
-ERROR: 0:6: 'layout qualifier' : can only apply origin_upper_left and pixel_center_origin to gl_FragCoord
-ERROR: 0:14: 'gl_FragCoord' : cannot redeclare after use
-ERROR: 4 compilation errors. No code generated.
-
-
-Shader version: 150
-gl_FragCoord pixel center is integer
-gl_FragCoord origin is upper left
-ERROR: node is still EOpNull!
-0:9 Function Definition: main( (global void)
-0:9 Function Parameters:
-0:11 Sequence
-0:11 Sequence
-0:11 move second child to first child (temp 4-component vector of float)
-0:11 'c' (temp 4-component vector of float)
-0:11 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:18 Sequence
-0:18 move second child to first child (temp float)
-0:18 'patch' (global float)
-0:18 Constant:
-0:18 3.100000
-0:31 Function Definition: barWxyz( (global void)
-0:31 Function Parameters:
-0:33 Sequence
-0:33 Sequence
-0:33 move second child to first child (temp 2-component vector of int)
-0:33 't11' (temp 2-component vector of int)
-0:33 textureSize (global 2-component vector of int)
-0:33 'sms' (uniform sampler2DMS)
-0:34 Sequence
-0:34 move second child to first child (temp 2-component vector of int)
-0:34 't12' (temp 2-component vector of int)
-0:34 textureSize (global 2-component vector of int)
-0:34 'isms' (uniform isampler2DMS)
-0:35 Sequence
-0:35 move second child to first child (temp 2-component vector of int)
-0:35 't13' (temp 2-component vector of int)
-0:35 textureSize (global 2-component vector of int)
-0:35 'usms' (uniform usampler2DMS)
-0:36 Sequence
-0:36 move second child to first child (temp 3-component vector of int)
-0:36 't21' (temp 3-component vector of int)
-0:36 textureSize (global 3-component vector of int)
-0:36 'smsa' (uniform sampler2DMSArray)
-0:37 Sequence
-0:37 move second child to first child (temp 3-component vector of int)
-0:37 't22' (temp 3-component vector of int)
-0:37 textureSize (global 3-component vector of int)
-0:37 'ismsa' (uniform isampler2DMSArray)
-0:38 Sequence
-0:38 move second child to first child (temp 3-component vector of int)
-0:38 't23' (temp 3-component vector of int)
-0:38 textureSize (global 3-component vector of int)
-0:38 'usmsa' (uniform usampler2DMSArray)
-0:39 Sequence
-0:39 move second child to first child (temp 4-component vector of float)
-0:39 't31' (temp 4-component vector of float)
-0:39 textureFetch (global 4-component vector of float)
-0:39 'sms' (uniform sampler2DMS)
-0:39 'p2' (flat in 2-component vector of int)
-0:39 'samp' (flat in int)
-0:40 Sequence
-0:40 move second child to first child (temp 4-component vector of int)
-0:40 't32' (temp 4-component vector of int)
-0:40 textureFetch (global 4-component vector of int)
-0:40 'isms' (uniform isampler2DMS)
-0:40 'p2' (flat in 2-component vector of int)
-0:40 'samp' (flat in int)
-0:41 Sequence
-0:41 move second child to first child (temp 4-component vector of uint)
-0:41 't33' (temp 4-component vector of uint)
-0:41 textureFetch (global 4-component vector of uint)
-0:41 'usms' (uniform usampler2DMS)
-0:41 'p2' (flat in 2-component vector of int)
-0:41 Constant:
-0:41 3 (const int)
-0:42 Sequence
-0:42 move second child to first child (temp 4-component vector of float)
-0:42 't41' (temp 4-component vector of float)
-0:42 textureFetch (global 4-component vector of float)
-0:42 'smsa' (uniform sampler2DMSArray)
-0:42 'p3' (flat in 3-component vector of int)
-0:42 'samp' (flat in int)
-0:43 Sequence
-0:43 move second child to first child (temp 4-component vector of int)
-0:43 't42' (temp 4-component vector of int)
-0:43 textureFetch (global 4-component vector of int)
-0:43 'ismsa' (uniform isampler2DMSArray)
-0:43 Constant:
-0:43 2 (const int)
-0:43 2 (const int)
-0:43 2 (const int)
-0:43 'samp' (flat in int)
-0:44 Sequence
-0:44 move second child to first child (temp 4-component vector of uint)
-0:44 't43' (temp 4-component vector of uint)
-0:44 textureFetch (global 4-component vector of uint)
-0:44 'usmsa' (uniform usampler2DMSArray)
-0:44 'p3' (flat in 3-component vector of int)
-0:44 'samp' (flat in int)
-0:47 Function Definition: primitiveID( (global int)
-0:47 Function Parameters:
-0:49 Sequence
-0:49 Branch: Return with expression
-0:49 'gl_PrimitiveID' (flat in int PrimitiveID)
-0:? Linker Objects
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:? 'foo' (smooth in 4-component vector of float)
-0:? 's' (smooth in structure{global float f})
-0:? 'patch' (global float)
-0:? 'sms' (uniform sampler2DMS)
-0:? 'isms' (uniform isampler2DMS)
-0:? 'usms' (uniform usampler2DMS)
-0:? 'smsa' (uniform sampler2DMSArray)
-0:? 'ismsa' (uniform isampler2DMSArray)
-0:? 'usmsa' (uniform usampler2DMSArray)
-0:? 'p2' (flat in 2-component vector of int)
-0:? 'p3' (flat in 3-component vector of int)
-0:? 'samp' (flat in int)
-
-
-Linked fragment stage:
-
-
-Shader version: 150
-gl_FragCoord pixel center is integer
-gl_FragCoord origin is upper left
-ERROR: node is still EOpNull!
-0:9 Function Definition: main( (global void)
-0:9 Function Parameters:
-0:11 Sequence
-0:11 Sequence
-0:11 move second child to first child (temp 4-component vector of float)
-0:11 'c' (temp 4-component vector of float)
-0:11 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:18 Sequence
-0:18 move second child to first child (temp float)
-0:18 'patch' (global float)
-0:18 Constant:
-0:18 3.100000
-0:31 Function Definition: barWxyz( (global void)
-0:31 Function Parameters:
-0:33 Sequence
-0:33 Sequence
-0:33 move second child to first child (temp 2-component vector of int)
-0:33 't11' (temp 2-component vector of int)
-0:33 textureSize (global 2-component vector of int)
-0:33 'sms' (uniform sampler2DMS)
-0:34 Sequence
-0:34 move second child to first child (temp 2-component vector of int)
-0:34 't12' (temp 2-component vector of int)
-0:34 textureSize (global 2-component vector of int)
-0:34 'isms' (uniform isampler2DMS)
-0:35 Sequence
-0:35 move second child to first child (temp 2-component vector of int)
-0:35 't13' (temp 2-component vector of int)
-0:35 textureSize (global 2-component vector of int)
-0:35 'usms' (uniform usampler2DMS)
-0:36 Sequence
-0:36 move second child to first child (temp 3-component vector of int)
-0:36 't21' (temp 3-component vector of int)
-0:36 textureSize (global 3-component vector of int)
-0:36 'smsa' (uniform sampler2DMSArray)
-0:37 Sequence
-0:37 move second child to first child (temp 3-component vector of int)
-0:37 't22' (temp 3-component vector of int)
-0:37 textureSize (global 3-component vector of int)
-0:37 'ismsa' (uniform isampler2DMSArray)
-0:38 Sequence
-0:38 move second child to first child (temp 3-component vector of int)
-0:38 't23' (temp 3-component vector of int)
-0:38 textureSize (global 3-component vector of int)
-0:38 'usmsa' (uniform usampler2DMSArray)
-0:39 Sequence
-0:39 move second child to first child (temp 4-component vector of float)
-0:39 't31' (temp 4-component vector of float)
-0:39 textureFetch (global 4-component vector of float)
-0:39 'sms' (uniform sampler2DMS)
-0:39 'p2' (flat in 2-component vector of int)
-0:39 'samp' (flat in int)
-0:40 Sequence
-0:40 move second child to first child (temp 4-component vector of int)
-0:40 't32' (temp 4-component vector of int)
-0:40 textureFetch (global 4-component vector of int)
-0:40 'isms' (uniform isampler2DMS)
-0:40 'p2' (flat in 2-component vector of int)
-0:40 'samp' (flat in int)
-0:41 Sequence
-0:41 move second child to first child (temp 4-component vector of uint)
-0:41 't33' (temp 4-component vector of uint)
-0:41 textureFetch (global 4-component vector of uint)
-0:41 'usms' (uniform usampler2DMS)
-0:41 'p2' (flat in 2-component vector of int)
-0:41 Constant:
-0:41 3 (const int)
-0:42 Sequence
-0:42 move second child to first child (temp 4-component vector of float)
-0:42 't41' (temp 4-component vector of float)
-0:42 textureFetch (global 4-component vector of float)
-0:42 'smsa' (uniform sampler2DMSArray)
-0:42 'p3' (flat in 3-component vector of int)
-0:42 'samp' (flat in int)
-0:43 Sequence
-0:43 move second child to first child (temp 4-component vector of int)
-0:43 't42' (temp 4-component vector of int)
-0:43 textureFetch (global 4-component vector of int)
-0:43 'ismsa' (uniform isampler2DMSArray)
-0:43 Constant:
-0:43 2 (const int)
-0:43 2 (const int)
-0:43 2 (const int)
-0:43 'samp' (flat in int)
-0:44 Sequence
-0:44 move second child to first child (temp 4-component vector of uint)
-0:44 't43' (temp 4-component vector of uint)
-0:44 textureFetch (global 4-component vector of uint)
-0:44 'usmsa' (uniform usampler2DMSArray)
-0:44 'p3' (flat in 3-component vector of int)
-0:44 'samp' (flat in int)
-0:47 Function Definition: primitiveID( (global int)
-0:47 Function Parameters:
-0:49 Sequence
-0:49 Branch: Return with expression
-0:49 'gl_PrimitiveID' (flat in int PrimitiveID)
-0:? Linker Objects
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:? 'foo' (smooth in 4-component vector of float)
-0:? 's' (smooth in structure{global float f})
-0:? 'patch' (global float)
-0:? 'sms' (uniform sampler2DMS)
-0:? 'isms' (uniform isampler2DMS)
-0:? 'usms' (uniform usampler2DMS)
-0:? 'smsa' (uniform sampler2DMSArray)
-0:? 'ismsa' (uniform isampler2DMSArray)
-0:? 'usmsa' (uniform usampler2DMSArray)
-0:? 'p2' (flat in 2-component vector of int)
-0:? 'p3' (flat in 3-component vector of int)
-0:? 'samp' (flat in int)
-
+150.frag
+ERROR: 0:4: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
+ERROR: 0:5: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
+ERROR: 0:6: 'layout qualifier' : can only apply origin_upper_left and pixel_center_origin to gl_FragCoord
+ERROR: 0:14: 'gl_FragCoord' : cannot redeclare after use
+ERROR: 4 compilation errors. No code generated.
+
+
+Shader version: 150
+gl_FragCoord pixel center is integer
+gl_FragCoord origin is upper left
+ERROR: node is still EOpNull!
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Sequence
+0:11 move second child to first child (temp 4-component vector of float)
+0:11 'c' (temp 4-component vector of float)
+0:11 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'patch' (global float)
+0:18 Constant:
+0:18 3.100000
+0:31 Function Definition: barWxyz( (global void)
+0:31 Function Parameters:
+0:33 Sequence
+0:33 Sequence
+0:33 move second child to first child (temp 2-component vector of int)
+0:33 't11' (temp 2-component vector of int)
+0:33 textureSize (global 2-component vector of int)
+0:33 'sms' (uniform sampler2DMS)
+0:34 Sequence
+0:34 move second child to first child (temp 2-component vector of int)
+0:34 't12' (temp 2-component vector of int)
+0:34 textureSize (global 2-component vector of int)
+0:34 'isms' (uniform isampler2DMS)
+0:35 Sequence
+0:35 move second child to first child (temp 2-component vector of int)
+0:35 't13' (temp 2-component vector of int)
+0:35 textureSize (global 2-component vector of int)
+0:35 'usms' (uniform usampler2DMS)
+0:36 Sequence
+0:36 move second child to first child (temp 3-component vector of int)
+0:36 't21' (temp 3-component vector of int)
+0:36 textureSize (global 3-component vector of int)
+0:36 'smsa' (uniform sampler2DMSArray)
+0:37 Sequence
+0:37 move second child to first child (temp 3-component vector of int)
+0:37 't22' (temp 3-component vector of int)
+0:37 textureSize (global 3-component vector of int)
+0:37 'ismsa' (uniform isampler2DMSArray)
+0:38 Sequence
+0:38 move second child to first child (temp 3-component vector of int)
+0:38 't23' (temp 3-component vector of int)
+0:38 textureSize (global 3-component vector of int)
+0:38 'usmsa' (uniform usampler2DMSArray)
+0:39 Sequence
+0:39 move second child to first child (temp 4-component vector of float)
+0:39 't31' (temp 4-component vector of float)
+0:39 textureFetch (global 4-component vector of float)
+0:39 'sms' (uniform sampler2DMS)
+0:39 'p2' (flat in 2-component vector of int)
+0:39 'samp' (flat in int)
+0:40 Sequence
+0:40 move second child to first child (temp 4-component vector of int)
+0:40 't32' (temp 4-component vector of int)
+0:40 textureFetch (global 4-component vector of int)
+0:40 'isms' (uniform isampler2DMS)
+0:40 'p2' (flat in 2-component vector of int)
+0:40 'samp' (flat in int)
+0:41 Sequence
+0:41 move second child to first child (temp 4-component vector of uint)
+0:41 't33' (temp 4-component vector of uint)
+0:41 textureFetch (global 4-component vector of uint)
+0:41 'usms' (uniform usampler2DMS)
+0:41 'p2' (flat in 2-component vector of int)
+0:41 Constant:
+0:41 3 (const int)
+0:42 Sequence
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 't41' (temp 4-component vector of float)
+0:42 textureFetch (global 4-component vector of float)
+0:42 'smsa' (uniform sampler2DMSArray)
+0:42 'p3' (flat in 3-component vector of int)
+0:42 'samp' (flat in int)
+0:43 Sequence
+0:43 move second child to first child (temp 4-component vector of int)
+0:43 't42' (temp 4-component vector of int)
+0:43 textureFetch (global 4-component vector of int)
+0:43 'ismsa' (uniform isampler2DMSArray)
+0:43 Constant:
+0:43 2 (const int)
+0:43 2 (const int)
+0:43 2 (const int)
+0:43 'samp' (flat in int)
+0:44 Sequence
+0:44 move second child to first child (temp 4-component vector of uint)
+0:44 't43' (temp 4-component vector of uint)
+0:44 textureFetch (global 4-component vector of uint)
+0:44 'usmsa' (uniform usampler2DMSArray)
+0:44 'p3' (flat in 3-component vector of int)
+0:44 'samp' (flat in int)
+0:47 Function Definition: primitiveID( (global int)
+0:47 Function Parameters:
+0:49 Sequence
+0:49 Branch: Return with expression
+0:49 'gl_PrimitiveID' (flat in int PrimitiveID)
+0:? Linker Objects
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'foo' (smooth in 4-component vector of float)
+0:? 's' (smooth in structure{global float f})
+0:? 'patch' (global float)
+0:? 'sms' (uniform sampler2DMS)
+0:? 'isms' (uniform isampler2DMS)
+0:? 'usms' (uniform usampler2DMS)
+0:? 'smsa' (uniform sampler2DMSArray)
+0:? 'ismsa' (uniform isampler2DMSArray)
+0:? 'usmsa' (uniform usampler2DMSArray)
+0:? 'p2' (flat in 2-component vector of int)
+0:? 'p3' (flat in 3-component vector of int)
+0:? 'samp' (flat in int)
+
+
+Linked fragment stage:
+
+
+Shader version: 150
+gl_FragCoord pixel center is integer
+gl_FragCoord origin is upper left
+ERROR: node is still EOpNull!
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Sequence
+0:11 move second child to first child (temp 4-component vector of float)
+0:11 'c' (temp 4-component vector of float)
+0:11 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'patch' (global float)
+0:18 Constant:
+0:18 3.100000
+0:31 Function Definition: barWxyz( (global void)
+0:31 Function Parameters:
+0:33 Sequence
+0:33 Sequence
+0:33 move second child to first child (temp 2-component vector of int)
+0:33 't11' (temp 2-component vector of int)
+0:33 textureSize (global 2-component vector of int)
+0:33 'sms' (uniform sampler2DMS)
+0:34 Sequence
+0:34 move second child to first child (temp 2-component vector of int)
+0:34 't12' (temp 2-component vector of int)
+0:34 textureSize (global 2-component vector of int)
+0:34 'isms' (uniform isampler2DMS)
+0:35 Sequence
+0:35 move second child to first child (temp 2-component vector of int)
+0:35 't13' (temp 2-component vector of int)
+0:35 textureSize (global 2-component vector of int)
+0:35 'usms' (uniform usampler2DMS)
+0:36 Sequence
+0:36 move second child to first child (temp 3-component vector of int)
+0:36 't21' (temp 3-component vector of int)
+0:36 textureSize (global 3-component vector of int)
+0:36 'smsa' (uniform sampler2DMSArray)
+0:37 Sequence
+0:37 move second child to first child (temp 3-component vector of int)
+0:37 't22' (temp 3-component vector of int)
+0:37 textureSize (global 3-component vector of int)
+0:37 'ismsa' (uniform isampler2DMSArray)
+0:38 Sequence
+0:38 move second child to first child (temp 3-component vector of int)
+0:38 't23' (temp 3-component vector of int)
+0:38 textureSize (global 3-component vector of int)
+0:38 'usmsa' (uniform usampler2DMSArray)
+0:39 Sequence
+0:39 move second child to first child (temp 4-component vector of float)
+0:39 't31' (temp 4-component vector of float)
+0:39 textureFetch (global 4-component vector of float)
+0:39 'sms' (uniform sampler2DMS)
+0:39 'p2' (flat in 2-component vector of int)
+0:39 'samp' (flat in int)
+0:40 Sequence
+0:40 move second child to first child (temp 4-component vector of int)
+0:40 't32' (temp 4-component vector of int)
+0:40 textureFetch (global 4-component vector of int)
+0:40 'isms' (uniform isampler2DMS)
+0:40 'p2' (flat in 2-component vector of int)
+0:40 'samp' (flat in int)
+0:41 Sequence
+0:41 move second child to first child (temp 4-component vector of uint)
+0:41 't33' (temp 4-component vector of uint)
+0:41 textureFetch (global 4-component vector of uint)
+0:41 'usms' (uniform usampler2DMS)
+0:41 'p2' (flat in 2-component vector of int)
+0:41 Constant:
+0:41 3 (const int)
+0:42 Sequence
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 't41' (temp 4-component vector of float)
+0:42 textureFetch (global 4-component vector of float)
+0:42 'smsa' (uniform sampler2DMSArray)
+0:42 'p3' (flat in 3-component vector of int)
+0:42 'samp' (flat in int)
+0:43 Sequence
+0:43 move second child to first child (temp 4-component vector of int)
+0:43 't42' (temp 4-component vector of int)
+0:43 textureFetch (global 4-component vector of int)
+0:43 'ismsa' (uniform isampler2DMSArray)
+0:43 Constant:
+0:43 2 (const int)
+0:43 2 (const int)
+0:43 2 (const int)
+0:43 'samp' (flat in int)
+0:44 Sequence
+0:44 move second child to first child (temp 4-component vector of uint)
+0:44 't43' (temp 4-component vector of uint)
+0:44 textureFetch (global 4-component vector of uint)
+0:44 'usmsa' (uniform usampler2DMSArray)
+0:44 'p3' (flat in 3-component vector of int)
+0:44 'samp' (flat in int)
+0:47 Function Definition: primitiveID( (global int)
+0:47 Function Parameters:
+0:49 Sequence
+0:49 Branch: Return with expression
+0:49 'gl_PrimitiveID' (flat in int PrimitiveID)
+0:? Linker Objects
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'foo' (smooth in 4-component vector of float)
+0:? 's' (smooth in structure{global float f})
+0:? 'patch' (global float)
+0:? 'sms' (uniform sampler2DMS)
+0:? 'isms' (uniform isampler2DMS)
+0:? 'usms' (uniform usampler2DMS)
+0:? 'smsa' (uniform sampler2DMSArray)
+0:? 'ismsa' (uniform isampler2DMSArray)
+0:? 'usmsa' (uniform usampler2DMSArray)
+0:? 'p2' (flat in 2-component vector of int)
+0:? 'p3' (flat in 3-component vector of int)
+0:? 'samp' (flat in int)
+
diff --git a/Test/baseResults/150.geom.out b/Test/baseResults/150.geom.out
index 6731380..aa00868 100644
--- a/Test/baseResults/150.geom.out
+++ b/Test/baseResults/150.geom.out
@@ -1,317 +1,317 @@
-150.geom
-ERROR: 0:15: 'fromVertex' : block instance name redefinition
-ERROR: 0:19: 'fromVertex' : redefinition
-ERROR: 0:21: 'fooC' : block instance name redefinition
-ERROR: 0:29: 'EmitStreamVertex' : no matching overloaded function found
-ERROR: 0:30: 'EndStreamPrimitive' : no matching overloaded function found
-ERROR: 0:44: 'stream' : can only be used on an output
-ERROR: 0:45: 'stream' : can only be used on an output
-ERROR: 0:46: 'stream' : can only be used on an output
-ERROR: 0:47: 'stream' : can only be used on an output
-ERROR: 0:47: 'stream' : can only be used on an output
-ERROR: 0:60: 'stream' : member cannot contradict block
-ERROR: 0:66: 'max_vertices' : too large, must be less than gl_MaxGeometryOutputVertices
-ERROR: 0:66: 'max_vertices' : cannot change previously set layout value
-ERROR: 0:67: 'max_vertices' : can only apply to a standalone qualifier
-ERROR: 0:72: 'points' : cannot change previously set output primitive
-ERROR: 0:73: 'points' : cannot change previously set output primitive
-ERROR: 0:74: 'triangle_strip' : cannot apply to input
-ERROR: 0:75: 'triangle_strip' : cannot apply to: uniform
-ERROR: 0:76: 'triangle_strip' : can only apply to a standalone qualifier
-ERROR: 0:77: 'triangle_strip' : can only apply to a standalone qualifier
-ERROR: 0:78: 'invocations' : not supported for this version or the enabled extensions
-ERROR: 0:78: 'invocations' : can only apply to a standalone qualifier
-ERROR: 0:80: 'invocations' : not supported for this version or the enabled extensions
-ERROR: 0:80: 'invocations' : can only apply to a standalone qualifier
-ERROR: 0:81: 'max_vertices' : can only apply to a standalone qualifier
-ERROR: 0:82: 'triangle_strip' : can only apply to a standalone qualifier
-ERROR: 0:85: 'lines' : cannot apply to 'out'
-ERROR: 0:87: 'triangles' : cannot change previously set input primitive
-ERROR: 0:88: 'triangles_adjacency' : cannot change previously set input primitive
-ERROR: 0:89: 'invocations' : not supported for this version or the enabled extensions
-ERROR: 0:92: 'stream' : member cannot contradict block
-ERROR: 0:92: 'stream' : can only be used on an output
-ERROR: 0:129: 'gl_ViewportIndex' : required extension not requested: GL_ARB_viewport_array
-ERROR: 0:129: 'gl_MaxViewports' : required extension not requested: GL_ARB_viewport_array
-ERROR: 0:139: 'gl_ViewportIndex' : identifiers starting with "gl_" are reserved
-ERROR: 35 compilation errors. No code generated.
-
-
-Shader version: 150
-Requested GL_ARB_viewport_array
-invocations = 4
-max_vertices = 200
-input primitive = lines_adjacency
-output primitive = triangle_strip
-ERROR: node is still EOpNull!
-0:25 Function Definition: main( (global void)
-0:25 Function Parameters:
-0:27 Sequence
-0:27 EmitVertex (global void)
-0:28 EndPrimitive (global void)
-0:29 Constant:
-0:29 0.000000
-0:30 Constant:
-0:30 0.000000
-0:32 move second child to first child (temp 3-component vector of float)
-0:32 color: direct index for structure (layout(stream=0 ) out 3-component vector of float)
-0:32 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
-0:32 Constant:
-0:32 0 (const uint)
-0:32 color: direct index for structure (in 3-component vector of float)
-0:32 direct index (temp block{in 3-component vector of float color})
-0:32 'fromV' (in 4-element array of block{in 3-component vector of float color})
-0:32 Constant:
-0:32 0 (const int)
-0:32 Constant:
-0:32 0 (const int)
-0:33 move second child to first child (temp float)
-0:33 direct index (layout(stream=0 ) temp float ClipDistance)
-0:33 gl_ClipDistance: direct index for structure (layout(stream=0 ) out implicitly-sized array of float ClipDistance)
-0:33 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:33 Constant:
-0:33 2 (const uint)
-0:33 Constant:
-0:33 3 (const int)
-0:33 direct index (temp float ClipDistance)
-0:33 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
-0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:33 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:33 Constant:
-0:33 1 (const int)
-0:33 Constant:
-0:33 2 (const int)
-0:33 Constant:
-0:33 2 (const int)
-0:34 move second child to first child (temp 4-component vector of float)
-0:34 gl_Position: direct index for structure (layout(stream=0 ) gl_Position 4-component vector of float Position)
-0:34 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:34 Constant:
-0:34 0 (const uint)
-0:34 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:34 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:34 Constant:
-0:34 0 (const int)
-0:34 Constant:
-0:34 0 (const int)
-0:35 move second child to first child (temp float)
-0:35 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)
-0:35 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:35 Constant:
-0:35 1 (const uint)
-0:35 gl_PointSize: direct index for structure (in float PointSize)
-0:35 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:35 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:35 Constant:
-0:35 3 (const int)
-0:35 Constant:
-0:35 1 (const int)
-0:36 move second child to first child (temp int)
-0:36 'gl_PrimitiveID' (layout(stream=0 ) out int PrimitiveID)
-0:36 'gl_PrimitiveIDIn' (in int PrimitiveID)
-0:37 move second child to first child (temp int)
-0:37 'gl_Layer' (layout(stream=0 ) out int Layer)
-0:37 Constant:
-0:37 2 (const int)
-0:67 Function Definition: foo(i1; (global void)
-0:67 Function Parameters:
-0:67 'a' (in int)
-0:69 Sequence
-0:69 move second child to first child (temp 4-component vector of float)
-0:69 a: direct index for structure (layout(stream=6 ) out 4-component vector of float)
-0:69 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
-0:69 Constant:
-0:69 0 (const int)
-0:69 Constant:
-0:69 1.000000
-0:69 1.000000
-0:69 1.000000
-0:69 1.000000
-0:107 Sequence
-0:107 move second child to first child (temp float)
-0:107 'summ' (global float)
-0:107 Constant:
-0:107 11332.000000
-0:127 Function Definition: fooe1( (global void)
-0:127 Function Parameters:
-0:129 Sequence
-0:129 move second child to first child (temp int)
-0:129 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
-0:129 Constant:
-0:129 15 (const int)
-0:134 Function Definition: fooe2( (global void)
-0:134 Function Parameters:
-0:136 Sequence
-0:136 move second child to first child (temp int)
-0:136 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
-0:136 Constant:
-0:136 15 (const int)
-0:? Linker Objects
-0:? 'fromV' (in 4-element array of block{in 3-component vector of float color})
-0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
-0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
-0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:? 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:? 'ov0' (layout(stream=0 ) out 4-component vector of float)
-0:? 'ov4' (layout(stream=4 ) out 4-component vector of float)
-0:? 'o1v0' (layout(stream=0 ) out 4-component vector of float)
-0:? 'ua' (layout(stream=3 ) uniform int)
-0:? 'ibb' (layout(stream=3 column_major shared ) uniform block{layout(stream=3 column_major shared ) uniform int ua})
-0:? 'ov3' (layout(stream=3 ) out 4-component vector of float)
-0:? 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
-0:? 'ouua6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
-0:? 'ouua7' (layout(stream=7 ) out block{layout(stream=6 ) out 4-component vector of float a})
-0:? 'ov2s3' (layout(stream=3 ) out 4-component vector of float)
-0:? 'badv4' (layout(stream=3 ) out 4-component vector of float)
-0:? 'bad2v4' (in 4-element array of 4-component vector of float)
-0:? 'anon@2' (layout(stream=3 ) out block{layout(stream=3 ) out int a})
-0:? 'outbi' (layout(stream=3 ) out block{layout(stream=3 ) out int a, layout(stream=3 ) out int b, layout(stream=3 ) out int c})
-0:? 'inbi' (in 4-element array of block{layout(stream=2 ) in int a})
-0:? 'insn' (in 4-element array of block{in int a15})
-0:? 'anon@3' (layout(stream=3 ) out block{layout(stream=3 ) out float f15})
-0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})
-0:? 'summ' (global float)
-0:? 'gl_ViewportIndex' (layout(stream=3 ) out int)
-
-
-Linked geometry stage:
-
-
-Shader version: 150
-Requested GL_ARB_viewport_array
-invocations = 4
-max_vertices = 200
-input primitive = lines_adjacency
-output primitive = triangle_strip
-ERROR: node is still EOpNull!
-0:25 Function Definition: main( (global void)
-0:25 Function Parameters:
-0:27 Sequence
-0:27 EmitVertex (global void)
-0:28 EndPrimitive (global void)
-0:29 Constant:
-0:29 0.000000
-0:30 Constant:
-0:30 0.000000
-0:32 move second child to first child (temp 3-component vector of float)
-0:32 color: direct index for structure (layout(stream=0 ) out 3-component vector of float)
-0:32 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
-0:32 Constant:
-0:32 0 (const uint)
-0:32 color: direct index for structure (in 3-component vector of float)
-0:32 direct index (temp block{in 3-component vector of float color})
-0:32 'fromV' (in 4-element array of block{in 3-component vector of float color})
-0:32 Constant:
-0:32 0 (const int)
-0:32 Constant:
-0:32 0 (const int)
-0:33 move second child to first child (temp float)
-0:33 direct index (layout(stream=0 ) temp float ClipDistance)
-0:33 gl_ClipDistance: direct index for structure (layout(stream=0 ) out 4-element array of float ClipDistance)
-0:33 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance})
-0:33 Constant:
-0:33 2 (const uint)
-0:33 Constant:
-0:33 3 (const int)
-0:33 direct index (temp float ClipDistance)
-0:33 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
-0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:33 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:33 Constant:
-0:33 1 (const int)
-0:33 Constant:
-0:33 2 (const int)
-0:33 Constant:
-0:33 2 (const int)
-0:34 move second child to first child (temp 4-component vector of float)
-0:34 gl_Position: direct index for structure (layout(stream=0 ) gl_Position 4-component vector of float Position)
-0:34 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance})
-0:34 Constant:
-0:34 0 (const uint)
-0:34 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:34 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:34 Constant:
-0:34 0 (const int)
-0:34 Constant:
-0:34 0 (const int)
-0:35 move second child to first child (temp float)
-0:35 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)
-0:35 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance})
-0:35 Constant:
-0:35 1 (const uint)
-0:35 gl_PointSize: direct index for structure (in float PointSize)
-0:35 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:35 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:35 Constant:
-0:35 3 (const int)
-0:35 Constant:
-0:35 1 (const int)
-0:36 move second child to first child (temp int)
-0:36 'gl_PrimitiveID' (layout(stream=0 ) out int PrimitiveID)
-0:36 'gl_PrimitiveIDIn' (in int PrimitiveID)
-0:37 move second child to first child (temp int)
-0:37 'gl_Layer' (layout(stream=0 ) out int Layer)
-0:37 Constant:
-0:37 2 (const int)
-0:67 Function Definition: foo(i1; (global void)
-0:67 Function Parameters:
-0:67 'a' (in int)
-0:69 Sequence
-0:69 move second child to first child (temp 4-component vector of float)
-0:69 a: direct index for structure (layout(stream=6 ) out 4-component vector of float)
-0:69 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
-0:69 Constant:
-0:69 0 (const int)
-0:69 Constant:
-0:69 1.000000
-0:69 1.000000
-0:69 1.000000
-0:69 1.000000
-0:107 Sequence
-0:107 move second child to first child (temp float)
-0:107 'summ' (global float)
-0:107 Constant:
-0:107 11332.000000
-0:127 Function Definition: fooe1( (global void)
-0:127 Function Parameters:
-0:129 Sequence
-0:129 move second child to first child (temp int)
-0:129 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
-0:129 Constant:
-0:129 15 (const int)
-0:134 Function Definition: fooe2( (global void)
-0:134 Function Parameters:
-0:136 Sequence
-0:136 move second child to first child (temp int)
-0:136 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
-0:136 Constant:
-0:136 15 (const int)
-0:? Linker Objects
-0:? 'fromV' (in 4-element array of block{in 3-component vector of float color})
-0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
-0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
-0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance})
-0:? 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:? 'ov0' (layout(stream=0 ) out 4-component vector of float)
-0:? 'ov4' (layout(stream=4 ) out 4-component vector of float)
-0:? 'o1v0' (layout(stream=0 ) out 4-component vector of float)
-0:? 'ua' (layout(stream=3 ) uniform int)
-0:? 'ibb' (layout(stream=3 column_major shared ) uniform block{layout(stream=3 column_major shared ) uniform int ua})
-0:? 'ov3' (layout(stream=3 ) out 4-component vector of float)
-0:? 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
-0:? 'ouua6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
-0:? 'ouua7' (layout(stream=7 ) out block{layout(stream=6 ) out 4-component vector of float a})
-0:? 'ov2s3' (layout(stream=3 ) out 4-component vector of float)
-0:? 'badv4' (layout(stream=3 ) out 4-component vector of float)
-0:? 'bad2v4' (in 4-element array of 4-component vector of float)
-0:? 'anon@2' (layout(stream=3 ) out block{layout(stream=3 ) out int a})
-0:? 'outbi' (layout(stream=3 ) out block{layout(stream=3 ) out int a, layout(stream=3 ) out int b, layout(stream=3 ) out int c})
-0:? 'inbi' (in 4-element array of block{layout(stream=2 ) in int a})
-0:? 'insn' (in 4-element array of block{in int a15})
-0:? 'anon@3' (layout(stream=3 ) out block{layout(stream=3 ) out float f15})
-0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})
-0:? 'summ' (global float)
-0:? 'gl_ViewportIndex' (layout(stream=3 ) out int)
-
+150.geom
+ERROR: 0:15: 'fromVertex' : block instance name redefinition
+ERROR: 0:19: 'fromVertex' : redefinition
+ERROR: 0:21: 'fooC' : block instance name redefinition
+ERROR: 0:29: 'EmitStreamVertex' : no matching overloaded function found
+ERROR: 0:30: 'EndStreamPrimitive' : no matching overloaded function found
+ERROR: 0:44: 'stream' : can only be used on an output
+ERROR: 0:45: 'stream' : can only be used on an output
+ERROR: 0:46: 'stream' : can only be used on an output
+ERROR: 0:47: 'stream' : can only be used on an output
+ERROR: 0:47: 'stream' : can only be used on an output
+ERROR: 0:60: 'stream' : member cannot contradict block
+ERROR: 0:66: 'max_vertices' : too large, must be less than gl_MaxGeometryOutputVertices
+ERROR: 0:66: 'max_vertices' : cannot change previously set layout value
+ERROR: 0:67: 'max_vertices' : can only apply to a standalone qualifier
+ERROR: 0:72: 'points' : cannot change previously set output primitive
+ERROR: 0:73: 'points' : cannot change previously set output primitive
+ERROR: 0:74: 'triangle_strip' : cannot apply to input
+ERROR: 0:75: 'triangle_strip' : cannot apply to: uniform
+ERROR: 0:76: 'triangle_strip' : can only apply to a standalone qualifier
+ERROR: 0:77: 'triangle_strip' : can only apply to a standalone qualifier
+ERROR: 0:78: 'invocations' : not supported for this version or the enabled extensions
+ERROR: 0:78: 'invocations' : can only apply to a standalone qualifier
+ERROR: 0:80: 'invocations' : not supported for this version or the enabled extensions
+ERROR: 0:80: 'invocations' : can only apply to a standalone qualifier
+ERROR: 0:81: 'max_vertices' : can only apply to a standalone qualifier
+ERROR: 0:82: 'triangle_strip' : can only apply to a standalone qualifier
+ERROR: 0:85: 'lines' : cannot apply to 'out'
+ERROR: 0:87: 'triangles' : cannot change previously set input primitive
+ERROR: 0:88: 'triangles_adjacency' : cannot change previously set input primitive
+ERROR: 0:89: 'invocations' : not supported for this version or the enabled extensions
+ERROR: 0:92: 'stream' : member cannot contradict block
+ERROR: 0:92: 'stream' : can only be used on an output
+ERROR: 0:129: 'gl_ViewportIndex' : required extension not requested: GL_ARB_viewport_array
+ERROR: 0:129: 'gl_MaxViewports' : required extension not requested: GL_ARB_viewport_array
+ERROR: 0:139: 'gl_ViewportIndex' : identifiers starting with "gl_" are reserved
+ERROR: 35 compilation errors. No code generated.
+
+
+Shader version: 150
+Requested GL_ARB_viewport_array
+invocations = 4
+max_vertices = 200
+input primitive = lines_adjacency
+output primitive = triangle_strip
+ERROR: node is still EOpNull!
+0:25 Function Definition: main( (global void)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 EmitVertex (global void)
+0:28 EndPrimitive (global void)
+0:29 Constant:
+0:29 0.000000
+0:30 Constant:
+0:30 0.000000
+0:32 move second child to first child (temp 3-component vector of float)
+0:32 color: direct index for structure (layout(stream=0 ) out 3-component vector of float)
+0:32 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
+0:32 Constant:
+0:32 0 (const uint)
+0:32 color: direct index for structure (in 3-component vector of float)
+0:32 direct index (temp block{in 3-component vector of float color})
+0:32 'fromV' (in 4-element array of block{in 3-component vector of float color})
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 0 (const int)
+0:33 move second child to first child (temp float)
+0:33 direct index (layout(stream=0 ) temp float ClipDistance)
+0:33 gl_ClipDistance: direct index for structure (layout(stream=0 ) out implicitly-sized array of float ClipDistance)
+0:33 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 2 (const uint)
+0:33 Constant:
+0:33 3 (const int)
+0:33 direct index (temp float ClipDistance)
+0:33 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 2 (const int)
+0:34 move second child to first child (temp 4-component vector of float)
+0:34 gl_Position: direct index for structure (layout(stream=0 ) gl_Position 4-component vector of float Position)
+0:34 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 0 (const uint)
+0:34 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:34 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 0 (const int)
+0:34 Constant:
+0:34 0 (const int)
+0:35 move second child to first child (temp float)
+0:35 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)
+0:35 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:35 Constant:
+0:35 1 (const uint)
+0:35 gl_PointSize: direct index for structure (in float PointSize)
+0:35 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:35 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:35 Constant:
+0:35 3 (const int)
+0:35 Constant:
+0:35 1 (const int)
+0:36 move second child to first child (temp int)
+0:36 'gl_PrimitiveID' (layout(stream=0 ) out int PrimitiveID)
+0:36 'gl_PrimitiveIDIn' (in int PrimitiveID)
+0:37 move second child to first child (temp int)
+0:37 'gl_Layer' (layout(stream=0 ) out int Layer)
+0:37 Constant:
+0:37 2 (const int)
+0:67 Function Definition: foo(i1; (global void)
+0:67 Function Parameters:
+0:67 'a' (in int)
+0:69 Sequence
+0:69 move second child to first child (temp 4-component vector of float)
+0:69 a: direct index for structure (layout(stream=6 ) out 4-component vector of float)
+0:69 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
+0:69 Constant:
+0:69 0 (const int)
+0:69 Constant:
+0:69 1.000000
+0:69 1.000000
+0:69 1.000000
+0:69 1.000000
+0:107 Sequence
+0:107 move second child to first child (temp float)
+0:107 'summ' (global float)
+0:107 Constant:
+0:107 11332.000000
+0:127 Function Definition: fooe1( (global void)
+0:127 Function Parameters:
+0:129 Sequence
+0:129 move second child to first child (temp int)
+0:129 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
+0:129 Constant:
+0:129 15 (const int)
+0:134 Function Definition: fooe2( (global void)
+0:134 Function Parameters:
+0:136 Sequence
+0:136 move second child to first child (temp int)
+0:136 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
+0:136 Constant:
+0:136 15 (const int)
+0:? Linker Objects
+0:? 'fromV' (in 4-element array of block{in 3-component vector of float color})
+0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
+0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'ov0' (layout(stream=0 ) out 4-component vector of float)
+0:? 'ov4' (layout(stream=4 ) out 4-component vector of float)
+0:? 'o1v0' (layout(stream=0 ) out 4-component vector of float)
+0:? 'ua' (layout(stream=3 ) uniform int)
+0:? 'ibb' (layout(stream=3 column_major shared ) uniform block{layout(stream=3 column_major shared ) uniform int ua})
+0:? 'ov3' (layout(stream=3 ) out 4-component vector of float)
+0:? 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
+0:? 'ouua6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
+0:? 'ouua7' (layout(stream=7 ) out block{layout(stream=6 ) out 4-component vector of float a})
+0:? 'ov2s3' (layout(stream=3 ) out 4-component vector of float)
+0:? 'badv4' (layout(stream=3 ) out 4-component vector of float)
+0:? 'bad2v4' (in 4-element array of 4-component vector of float)
+0:? 'anon@2' (layout(stream=3 ) out block{layout(stream=3 ) out int a})
+0:? 'outbi' (layout(stream=3 ) out block{layout(stream=3 ) out int a, layout(stream=3 ) out int b, layout(stream=3 ) out int c})
+0:? 'inbi' (in 4-element array of block{layout(stream=2 ) in int a})
+0:? 'insn' (in 4-element array of block{in int a15})
+0:? 'anon@3' (layout(stream=3 ) out block{layout(stream=3 ) out float f15})
+0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})
+0:? 'summ' (global float)
+0:? 'gl_ViewportIndex' (layout(stream=3 ) out int)
+
+
+Linked geometry stage:
+
+
+Shader version: 150
+Requested GL_ARB_viewport_array
+invocations = 4
+max_vertices = 200
+input primitive = lines_adjacency
+output primitive = triangle_strip
+ERROR: node is still EOpNull!
+0:25 Function Definition: main( (global void)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 EmitVertex (global void)
+0:28 EndPrimitive (global void)
+0:29 Constant:
+0:29 0.000000
+0:30 Constant:
+0:30 0.000000
+0:32 move second child to first child (temp 3-component vector of float)
+0:32 color: direct index for structure (layout(stream=0 ) out 3-component vector of float)
+0:32 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
+0:32 Constant:
+0:32 0 (const uint)
+0:32 color: direct index for structure (in 3-component vector of float)
+0:32 direct index (temp block{in 3-component vector of float color})
+0:32 'fromV' (in 4-element array of block{in 3-component vector of float color})
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 0 (const int)
+0:33 move second child to first child (temp float)
+0:33 direct index (layout(stream=0 ) temp float ClipDistance)
+0:33 gl_ClipDistance: direct index for structure (layout(stream=0 ) out 4-element array of float ClipDistance)
+0:33 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 2 (const uint)
+0:33 Constant:
+0:33 3 (const int)
+0:33 direct index (temp float ClipDistance)
+0:33 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
+0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:33 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 2 (const int)
+0:34 move second child to first child (temp 4-component vector of float)
+0:34 gl_Position: direct index for structure (layout(stream=0 ) gl_Position 4-component vector of float Position)
+0:34 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 0 (const uint)
+0:34 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:34 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 0 (const int)
+0:34 Constant:
+0:34 0 (const int)
+0:35 move second child to first child (temp float)
+0:35 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)
+0:35 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance})
+0:35 Constant:
+0:35 1 (const uint)
+0:35 gl_PointSize: direct index for structure (in float PointSize)
+0:35 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:35 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:35 Constant:
+0:35 3 (const int)
+0:35 Constant:
+0:35 1 (const int)
+0:36 move second child to first child (temp int)
+0:36 'gl_PrimitiveID' (layout(stream=0 ) out int PrimitiveID)
+0:36 'gl_PrimitiveIDIn' (in int PrimitiveID)
+0:37 move second child to first child (temp int)
+0:37 'gl_Layer' (layout(stream=0 ) out int Layer)
+0:37 Constant:
+0:37 2 (const int)
+0:67 Function Definition: foo(i1; (global void)
+0:67 Function Parameters:
+0:67 'a' (in int)
+0:69 Sequence
+0:69 move second child to first child (temp 4-component vector of float)
+0:69 a: direct index for structure (layout(stream=6 ) out 4-component vector of float)
+0:69 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
+0:69 Constant:
+0:69 0 (const int)
+0:69 Constant:
+0:69 1.000000
+0:69 1.000000
+0:69 1.000000
+0:69 1.000000
+0:107 Sequence
+0:107 move second child to first child (temp float)
+0:107 'summ' (global float)
+0:107 Constant:
+0:107 11332.000000
+0:127 Function Definition: fooe1( (global void)
+0:127 Function Parameters:
+0:129 Sequence
+0:129 move second child to first child (temp int)
+0:129 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
+0:129 Constant:
+0:129 15 (const int)
+0:134 Function Definition: fooe2( (global void)
+0:134 Function Parameters:
+0:136 Sequence
+0:136 move second child to first child (temp int)
+0:136 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
+0:136 Constant:
+0:136 15 (const int)
+0:? Linker Objects
+0:? 'fromV' (in 4-element array of block{in 3-component vector of float color})
+0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
+0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'ov0' (layout(stream=0 ) out 4-component vector of float)
+0:? 'ov4' (layout(stream=4 ) out 4-component vector of float)
+0:? 'o1v0' (layout(stream=0 ) out 4-component vector of float)
+0:? 'ua' (layout(stream=3 ) uniform int)
+0:? 'ibb' (layout(stream=3 column_major shared ) uniform block{layout(stream=3 column_major shared ) uniform int ua})
+0:? 'ov3' (layout(stream=3 ) out 4-component vector of float)
+0:? 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
+0:? 'ouua6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
+0:? 'ouua7' (layout(stream=7 ) out block{layout(stream=6 ) out 4-component vector of float a})
+0:? 'ov2s3' (layout(stream=3 ) out 4-component vector of float)
+0:? 'badv4' (layout(stream=3 ) out 4-component vector of float)
+0:? 'bad2v4' (in 4-element array of 4-component vector of float)
+0:? 'anon@2' (layout(stream=3 ) out block{layout(stream=3 ) out int a})
+0:? 'outbi' (layout(stream=3 ) out block{layout(stream=3 ) out int a, layout(stream=3 ) out int b, layout(stream=3 ) out int c})
+0:? 'inbi' (in 4-element array of block{layout(stream=2 ) in int a})
+0:? 'insn' (in 4-element array of block{in int a15})
+0:? 'anon@3' (layout(stream=3 ) out block{layout(stream=3 ) out float f15})
+0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})
+0:? 'summ' (global float)
+0:? 'gl_ViewportIndex' (layout(stream=3 ) out int)
+
diff --git a/Test/baseResults/150.tesc.out b/Test/baseResults/150.tesc.out
index 185789c..484718c 100644
--- a/Test/baseResults/150.tesc.out
+++ b/Test/baseResults/150.tesc.out
@@ -1,1653 +1,1653 @@
-150.tesc
-Shader version: 150
-Requested GL_ARB_tessellation_shader
-vertices = 4
-0:? Sequence
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:12 Sequence
-0:12 Barrier (global void)
-0:14 Sequence
-0:14 move second child to first child (temp int)
-0:14 'a' (temp int)
-0:14 Constant:
-0:14 5392 (const int)
-0:20 Sequence
-0:20 move second child to first child (temp 4-component vector of float)
-0:20 'p' (temp 4-component vector of float)
-0:20 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:20 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:20 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:20 Constant:
-0:20 1 (const int)
-0:20 Constant:
-0:20 0 (const int)
-0:21 Sequence
-0:21 move second child to first child (temp float)
-0:21 'ps' (temp float)
-0:21 gl_PointSize: direct index for structure (in float PointSize)
-0:21 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:21 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:21 Constant:
-0:21 1 (const int)
-0:21 Constant:
-0:21 1 (const int)
-0:22 Sequence
-0:22 move second child to first child (temp float)
-0:22 'cd' (temp float)
-0:22 direct index (temp float ClipDistance)
-0:22 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
-0:22 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:22 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:22 Constant:
-0:22 1 (const int)
-0:22 Constant:
-0:22 2 (const int)
-0:22 Constant:
-0:22 2 (const int)
-0:24 Sequence
-0:24 move second child to first child (temp int)
-0:24 'pvi' (temp int)
-0:24 'gl_PatchVerticesIn' (in int PatchVertices)
-0:25 Sequence
-0:25 move second child to first child (temp int)
-0:25 'pid' (temp int)
-0:25 'gl_PrimitiveID' (in int PrimitiveID)
-0:26 Sequence
-0:26 move second child to first child (temp int)
-0:26 'iid' (temp int)
-0:26 'gl_InvocationID' (in int InvocationID)
-0:28 move second child to first child (temp 4-component vector of float)
-0:28 gl_Position: direct index for structure (out 4-component vector of float Position)
-0:28 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:28 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:28 'gl_InvocationID' (in int InvocationID)
-0:28 Constant:
-0:28 0 (const int)
-0:28 'p' (temp 4-component vector of float)
-0:29 move second child to first child (temp float)
-0:29 gl_PointSize: direct index for structure (out float PointSize)
-0:29 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:29 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:29 'gl_InvocationID' (in int InvocationID)
-0:29 Constant:
-0:29 1 (const int)
-0:29 'ps' (temp float)
-0:30 move second child to first child (temp float)
-0:30 direct index (temp float ClipDistance)
-0:30 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
-0:30 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:30 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:30 'gl_InvocationID' (in int InvocationID)
-0:30 Constant:
-0:30 2 (const int)
-0:30 Constant:
-0:30 1 (const int)
-0:30 'cd' (temp float)
-0:32 move second child to first child (temp float)
-0:32 direct index (patch temp float TessLevelOuter)
-0:32 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
-0:32 Constant:
-0:32 3 (const int)
-0:32 Constant:
-0:32 3.200000
-0:33 move second child to first child (temp float)
-0:33 direct index (patch temp float TessLevelInner)
-0:33 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
-0:33 Constant:
-0:33 1 (const int)
-0:33 Constant:
-0:33 1.300000
-0:? Linker Objects
-0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:? 'outa' (global 4-element array of int)
-0:? 'patchOut' (patch out 4-component vector of float)
-
-150.tese
-ERROR: 0:12: 'barrier' : no matching overloaded function found
-ERROR: 1 compilation errors. No code generated.
-
-
-Shader version: 150
-Requested GL_ARB_tessellation_shader
-input primitive = quads
-vertex spacing = fractional_odd_spacing
-triangle order = cw
-using point mode
-ERROR: node is still EOpNull!
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:12 Sequence
-0:12 Constant:
-0:12 0.000000
-0:14 Sequence
-0:14 move second child to first child (temp int)
-0:14 'a' (temp int)
-0:14 Constant:
-0:14 1512 (const int)
-0:22 Sequence
-0:22 move second child to first child (temp 4-component vector of float)
-0:22 'p' (temp 4-component vector of float)
-0:22 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:22 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:22 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:22 Constant:
-0:22 1 (const int)
-0:22 Constant:
-0:22 0 (const int)
-0:23 Sequence
-0:23 move second child to first child (temp float)
-0:23 'ps' (temp float)
-0:23 gl_PointSize: direct index for structure (in float PointSize)
-0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:23 Constant:
-0:23 1 (const int)
-0:23 Constant:
-0:23 1 (const int)
-0:24 Sequence
-0:24 move second child to first child (temp float)
-0:24 'cd' (temp float)
-0:24 direct index (temp float ClipDistance)
-0:24 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
-0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:24 Constant:
-0:24 1 (const int)
-0:24 Constant:
-0:24 2 (const int)
-0:24 Constant:
-0:24 2 (const int)
-0:26 Sequence
-0:26 move second child to first child (temp int)
-0:26 'pvi' (temp int)
-0:26 'gl_PatchVerticesIn' (in int PatchVertices)
-0:27 Sequence
-0:27 move second child to first child (temp int)
-0:27 'pid' (temp int)
-0:27 'gl_PrimitiveID' (in int PrimitiveID)
-0:28 Sequence
-0:28 move second child to first child (temp 3-component vector of float)
-0:28 'tc' (temp 3-component vector of float)
-0:28 'gl_TessCoord' (in 3-component vector of float TessCoord)
-0:29 Sequence
-0:29 move second child to first child (temp float)
-0:29 'tlo' (temp float)
-0:29 direct index (patch temp float TessLevelOuter)
-0:29 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
-0:29 Constant:
-0:29 3 (const int)
-0:30 Sequence
-0:30 move second child to first child (temp float)
-0:30 'tli' (temp float)
-0:30 direct index (patch temp float TessLevelInner)
-0:30 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
-0:30 Constant:
-0:30 1 (const int)
-0:32 move second child to first child (temp 4-component vector of float)
-0:32 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
-0:32 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:32 Constant:
-0:32 0 (const uint)
-0:32 'p' (temp 4-component vector of float)
-0:33 move second child to first child (temp float)
-0:33 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
-0:33 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:33 Constant:
-0:33 1 (const uint)
-0:33 'ps' (temp float)
-0:34 move second child to first child (temp float)
-0:34 direct index (temp float ClipDistance)
-0:34 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
-0:34 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:34 Constant:
-0:34 2 (const uint)
-0:34 Constant:
-0:34 2 (const int)
-0:34 'cd' (temp float)
-0:? Linker Objects
-0:? 'patchIn' (patch in 4-component vector of float)
-0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-
-400.tesc
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:6: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
-ERROR: 0:7: 'ccw' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
-ERROR: 0:8: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
-ERROR: 0:10: 'patch' : can only use on output in tessellation-control shader
-ERROR: 0:39: '' : tessellation control barrier() cannot be placed within flow control
-ERROR: 0:41: '' : tessellation control barrier() cannot be placed within flow control
-ERROR: 0:46: '' : tessellation control barrier() cannot be placed within flow control
-ERROR: 0:51: '' : tessellation control barrier() cannot be placed within flow control
-ERROR: 0:54: '' : tessellation control barrier() cannot be placed within flow control
-ERROR: 0:61: '' : tessellation control barrier() cannot be placed after a return from main()
-ERROR: 0:64: 'vertices' : can only apply to 'out'
-ERROR: 0:65: 'vertices' : cannot change previously set layout value
-ERROR: 0:69: '[' : array index out of range '4'
-ERROR: 0:71: '' : tessellation control barrier() must be in main()
-ERROR: 0:74: 'in' : type must be an array: ina
-ERROR: 0:76: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
-ERROR: 0:83: 'location' : overlapping use of location 4
-ERROR: 0:87: 'location' : overlapping use of location 4
-ERROR: 18 compilation errors. No code generated.
-
-
-Shader version: 400
-Requested GL_ARB_separate_shader_objects
-vertices = 4
-ERROR: node is still EOpNull!
-0:13 Function Definition: main( (global void)
-0:13 Function Parameters:
-0:15 Sequence
-0:15 Barrier (global void)
-0:17 Sequence
-0:17 move second child to first child (temp int)
-0:17 'a' (temp int)
-0:17 Constant:
-0:17 5392 (const int)
-0:23 Sequence
-0:23 move second child to first child (temp 4-component vector of float)
-0:23 'p' (temp 4-component vector of float)
-0:23 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:23 Constant:
-0:23 1 (const int)
-0:23 Constant:
-0:23 0 (const int)
-0:24 Sequence
-0:24 move second child to first child (temp float)
-0:24 'ps' (temp float)
-0:24 gl_PointSize: direct index for structure (in float PointSize)
-0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:24 Constant:
-0:24 1 (const int)
-0:24 Constant:
-0:24 1 (const int)
-0:25 Sequence
-0:25 move second child to first child (temp float)
-0:25 'cd' (temp float)
-0:25 direct index (temp float ClipDistance)
-0:25 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
-0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:25 Constant:
-0:25 1 (const int)
-0:25 Constant:
-0:25 2 (const int)
-0:25 Constant:
-0:25 2 (const int)
-0:27 Sequence
-0:27 move second child to first child (temp int)
-0:27 'pvi' (temp int)
-0:27 'gl_PatchVerticesIn' (in int PatchVertices)
-0:28 Sequence
-0:28 move second child to first child (temp int)
-0:28 'pid' (temp int)
-0:28 'gl_PrimitiveID' (in int PrimitiveID)
-0:29 Sequence
-0:29 move second child to first child (temp int)
-0:29 'iid' (temp int)
-0:29 'gl_InvocationID' (in int InvocationID)
-0:31 move second child to first child (temp 4-component vector of float)
-0:31 gl_Position: direct index for structure (out 4-component vector of float Position)
-0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:31 'gl_InvocationID' (in int InvocationID)
-0:31 Constant:
-0:31 0 (const int)
-0:31 'p' (temp 4-component vector of float)
-0:32 move second child to first child (temp float)
-0:32 gl_PointSize: direct index for structure (out float PointSize)
-0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:32 'gl_InvocationID' (in int InvocationID)
-0:32 Constant:
-0:32 1 (const int)
-0:32 'ps' (temp float)
-0:33 move second child to first child (temp float)
-0:33 direct index (temp float ClipDistance)
-0:33 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
-0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:33 'gl_InvocationID' (in int InvocationID)
-0:33 Constant:
-0:33 2 (const int)
-0:33 Constant:
-0:33 1 (const int)
-0:33 'cd' (temp float)
-0:35 move second child to first child (temp float)
-0:35 direct index (patch temp float TessLevelOuter)
-0:35 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
-0:35 Constant:
-0:35 3 (const int)
-0:35 Constant:
-0:35 3.200000
-0:36 move second child to first child (temp float)
-0:36 direct index (patch temp float TessLevelInner)
-0:36 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
-0:36 Constant:
-0:36 1 (const int)
-0:36 Constant:
-0:36 1.300000
-0:38 Test condition and select (temp void)
-0:38 Condition
-0:38 Compare Greater Than (temp bool)
-0:38 'a' (temp int)
-0:38 Constant:
-0:38 10 (const int)
-0:38 true case
-0:39 Barrier (global void)
-0:38 false case
-0:41 Barrier (global void)
-0:43 Barrier (global void)
-0:47 Loop with condition not tested first
-0:47 Loop Condition
-0:47 Compare Greater Than (temp bool)
-0:47 'a' (temp int)
-0:47 Constant:
-0:47 10 (const int)
-0:47 Loop Body
-0:46 Sequence
-0:46 Barrier (global void)
-0:49 switch
-0:49 condition
-0:49 'a' (temp int)
-0:49 body
-0:49 Sequence
-0:50 default:
-0:? Sequence
-0:51 Barrier (global void)
-0:52 Branch: Break
-0:54 Test condition and select (temp int)
-0:54 Condition
-0:54 Compare Less Than (temp bool)
-0:54 'a' (temp int)
-0:54 Constant:
-0:54 12 (const int)
-0:54 true case
-0:54 'a' (temp int)
-0:54 false case
-0:54 Comma (temp int)
-0:54 Barrier (global void)
-0:54 'a' (temp int)
-0:56 Sequence
-0:56 Barrier (global void)
-0:59 Branch: Return
-0:61 Barrier (global void)
-0:67 Function Definition: foo( (global void)
-0:67 Function Parameters:
-0:69 Sequence
-0:69 gl_PointSize: direct index for structure (out float PointSize)
-0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:69 Constant:
-0:69 4 (const int)
-0:69 Constant:
-0:69 1 (const int)
-0:71 Barrier (global void)
-0:91 Function Definition: foop( (global void)
-0:91 Function Parameters:
-0:? Sequence
-0:95 multiply second child into first child (temp 3-component vector of float)
-0:95 'pv3' (temp 3-component vector of float)
-0:95 'pv3' (temp 3-component vector of float)
-0:96 move second child to first child (temp 3-component vector of float)
-0:96 'pv3' (temp 3-component vector of float)
-0:96 fma (global 3-component vector of float)
-0:96 'pv3' (temp 3-component vector of float)
-0:96 'pv3' (temp 3-component vector of float)
-0:96 'pv3' (temp 3-component vector of float)
-0:97 move second child to first child (temp double)
-0:97 'd' (temp double)
-0:97 fma (global double)
-0:97 'd' (temp double)
-0:97 'd' (temp double)
-0:97 'd' (temp double)
-0:? Linker Objects
-0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:? 'outa' (global 4-element array of int)
-0:? 'patchIn' (patch in 4-component vector of float)
-0:? 'patchOut' (patch out 4-component vector of float)
-0:? 'ina' (in 2-component vector of float)
-0:? 'inb' (in 32-element array of 2-component vector of float)
-0:? 'inc' (in 32-element array of 2-component vector of float)
-0:? 'ind' (in 32-element array of 2-component vector of float)
-0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float)
-0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float)
-0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float)
-0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float)
-0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float)
-0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float)
-0:? 'pv3' (temp 3-component vector of float)
-0:? 'pinbi' (patch out block{out int a})
-
-400.tese
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:3: 'vertices' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:5: 'triangles' : cannot change previously set input primitive
-ERROR: 0:6: 'isolines' : cannot change previously set input primitive
-ERROR: 0:8: 'ccw' : cannot change previously set vertex order
-ERROR: 0:12: 'equal_spacing' : cannot change previously set vertex spacing
-ERROR: 0:13: 'fractional_even_spacing' : cannot change previously set vertex spacing
-ERROR: 0:18: 'patch' : can only use on input in tessellation-evaluation shader
-ERROR: 0:22: 'barrier' : no matching overloaded function found
-ERROR: 0:47: 'patch' : cannot use interpolation qualifiers with patch
-ERROR: 0:48: 'patch' : cannot use interpolation qualifiers with patch
-ERROR: 0:49: 'patch' : cannot use interpolation qualifiers with patch
-ERROR: 0:50: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
-ERROR: 0:54: 'gl_PerVertex' : block already declared with size, can't redeclare as implicitly-sized
-ERROR: 0:59: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
-ERROR: 0:64: 'quads' : cannot apply to 'out'
-ERROR: 0:64: 'cw' : can only apply to 'in'
-ERROR: 0:65: 'triangles' : cannot apply to 'out'
-ERROR: 0:66: 'isolines' : cannot apply to 'out'
-ERROR: 0:67: 'cw' : can only apply to 'in'
-ERROR: 0:68: 'fractional_odd_spacing' : can only apply to 'in'
-ERROR: 0:69: 'equal_spacing' : can only apply to 'in'
-ERROR: 0:70: 'fractional_even_spacing' : can only apply to 'in'
-ERROR: 0:71: 'point_mode' : can only apply to 'in'
-ERROR: 0:73: 'in' : type must be an array: ina
-ERROR: 0:75: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
-ERROR: 0:78: 'in' : type must be an array: bla
-ERROR: 0:86: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
-ERROR: 0:96: 'location' : overlapping use of location 24
-ERROR: 0:99: 'location' : overlapping use of location 24
-ERROR: 0:101: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved
-ERROR: 30 compilation errors. No code generated.
-
-
-Shader version: 400
-Requested GL_ARB_separate_shader_objects
-input primitive = quads
-vertex spacing = fractional_odd_spacing
-triangle order = cw
-using point mode
-ERROR: node is still EOpNull!
-0:20 Function Definition: main( (global void)
-0:20 Function Parameters:
-0:22 Sequence
-0:22 Constant:
-0:22 0.000000
-0:24 Sequence
-0:24 move second child to first child (temp int)
-0:24 'a' (temp int)
-0:24 Constant:
-0:24 1512 (const int)
-0:32 Sequence
-0:32 move second child to first child (temp 4-component vector of float)
-0:32 'p' (temp 4-component vector of float)
-0:32 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:32 Constant:
-0:32 1 (const int)
-0:32 Constant:
-0:32 0 (const int)
-0:33 Sequence
-0:33 move second child to first child (temp float)
-0:33 'ps' (temp float)
-0:33 gl_PointSize: direct index for structure (in float PointSize)
-0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:33 Constant:
-0:33 1 (const int)
-0:33 Constant:
-0:33 1 (const int)
-0:34 Sequence
-0:34 move second child to first child (temp float)
-0:34 'cd' (temp float)
-0:34 direct index (temp float ClipDistance)
-0:34 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
-0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:34 Constant:
-0:34 1 (const int)
-0:34 Constant:
-0:34 2 (const int)
-0:34 Constant:
-0:34 2 (const int)
-0:36 Sequence
-0:36 move second child to first child (temp int)
-0:36 'pvi' (temp int)
-0:36 'gl_PatchVerticesIn' (in int PatchVertices)
-0:37 Sequence
-0:37 move second child to first child (temp int)
-0:37 'pid' (temp int)
-0:37 'gl_PrimitiveID' (in int PrimitiveID)
-0:38 Sequence
-0:38 move second child to first child (temp 3-component vector of float)
-0:38 'tc' (temp 3-component vector of float)
-0:38 'gl_TessCoord' (in 3-component vector of float TessCoord)
-0:39 Sequence
-0:39 move second child to first child (temp float)
-0:39 'tlo' (temp float)
-0:39 direct index (patch temp float TessLevelOuter)
-0:39 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
-0:39 Constant:
-0:39 3 (const int)
-0:40 Sequence
-0:40 move second child to first child (temp float)
-0:40 'tli' (temp float)
-0:40 direct index (patch temp float TessLevelInner)
-0:40 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
-0:40 Constant:
-0:40 1 (const int)
-0:42 move second child to first child (temp 4-component vector of float)
-0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
-0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:42 Constant:
-0:42 0 (const uint)
-0:42 'p' (temp 4-component vector of float)
-0:43 move second child to first child (temp float)
-0:43 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
-0:43 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:43 Constant:
-0:43 1 (const uint)
-0:43 'ps' (temp float)
-0:44 move second child to first child (temp float)
-0:44 direct index (temp float ClipDistance)
-0:44 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
-0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:44 Constant:
-0:44 2 (const uint)
-0:44 Constant:
-0:44 2 (const int)
-0:44 'cd' (temp float)
-0:? Linker Objects
-0:? 'patchIn' (patch in 4-component vector of float)
-0:? 'patchOut' (patch out 4-component vector of float)
-0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:? 'badp1' (smooth patch in 4-component vector of float)
-0:? 'badp2' (flat patch in 4-component vector of float)
-0:? 'badp3' (noperspective patch in 4-component vector of float)
-0:? 'badp4' (patch sample in 3-component vector of float)
-0:? 'gl_in' (in 32-element array of block{in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:? 'ina' (in 2-component vector of float)
-0:? 'inb' (in 32-element array of 2-component vector of float)
-0:? 'inc' (in 32-element array of 2-component vector of float)
-0:? 'ind' (in 32-element array of 2-component vector of float)
-0:? 'bla' (in block{in int f})
-0:? 'blb' (in 32-element array of block{in int f})
-0:? 'blc' (in 32-element array of block{in int f})
-0:? 'bld' (in 32-element array of block{in int f})
-0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float)
-0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float)
-0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float)
-0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float)
-0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float)
-0:? 'pinbi' (patch in block{in int a})
-
-410.tesc
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:4: 'length' : array must first be sized by a redeclaration or layout qualifier
-ERROR: 1 compilation errors. No code generated.
-
-
-Shader version: 400
-vertices = 0
-ERROR: node is still EOpNull!
-0:8 Function Definition: main( (global void)
-0:8 Function Parameters:
-0:? Linker Objects
-0:? 'gl_out' (out implicitly-sized array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:? 'outa' (global 1-element array of int)
-0:? 'patchOut' (patch out 4-component vector of float)
-
-420.tesc
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size of gl_out
-ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a
-ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb
-ERROR: 0:26: 'gl_PointSize' : no such field in structure
-ERROR: 0:26: 'assign' : cannot convert from 'temp float' to 'temp block{out 4-component vector of float Position gl_Position}'
-ERROR: 0:29: 'out' : type must be an array: outf
-ERROR: 6 compilation errors. No code generated.
-
-
-Shader version: 420
-Requested GL_ARB_separate_shader_objects
-vertices = 4
-ERROR: node is still EOpNull!
-0:15 Function Definition: main( (global void)
-0:15 Function Parameters:
-0:17 Sequence
-0:17 Sequence
-0:17 move second child to first child (temp 4-component vector of float)
-0:17 'p' (temp 4-component vector of float)
-0:17 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:17 Constant:
-0:17 1 (const int)
-0:17 Constant:
-0:17 0 (const int)
-0:18 Sequence
-0:18 move second child to first child (temp float)
-0:18 'ps' (temp float)
-0:18 gl_PointSize: direct index for structure (in float PointSize)
-0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:18 Constant:
-0:18 1 (const int)
-0:18 Constant:
-0:18 1 (const int)
-0:19 Sequence
-0:19 move second child to first child (temp float)
-0:19 'cd' (temp float)
-0:19 direct index (temp float ClipDistance)
-0:19 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
-0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:19 Constant:
-0:19 1 (const int)
-0:19 Constant:
-0:19 2 (const int)
-0:19 Constant:
-0:19 2 (const int)
-0:21 Sequence
-0:21 move second child to first child (temp int)
-0:21 'pvi' (temp int)
-0:21 'gl_PatchVerticesIn' (in int PatchVertices)
-0:22 Sequence
-0:22 move second child to first child (temp int)
-0:22 'pid' (temp int)
-0:22 'gl_PrimitiveID' (in int PrimitiveID)
-0:23 Sequence
-0:23 move second child to first child (temp int)
-0:23 'iid' (temp int)
-0:23 'gl_InvocationID' (in int InvocationID)
-0:25 move second child to first child (temp 4-component vector of float)
-0:25 gl_Position: direct index for structure (out 4-component vector of float Position)
-0:25 indirect index (temp block{out 4-component vector of float Position gl_Position})
-0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
-0:25 'gl_InvocationID' (in int InvocationID)
-0:25 Constant:
-0:25 0 (const int)
-0:25 'p' (temp 4-component vector of float)
-0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
-0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
-0:26 'gl_InvocationID' (in int InvocationID)
-0:34 Function Definition: foo( (global void)
-0:34 Function Parameters:
-0:36 Sequence
-0:36 Test condition and select (temp void)
-0:36 Condition
-0:36 logical-or (temp bool)
-0:36 Compare Not Equal (temp bool)
-0:36 Constant:
-0:36 -0.625000
-0:36 -0.500000
-0:36 -0.375000
-0:36 -0.250000
-0:36 -0.375000
-0:36 -0.250000
-0:36 -0.125000
-0:36 0.000000
-0:36 direct index (layout(location=0 ) temp 2X4 matrix of double)
-0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
-0:36 Constant:
-0:36 0 (const int)
-0:37 Compare Not Equal (temp bool)
-0:37 Constant:
-0:37 0.375000
-0:37 0.500000
-0:37 0.625000
-0:37 0.750000
-0:37 0.625000
-0:37 0.750000
-0:37 0.875000
-0:37 -0.625000
-0:37 direct index (layout(location=12 ) temp 2X4 matrix of double)
-0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
-0:37 Constant:
-0:37 0 (const int)
-0:36 true case is null
-0:? Linker Objects
-0:? 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
-0:? 'a' (out 3-element array of int)
-0:? 'outb' (out 5-element array of int)
-0:? 'outc' (out 4-element array of int)
-0:? 'outf' (out float)
-0:? 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
-0:? 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
-
-420.tese
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:7: '=' : cannot convert from 'global 3-element array of float' to 'global 2-element array of float'
-ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): global 2-component vector of float
-ERROR: 0:9: 'initializer list' : wrong number of matrix columns: global 3X3 matrix of float
-ERROR: 0:10: 'initializer list' : wrong number of matrix columns: global 2X2 matrix of float
-ERROR: 0:25: 'initializer list' : wrong number of structure members
-ERROR: 0:27: '=' : cannot convert from 'const bool' to 'global int'
-ERROR: 0:28: 'constructor' : cannot convert parameter 2 from 'const float' to 'global 4-component vector of float'
-ERROR: 0:29: 'constructor' : cannot convert parameter 2 from 'const 2X2 matrix of float' to 'const 4-component vector of float'
-ERROR: 0:29: 'const 2-element array of 4-component vector of float' : cannot construct with these arguments
-ERROR: 0:29: '=' : cannot convert from 'const float' to 'global 2-element array of 4-component vector of float'
-ERROR: 0:30: 'initializer list' : wrong number of matrix columns: global 4X2 matrix of float
-ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'temp float' to 'global structure{global float s, global float t}'
-ERROR: 0:58: 'initializer list' : wrong number of structure members
-ERROR: 13 compilation errors. No code generated.
-
-
-Shader version: 420
-input primitive = none
-vertex spacing = none
-triangle order = none
-ERROR: node is still EOpNull!
-0:4 Sequence
-0:4 move second child to first child (temp 2X2 matrix of float)
-0:4 'b' (global 2X2 matrix of float)
-0:4 Constant:
-0:4 1.000000
-0:4 0.000000
-0:4 0.000000
-0:4 1.000000
-0:15 Sequence
-0:15 move second child to first child (temp structure{global float a, global int b})
-0:15 'e' (global structure{global float a, global int b})
-0:15 Constant:
-0:15 1.200000
-0:15 2 (const int)
-0:20 Sequence
-0:20 move second child to first child (temp structure{global float a, global int b})
-0:20 'e2' (global structure{global float a, global int b})
-0:20 Constant:
-0:20 1.000000
-0:20 3 (const int)
-0:42 Sequence
-0:42 move second child to first child (temp 5-element array of float)
-0:42 'b5' (global 5-element array of float)
-0:42 Constant:
-0:42 3.400000
-0:42 4.200000
-0:42 5.000000
-0:42 5.200000
-0:42 1.100000
-0:67 Sequence
-0:67 move second child to first child (temp 3-component vector of float)
-0:67 'av3' (global 3-component vector of float)
-0:67 Construct vec3 (global 3-component vector of float)
-0:67 'vc1' (global float)
-0:67 'vc2' (global float)
-0:67 'vc3' (global float)
-0:68 Sequence
-0:68 move second child to first child (temp 3-component vector of float)
-0:68 'bv3' (global 3-component vector of float)
-0:68 Construct vec3 (global 3-component vector of float)
-0:68 'vc1' (global float)
-0:68 'vc2' (global float)
-0:68 'vc3' (global float)
-0:70 Function Definition: main( (global void)
-0:70 Function Parameters:
-0:72 Sequence
-0:72 MemoryBarrier (global void)
-0:74 Test condition and select (temp void)
-0:74 Condition
-0:74 Compare Equal (temp bool)
-0:74 Constant:
-0:74 1 (const uint)
-0:74 2 (const uint)
-0:74 3.000000
-0:74 4.000000
-0:74 0.000000
-0:74 0.000000
-0:74 0.000000
-0:74 4.000000
-0:74 0.000000
-0:74 5.000000
-0:74 6.000000
-0:74 0.000000
-0:74 0.000000
-0:74 0.000000
-0:74 6.000000
-0:74 0.000000
-0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
-0:74 true case is null
-0:76 Test condition and select (temp void)
-0:76 Condition
-0:76 Constant:
-0:76 true (const bool)
-0:76 true case is null
-0:? Linker Objects
-0:? 'a' (const 2X2 matrix of float)
-0:? 1.000000
-0:? 0.000000
-0:? 0.000000
-0:? 1.000000
-0:? 'b' (global 2X2 matrix of float)
-0:? 'c' (const 2X2 matrix of float)
-0:? 1.000000
-0:? 0.000000
-0:? 0.000000
-0:? 1.000000
-0:? 'a2' (global 2-element array of float)
-0:? 'b2' (global 2-component vector of float)
-0:? 'c2' (global 3X3 matrix of float)
-0:? 'd' (global 2X2 matrix of float)
-0:? 'e' (global structure{global float a, global int b})
-0:? 'e2' (global structure{global float a, global int b})
-0:? 'e3' (global structure{global float a, global int b})
-0:? 'a3' (global int)
-0:? 'b3' (global 2-element array of 4-component vector of float)
-0:? 'b4' (global 2-element array of 4-component vector of float)
-0:? 'c3' (global 4X2 matrix of float)
-0:? 'd2' (global implicitly-sized array of structure{global float s, global float t})
-0:? 'b5' (global 5-element array of float)
-0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
-0:? 1 (const uint)
-0:? 2 (const uint)
-0:? 3.000000
-0:? 4.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 4.000000
-0:? 0.000000
-0:? 5.000000
-0:? 6.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 6.000000
-0:? 0.000000
-0:? 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
-0:? 'curlyInit' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
-0:? 1 (const uint)
-0:? 2 (const uint)
-0:? 3.000000
-0:? 4.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 4.000000
-0:? 0.000000
-0:? 5.000000
-0:? 6.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 6.000000
-0:? 0.000000
-0:? 'vc1' (global float)
-0:? 'vc2' (global float)
-0:? 'vc3' (global float)
-0:? 'av3' (global 3-component vector of float)
-0:? 'bv3' (global 3-component vector of float)
-
-
-Linked tessellation control stage:
-
-ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
- main(
-ERROR: Linking tessellation control stage: Contradictory layout vertices values
-ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
- main(
-ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
- main(
-ERROR: Linking tessellation control stage: Types must match:
- gl_out: "out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" versus "out implicitly-sized array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}"
-ERROR: Linking tessellation control stage: Types must match:
- outa: "global 4-element array of int" versus "global 1-element array of int"
-ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
- main(
-ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
- main(
-ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
- foo(
-ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
- main(
-ERROR: Linking tessellation control stage: Types must match:
- gl_out: "out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" versus "out 3-element array of block{out 4-component vector of float Position gl_Position}"
-
-Linked tessellation evaluation stage:
-
-ERROR: Linking tessellation evaluation stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
- main(
-ERROR: Linking tessellation evaluation stage: Contradictory input layout primitives
-ERROR: Linking tessellation evaluation stage: Contradictory input vertex spacing
-ERROR: Linking tessellation evaluation stage: Contradictory triangle ordering
-ERROR: Linking tessellation evaluation stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
- main(
-ERROR: Linking tessellation evaluation stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
- main(
-
-Shader version: 420
-Requested GL_ARB_separate_shader_objects
-Requested GL_ARB_tessellation_shader
-vertices = 4
-0:? Sequence
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:12 Sequence
-0:12 Barrier (global void)
-0:14 Sequence
-0:14 move second child to first child (temp int)
-0:14 'a' (temp int)
-0:14 Constant:
-0:14 5392 (const int)
-0:20 Sequence
-0:20 move second child to first child (temp 4-component vector of float)
-0:20 'p' (temp 4-component vector of float)
-0:20 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:20 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:20 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:20 Constant:
-0:20 1 (const int)
-0:20 Constant:
-0:20 0 (const int)
-0:21 Sequence
-0:21 move second child to first child (temp float)
-0:21 'ps' (temp float)
-0:21 gl_PointSize: direct index for structure (in float PointSize)
-0:21 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:21 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:21 Constant:
-0:21 1 (const int)
-0:21 Constant:
-0:21 1 (const int)
-0:22 Sequence
-0:22 move second child to first child (temp float)
-0:22 'cd' (temp float)
-0:22 direct index (temp float ClipDistance)
-0:22 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
-0:22 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:22 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:22 Constant:
-0:22 1 (const int)
-0:22 Constant:
-0:22 2 (const int)
-0:22 Constant:
-0:22 2 (const int)
-0:24 Sequence
-0:24 move second child to first child (temp int)
-0:24 'pvi' (temp int)
-0:24 'gl_PatchVerticesIn' (in int PatchVertices)
-0:25 Sequence
-0:25 move second child to first child (temp int)
-0:25 'pid' (temp int)
-0:25 'gl_PrimitiveID' (in int PrimitiveID)
-0:26 Sequence
-0:26 move second child to first child (temp int)
-0:26 'iid' (temp int)
-0:26 'gl_InvocationID' (in int InvocationID)
-0:28 move second child to first child (temp 4-component vector of float)
-0:28 gl_Position: direct index for structure (out 4-component vector of float Position)
-0:28 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:28 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:28 'gl_InvocationID' (in int InvocationID)
-0:28 Constant:
-0:28 0 (const int)
-0:28 'p' (temp 4-component vector of float)
-0:29 move second child to first child (temp float)
-0:29 gl_PointSize: direct index for structure (out float PointSize)
-0:29 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:29 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:29 'gl_InvocationID' (in int InvocationID)
-0:29 Constant:
-0:29 1 (const int)
-0:29 'ps' (temp float)
-0:30 move second child to first child (temp float)
-0:30 direct index (temp float ClipDistance)
-0:30 gl_ClipDistance: direct index for structure (out 1-element array of float ClipDistance)
-0:30 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:30 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:30 'gl_InvocationID' (in int InvocationID)
-0:30 Constant:
-0:30 2 (const int)
-0:30 Constant:
-0:30 1 (const int)
-0:30 'cd' (temp float)
-0:32 move second child to first child (temp float)
-0:32 direct index (patch temp float TessLevelOuter)
-0:32 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
-0:32 Constant:
-0:32 3 (const int)
-0:32 Constant:
-0:32 3.200000
-0:33 move second child to first child (temp float)
-0:33 direct index (patch temp float TessLevelInner)
-0:33 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
-0:33 Constant:
-0:33 1 (const int)
-0:33 Constant:
-0:33 1.300000
-0:13 Function Definition: main( (global void)
-0:13 Function Parameters:
-0:15 Sequence
-0:15 Barrier (global void)
-0:17 Sequence
-0:17 move second child to first child (temp int)
-0:17 'a' (temp int)
-0:17 Constant:
-0:17 5392 (const int)
-0:23 Sequence
-0:23 move second child to first child (temp 4-component vector of float)
-0:23 'p' (temp 4-component vector of float)
-0:23 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:23 Constant:
-0:23 1 (const int)
-0:23 Constant:
-0:23 0 (const int)
-0:24 Sequence
-0:24 move second child to first child (temp float)
-0:24 'ps' (temp float)
-0:24 gl_PointSize: direct index for structure (in float PointSize)
-0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:24 Constant:
-0:24 1 (const int)
-0:24 Constant:
-0:24 1 (const int)
-0:25 Sequence
-0:25 move second child to first child (temp float)
-0:25 'cd' (temp float)
-0:25 direct index (temp float ClipDistance)
-0:25 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
-0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:25 Constant:
-0:25 1 (const int)
-0:25 Constant:
-0:25 2 (const int)
-0:25 Constant:
-0:25 2 (const int)
-0:27 Sequence
-0:27 move second child to first child (temp int)
-0:27 'pvi' (temp int)
-0:27 'gl_PatchVerticesIn' (in int PatchVertices)
-0:28 Sequence
-0:28 move second child to first child (temp int)
-0:28 'pid' (temp int)
-0:28 'gl_PrimitiveID' (in int PrimitiveID)
-0:29 Sequence
-0:29 move second child to first child (temp int)
-0:29 'iid' (temp int)
-0:29 'gl_InvocationID' (in int InvocationID)
-0:31 move second child to first child (temp 4-component vector of float)
-0:31 gl_Position: direct index for structure (out 4-component vector of float Position)
-0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:31 'gl_InvocationID' (in int InvocationID)
-0:31 Constant:
-0:31 0 (const int)
-0:31 'p' (temp 4-component vector of float)
-0:32 move second child to first child (temp float)
-0:32 gl_PointSize: direct index for structure (out float PointSize)
-0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:32 'gl_InvocationID' (in int InvocationID)
-0:32 Constant:
-0:32 1 (const int)
-0:32 'ps' (temp float)
-0:33 move second child to first child (temp float)
-0:33 direct index (temp float ClipDistance)
-0:33 gl_ClipDistance: direct index for structure (out 1-element array of float ClipDistance)
-0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:33 'gl_InvocationID' (in int InvocationID)
-0:33 Constant:
-0:33 2 (const int)
-0:33 Constant:
-0:33 1 (const int)
-0:33 'cd' (temp float)
-0:35 move second child to first child (temp float)
-0:35 direct index (patch temp float TessLevelOuter)
-0:35 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
-0:35 Constant:
-0:35 3 (const int)
-0:35 Constant:
-0:35 3.200000
-0:36 move second child to first child (temp float)
-0:36 direct index (patch temp float TessLevelInner)
-0:36 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
-0:36 Constant:
-0:36 1 (const int)
-0:36 Constant:
-0:36 1.300000
-0:38 Test condition and select (temp void)
-0:38 Condition
-0:38 Compare Greater Than (temp bool)
-0:38 'a' (temp int)
-0:38 Constant:
-0:38 10 (const int)
-0:38 true case
-0:39 Barrier (global void)
-0:38 false case
-0:41 Barrier (global void)
-0:43 Barrier (global void)
-0:47 Loop with condition not tested first
-0:47 Loop Condition
-0:47 Compare Greater Than (temp bool)
-0:47 'a' (temp int)
-0:47 Constant:
-0:47 10 (const int)
-0:47 Loop Body
-0:46 Sequence
-0:46 Barrier (global void)
-0:49 switch
-0:49 condition
-0:49 'a' (temp int)
-0:49 body
-0:49 Sequence
-0:50 default:
-0:? Sequence
-0:51 Barrier (global void)
-0:52 Branch: Break
-0:54 Test condition and select (temp int)
-0:54 Condition
-0:54 Compare Less Than (temp bool)
-0:54 'a' (temp int)
-0:54 Constant:
-0:54 12 (const int)
-0:54 true case
-0:54 'a' (temp int)
-0:54 false case
-0:54 Comma (temp int)
-0:54 Barrier (global void)
-0:54 'a' (temp int)
-0:56 Sequence
-0:56 Barrier (global void)
-0:59 Branch: Return
-0:61 Barrier (global void)
-0:67 Function Definition: foo( (global void)
-0:67 Function Parameters:
-0:69 Sequence
-0:69 gl_PointSize: direct index for structure (out float PointSize)
-0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:69 Constant:
-0:69 4 (const int)
-0:69 Constant:
-0:69 1 (const int)
-0:71 Barrier (global void)
-0:91 Function Definition: foop( (global void)
-0:91 Function Parameters:
-0:? Sequence
-0:95 multiply second child into first child (temp 3-component vector of float)
-0:95 'pv3' (temp 3-component vector of float)
-0:95 'pv3' (temp 3-component vector of float)
-0:96 move second child to first child (temp 3-component vector of float)
-0:96 'pv3' (temp 3-component vector of float)
-0:96 fma (global 3-component vector of float)
-0:96 'pv3' (temp 3-component vector of float)
-0:96 'pv3' (temp 3-component vector of float)
-0:96 'pv3' (temp 3-component vector of float)
-0:97 move second child to first child (temp double)
-0:97 'd' (temp double)
-0:97 fma (global double)
-0:97 'd' (temp double)
-0:97 'd' (temp double)
-0:97 'd' (temp double)
-0:8 Function Definition: main( (global void)
-0:8 Function Parameters:
-0:15 Function Definition: main( (global void)
-0:15 Function Parameters:
-0:17 Sequence
-0:17 Sequence
-0:17 move second child to first child (temp 4-component vector of float)
-0:17 'p' (temp 4-component vector of float)
-0:17 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:17 Constant:
-0:17 1 (const int)
-0:17 Constant:
-0:17 0 (const int)
-0:18 Sequence
-0:18 move second child to first child (temp float)
-0:18 'ps' (temp float)
-0:18 gl_PointSize: direct index for structure (in float PointSize)
-0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:18 Constant:
-0:18 1 (const int)
-0:18 Constant:
-0:18 1 (const int)
-0:19 Sequence
-0:19 move second child to first child (temp float)
-0:19 'cd' (temp float)
-0:19 direct index (temp float ClipDistance)
-0:19 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
-0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:19 Constant:
-0:19 1 (const int)
-0:19 Constant:
-0:19 2 (const int)
-0:19 Constant:
-0:19 2 (const int)
-0:21 Sequence
-0:21 move second child to first child (temp int)
-0:21 'pvi' (temp int)
-0:21 'gl_PatchVerticesIn' (in int PatchVertices)
-0:22 Sequence
-0:22 move second child to first child (temp int)
-0:22 'pid' (temp int)
-0:22 'gl_PrimitiveID' (in int PrimitiveID)
-0:23 Sequence
-0:23 move second child to first child (temp int)
-0:23 'iid' (temp int)
-0:23 'gl_InvocationID' (in int InvocationID)
-0:25 move second child to first child (temp 4-component vector of float)
-0:25 gl_Position: direct index for structure (out 4-component vector of float Position)
-0:25 indirect index (temp block{out 4-component vector of float Position gl_Position})
-0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
-0:25 'gl_InvocationID' (in int InvocationID)
-0:25 Constant:
-0:25 0 (const int)
-0:25 'p' (temp 4-component vector of float)
-0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
-0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
-0:26 'gl_InvocationID' (in int InvocationID)
-0:34 Function Definition: foo( (global void)
-0:34 Function Parameters:
-0:36 Sequence
-0:36 Test condition and select (temp void)
-0:36 Condition
-0:36 logical-or (temp bool)
-0:36 Compare Not Equal (temp bool)
-0:36 Constant:
-0:36 -0.625000
-0:36 -0.500000
-0:36 -0.375000
-0:36 -0.250000
-0:36 -0.375000
-0:36 -0.250000
-0:36 -0.125000
-0:36 0.000000
-0:36 direct index (layout(location=0 ) temp 2X4 matrix of double)
-0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
-0:36 Constant:
-0:36 0 (const int)
-0:37 Compare Not Equal (temp bool)
-0:37 Constant:
-0:37 0.375000
-0:37 0.500000
-0:37 0.625000
-0:37 0.750000
-0:37 0.625000
-0:37 0.750000
-0:37 0.875000
-0:37 -0.625000
-0:37 direct index (layout(location=12 ) temp 2X4 matrix of double)
-0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
-0:37 Constant:
-0:37 0 (const int)
-0:36 true case is null
-0:? Linker Objects
-0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:? 'outa' (global 4-element array of int)
-0:? 'patchOut' (patch out 4-component vector of float)
-0:? 'patchIn' (patch in 4-component vector of float)
-0:? 'ina' (in 2-component vector of float)
-0:? 'inb' (in 32-element array of 2-component vector of float)
-0:? 'inc' (in 32-element array of 2-component vector of float)
-0:? 'ind' (in 32-element array of 2-component vector of float)
-0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float)
-0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float)
-0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float)
-0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float)
-0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float)
-0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float)
-0:? 'pv3' (temp 3-component vector of float)
-0:? 'pinbi' (patch out block{out int a})
-0:? 'a' (out 3-element array of int)
-0:? 'outb' (out 5-element array of int)
-0:? 'outc' (out 4-element array of int)
-0:? 'outf' (out float)
-0:? 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
-0:? 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
-Shader version: 420
-Requested GL_ARB_separate_shader_objects
-Requested GL_ARB_tessellation_shader
-input primitive = quads
-vertex spacing = fractional_odd_spacing
-triangle order = cw
-using point mode
-ERROR: node is still EOpNull!
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:12 Sequence
-0:12 Constant:
-0:12 0.000000
-0:14 Sequence
-0:14 move second child to first child (temp int)
-0:14 'a' (temp int)
-0:14 Constant:
-0:14 1512 (const int)
-0:22 Sequence
-0:22 move second child to first child (temp 4-component vector of float)
-0:22 'p' (temp 4-component vector of float)
-0:22 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:22 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:22 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:22 Constant:
-0:22 1 (const int)
-0:22 Constant:
-0:22 0 (const int)
-0:23 Sequence
-0:23 move second child to first child (temp float)
-0:23 'ps' (temp float)
-0:23 gl_PointSize: direct index for structure (in float PointSize)
-0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:23 Constant:
-0:23 1 (const int)
-0:23 Constant:
-0:23 1 (const int)
-0:24 Sequence
-0:24 move second child to first child (temp float)
-0:24 'cd' (temp float)
-0:24 direct index (temp float ClipDistance)
-0:24 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
-0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:24 Constant:
-0:24 1 (const int)
-0:24 Constant:
-0:24 2 (const int)
-0:24 Constant:
-0:24 2 (const int)
-0:26 Sequence
-0:26 move second child to first child (temp int)
-0:26 'pvi' (temp int)
-0:26 'gl_PatchVerticesIn' (in int PatchVertices)
-0:27 Sequence
-0:27 move second child to first child (temp int)
-0:27 'pid' (temp int)
-0:27 'gl_PrimitiveID' (in int PrimitiveID)
-0:28 Sequence
-0:28 move second child to first child (temp 3-component vector of float)
-0:28 'tc' (temp 3-component vector of float)
-0:28 'gl_TessCoord' (in 3-component vector of float TessCoord)
-0:29 Sequence
-0:29 move second child to first child (temp float)
-0:29 'tlo' (temp float)
-0:29 direct index (patch temp float TessLevelOuter)
-0:29 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
-0:29 Constant:
-0:29 3 (const int)
-0:30 Sequence
-0:30 move second child to first child (temp float)
-0:30 'tli' (temp float)
-0:30 direct index (patch temp float TessLevelInner)
-0:30 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
-0:30 Constant:
-0:30 1 (const int)
-0:32 move second child to first child (temp 4-component vector of float)
-0:32 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
-0:32 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
-0:32 Constant:
-0:32 0 (const uint)
-0:32 'p' (temp 4-component vector of float)
-0:33 move second child to first child (temp float)
-0:33 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
-0:33 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
-0:33 Constant:
-0:33 1 (const uint)
-0:33 'ps' (temp float)
-0:34 move second child to first child (temp float)
-0:34 direct index (temp float ClipDistance)
-0:34 gl_ClipDistance: direct index for structure (out 3-element array of float ClipDistance)
-0:34 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
-0:34 Constant:
-0:34 2 (const uint)
-0:34 Constant:
-0:34 2 (const int)
-0:34 'cd' (temp float)
-0:20 Function Definition: main( (global void)
-0:20 Function Parameters:
-0:22 Sequence
-0:22 Constant:
-0:22 0.000000
-0:24 Sequence
-0:24 move second child to first child (temp int)
-0:24 'a' (temp int)
-0:24 Constant:
-0:24 1512 (const int)
-0:32 Sequence
-0:32 move second child to first child (temp 4-component vector of float)
-0:32 'p' (temp 4-component vector of float)
-0:32 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:32 Constant:
-0:32 1 (const int)
-0:32 Constant:
-0:32 0 (const int)
-0:33 Sequence
-0:33 move second child to first child (temp float)
-0:33 'ps' (temp float)
-0:33 gl_PointSize: direct index for structure (in float PointSize)
-0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:33 Constant:
-0:33 1 (const int)
-0:33 Constant:
-0:33 1 (const int)
-0:34 Sequence
-0:34 move second child to first child (temp float)
-0:34 'cd' (temp float)
-0:34 direct index (temp float ClipDistance)
-0:34 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
-0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:34 Constant:
-0:34 1 (const int)
-0:34 Constant:
-0:34 2 (const int)
-0:34 Constant:
-0:34 2 (const int)
-0:36 Sequence
-0:36 move second child to first child (temp int)
-0:36 'pvi' (temp int)
-0:36 'gl_PatchVerticesIn' (in int PatchVertices)
-0:37 Sequence
-0:37 move second child to first child (temp int)
-0:37 'pid' (temp int)
-0:37 'gl_PrimitiveID' (in int PrimitiveID)
-0:38 Sequence
-0:38 move second child to first child (temp 3-component vector of float)
-0:38 'tc' (temp 3-component vector of float)
-0:38 'gl_TessCoord' (in 3-component vector of float TessCoord)
-0:39 Sequence
-0:39 move second child to first child (temp float)
-0:39 'tlo' (temp float)
-0:39 direct index (patch temp float TessLevelOuter)
-0:39 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
-0:39 Constant:
-0:39 3 (const int)
-0:40 Sequence
-0:40 move second child to first child (temp float)
-0:40 'tli' (temp float)
-0:40 direct index (patch temp float TessLevelInner)
-0:40 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
-0:40 Constant:
-0:40 1 (const int)
-0:42 move second child to first child (temp 4-component vector of float)
-0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
-0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
-0:42 Constant:
-0:42 0 (const uint)
-0:42 'p' (temp 4-component vector of float)
-0:43 move second child to first child (temp float)
-0:43 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
-0:43 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
-0:43 Constant:
-0:43 1 (const uint)
-0:43 'ps' (temp float)
-0:44 move second child to first child (temp float)
-0:44 direct index (temp float ClipDistance)
-0:44 gl_ClipDistance: direct index for structure (out 3-element array of float ClipDistance)
-0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
-0:44 Constant:
-0:44 2 (const uint)
-0:44 Constant:
-0:44 2 (const int)
-0:44 'cd' (temp float)
-0:4 Sequence
-0:4 move second child to first child (temp 2X2 matrix of float)
-0:4 'b' (global 2X2 matrix of float)
-0:4 Constant:
-0:4 1.000000
-0:4 0.000000
-0:4 0.000000
-0:4 1.000000
-0:15 Sequence
-0:15 move second child to first child (temp structure{global float a, global int b})
-0:15 'e' (global structure{global float a, global int b})
-0:15 Constant:
-0:15 1.200000
-0:15 2 (const int)
-0:20 Sequence
-0:20 move second child to first child (temp structure{global float a, global int b})
-0:20 'e2' (global structure{global float a, global int b})
-0:20 Constant:
-0:20 1.000000
-0:20 3 (const int)
-0:42 Sequence
-0:42 move second child to first child (temp 5-element array of float)
-0:42 'b5' (global 5-element array of float)
-0:42 Constant:
-0:42 3.400000
-0:42 4.200000
-0:42 5.000000
-0:42 5.200000
-0:42 1.100000
-0:67 Sequence
-0:67 move second child to first child (temp 3-component vector of float)
-0:67 'av3' (global 3-component vector of float)
-0:67 Construct vec3 (global 3-component vector of float)
-0:67 'vc1' (global float)
-0:67 'vc2' (global float)
-0:67 'vc3' (global float)
-0:68 Sequence
-0:68 move second child to first child (temp 3-component vector of float)
-0:68 'bv3' (global 3-component vector of float)
-0:68 Construct vec3 (global 3-component vector of float)
-0:68 'vc1' (global float)
-0:68 'vc2' (global float)
-0:68 'vc3' (global float)
-0:70 Function Definition: main( (global void)
-0:70 Function Parameters:
-0:72 Sequence
-0:72 MemoryBarrier (global void)
-0:74 Test condition and select (temp void)
-0:74 Condition
-0:74 Compare Equal (temp bool)
-0:74 Constant:
-0:74 1 (const uint)
-0:74 2 (const uint)
-0:74 3.000000
-0:74 4.000000
-0:74 0.000000
-0:74 0.000000
-0:74 0.000000
-0:74 4.000000
-0:74 0.000000
-0:74 5.000000
-0:74 6.000000
-0:74 0.000000
-0:74 0.000000
-0:74 0.000000
-0:74 6.000000
-0:74 0.000000
-0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
-0:74 true case is null
-0:76 Test condition and select (temp void)
-0:76 Condition
-0:76 Constant:
-0:76 true (const bool)
-0:76 true case is null
-0:? Linker Objects
-0:? 'patchIn' (patch in 4-component vector of float)
-0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
-0:? 'patchOut' (patch out 4-component vector of float)
-0:? 'badp1' (smooth patch in 4-component vector of float)
-0:? 'badp2' (flat patch in 4-component vector of float)
-0:? 'badp3' (noperspective patch in 4-component vector of float)
-0:? 'badp4' (patch sample in 3-component vector of float)
-0:? 'gl_in' (in 32-element array of block{in 1-element array of float ClipDistance gl_ClipDistance})
-0:? 'ina' (in 2-component vector of float)
-0:? 'inb' (in 32-element array of 2-component vector of float)
-0:? 'inc' (in 32-element array of 2-component vector of float)
-0:? 'ind' (in 32-element array of 2-component vector of float)
-0:? 'bla' (in block{in int f})
-0:? 'blb' (in 32-element array of block{in int f})
-0:? 'blc' (in 32-element array of block{in int f})
-0:? 'bld' (in 32-element array of block{in int f})
-0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float)
-0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float)
-0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float)
-0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float)
-0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float)
-0:? 'pinbi' (patch in block{in int a})
-0:? 'a' (const 2X2 matrix of float)
-0:? 1.000000
-0:? 0.000000
-0:? 0.000000
-0:? 1.000000
-0:? 'b' (global 2X2 matrix of float)
-0:? 'c' (const 2X2 matrix of float)
-0:? 1.000000
-0:? 0.000000
-0:? 0.000000
-0:? 1.000000
-0:? 'a2' (global 2-element array of float)
-0:? 'b2' (global 2-component vector of float)
-0:? 'c2' (global 3X3 matrix of float)
-0:? 'd' (global 2X2 matrix of float)
-0:? 'e' (global structure{global float a, global int b})
-0:? 'e2' (global structure{global float a, global int b})
-0:? 'e3' (global structure{global float a, global int b})
-0:? 'a3' (global int)
-0:? 'b3' (global 2-element array of 4-component vector of float)
-0:? 'b4' (global 2-element array of 4-component vector of float)
-0:? 'c3' (global 4X2 matrix of float)
-0:? 'd2' (global 1-element array of structure{global float s, global float t})
-0:? 'b5' (global 5-element array of float)
-0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
-0:? 1 (const uint)
-0:? 2 (const uint)
-0:? 3.000000
-0:? 4.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 4.000000
-0:? 0.000000
-0:? 5.000000
-0:? 6.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 6.000000
-0:? 0.000000
-0:? 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
-0:? 'curlyInit' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
-0:? 1 (const uint)
-0:? 2 (const uint)
-0:? 3.000000
-0:? 4.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 4.000000
-0:? 0.000000
-0:? 5.000000
-0:? 6.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 6.000000
-0:? 0.000000
-0:? 'vc1' (global float)
-0:? 'vc2' (global float)
-0:? 'vc3' (global float)
-0:? 'av3' (global 3-component vector of float)
-0:? 'bv3' (global 3-component vector of float)
-
+150.tesc
+Shader version: 150
+Requested GL_ARB_tessellation_shader
+vertices = 4
+0:? Sequence
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Barrier (global void)
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'a' (temp int)
+0:14 Constant:
+0:14 5392 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'p' (temp 4-component vector of float)
+0:20 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:20 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:20 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:20 Constant:
+0:20 1 (const int)
+0:20 Constant:
+0:20 0 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp float)
+0:21 'ps' (temp float)
+0:21 gl_PointSize: direct index for structure (in float PointSize)
+0:21 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:21 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:21 Constant:
+0:21 1 (const int)
+0:21 Constant:
+0:21 1 (const int)
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'cd' (temp float)
+0:22 direct index (temp float ClipDistance)
+0:22 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:22 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:22 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:22 Constant:
+0:22 1 (const int)
+0:22 Constant:
+0:22 2 (const int)
+0:22 Constant:
+0:22 2 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp int)
+0:24 'pvi' (temp int)
+0:24 'gl_PatchVerticesIn' (in int PatchVertices)
+0:25 Sequence
+0:25 move second child to first child (temp int)
+0:25 'pid' (temp int)
+0:25 'gl_PrimitiveID' (in int PrimitiveID)
+0:26 Sequence
+0:26 move second child to first child (temp int)
+0:26 'iid' (temp int)
+0:26 'gl_InvocationID' (in int InvocationID)
+0:28 move second child to first child (temp 4-component vector of float)
+0:28 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:28 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:28 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:28 'gl_InvocationID' (in int InvocationID)
+0:28 Constant:
+0:28 0 (const int)
+0:28 'p' (temp 4-component vector of float)
+0:29 move second child to first child (temp float)
+0:29 gl_PointSize: direct index for structure (out float PointSize)
+0:29 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:29 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:29 'gl_InvocationID' (in int InvocationID)
+0:29 Constant:
+0:29 1 (const int)
+0:29 'ps' (temp float)
+0:30 move second child to first child (temp float)
+0:30 direct index (temp float ClipDistance)
+0:30 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
+0:30 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:30 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:30 'gl_InvocationID' (in int InvocationID)
+0:30 Constant:
+0:30 2 (const int)
+0:30 Constant:
+0:30 1 (const int)
+0:30 'cd' (temp float)
+0:32 move second child to first child (temp float)
+0:32 direct index (patch temp float TessLevelOuter)
+0:32 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
+0:32 Constant:
+0:32 3 (const int)
+0:32 Constant:
+0:32 3.200000
+0:33 move second child to first child (temp float)
+0:33 direct index (patch temp float TessLevelInner)
+0:33 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 1.300000
+0:? Linker Objects
+0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'outa' (global 4-element array of int)
+0:? 'patchOut' (patch out 4-component vector of float)
+
+150.tese
+ERROR: 0:12: 'barrier' : no matching overloaded function found
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 150
+Requested GL_ARB_tessellation_shader
+input primitive = quads
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+using point mode
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Constant:
+0:12 0.000000
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'a' (temp int)
+0:14 Constant:
+0:14 1512 (const int)
+0:22 Sequence
+0:22 move second child to first child (temp 4-component vector of float)
+0:22 'p' (temp 4-component vector of float)
+0:22 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:22 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:22 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:22 Constant:
+0:22 1 (const int)
+0:22 Constant:
+0:22 0 (const int)
+0:23 Sequence
+0:23 move second child to first child (temp float)
+0:23 'ps' (temp float)
+0:23 gl_PointSize: direct index for structure (in float PointSize)
+0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:23 Constant:
+0:23 1 (const int)
+0:23 Constant:
+0:23 1 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'cd' (temp float)
+0:24 direct index (temp float ClipDistance)
+0:24 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:24 Constant:
+0:24 1 (const int)
+0:24 Constant:
+0:24 2 (const int)
+0:24 Constant:
+0:24 2 (const int)
+0:26 Sequence
+0:26 move second child to first child (temp int)
+0:26 'pvi' (temp int)
+0:26 'gl_PatchVerticesIn' (in int PatchVertices)
+0:27 Sequence
+0:27 move second child to first child (temp int)
+0:27 'pid' (temp int)
+0:27 'gl_PrimitiveID' (in int PrimitiveID)
+0:28 Sequence
+0:28 move second child to first child (temp 3-component vector of float)
+0:28 'tc' (temp 3-component vector of float)
+0:28 'gl_TessCoord' (in 3-component vector of float TessCoord)
+0:29 Sequence
+0:29 move second child to first child (temp float)
+0:29 'tlo' (temp float)
+0:29 direct index (patch temp float TessLevelOuter)
+0:29 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
+0:29 Constant:
+0:29 3 (const int)
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'tli' (temp float)
+0:30 direct index (patch temp float TessLevelInner)
+0:30 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
+0:30 Constant:
+0:30 1 (const int)
+0:32 move second child to first child (temp 4-component vector of float)
+0:32 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:32 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 Constant:
+0:32 0 (const uint)
+0:32 'p' (temp 4-component vector of float)
+0:33 move second child to first child (temp float)
+0:33 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
+0:33 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 1 (const uint)
+0:33 'ps' (temp float)
+0:34 move second child to first child (temp float)
+0:34 direct index (temp float ClipDistance)
+0:34 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
+0:34 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 2 (const uint)
+0:34 Constant:
+0:34 2 (const int)
+0:34 'cd' (temp float)
+0:? Linker Objects
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+
+400.tesc
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:6: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:7: 'ccw' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:8: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:10: 'patch' : can only use on output in tessellation-control shader
+ERROR: 0:39: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:41: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:46: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:51: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:54: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:61: '' : tessellation control barrier() cannot be placed after a return from main()
+ERROR: 0:64: 'vertices' : can only apply to 'out'
+ERROR: 0:65: 'vertices' : cannot change previously set layout value
+ERROR: 0:69: '[' : array index out of range '4'
+ERROR: 0:71: '' : tessellation control barrier() must be in main()
+ERROR: 0:74: 'in' : type must be an array: ina
+ERROR: 0:76: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:83: 'location' : overlapping use of location 4
+ERROR: 0:87: 'location' : overlapping use of location 4
+ERROR: 18 compilation errors. No code generated.
+
+
+Shader version: 400
+Requested GL_ARB_separate_shader_objects
+vertices = 4
+ERROR: node is still EOpNull!
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:15 Sequence
+0:15 Barrier (global void)
+0:17 Sequence
+0:17 move second child to first child (temp int)
+0:17 'a' (temp int)
+0:17 Constant:
+0:17 5392 (const int)
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'p' (temp 4-component vector of float)
+0:23 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:23 Constant:
+0:23 1 (const int)
+0:23 Constant:
+0:23 0 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'ps' (temp float)
+0:24 gl_PointSize: direct index for structure (in float PointSize)
+0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:24 Constant:
+0:24 1 (const int)
+0:24 Constant:
+0:24 1 (const int)
+0:25 Sequence
+0:25 move second child to first child (temp float)
+0:25 'cd' (temp float)
+0:25 direct index (temp float ClipDistance)
+0:25 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:25 Constant:
+0:25 1 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp int)
+0:27 'pvi' (temp int)
+0:27 'gl_PatchVerticesIn' (in int PatchVertices)
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'pid' (temp int)
+0:28 'gl_PrimitiveID' (in int PrimitiveID)
+0:29 Sequence
+0:29 move second child to first child (temp int)
+0:29 'iid' (temp int)
+0:29 'gl_InvocationID' (in int InvocationID)
+0:31 move second child to first child (temp 4-component vector of float)
+0:31 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:31 'gl_InvocationID' (in int InvocationID)
+0:31 Constant:
+0:31 0 (const int)
+0:31 'p' (temp 4-component vector of float)
+0:32 move second child to first child (temp float)
+0:32 gl_PointSize: direct index for structure (out float PointSize)
+0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 'gl_InvocationID' (in int InvocationID)
+0:32 Constant:
+0:32 1 (const int)
+0:32 'ps' (temp float)
+0:33 move second child to first child (temp float)
+0:33 direct index (temp float ClipDistance)
+0:33 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
+0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 'gl_InvocationID' (in int InvocationID)
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:33 'cd' (temp float)
+0:35 move second child to first child (temp float)
+0:35 direct index (patch temp float TessLevelOuter)
+0:35 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
+0:35 Constant:
+0:35 3 (const int)
+0:35 Constant:
+0:35 3.200000
+0:36 move second child to first child (temp float)
+0:36 direct index (patch temp float TessLevelInner)
+0:36 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
+0:36 Constant:
+0:36 1 (const int)
+0:36 Constant:
+0:36 1.300000
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Greater Than (temp bool)
+0:38 'a' (temp int)
+0:38 Constant:
+0:38 10 (const int)
+0:38 true case
+0:39 Barrier (global void)
+0:38 false case
+0:41 Barrier (global void)
+0:43 Barrier (global void)
+0:47 Loop with condition not tested first
+0:47 Loop Condition
+0:47 Compare Greater Than (temp bool)
+0:47 'a' (temp int)
+0:47 Constant:
+0:47 10 (const int)
+0:47 Loop Body
+0:46 Sequence
+0:46 Barrier (global void)
+0:49 switch
+0:49 condition
+0:49 'a' (temp int)
+0:49 body
+0:49 Sequence
+0:50 default:
+0:? Sequence
+0:51 Barrier (global void)
+0:52 Branch: Break
+0:54 Test condition and select (temp int)
+0:54 Condition
+0:54 Compare Less Than (temp bool)
+0:54 'a' (temp int)
+0:54 Constant:
+0:54 12 (const int)
+0:54 true case
+0:54 'a' (temp int)
+0:54 false case
+0:54 Comma (temp int)
+0:54 Barrier (global void)
+0:54 'a' (temp int)
+0:56 Sequence
+0:56 Barrier (global void)
+0:59 Branch: Return
+0:61 Barrier (global void)
+0:67 Function Definition: foo( (global void)
+0:67 Function Parameters:
+0:69 Sequence
+0:69 gl_PointSize: direct index for structure (out float PointSize)
+0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:69 Constant:
+0:69 4 (const int)
+0:69 Constant:
+0:69 1 (const int)
+0:71 Barrier (global void)
+0:91 Function Definition: foop( (global void)
+0:91 Function Parameters:
+0:? Sequence
+0:95 multiply second child into first child (temp 3-component vector of float)
+0:95 'pv3' (temp 3-component vector of float)
+0:95 'pv3' (temp 3-component vector of float)
+0:96 move second child to first child (temp 3-component vector of float)
+0:96 'pv3' (temp 3-component vector of float)
+0:96 fma (global 3-component vector of float)
+0:96 'pv3' (temp 3-component vector of float)
+0:96 'pv3' (temp 3-component vector of float)
+0:96 'pv3' (temp 3-component vector of float)
+0:97 move second child to first child (temp double)
+0:97 'd' (temp double)
+0:97 fma (global double)
+0:97 'd' (temp double)
+0:97 'd' (temp double)
+0:97 'd' (temp double)
+0:? Linker Objects
+0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'outa' (global 4-element array of int)
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'ina' (in 2-component vector of float)
+0:? 'inb' (in 32-element array of 2-component vector of float)
+0:? 'inc' (in 32-element array of 2-component vector of float)
+0:? 'ind' (in 32-element array of 2-component vector of float)
+0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float)
+0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float)
+0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float)
+0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float)
+0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float)
+0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float)
+0:? 'pv3' (temp 3-component vector of float)
+0:? 'pinbi' (patch out block{out int a})
+
+400.tese
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:3: 'vertices' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:5: 'triangles' : cannot change previously set input primitive
+ERROR: 0:6: 'isolines' : cannot change previously set input primitive
+ERROR: 0:8: 'ccw' : cannot change previously set vertex order
+ERROR: 0:12: 'equal_spacing' : cannot change previously set vertex spacing
+ERROR: 0:13: 'fractional_even_spacing' : cannot change previously set vertex spacing
+ERROR: 0:18: 'patch' : can only use on input in tessellation-evaluation shader
+ERROR: 0:22: 'barrier' : no matching overloaded function found
+ERROR: 0:47: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:48: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:49: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:50: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
+ERROR: 0:54: 'gl_PerVertex' : block already declared with size, can't redeclare as implicitly-sized
+ERROR: 0:59: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
+ERROR: 0:64: 'quads' : cannot apply to 'out'
+ERROR: 0:64: 'cw' : can only apply to 'in'
+ERROR: 0:65: 'triangles' : cannot apply to 'out'
+ERROR: 0:66: 'isolines' : cannot apply to 'out'
+ERROR: 0:67: 'cw' : can only apply to 'in'
+ERROR: 0:68: 'fractional_odd_spacing' : can only apply to 'in'
+ERROR: 0:69: 'equal_spacing' : can only apply to 'in'
+ERROR: 0:70: 'fractional_even_spacing' : can only apply to 'in'
+ERROR: 0:71: 'point_mode' : can only apply to 'in'
+ERROR: 0:73: 'in' : type must be an array: ina
+ERROR: 0:75: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:78: 'in' : type must be an array: bla
+ERROR: 0:86: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:96: 'location' : overlapping use of location 24
+ERROR: 0:99: 'location' : overlapping use of location 24
+ERROR: 0:101: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved
+ERROR: 30 compilation errors. No code generated.
+
+
+Shader version: 400
+Requested GL_ARB_separate_shader_objects
+input primitive = quads
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+using point mode
+ERROR: node is still EOpNull!
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:22 Sequence
+0:22 Constant:
+0:22 0.000000
+0:24 Sequence
+0:24 move second child to first child (temp int)
+0:24 'a' (temp int)
+0:24 Constant:
+0:24 1512 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp 4-component vector of float)
+0:32 'p' (temp 4-component vector of float)
+0:32 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 Constant:
+0:32 1 (const int)
+0:32 Constant:
+0:32 0 (const int)
+0:33 Sequence
+0:33 move second child to first child (temp float)
+0:33 'ps' (temp float)
+0:33 gl_PointSize: direct index for structure (in float PointSize)
+0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp float)
+0:34 'cd' (temp float)
+0:34 direct index (temp float ClipDistance)
+0:34 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 1 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp int)
+0:36 'pvi' (temp int)
+0:36 'gl_PatchVerticesIn' (in int PatchVertices)
+0:37 Sequence
+0:37 move second child to first child (temp int)
+0:37 'pid' (temp int)
+0:37 'gl_PrimitiveID' (in int PrimitiveID)
+0:38 Sequence
+0:38 move second child to first child (temp 3-component vector of float)
+0:38 'tc' (temp 3-component vector of float)
+0:38 'gl_TessCoord' (in 3-component vector of float TessCoord)
+0:39 Sequence
+0:39 move second child to first child (temp float)
+0:39 'tlo' (temp float)
+0:39 direct index (patch temp float TessLevelOuter)
+0:39 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
+0:39 Constant:
+0:39 3 (const int)
+0:40 Sequence
+0:40 move second child to first child (temp float)
+0:40 'tli' (temp float)
+0:40 direct index (patch temp float TessLevelInner)
+0:40 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
+0:40 Constant:
+0:40 1 (const int)
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:42 Constant:
+0:42 0 (const uint)
+0:42 'p' (temp 4-component vector of float)
+0:43 move second child to first child (temp float)
+0:43 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
+0:43 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:43 Constant:
+0:43 1 (const uint)
+0:43 'ps' (temp float)
+0:44 move second child to first child (temp float)
+0:44 direct index (temp float ClipDistance)
+0:44 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
+0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:44 Constant:
+0:44 2 (const uint)
+0:44 Constant:
+0:44 2 (const int)
+0:44 'cd' (temp float)
+0:? Linker Objects
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'badp1' (smooth patch in 4-component vector of float)
+0:? 'badp2' (flat patch in 4-component vector of float)
+0:? 'badp3' (noperspective patch in 4-component vector of float)
+0:? 'badp4' (patch sample in 3-component vector of float)
+0:? 'gl_in' (in 32-element array of block{in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'ina' (in 2-component vector of float)
+0:? 'inb' (in 32-element array of 2-component vector of float)
+0:? 'inc' (in 32-element array of 2-component vector of float)
+0:? 'ind' (in 32-element array of 2-component vector of float)
+0:? 'bla' (in block{in int f})
+0:? 'blb' (in 32-element array of block{in int f})
+0:? 'blc' (in 32-element array of block{in int f})
+0:? 'bld' (in 32-element array of block{in int f})
+0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float)
+0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float)
+0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float)
+0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float)
+0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float)
+0:? 'pinbi' (patch in block{in int a})
+
+410.tesc
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:4: 'length' : array must first be sized by a redeclaration or layout qualifier
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 400
+vertices = 0
+ERROR: node is still EOpNull!
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:? Linker Objects
+0:? 'gl_out' (out implicitly-sized array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'outa' (global 1-element array of int)
+0:? 'patchOut' (patch out 4-component vector of float)
+
+420.tesc
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size of gl_out
+ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a
+ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb
+ERROR: 0:26: 'gl_PointSize' : no such field in structure
+ERROR: 0:26: 'assign' : cannot convert from 'temp float' to 'temp block{out 4-component vector of float Position gl_Position}'
+ERROR: 0:29: 'out' : type must be an array: outf
+ERROR: 6 compilation errors. No code generated.
+
+
+Shader version: 420
+Requested GL_ARB_separate_shader_objects
+vertices = 4
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'p' (temp 4-component vector of float)
+0:17 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:17 Constant:
+0:17 1 (const int)
+0:17 Constant:
+0:17 0 (const int)
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'ps' (temp float)
+0:18 gl_PointSize: direct index for structure (in float PointSize)
+0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:18 Constant:
+0:18 1 (const int)
+0:18 Constant:
+0:18 1 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'cd' (temp float)
+0:19 direct index (temp float ClipDistance)
+0:19 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:19 Constant:
+0:19 1 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp int)
+0:21 'pvi' (temp int)
+0:21 'gl_PatchVerticesIn' (in int PatchVertices)
+0:22 Sequence
+0:22 move second child to first child (temp int)
+0:22 'pid' (temp int)
+0:22 'gl_PrimitiveID' (in int PrimitiveID)
+0:23 Sequence
+0:23 move second child to first child (temp int)
+0:23 'iid' (temp int)
+0:23 'gl_InvocationID' (in int InvocationID)
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:25 indirect index (temp block{out 4-component vector of float Position gl_Position})
+0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:25 'gl_InvocationID' (in int InvocationID)
+0:25 Constant:
+0:25 0 (const int)
+0:25 'p' (temp 4-component vector of float)
+0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
+0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:26 'gl_InvocationID' (in int InvocationID)
+0:34 Function Definition: foo( (global void)
+0:34 Function Parameters:
+0:36 Sequence
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 logical-or (temp bool)
+0:36 Compare Not Equal (temp bool)
+0:36 Constant:
+0:36 -0.625000
+0:36 -0.500000
+0:36 -0.375000
+0:36 -0.250000
+0:36 -0.375000
+0:36 -0.250000
+0:36 -0.125000
+0:36 0.000000
+0:36 direct index (layout(location=0 ) temp 2X4 matrix of double)
+0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
+0:36 Constant:
+0:36 0 (const int)
+0:37 Compare Not Equal (temp bool)
+0:37 Constant:
+0:37 0.375000
+0:37 0.500000
+0:37 0.625000
+0:37 0.750000
+0:37 0.625000
+0:37 0.750000
+0:37 0.875000
+0:37 -0.625000
+0:37 direct index (layout(location=12 ) temp 2X4 matrix of double)
+0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
+0:37 Constant:
+0:37 0 (const int)
+0:36 true case is null
+0:? Linker Objects
+0:? 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:? 'a' (out 3-element array of int)
+0:? 'outb' (out 5-element array of int)
+0:? 'outc' (out 4-element array of int)
+0:? 'outf' (out float)
+0:? 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
+0:? 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
+
+420.tese
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:7: '=' : cannot convert from 'global 3-element array of float' to 'global 2-element array of float'
+ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): global 2-component vector of float
+ERROR: 0:9: 'initializer list' : wrong number of matrix columns: global 3X3 matrix of float
+ERROR: 0:10: 'initializer list' : wrong number of matrix columns: global 2X2 matrix of float
+ERROR: 0:25: 'initializer list' : wrong number of structure members
+ERROR: 0:27: '=' : cannot convert from 'const bool' to 'global int'
+ERROR: 0:28: 'constructor' : cannot convert parameter 2 from 'const float' to 'global 4-component vector of float'
+ERROR: 0:29: 'constructor' : cannot convert parameter 2 from 'const 2X2 matrix of float' to 'const 4-component vector of float'
+ERROR: 0:29: 'const 2-element array of 4-component vector of float' : cannot construct with these arguments
+ERROR: 0:29: '=' : cannot convert from 'const float' to 'global 2-element array of 4-component vector of float'
+ERROR: 0:30: 'initializer list' : wrong number of matrix columns: global 4X2 matrix of float
+ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'temp float' to 'global structure{global float s, global float t}'
+ERROR: 0:58: 'initializer list' : wrong number of structure members
+ERROR: 13 compilation errors. No code generated.
+
+
+Shader version: 420
+input primitive = none
+vertex spacing = none
+triangle order = none
+ERROR: node is still EOpNull!
+0:4 Sequence
+0:4 move second child to first child (temp 2X2 matrix of float)
+0:4 'b' (global 2X2 matrix of float)
+0:4 Constant:
+0:4 1.000000
+0:4 0.000000
+0:4 0.000000
+0:4 1.000000
+0:15 Sequence
+0:15 move second child to first child (temp structure{global float a, global int b})
+0:15 'e' (global structure{global float a, global int b})
+0:15 Constant:
+0:15 1.200000
+0:15 2 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp structure{global float a, global int b})
+0:20 'e2' (global structure{global float a, global int b})
+0:20 Constant:
+0:20 1.000000
+0:20 3 (const int)
+0:42 Sequence
+0:42 move second child to first child (temp 5-element array of float)
+0:42 'b5' (global 5-element array of float)
+0:42 Constant:
+0:42 3.400000
+0:42 4.200000
+0:42 5.000000
+0:42 5.200000
+0:42 1.100000
+0:67 Sequence
+0:67 move second child to first child (temp 3-component vector of float)
+0:67 'av3' (global 3-component vector of float)
+0:67 Construct vec3 (global 3-component vector of float)
+0:67 'vc1' (global float)
+0:67 'vc2' (global float)
+0:67 'vc3' (global float)
+0:68 Sequence
+0:68 move second child to first child (temp 3-component vector of float)
+0:68 'bv3' (global 3-component vector of float)
+0:68 Construct vec3 (global 3-component vector of float)
+0:68 'vc1' (global float)
+0:68 'vc2' (global float)
+0:68 'vc3' (global float)
+0:70 Function Definition: main( (global void)
+0:70 Function Parameters:
+0:72 Sequence
+0:72 MemoryBarrier (global void)
+0:74 Test condition and select (temp void)
+0:74 Condition
+0:74 Compare Equal (temp bool)
+0:74 Constant:
+0:74 1 (const uint)
+0:74 2 (const uint)
+0:74 3.000000
+0:74 4.000000
+0:74 0.000000
+0:74 0.000000
+0:74 0.000000
+0:74 4.000000
+0:74 0.000000
+0:74 5.000000
+0:74 6.000000
+0:74 0.000000
+0:74 0.000000
+0:74 0.000000
+0:74 6.000000
+0:74 0.000000
+0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:74 true case is null
+0:76 Test condition and select (temp void)
+0:76 Condition
+0:76 Constant:
+0:76 true (const bool)
+0:76 true case is null
+0:? Linker Objects
+0:? 'a' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'b' (global 2X2 matrix of float)
+0:? 'c' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'a2' (global 2-element array of float)
+0:? 'b2' (global 2-component vector of float)
+0:? 'c2' (global 3X3 matrix of float)
+0:? 'd' (global 2X2 matrix of float)
+0:? 'e' (global structure{global float a, global int b})
+0:? 'e2' (global structure{global float a, global int b})
+0:? 'e3' (global structure{global float a, global int b})
+0:? 'a3' (global int)
+0:? 'b3' (global 2-element array of 4-component vector of float)
+0:? 'b4' (global 2-element array of 4-component vector of float)
+0:? 'c3' (global 4X2 matrix of float)
+0:? 'd2' (global implicitly-sized array of structure{global float s, global float t})
+0:? 'b5' (global 5-element array of float)
+0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3.000000
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 0.000000
+0:? 5.000000
+0:? 6.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 6.000000
+0:? 0.000000
+0:? 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 'curlyInit' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3.000000
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 0.000000
+0:? 5.000000
+0:? 6.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 6.000000
+0:? 0.000000
+0:? 'vc1' (global float)
+0:? 'vc2' (global float)
+0:? 'vc3' (global float)
+0:? 'av3' (global 3-component vector of float)
+0:? 'bv3' (global 3-component vector of float)
+
+
+Linked tessellation control stage:
+
+ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+ERROR: Linking tessellation control stage: Contradictory layout vertices values
+ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+ERROR: Linking tessellation control stage: Types must match:
+ gl_out: "out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" versus "out implicitly-sized array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}"
+ERROR: Linking tessellation control stage: Types must match:
+ outa: "global 4-element array of int" versus "global 1-element array of int"
+ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ foo(
+ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+ERROR: Linking tessellation control stage: Types must match:
+ gl_out: "out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" versus "out 3-element array of block{out 4-component vector of float Position gl_Position}"
+
+Linked tessellation evaluation stage:
+
+ERROR: Linking tessellation evaluation stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+ERROR: Linking tessellation evaluation stage: Contradictory input layout primitives
+ERROR: Linking tessellation evaluation stage: Contradictory input vertex spacing
+ERROR: Linking tessellation evaluation stage: Contradictory triangle ordering
+ERROR: Linking tessellation evaluation stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+ERROR: Linking tessellation evaluation stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+
+Shader version: 420
+Requested GL_ARB_separate_shader_objects
+Requested GL_ARB_tessellation_shader
+vertices = 4
+0:? Sequence
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Barrier (global void)
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'a' (temp int)
+0:14 Constant:
+0:14 5392 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'p' (temp 4-component vector of float)
+0:20 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:20 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:20 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:20 Constant:
+0:20 1 (const int)
+0:20 Constant:
+0:20 0 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp float)
+0:21 'ps' (temp float)
+0:21 gl_PointSize: direct index for structure (in float PointSize)
+0:21 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:21 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:21 Constant:
+0:21 1 (const int)
+0:21 Constant:
+0:21 1 (const int)
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'cd' (temp float)
+0:22 direct index (temp float ClipDistance)
+0:22 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
+0:22 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:22 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:22 Constant:
+0:22 1 (const int)
+0:22 Constant:
+0:22 2 (const int)
+0:22 Constant:
+0:22 2 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp int)
+0:24 'pvi' (temp int)
+0:24 'gl_PatchVerticesIn' (in int PatchVertices)
+0:25 Sequence
+0:25 move second child to first child (temp int)
+0:25 'pid' (temp int)
+0:25 'gl_PrimitiveID' (in int PrimitiveID)
+0:26 Sequence
+0:26 move second child to first child (temp int)
+0:26 'iid' (temp int)
+0:26 'gl_InvocationID' (in int InvocationID)
+0:28 move second child to first child (temp 4-component vector of float)
+0:28 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:28 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:28 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:28 'gl_InvocationID' (in int InvocationID)
+0:28 Constant:
+0:28 0 (const int)
+0:28 'p' (temp 4-component vector of float)
+0:29 move second child to first child (temp float)
+0:29 gl_PointSize: direct index for structure (out float PointSize)
+0:29 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:29 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:29 'gl_InvocationID' (in int InvocationID)
+0:29 Constant:
+0:29 1 (const int)
+0:29 'ps' (temp float)
+0:30 move second child to first child (temp float)
+0:30 direct index (temp float ClipDistance)
+0:30 gl_ClipDistance: direct index for structure (out 1-element array of float ClipDistance)
+0:30 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:30 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:30 'gl_InvocationID' (in int InvocationID)
+0:30 Constant:
+0:30 2 (const int)
+0:30 Constant:
+0:30 1 (const int)
+0:30 'cd' (temp float)
+0:32 move second child to first child (temp float)
+0:32 direct index (patch temp float TessLevelOuter)
+0:32 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
+0:32 Constant:
+0:32 3 (const int)
+0:32 Constant:
+0:32 3.200000
+0:33 move second child to first child (temp float)
+0:33 direct index (patch temp float TessLevelInner)
+0:33 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 1.300000
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:15 Sequence
+0:15 Barrier (global void)
+0:17 Sequence
+0:17 move second child to first child (temp int)
+0:17 'a' (temp int)
+0:17 Constant:
+0:17 5392 (const int)
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'p' (temp 4-component vector of float)
+0:23 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:23 Constant:
+0:23 1 (const int)
+0:23 Constant:
+0:23 0 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'ps' (temp float)
+0:24 gl_PointSize: direct index for structure (in float PointSize)
+0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:24 Constant:
+0:24 1 (const int)
+0:24 Constant:
+0:24 1 (const int)
+0:25 Sequence
+0:25 move second child to first child (temp float)
+0:25 'cd' (temp float)
+0:25 direct index (temp float ClipDistance)
+0:25 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
+0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:25 Constant:
+0:25 1 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp int)
+0:27 'pvi' (temp int)
+0:27 'gl_PatchVerticesIn' (in int PatchVertices)
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'pid' (temp int)
+0:28 'gl_PrimitiveID' (in int PrimitiveID)
+0:29 Sequence
+0:29 move second child to first child (temp int)
+0:29 'iid' (temp int)
+0:29 'gl_InvocationID' (in int InvocationID)
+0:31 move second child to first child (temp 4-component vector of float)
+0:31 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:31 'gl_InvocationID' (in int InvocationID)
+0:31 Constant:
+0:31 0 (const int)
+0:31 'p' (temp 4-component vector of float)
+0:32 move second child to first child (temp float)
+0:32 gl_PointSize: direct index for structure (out float PointSize)
+0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:32 'gl_InvocationID' (in int InvocationID)
+0:32 Constant:
+0:32 1 (const int)
+0:32 'ps' (temp float)
+0:33 move second child to first child (temp float)
+0:33 direct index (temp float ClipDistance)
+0:33 gl_ClipDistance: direct index for structure (out 1-element array of float ClipDistance)
+0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:33 'gl_InvocationID' (in int InvocationID)
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:33 'cd' (temp float)
+0:35 move second child to first child (temp float)
+0:35 direct index (patch temp float TessLevelOuter)
+0:35 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
+0:35 Constant:
+0:35 3 (const int)
+0:35 Constant:
+0:35 3.200000
+0:36 move second child to first child (temp float)
+0:36 direct index (patch temp float TessLevelInner)
+0:36 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
+0:36 Constant:
+0:36 1 (const int)
+0:36 Constant:
+0:36 1.300000
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Greater Than (temp bool)
+0:38 'a' (temp int)
+0:38 Constant:
+0:38 10 (const int)
+0:38 true case
+0:39 Barrier (global void)
+0:38 false case
+0:41 Barrier (global void)
+0:43 Barrier (global void)
+0:47 Loop with condition not tested first
+0:47 Loop Condition
+0:47 Compare Greater Than (temp bool)
+0:47 'a' (temp int)
+0:47 Constant:
+0:47 10 (const int)
+0:47 Loop Body
+0:46 Sequence
+0:46 Barrier (global void)
+0:49 switch
+0:49 condition
+0:49 'a' (temp int)
+0:49 body
+0:49 Sequence
+0:50 default:
+0:? Sequence
+0:51 Barrier (global void)
+0:52 Branch: Break
+0:54 Test condition and select (temp int)
+0:54 Condition
+0:54 Compare Less Than (temp bool)
+0:54 'a' (temp int)
+0:54 Constant:
+0:54 12 (const int)
+0:54 true case
+0:54 'a' (temp int)
+0:54 false case
+0:54 Comma (temp int)
+0:54 Barrier (global void)
+0:54 'a' (temp int)
+0:56 Sequence
+0:56 Barrier (global void)
+0:59 Branch: Return
+0:61 Barrier (global void)
+0:67 Function Definition: foo( (global void)
+0:67 Function Parameters:
+0:69 Sequence
+0:69 gl_PointSize: direct index for structure (out float PointSize)
+0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:69 Constant:
+0:69 4 (const int)
+0:69 Constant:
+0:69 1 (const int)
+0:71 Barrier (global void)
+0:91 Function Definition: foop( (global void)
+0:91 Function Parameters:
+0:? Sequence
+0:95 multiply second child into first child (temp 3-component vector of float)
+0:95 'pv3' (temp 3-component vector of float)
+0:95 'pv3' (temp 3-component vector of float)
+0:96 move second child to first child (temp 3-component vector of float)
+0:96 'pv3' (temp 3-component vector of float)
+0:96 fma (global 3-component vector of float)
+0:96 'pv3' (temp 3-component vector of float)
+0:96 'pv3' (temp 3-component vector of float)
+0:96 'pv3' (temp 3-component vector of float)
+0:97 move second child to first child (temp double)
+0:97 'd' (temp double)
+0:97 fma (global double)
+0:97 'd' (temp double)
+0:97 'd' (temp double)
+0:97 'd' (temp double)
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'p' (temp 4-component vector of float)
+0:17 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:17 Constant:
+0:17 1 (const int)
+0:17 Constant:
+0:17 0 (const int)
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'ps' (temp float)
+0:18 gl_PointSize: direct index for structure (in float PointSize)
+0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:18 Constant:
+0:18 1 (const int)
+0:18 Constant:
+0:18 1 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'cd' (temp float)
+0:19 direct index (temp float ClipDistance)
+0:19 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
+0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:19 Constant:
+0:19 1 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp int)
+0:21 'pvi' (temp int)
+0:21 'gl_PatchVerticesIn' (in int PatchVertices)
+0:22 Sequence
+0:22 move second child to first child (temp int)
+0:22 'pid' (temp int)
+0:22 'gl_PrimitiveID' (in int PrimitiveID)
+0:23 Sequence
+0:23 move second child to first child (temp int)
+0:23 'iid' (temp int)
+0:23 'gl_InvocationID' (in int InvocationID)
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:25 indirect index (temp block{out 4-component vector of float Position gl_Position})
+0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:25 'gl_InvocationID' (in int InvocationID)
+0:25 Constant:
+0:25 0 (const int)
+0:25 'p' (temp 4-component vector of float)
+0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
+0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:26 'gl_InvocationID' (in int InvocationID)
+0:34 Function Definition: foo( (global void)
+0:34 Function Parameters:
+0:36 Sequence
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 logical-or (temp bool)
+0:36 Compare Not Equal (temp bool)
+0:36 Constant:
+0:36 -0.625000
+0:36 -0.500000
+0:36 -0.375000
+0:36 -0.250000
+0:36 -0.375000
+0:36 -0.250000
+0:36 -0.125000
+0:36 0.000000
+0:36 direct index (layout(location=0 ) temp 2X4 matrix of double)
+0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
+0:36 Constant:
+0:36 0 (const int)
+0:37 Compare Not Equal (temp bool)
+0:37 Constant:
+0:37 0.375000
+0:37 0.500000
+0:37 0.625000
+0:37 0.750000
+0:37 0.625000
+0:37 0.750000
+0:37 0.875000
+0:37 -0.625000
+0:37 direct index (layout(location=12 ) temp 2X4 matrix of double)
+0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
+0:37 Constant:
+0:37 0 (const int)
+0:36 true case is null
+0:? Linker Objects
+0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'outa' (global 4-element array of int)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'ina' (in 2-component vector of float)
+0:? 'inb' (in 32-element array of 2-component vector of float)
+0:? 'inc' (in 32-element array of 2-component vector of float)
+0:? 'ind' (in 32-element array of 2-component vector of float)
+0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float)
+0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float)
+0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float)
+0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float)
+0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float)
+0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float)
+0:? 'pv3' (temp 3-component vector of float)
+0:? 'pinbi' (patch out block{out int a})
+0:? 'a' (out 3-element array of int)
+0:? 'outb' (out 5-element array of int)
+0:? 'outc' (out 4-element array of int)
+0:? 'outf' (out float)
+0:? 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
+0:? 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
+Shader version: 420
+Requested GL_ARB_separate_shader_objects
+Requested GL_ARB_tessellation_shader
+input primitive = quads
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+using point mode
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Constant:
+0:12 0.000000
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'a' (temp int)
+0:14 Constant:
+0:14 1512 (const int)
+0:22 Sequence
+0:22 move second child to first child (temp 4-component vector of float)
+0:22 'p' (temp 4-component vector of float)
+0:22 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:22 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:22 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:22 Constant:
+0:22 1 (const int)
+0:22 Constant:
+0:22 0 (const int)
+0:23 Sequence
+0:23 move second child to first child (temp float)
+0:23 'ps' (temp float)
+0:23 gl_PointSize: direct index for structure (in float PointSize)
+0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:23 Constant:
+0:23 1 (const int)
+0:23 Constant:
+0:23 1 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'cd' (temp float)
+0:24 direct index (temp float ClipDistance)
+0:24 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
+0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:24 Constant:
+0:24 1 (const int)
+0:24 Constant:
+0:24 2 (const int)
+0:24 Constant:
+0:24 2 (const int)
+0:26 Sequence
+0:26 move second child to first child (temp int)
+0:26 'pvi' (temp int)
+0:26 'gl_PatchVerticesIn' (in int PatchVertices)
+0:27 Sequence
+0:27 move second child to first child (temp int)
+0:27 'pid' (temp int)
+0:27 'gl_PrimitiveID' (in int PrimitiveID)
+0:28 Sequence
+0:28 move second child to first child (temp 3-component vector of float)
+0:28 'tc' (temp 3-component vector of float)
+0:28 'gl_TessCoord' (in 3-component vector of float TessCoord)
+0:29 Sequence
+0:29 move second child to first child (temp float)
+0:29 'tlo' (temp float)
+0:29 direct index (patch temp float TessLevelOuter)
+0:29 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
+0:29 Constant:
+0:29 3 (const int)
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'tli' (temp float)
+0:30 direct index (patch temp float TessLevelInner)
+0:30 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
+0:30 Constant:
+0:30 1 (const int)
+0:32 move second child to first child (temp 4-component vector of float)
+0:32 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:32 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:32 Constant:
+0:32 0 (const uint)
+0:32 'p' (temp 4-component vector of float)
+0:33 move second child to first child (temp float)
+0:33 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
+0:33 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 1 (const uint)
+0:33 'ps' (temp float)
+0:34 move second child to first child (temp float)
+0:34 direct index (temp float ClipDistance)
+0:34 gl_ClipDistance: direct index for structure (out 3-element array of float ClipDistance)
+0:34 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 2 (const uint)
+0:34 Constant:
+0:34 2 (const int)
+0:34 'cd' (temp float)
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:22 Sequence
+0:22 Constant:
+0:22 0.000000
+0:24 Sequence
+0:24 move second child to first child (temp int)
+0:24 'a' (temp int)
+0:24 Constant:
+0:24 1512 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp 4-component vector of float)
+0:32 'p' (temp 4-component vector of float)
+0:32 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:32 Constant:
+0:32 1 (const int)
+0:32 Constant:
+0:32 0 (const int)
+0:33 Sequence
+0:33 move second child to first child (temp float)
+0:33 'ps' (temp float)
+0:33 gl_PointSize: direct index for structure (in float PointSize)
+0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp float)
+0:34 'cd' (temp float)
+0:34 direct index (temp float ClipDistance)
+0:34 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
+0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 1 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp int)
+0:36 'pvi' (temp int)
+0:36 'gl_PatchVerticesIn' (in int PatchVertices)
+0:37 Sequence
+0:37 move second child to first child (temp int)
+0:37 'pid' (temp int)
+0:37 'gl_PrimitiveID' (in int PrimitiveID)
+0:38 Sequence
+0:38 move second child to first child (temp 3-component vector of float)
+0:38 'tc' (temp 3-component vector of float)
+0:38 'gl_TessCoord' (in 3-component vector of float TessCoord)
+0:39 Sequence
+0:39 move second child to first child (temp float)
+0:39 'tlo' (temp float)
+0:39 direct index (patch temp float TessLevelOuter)
+0:39 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
+0:39 Constant:
+0:39 3 (const int)
+0:40 Sequence
+0:40 move second child to first child (temp float)
+0:40 'tli' (temp float)
+0:40 direct index (patch temp float TessLevelInner)
+0:40 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
+0:40 Constant:
+0:40 1 (const int)
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:42 Constant:
+0:42 0 (const uint)
+0:42 'p' (temp 4-component vector of float)
+0:43 move second child to first child (temp float)
+0:43 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
+0:43 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:43 Constant:
+0:43 1 (const uint)
+0:43 'ps' (temp float)
+0:44 move second child to first child (temp float)
+0:44 direct index (temp float ClipDistance)
+0:44 gl_ClipDistance: direct index for structure (out 3-element array of float ClipDistance)
+0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:44 Constant:
+0:44 2 (const uint)
+0:44 Constant:
+0:44 2 (const int)
+0:44 'cd' (temp float)
+0:4 Sequence
+0:4 move second child to first child (temp 2X2 matrix of float)
+0:4 'b' (global 2X2 matrix of float)
+0:4 Constant:
+0:4 1.000000
+0:4 0.000000
+0:4 0.000000
+0:4 1.000000
+0:15 Sequence
+0:15 move second child to first child (temp structure{global float a, global int b})
+0:15 'e' (global structure{global float a, global int b})
+0:15 Constant:
+0:15 1.200000
+0:15 2 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp structure{global float a, global int b})
+0:20 'e2' (global structure{global float a, global int b})
+0:20 Constant:
+0:20 1.000000
+0:20 3 (const int)
+0:42 Sequence
+0:42 move second child to first child (temp 5-element array of float)
+0:42 'b5' (global 5-element array of float)
+0:42 Constant:
+0:42 3.400000
+0:42 4.200000
+0:42 5.000000
+0:42 5.200000
+0:42 1.100000
+0:67 Sequence
+0:67 move second child to first child (temp 3-component vector of float)
+0:67 'av3' (global 3-component vector of float)
+0:67 Construct vec3 (global 3-component vector of float)
+0:67 'vc1' (global float)
+0:67 'vc2' (global float)
+0:67 'vc3' (global float)
+0:68 Sequence
+0:68 move second child to first child (temp 3-component vector of float)
+0:68 'bv3' (global 3-component vector of float)
+0:68 Construct vec3 (global 3-component vector of float)
+0:68 'vc1' (global float)
+0:68 'vc2' (global float)
+0:68 'vc3' (global float)
+0:70 Function Definition: main( (global void)
+0:70 Function Parameters:
+0:72 Sequence
+0:72 MemoryBarrier (global void)
+0:74 Test condition and select (temp void)
+0:74 Condition
+0:74 Compare Equal (temp bool)
+0:74 Constant:
+0:74 1 (const uint)
+0:74 2 (const uint)
+0:74 3.000000
+0:74 4.000000
+0:74 0.000000
+0:74 0.000000
+0:74 0.000000
+0:74 4.000000
+0:74 0.000000
+0:74 5.000000
+0:74 6.000000
+0:74 0.000000
+0:74 0.000000
+0:74 0.000000
+0:74 6.000000
+0:74 0.000000
+0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:74 true case is null
+0:76 Test condition and select (temp void)
+0:76 Condition
+0:76 Constant:
+0:76 true (const bool)
+0:76 true case is null
+0:? Linker Objects
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'badp1' (smooth patch in 4-component vector of float)
+0:? 'badp2' (flat patch in 4-component vector of float)
+0:? 'badp3' (noperspective patch in 4-component vector of float)
+0:? 'badp4' (patch sample in 3-component vector of float)
+0:? 'gl_in' (in 32-element array of block{in 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'ina' (in 2-component vector of float)
+0:? 'inb' (in 32-element array of 2-component vector of float)
+0:? 'inc' (in 32-element array of 2-component vector of float)
+0:? 'ind' (in 32-element array of 2-component vector of float)
+0:? 'bla' (in block{in int f})
+0:? 'blb' (in 32-element array of block{in int f})
+0:? 'blc' (in 32-element array of block{in int f})
+0:? 'bld' (in 32-element array of block{in int f})
+0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float)
+0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float)
+0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float)
+0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float)
+0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float)
+0:? 'pinbi' (patch in block{in int a})
+0:? 'a' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'b' (global 2X2 matrix of float)
+0:? 'c' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'a2' (global 2-element array of float)
+0:? 'b2' (global 2-component vector of float)
+0:? 'c2' (global 3X3 matrix of float)
+0:? 'd' (global 2X2 matrix of float)
+0:? 'e' (global structure{global float a, global int b})
+0:? 'e2' (global structure{global float a, global int b})
+0:? 'e3' (global structure{global float a, global int b})
+0:? 'a3' (global int)
+0:? 'b3' (global 2-element array of 4-component vector of float)
+0:? 'b4' (global 2-element array of 4-component vector of float)
+0:? 'c3' (global 4X2 matrix of float)
+0:? 'd2' (global 1-element array of structure{global float s, global float t})
+0:? 'b5' (global 5-element array of float)
+0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3.000000
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 0.000000
+0:? 5.000000
+0:? 6.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 6.000000
+0:? 0.000000
+0:? 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 'curlyInit' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3.000000
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 0.000000
+0:? 5.000000
+0:? 6.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 6.000000
+0:? 0.000000
+0:? 'vc1' (global float)
+0:? 'vc2' (global float)
+0:? 'vc3' (global float)
+0:? 'av3' (global 3-component vector of float)
+0:? 'bv3' (global 3-component vector of float)
+
diff --git a/Test/baseResults/150.vert.out b/Test/baseResults/150.vert.out
index 1650102..a82e789 100644
--- a/Test/baseResults/150.vert.out
+++ b/Test/baseResults/150.vert.out
@@ -1,95 +1,95 @@
-150.vert
-ERROR: 0:22: 'a' : cannot redeclare a user-block member array
-ERROR: 0:3001: '#error' : line of this error should be 3001
-ERROR: 2 compilation errors. No code generated.
-
-
-Shader version: 150
-ERROR: node is still EOpNull!
-0:9 Function Definition: main( (global void)
-0:9 Function Parameters:
-0:11 Sequence
-0:11 move second child to first child (temp 4-component vector of float)
-0:11 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position)
-0:11 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:11 Constant:
-0:11 0 (const uint)
-0:11 'iv4' (in 4-component vector of float)
-0:12 move second child to first child (temp float)
-0:12 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
-0:12 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:12 Constant:
-0:12 1 (const uint)
-0:12 'ps' (uniform float)
-0:13 move second child to first child (temp float)
-0:13 direct index (temp float ClipDistance)
-0:13 gl_ClipDistance: direct index for structure (out 4-element array of float ClipDistance)
-0:13 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:13 Constant:
-0:13 2 (const uint)
-0:13 Constant:
-0:13 2 (const int)
-0:13 direct index (temp float)
-0:13 'iv4' (in 4-component vector of float)
-0:13 Constant:
-0:13 0 (const int)
-0:14 move second child to first child (temp 4-component vector of float)
-0:14 gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float ClipVertex)
-0:14 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:14 Constant:
-0:14 3 (const uint)
-0:14 'iv4' (in 4-component vector of float)
-0:? Linker Objects
-0:? 'iv4' (in 4-component vector of float)
-0:? 'ps' (uniform float)
-0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of int a})
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
-
-Linked vertex stage:
-
-ERROR: Linking vertex stage: Can only use one of gl_ClipDistance or gl_ClipVertex (gl_ClipDistance is preferred)
-
-Shader version: 150
-ERROR: node is still EOpNull!
-0:9 Function Definition: main( (global void)
-0:9 Function Parameters:
-0:11 Sequence
-0:11 move second child to first child (temp 4-component vector of float)
-0:11 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position)
-0:11 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:11 Constant:
-0:11 0 (const uint)
-0:11 'iv4' (in 4-component vector of float)
-0:12 move second child to first child (temp float)
-0:12 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
-0:12 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:12 Constant:
-0:12 1 (const uint)
-0:12 'ps' (uniform float)
-0:13 move second child to first child (temp float)
-0:13 direct index (temp float ClipDistance)
-0:13 gl_ClipDistance: direct index for structure (out 4-element array of float ClipDistance)
-0:13 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:13 Constant:
-0:13 2 (const uint)
-0:13 Constant:
-0:13 2 (const int)
-0:13 direct index (temp float)
-0:13 'iv4' (in 4-component vector of float)
-0:13 Constant:
-0:13 0 (const int)
-0:14 move second child to first child (temp 4-component vector of float)
-0:14 gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float ClipVertex)
-0:14 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:14 Constant:
-0:14 3 (const uint)
-0:14 'iv4' (in 4-component vector of float)
-0:? Linker Objects
-0:? 'iv4' (in 4-component vector of float)
-0:? 'ps' (uniform float)
-0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform 1-element array of int a})
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
+150.vert
+ERROR: 0:22: 'a' : cannot redeclare a user-block member array
+ERROR: 0:3001: '#error' : line of this error should be 3001
+ERROR: 2 compilation errors. No code generated.
+
+
+Shader version: 150
+ERROR: node is still EOpNull!
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 move second child to first child (temp 4-component vector of float)
+0:11 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position)
+0:11 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:11 Constant:
+0:11 0 (const uint)
+0:11 'iv4' (in 4-component vector of float)
+0:12 move second child to first child (temp float)
+0:12 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
+0:12 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:12 Constant:
+0:12 1 (const uint)
+0:12 'ps' (uniform float)
+0:13 move second child to first child (temp float)
+0:13 direct index (temp float ClipDistance)
+0:13 gl_ClipDistance: direct index for structure (out 4-element array of float ClipDistance)
+0:13 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:13 Constant:
+0:13 2 (const uint)
+0:13 Constant:
+0:13 2 (const int)
+0:13 direct index (temp float)
+0:13 'iv4' (in 4-component vector of float)
+0:13 Constant:
+0:13 0 (const int)
+0:14 move second child to first child (temp 4-component vector of float)
+0:14 gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float ClipVertex)
+0:14 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:14 Constant:
+0:14 3 (const uint)
+0:14 'iv4' (in 4-component vector of float)
+0:? Linker Objects
+0:? 'iv4' (in 4-component vector of float)
+0:? 'ps' (uniform float)
+0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of int a})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+ERROR: Linking vertex stage: Can only use one of gl_ClipDistance or gl_ClipVertex (gl_ClipDistance is preferred)
+
+Shader version: 150
+ERROR: node is still EOpNull!
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 move second child to first child (temp 4-component vector of float)
+0:11 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position)
+0:11 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:11 Constant:
+0:11 0 (const uint)
+0:11 'iv4' (in 4-component vector of float)
+0:12 move second child to first child (temp float)
+0:12 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
+0:12 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:12 Constant:
+0:12 1 (const uint)
+0:12 'ps' (uniform float)
+0:13 move second child to first child (temp float)
+0:13 direct index (temp float ClipDistance)
+0:13 gl_ClipDistance: direct index for structure (out 4-element array of float ClipDistance)
+0:13 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:13 Constant:
+0:13 2 (const uint)
+0:13 Constant:
+0:13 2 (const int)
+0:13 direct index (temp float)
+0:13 'iv4' (in 4-component vector of float)
+0:13 Constant:
+0:13 0 (const int)
+0:14 move second child to first child (temp 4-component vector of float)
+0:14 gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float ClipVertex)
+0:14 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:14 Constant:
+0:14 3 (const uint)
+0:14 'iv4' (in 4-component vector of float)
+0:? Linker Objects
+0:? 'iv4' (in 4-component vector of float)
+0:? 'ps' (uniform float)
+0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform 1-element array of int a})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/300.frag.out b/Test/baseResults/300.frag.out
index a21667e..6cc2103 100644
--- a/Test/baseResults/300.frag.out
+++ b/Test/baseResults/300.frag.out
@@ -1,755 +1,755 @@
-300.frag
-ERROR: 0:2: 'float' : type requires declaration of default precision qualifier
-ERROR: 0:30: 'noperspective' : Reserved word.
-ERROR: 0:30: 'noperspective' : not supported with this profile: es
-ERROR: 0:31: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: bads
-ERROR: 0:32: 'uint' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
-ERROR: 0:39: 'structure' : non-uniform struct contains a sampler or image: badout
-ERROR: 0:60: 'texel offset' : argument must be compile-time constant
-ERROR: 0:62: 'texel offset' : argument must be compile-time constant
-ERROR: 0:63: 'texel offset' : argument must be compile-time constant
-ERROR: 0:64: 'texel offset' : argument must be compile-time constant
-ERROR: 0:66: 'texel offset' : argument must be compile-time constant
-ERROR: 0:68: 'texel offset' : argument must be compile-time constant
-ERROR: 0:69: 'variable indexing sampler array' : not supported for this version or the enabled extensions
-ERROR: 0:73: 'texel offset' : argument must be compile-time constant
-ERROR: 0:83: 'double' : Reserved word.
-ERROR: 0:83: 'double' : not supported with this profile: es
-ERROR: 0:84: 'dvec2' : Reserved word.
-ERROR: 0:84: 'double vector' : not supported with this profile: es
-ERROR: 0:85: 'dvec3' : Reserved word.
-ERROR: 0:85: 'double vector' : not supported with this profile: es
-ERROR: 0:86: 'dvec4' : Reserved word.
-ERROR: 0:86: 'double vector' : not supported with this profile: es
-ERROR: 0:101: 'arrays of arrays' : not supported for this version or the enabled extensions
-ERROR: 0:102: 'arrays of arrays' : not supported for this version or the enabled extensions
-ERROR: 0:102: 'arrays of arrays' : not supported for this version or the enabled extensions
-ERROR: 0:103: 'arrays of arrays' : not supported for this version or the enabled extensions
-ERROR: 0:100: 'arrays of arrays' : not supported for this version or the enabled extensions
-ERROR: 0:100: 'array-of-array of block' : not supported with this profile: es
-ERROR: 0:111: 'variable indexing fragment shader ouput array' : not supported with this profile: es
-ERROR: 0:119: '==' : can't use with samplers or structs containing samplers
-ERROR: 0:120: '!=' : can't use with samplers or structs containing samplers
-ERROR: 0:121: '==' : can't use with samplers or structs containing samplers
-ERROR: 0:121: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'global lowp sampler2D' and a right operand of type 'global lowp sampler2D' (or there is no acceptable conversion)
-ERROR: 0:122: '=' : can't use with samplers or structs containing samplers
-ERROR: 0:123: '==' : can't use with samplers or structs containing samplers
-ERROR: 0:129: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
-ERROR: 0:129: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
-ERROR: 0:148: 'qualifier' : cannot use auxiliary, memory, interpolation, or precision qualifier in a default qualifier declaration (declaration with no type)
-ERROR: 0:150: 'early_fragment_tests' : not supported for this version or the enabled extensions
-ERROR: 0:156: 'invariant' : can only apply to an output
-ERROR: 0:157: 'invariant' : can only apply to an output
-ERROR: 0:158: 'invariant' : can only apply to an output
-ERROR: 0:160: 'imageBuffer' : Reserved word.
-ERROR: 0:160: '' : syntax error
-ERROR: 44 compilation errors. No code generated.
-
-
-Shader version: 300
-using early_fragment_tests
-ERROR: node is still EOpNull!
-0:53 Function Definition: main( (global void)
-0:53 Function Parameters:
-0:? Sequence
-0:57 move second child to first child (temp lowp 4-component vector of float)
-0:57 'v' (temp lowp 4-component vector of float)
-0:57 texture (global lowp 4-component vector of float)
-0:57 's2D' (uniform lowp sampler2D)
-0:57 'c2D' (smooth in lowp 2-component vector of float)
-0:58 move second child to first child (temp lowp 4-component vector of float)
-0:58 'v' (temp lowp 4-component vector of float)
-0:58 textureProj (global lowp 4-component vector of float)
-0:58 's3D' (uniform lowp sampler3D)
-0:58 'c4D' (smooth temp lowp 4-component vector of float)
-0:59 move second child to first child (temp lowp 4-component vector of float)
-0:59 'v' (temp lowp 4-component vector of float)
-0:59 textureLod (global lowp 4-component vector of float)
-0:59 's2DArray' (uniform lowp sampler2DArray)
-0:59 'c3D' (smooth in lowp 3-component vector of float)
-0:59 Constant:
-0:59 1.200000
-0:60 move second child to first child (temp lowp float)
-0:60 'f' (temp lowp float)
-0:60 textureOffset (global lowp float)
-0:60 's2DShadow' (uniform lowp sampler2DShadow)
-0:60 'c3D' (smooth in lowp 3-component vector of float)
-0:60 'ic2D' (flat in mediump 2-component vector of int)
-0:60 'c1D' (smooth in lowp float)
-0:61 move second child to first child (temp lowp 4-component vector of float)
-0:61 'v' (temp lowp 4-component vector of float)
-0:61 textureFetch (global lowp 4-component vector of float)
-0:61 's3D' (uniform lowp sampler3D)
-0:61 'ic3D' (flat in mediump 3-component vector of int)
-0:61 'ic1D' (flat in mediump int)
-0:62 move second child to first child (temp lowp 4-component vector of float)
-0:62 'v' (temp lowp 4-component vector of float)
-0:62 textureFetchOffset (global lowp 4-component vector of float)
-0:62 direct index (temp lowp sampler2D)
-0:62 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
-0:62 Constant:
-0:62 2 (const int)
-0:62 'ic2D' (flat in mediump 2-component vector of int)
-0:62 Constant:
-0:62 4 (const int)
-0:62 'ic2D' (flat in mediump 2-component vector of int)
-0:63 move second child to first child (temp lowp float)
-0:63 'f' (temp lowp float)
-0:63 textureLodOffset (global lowp float)
-0:63 's2DShadow' (uniform lowp sampler2DShadow)
-0:63 'c3D' (smooth in lowp 3-component vector of float)
-0:63 'c1D' (smooth in lowp float)
-0:63 'ic2D' (flat in mediump 2-component vector of int)
-0:64 move second child to first child (temp lowp 4-component vector of float)
-0:64 'v' (temp lowp 4-component vector of float)
-0:64 textureProjLodOffset (global lowp 4-component vector of float)
-0:64 's2D' (uniform lowp sampler2D)
-0:64 'c3D' (smooth in lowp 3-component vector of float)
-0:64 'c1D' (smooth in lowp float)
-0:64 'ic2D' (flat in mediump 2-component vector of int)
-0:65 move second child to first child (temp lowp 4-component vector of float)
-0:65 'v' (temp lowp 4-component vector of float)
-0:65 textureGrad (global lowp 4-component vector of float)
-0:65 'sCube' (uniform lowp samplerCube)
-0:65 'c3D' (smooth in lowp 3-component vector of float)
-0:65 'c3D' (smooth in lowp 3-component vector of float)
-0:65 'c3D' (smooth in lowp 3-component vector of float)
-0:66 move second child to first child (temp lowp float)
-0:66 'f' (temp lowp float)
-0:66 textureGradOffset (global lowp float)
-0:66 's2DArrayShadow' (uniform lowp sampler2DArrayShadow)
-0:66 'c4D' (smooth temp lowp 4-component vector of float)
-0:66 'c2D' (smooth in lowp 2-component vector of float)
-0:66 'c2D' (smooth in lowp 2-component vector of float)
-0:66 'ic2D' (flat in mediump 2-component vector of int)
-0:67 move second child to first child (temp lowp 4-component vector of float)
-0:67 'v' (temp lowp 4-component vector of float)
-0:67 textureProjGrad (global lowp 4-component vector of float)
-0:67 's3D' (uniform lowp sampler3D)
-0:67 'c4D' (smooth temp lowp 4-component vector of float)
-0:67 'c3D' (smooth in lowp 3-component vector of float)
-0:67 'c3D' (smooth in lowp 3-component vector of float)
-0:68 move second child to first child (temp lowp 4-component vector of float)
-0:68 'v' (temp lowp 4-component vector of float)
-0:68 textureProjGradOffset (global lowp 4-component vector of float)
-0:68 's2D' (uniform lowp sampler2D)
-0:68 'c3D' (smooth in lowp 3-component vector of float)
-0:68 'c2D' (smooth in lowp 2-component vector of float)
-0:68 'c2D' (smooth in lowp 2-component vector of float)
-0:68 'ic2D' (flat in mediump 2-component vector of int)
-0:69 move second child to first child (temp lowp 4-component vector of float)
-0:69 'v' (temp lowp 4-component vector of float)
-0:69 texture (global lowp 4-component vector of float)
-0:69 indirect index (temp lowp sampler2D)
-0:69 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
-0:69 'ic1D' (flat in mediump int)
-0:69 'c2D' (smooth in lowp 2-component vector of float)
-0:72 move second child to first child (temp mediump 4-component vector of int)
-0:72 'iv' (temp mediump 4-component vector of int)
-0:72 texture (global mediump 4-component vector of int)
-0:72 'is2D' (uniform lowp isampler2D)
-0:72 'c2D' (smooth in lowp 2-component vector of float)
-0:73 move second child to first child (temp mediump 4-component vector of int)
-0:73 'iv' (temp mediump 4-component vector of int)
-0:73 textureProjOffset (global mediump 4-component vector of int)
-0:73 'is2D' (uniform lowp isampler2D)
-0:73 'c4D' (smooth temp lowp 4-component vector of float)
-0:73 'ic2D' (flat in mediump 2-component vector of int)
-0:74 move second child to first child (temp mediump 4-component vector of int)
-0:74 'iv' (temp mediump 4-component vector of int)
-0:74 textureProjLod (global mediump 4-component vector of int)
-0:74 'is2D' (uniform lowp isampler2D)
-0:74 'c3D' (smooth in lowp 3-component vector of float)
-0:74 'c1D' (smooth in lowp float)
-0:75 move second child to first child (temp mediump 4-component vector of int)
-0:75 'iv' (temp mediump 4-component vector of int)
-0:75 textureProjGrad (global mediump 4-component vector of int)
-0:75 'is2D' (uniform lowp isampler2D)
-0:75 'c3D' (smooth in lowp 3-component vector of float)
-0:75 'c2D' (smooth in lowp 2-component vector of float)
-0:75 'c2D' (smooth in lowp 2-component vector of float)
-0:76 move second child to first child (temp mediump 4-component vector of int)
-0:76 'iv' (temp mediump 4-component vector of int)
-0:76 texture (global mediump 4-component vector of int)
-0:76 'is3D' (uniform lowp isampler3D)
-0:76 'c3D' (smooth in lowp 3-component vector of float)
-0:76 Constant:
-0:76 4.200000
-0:77 move second child to first child (temp mediump 4-component vector of int)
-0:77 'iv' (temp mediump 4-component vector of int)
-0:77 textureLod (global mediump 4-component vector of int)
-0:77 'isCube' (uniform lowp isamplerCube)
-0:77 'c3D' (smooth in lowp 3-component vector of float)
-0:77 'c1D' (smooth in lowp float)
-0:78 move second child to first child (temp mediump 4-component vector of int)
-0:78 'iv' (temp mediump 4-component vector of int)
-0:78 textureFetch (global mediump 4-component vector of int)
-0:78 'is2DArray' (uniform lowp isampler2DArray)
-0:78 'ic3D' (flat in mediump 3-component vector of int)
-0:78 'ic1D' (flat in mediump int)
-0:80 move second child to first child (temp highp 2-component vector of int)
-0:80 vector swizzle (temp mediump 2-component vector of int)
-0:80 'iv' (temp mediump 4-component vector of int)
-0:80 Sequence
-0:80 Constant:
-0:80 0 (const int)
-0:80 Constant:
-0:80 1 (const int)
-0:80 textureSize (global highp 2-component vector of int)
-0:80 'sCubeShadow' (uniform lowp samplerCubeShadow)
-0:80 Constant:
-0:80 2 (const int)
-0:88 add second child into first child (temp highp float)
-0:88 'f' (temp lowp float)
-0:88 direct index (temp highp float)
-0:88 'gl_FragCoord' (gl_FragCoord highp 4-component vector of float FragCoord)
-0:88 Constant:
-0:88 1 (const int)
-0:89 move second child to first child (temp highp float)
-0:89 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
-0:89 'f' (temp lowp float)
-0:91 move second child to first child (temp lowp 3-component vector of float)
-0:91 'sc' (out lowp 3-component vector of float)
-0:91 c: direct index for structure (global lowp 3-component vector of float)
-0:91 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
-0:91 Constant:
-0:91 0 (const int)
-0:92 move second child to first child (temp lowp float)
-0:92 'sf' (out lowp float)
-0:92 f: direct index for structure (global lowp float)
-0:92 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
-0:92 Constant:
-0:92 1 (const int)
-0:94 add (temp lowp 2-component vector of float)
-0:94 hyp. sine (global lowp float)
-0:94 'c1D' (smooth in lowp float)
-0:95 vector-scale (temp lowp 2-component vector of float)
-0:95 hyp. cosine (global lowp float)
-0:95 'c1D' (smooth in lowp float)
-0:95 hyp. tangent (global lowp 2-component vector of float)
-0:95 'c2D' (smooth in lowp 2-component vector of float)
-0:96 add (temp lowp 4-component vector of float)
-0:96 arc hyp. sine (global lowp 4-component vector of float)
-0:96 'c4D' (smooth temp lowp 4-component vector of float)
-0:96 arc hyp. cosine (global lowp 4-component vector of float)
-0:96 'c4D' (smooth temp lowp 4-component vector of float)
-0:97 arc hyp. tangent (global lowp 3-component vector of float)
-0:97 'c3D' (smooth in lowp 3-component vector of float)
-0:108 Function Definition: foo( (global void)
-0:108 Function Parameters:
-0:110 Sequence
-0:110 move second child to first child (temp lowp 4-component vector of float)
-0:110 direct index (temp lowp 4-component vector of float)
-0:110 'colors' (out 4-element array of lowp 4-component vector of float)
-0:110 Constant:
-0:110 2 (const int)
-0:110 'c4D' (smooth temp lowp 4-component vector of float)
-0:111 move second child to first child (temp lowp 4-component vector of float)
-0:111 indirect index (temp lowp 4-component vector of float)
-0:111 'colors' (out 4-element array of lowp 4-component vector of float)
-0:111 'ic1D' (flat in mediump int)
-0:111 'c4D' (smooth temp lowp 4-component vector of float)
-0:117 Function Definition: foo13(struct-s-i1-s211; (global void)
-0:117 Function Parameters:
-0:117 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
-0:119 Sequence
-0:119 Test condition and select (temp void)
-0:119 Condition
-0:119 Compare Equal (temp bool)
-0:119 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:119 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:119 true case is null
-0:120 Test condition and select (temp void)
-0:120 Condition
-0:120 Compare Not Equal (temp bool)
-0:120 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:120 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:120 true case is null
-0:121 Constant:
-0:121 false (const bool)
-0:122 move second child to first child (temp structure{global mediump int i, global lowp sampler2D s})
-0:122 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
-0:122 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:123 Compare Equal (temp bool)
-0:123 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
-0:123 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:126 Function Definition: foo23( (global void)
-0:126 Function Parameters:
-0:128 Sequence
-0:128 textureOffset (global lowp float)
-0:128 's2DShadow' (uniform lowp sampler2DShadow)
-0:128 'c3D' (smooth in lowp 3-component vector of float)
-0:128 Constant:
-0:128 -8 (const int)
-0:128 7 (const int)
-0:128 'c1D' (smooth in lowp float)
-0:129 textureOffset (global lowp float)
-0:129 's2DShadow' (uniform lowp sampler2DShadow)
-0:129 'c3D' (smooth in lowp 3-component vector of float)
-0:129 Constant:
-0:129 -9 (const int)
-0:129 8 (const int)
-0:129 'c1D' (smooth in lowp float)
-0:132 Function Definition: foo324( (global void)
-0:132 Function Parameters:
-0:134 Sequence
-0:134 Sequence
-0:134 move second child to first child (temp lowp float)
-0:134 'p' (temp lowp float)
-0:134 Constant:
-0:134 210.712306
-0:135 add second child into first child (temp lowp float)
-0:135 'p' (temp lowp float)
-0:135 Constant:
-0:135 0.389418
-0:136 add second child into first child (temp lowp float)
-0:136 'p' (temp lowp float)
-0:136 Constant:
-0:136 5.000000
-0:137 add second child into first child (temp lowp float)
-0:137 'p' (temp lowp float)
-0:137 Constant:
-0:137 13.000000
-0:138 Sequence
-0:138 move second child to first child (temp lowp 3-component vector of float)
-0:138 'c3' (temp lowp 3-component vector of float)
-0:138 Constant:
-0:138 -15.000000
-0:138 -2.000000
-0:138 39.000000
-0:139 add second child into first child (temp lowp 3-component vector of float)
-0:139 'c3' (temp lowp 3-component vector of float)
-0:139 Constant:
-0:139 -1.000000
-0:139 -2.000000
-0:139 -3.000000
-0:140 add second child into first child (temp lowp 3-component vector of float)
-0:140 'c3' (temp lowp 3-component vector of float)
-0:140 Constant:
-0:140 1.000000
-0:140 2.000000
-0:140 3.000000
-0:141 Sequence
-0:141 move second child to first child (temp lowp 2-component vector of float)
-0:141 'c2' (temp lowp 2-component vector of float)
-0:141 Constant:
-0:141 1.000000
-0:141 -3.000000
-0:142 add second child into first child (temp lowp 2-component vector of float)
-0:142 'c2' (temp lowp 2-component vector of float)
-0:142 Constant:
-0:142 1.000000
-0:142 -3.000000
-0:143 add second child into first child (temp lowp 2-component vector of float)
-0:143 'c2' (temp lowp 2-component vector of float)
-0:143 Constant:
-0:143 3.000000
-0:143 -8.544004
-0:144 add second child into first child (temp lowp 2-component vector of float)
-0:144 'c2' (temp lowp 2-component vector of float)
-0:144 Constant:
-0:144 0.000000
-0:144 0.000000
-0:145 Sequence
-0:145 move second child to first child (temp lowp 3X2 matrix of float)
-0:145 'm32' (temp lowp 3X2 matrix of float)
-0:145 Constant:
-0:145 10.000000
-0:145 15.000000
-0:145 14.000000
-0:145 21.000000
-0:145 22.000000
-0:145 33.000000
-0:? Linker Objects
-0:? 's2D' (uniform lowp sampler2D)
-0:? 's3D' (uniform lowp sampler3D)
-0:? 'sCube' (uniform lowp samplerCube)
-0:? 'sCubeShadow' (uniform lowp samplerCubeShadow)
-0:? 's2DShadow' (uniform lowp sampler2DShadow)
-0:? 's2DArray' (uniform lowp sampler2DArray)
-0:? 's2DArrayShadow' (uniform lowp sampler2DArrayShadow)
-0:? 'is2D' (uniform lowp isampler2D)
-0:? 'is3D' (uniform lowp isampler3D)
-0:? 'isCube' (uniform lowp isamplerCube)
-0:? 'is2DArray' (uniform lowp isampler2DArray)
-0:? 'us2D' (uniform lowp usampler2D)
-0:? 'us3D' (uniform lowp usampler3D)
-0:? 'usCube' (uniform lowp usamplerCube)
-0:? 'us2DArray' (uniform lowp usampler2DArray)
-0:? 'c1D' (smooth in lowp float)
-0:? 'c2D' (smooth in lowp 2-component vector of float)
-0:? 'c3D' (smooth in lowp 3-component vector of float)
-0:? 'c4D' (smooth temp lowp 4-component vector of float)
-0:? 'ic1D' (flat in mediump int)
-0:? 'ic2D' (flat in mediump 2-component vector of int)
-0:? 'ic3D' (flat in mediump 3-component vector of int)
-0:? 'ic4D' (flat in mediump 4-component vector of int)
-0:? 'badv' (noperspective in lowp 4-component vector of float)
-0:? 'bads' (smooth in lowp sampler2D)
-0:? 'badout' (smooth in structure{global mediump int i, global lowp sampler2D s})
-0:? 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
-0:? 'sc' (out lowp 3-component vector of float)
-0:? 'sf' (out lowp float)
-0:? 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
-0:? 'multiInst' (layout(column_major shared ) uniform 2-element array of 3-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 3-element array of mediump int b, layout(column_major shared ) uniform 2-element array of 3-element array of mediump int c})
-0:? 'colors' (out 4-element array of lowp 4-component vector of float)
-0:? 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:? 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:? 'fooinv' (invariant smooth in lowp 4-component vector of float)
-
-
-Linked fragment stage:
-
-ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers
-
-Shader version: 300
-using early_fragment_tests
-ERROR: node is still EOpNull!
-0:53 Function Definition: main( (global void)
-0:53 Function Parameters:
-0:? Sequence
-0:57 move second child to first child (temp lowp 4-component vector of float)
-0:57 'v' (temp lowp 4-component vector of float)
-0:57 texture (global lowp 4-component vector of float)
-0:57 's2D' (uniform lowp sampler2D)
-0:57 'c2D' (smooth in lowp 2-component vector of float)
-0:58 move second child to first child (temp lowp 4-component vector of float)
-0:58 'v' (temp lowp 4-component vector of float)
-0:58 textureProj (global lowp 4-component vector of float)
-0:58 's3D' (uniform lowp sampler3D)
-0:58 'c4D' (smooth temp lowp 4-component vector of float)
-0:59 move second child to first child (temp lowp 4-component vector of float)
-0:59 'v' (temp lowp 4-component vector of float)
-0:59 textureLod (global lowp 4-component vector of float)
-0:59 's2DArray' (uniform lowp sampler2DArray)
-0:59 'c3D' (smooth in lowp 3-component vector of float)
-0:59 Constant:
-0:59 1.200000
-0:60 move second child to first child (temp lowp float)
-0:60 'f' (temp lowp float)
-0:60 textureOffset (global lowp float)
-0:60 's2DShadow' (uniform lowp sampler2DShadow)
-0:60 'c3D' (smooth in lowp 3-component vector of float)
-0:60 'ic2D' (flat in mediump 2-component vector of int)
-0:60 'c1D' (smooth in lowp float)
-0:61 move second child to first child (temp lowp 4-component vector of float)
-0:61 'v' (temp lowp 4-component vector of float)
-0:61 textureFetch (global lowp 4-component vector of float)
-0:61 's3D' (uniform lowp sampler3D)
-0:61 'ic3D' (flat in mediump 3-component vector of int)
-0:61 'ic1D' (flat in mediump int)
-0:62 move second child to first child (temp lowp 4-component vector of float)
-0:62 'v' (temp lowp 4-component vector of float)
-0:62 textureFetchOffset (global lowp 4-component vector of float)
-0:62 direct index (temp lowp sampler2D)
-0:62 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
-0:62 Constant:
-0:62 2 (const int)
-0:62 'ic2D' (flat in mediump 2-component vector of int)
-0:62 Constant:
-0:62 4 (const int)
-0:62 'ic2D' (flat in mediump 2-component vector of int)
-0:63 move second child to first child (temp lowp float)
-0:63 'f' (temp lowp float)
-0:63 textureLodOffset (global lowp float)
-0:63 's2DShadow' (uniform lowp sampler2DShadow)
-0:63 'c3D' (smooth in lowp 3-component vector of float)
-0:63 'c1D' (smooth in lowp float)
-0:63 'ic2D' (flat in mediump 2-component vector of int)
-0:64 move second child to first child (temp lowp 4-component vector of float)
-0:64 'v' (temp lowp 4-component vector of float)
-0:64 textureProjLodOffset (global lowp 4-component vector of float)
-0:64 's2D' (uniform lowp sampler2D)
-0:64 'c3D' (smooth in lowp 3-component vector of float)
-0:64 'c1D' (smooth in lowp float)
-0:64 'ic2D' (flat in mediump 2-component vector of int)
-0:65 move second child to first child (temp lowp 4-component vector of float)
-0:65 'v' (temp lowp 4-component vector of float)
-0:65 textureGrad (global lowp 4-component vector of float)
-0:65 'sCube' (uniform lowp samplerCube)
-0:65 'c3D' (smooth in lowp 3-component vector of float)
-0:65 'c3D' (smooth in lowp 3-component vector of float)
-0:65 'c3D' (smooth in lowp 3-component vector of float)
-0:66 move second child to first child (temp lowp float)
-0:66 'f' (temp lowp float)
-0:66 textureGradOffset (global lowp float)
-0:66 's2DArrayShadow' (uniform lowp sampler2DArrayShadow)
-0:66 'c4D' (smooth temp lowp 4-component vector of float)
-0:66 'c2D' (smooth in lowp 2-component vector of float)
-0:66 'c2D' (smooth in lowp 2-component vector of float)
-0:66 'ic2D' (flat in mediump 2-component vector of int)
-0:67 move second child to first child (temp lowp 4-component vector of float)
-0:67 'v' (temp lowp 4-component vector of float)
-0:67 textureProjGrad (global lowp 4-component vector of float)
-0:67 's3D' (uniform lowp sampler3D)
-0:67 'c4D' (smooth temp lowp 4-component vector of float)
-0:67 'c3D' (smooth in lowp 3-component vector of float)
-0:67 'c3D' (smooth in lowp 3-component vector of float)
-0:68 move second child to first child (temp lowp 4-component vector of float)
-0:68 'v' (temp lowp 4-component vector of float)
-0:68 textureProjGradOffset (global lowp 4-component vector of float)
-0:68 's2D' (uniform lowp sampler2D)
-0:68 'c3D' (smooth in lowp 3-component vector of float)
-0:68 'c2D' (smooth in lowp 2-component vector of float)
-0:68 'c2D' (smooth in lowp 2-component vector of float)
-0:68 'ic2D' (flat in mediump 2-component vector of int)
-0:69 move second child to first child (temp lowp 4-component vector of float)
-0:69 'v' (temp lowp 4-component vector of float)
-0:69 texture (global lowp 4-component vector of float)
-0:69 indirect index (temp lowp sampler2D)
-0:69 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
-0:69 'ic1D' (flat in mediump int)
-0:69 'c2D' (smooth in lowp 2-component vector of float)
-0:72 move second child to first child (temp mediump 4-component vector of int)
-0:72 'iv' (temp mediump 4-component vector of int)
-0:72 texture (global mediump 4-component vector of int)
-0:72 'is2D' (uniform lowp isampler2D)
-0:72 'c2D' (smooth in lowp 2-component vector of float)
-0:73 move second child to first child (temp mediump 4-component vector of int)
-0:73 'iv' (temp mediump 4-component vector of int)
-0:73 textureProjOffset (global mediump 4-component vector of int)
-0:73 'is2D' (uniform lowp isampler2D)
-0:73 'c4D' (smooth temp lowp 4-component vector of float)
-0:73 'ic2D' (flat in mediump 2-component vector of int)
-0:74 move second child to first child (temp mediump 4-component vector of int)
-0:74 'iv' (temp mediump 4-component vector of int)
-0:74 textureProjLod (global mediump 4-component vector of int)
-0:74 'is2D' (uniform lowp isampler2D)
-0:74 'c3D' (smooth in lowp 3-component vector of float)
-0:74 'c1D' (smooth in lowp float)
-0:75 move second child to first child (temp mediump 4-component vector of int)
-0:75 'iv' (temp mediump 4-component vector of int)
-0:75 textureProjGrad (global mediump 4-component vector of int)
-0:75 'is2D' (uniform lowp isampler2D)
-0:75 'c3D' (smooth in lowp 3-component vector of float)
-0:75 'c2D' (smooth in lowp 2-component vector of float)
-0:75 'c2D' (smooth in lowp 2-component vector of float)
-0:76 move second child to first child (temp mediump 4-component vector of int)
-0:76 'iv' (temp mediump 4-component vector of int)
-0:76 texture (global mediump 4-component vector of int)
-0:76 'is3D' (uniform lowp isampler3D)
-0:76 'c3D' (smooth in lowp 3-component vector of float)
-0:76 Constant:
-0:76 4.200000
-0:77 move second child to first child (temp mediump 4-component vector of int)
-0:77 'iv' (temp mediump 4-component vector of int)
-0:77 textureLod (global mediump 4-component vector of int)
-0:77 'isCube' (uniform lowp isamplerCube)
-0:77 'c3D' (smooth in lowp 3-component vector of float)
-0:77 'c1D' (smooth in lowp float)
-0:78 move second child to first child (temp mediump 4-component vector of int)
-0:78 'iv' (temp mediump 4-component vector of int)
-0:78 textureFetch (global mediump 4-component vector of int)
-0:78 'is2DArray' (uniform lowp isampler2DArray)
-0:78 'ic3D' (flat in mediump 3-component vector of int)
-0:78 'ic1D' (flat in mediump int)
-0:80 move second child to first child (temp highp 2-component vector of int)
-0:80 vector swizzle (temp mediump 2-component vector of int)
-0:80 'iv' (temp mediump 4-component vector of int)
-0:80 Sequence
-0:80 Constant:
-0:80 0 (const int)
-0:80 Constant:
-0:80 1 (const int)
-0:80 textureSize (global highp 2-component vector of int)
-0:80 'sCubeShadow' (uniform lowp samplerCubeShadow)
-0:80 Constant:
-0:80 2 (const int)
-0:88 add second child into first child (temp highp float)
-0:88 'f' (temp lowp float)
-0:88 direct index (temp highp float)
-0:88 'gl_FragCoord' (gl_FragCoord highp 4-component vector of float FragCoord)
-0:88 Constant:
-0:88 1 (const int)
-0:89 move second child to first child (temp highp float)
-0:89 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
-0:89 'f' (temp lowp float)
-0:91 move second child to first child (temp lowp 3-component vector of float)
-0:91 'sc' (out lowp 3-component vector of float)
-0:91 c: direct index for structure (global lowp 3-component vector of float)
-0:91 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
-0:91 Constant:
-0:91 0 (const int)
-0:92 move second child to first child (temp lowp float)
-0:92 'sf' (out lowp float)
-0:92 f: direct index for structure (global lowp float)
-0:92 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
-0:92 Constant:
-0:92 1 (const int)
-0:94 add (temp lowp 2-component vector of float)
-0:94 hyp. sine (global lowp float)
-0:94 'c1D' (smooth in lowp float)
-0:95 vector-scale (temp lowp 2-component vector of float)
-0:95 hyp. cosine (global lowp float)
-0:95 'c1D' (smooth in lowp float)
-0:95 hyp. tangent (global lowp 2-component vector of float)
-0:95 'c2D' (smooth in lowp 2-component vector of float)
-0:96 add (temp lowp 4-component vector of float)
-0:96 arc hyp. sine (global lowp 4-component vector of float)
-0:96 'c4D' (smooth temp lowp 4-component vector of float)
-0:96 arc hyp. cosine (global lowp 4-component vector of float)
-0:96 'c4D' (smooth temp lowp 4-component vector of float)
-0:97 arc hyp. tangent (global lowp 3-component vector of float)
-0:97 'c3D' (smooth in lowp 3-component vector of float)
-0:108 Function Definition: foo( (global void)
-0:108 Function Parameters:
-0:110 Sequence
-0:110 move second child to first child (temp lowp 4-component vector of float)
-0:110 direct index (temp lowp 4-component vector of float)
-0:110 'colors' (out 4-element array of lowp 4-component vector of float)
-0:110 Constant:
-0:110 2 (const int)
-0:110 'c4D' (smooth temp lowp 4-component vector of float)
-0:111 move second child to first child (temp lowp 4-component vector of float)
-0:111 indirect index (temp lowp 4-component vector of float)
-0:111 'colors' (out 4-element array of lowp 4-component vector of float)
-0:111 'ic1D' (flat in mediump int)
-0:111 'c4D' (smooth temp lowp 4-component vector of float)
-0:117 Function Definition: foo13(struct-s-i1-s211; (global void)
-0:117 Function Parameters:
-0:117 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
-0:119 Sequence
-0:119 Test condition and select (temp void)
-0:119 Condition
-0:119 Compare Equal (temp bool)
-0:119 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:119 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:119 true case is null
-0:120 Test condition and select (temp void)
-0:120 Condition
-0:120 Compare Not Equal (temp bool)
-0:120 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:120 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:120 true case is null
-0:121 Constant:
-0:121 false (const bool)
-0:122 move second child to first child (temp structure{global mediump int i, global lowp sampler2D s})
-0:122 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
-0:122 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:123 Compare Equal (temp bool)
-0:123 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
-0:123 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:126 Function Definition: foo23( (global void)
-0:126 Function Parameters:
-0:128 Sequence
-0:128 textureOffset (global lowp float)
-0:128 's2DShadow' (uniform lowp sampler2DShadow)
-0:128 'c3D' (smooth in lowp 3-component vector of float)
-0:128 Constant:
-0:128 -8 (const int)
-0:128 7 (const int)
-0:128 'c1D' (smooth in lowp float)
-0:129 textureOffset (global lowp float)
-0:129 's2DShadow' (uniform lowp sampler2DShadow)
-0:129 'c3D' (smooth in lowp 3-component vector of float)
-0:129 Constant:
-0:129 -9 (const int)
-0:129 8 (const int)
-0:129 'c1D' (smooth in lowp float)
-0:132 Function Definition: foo324( (global void)
-0:132 Function Parameters:
-0:134 Sequence
-0:134 Sequence
-0:134 move second child to first child (temp lowp float)
-0:134 'p' (temp lowp float)
-0:134 Constant:
-0:134 210.712306
-0:135 add second child into first child (temp lowp float)
-0:135 'p' (temp lowp float)
-0:135 Constant:
-0:135 0.389418
-0:136 add second child into first child (temp lowp float)
-0:136 'p' (temp lowp float)
-0:136 Constant:
-0:136 5.000000
-0:137 add second child into first child (temp lowp float)
-0:137 'p' (temp lowp float)
-0:137 Constant:
-0:137 13.000000
-0:138 Sequence
-0:138 move second child to first child (temp lowp 3-component vector of float)
-0:138 'c3' (temp lowp 3-component vector of float)
-0:138 Constant:
-0:138 -15.000000
-0:138 -2.000000
-0:138 39.000000
-0:139 add second child into first child (temp lowp 3-component vector of float)
-0:139 'c3' (temp lowp 3-component vector of float)
-0:139 Constant:
-0:139 -1.000000
-0:139 -2.000000
-0:139 -3.000000
-0:140 add second child into first child (temp lowp 3-component vector of float)
-0:140 'c3' (temp lowp 3-component vector of float)
-0:140 Constant:
-0:140 1.000000
-0:140 2.000000
-0:140 3.000000
-0:141 Sequence
-0:141 move second child to first child (temp lowp 2-component vector of float)
-0:141 'c2' (temp lowp 2-component vector of float)
-0:141 Constant:
-0:141 1.000000
-0:141 -3.000000
-0:142 add second child into first child (temp lowp 2-component vector of float)
-0:142 'c2' (temp lowp 2-component vector of float)
-0:142 Constant:
-0:142 1.000000
-0:142 -3.000000
-0:143 add second child into first child (temp lowp 2-component vector of float)
-0:143 'c2' (temp lowp 2-component vector of float)
-0:143 Constant:
-0:143 3.000000
-0:143 -8.544004
-0:144 add second child into first child (temp lowp 2-component vector of float)
-0:144 'c2' (temp lowp 2-component vector of float)
-0:144 Constant:
-0:144 0.000000
-0:144 0.000000
-0:145 Sequence
-0:145 move second child to first child (temp lowp 3X2 matrix of float)
-0:145 'm32' (temp lowp 3X2 matrix of float)
-0:145 Constant:
-0:145 10.000000
-0:145 15.000000
-0:145 14.000000
-0:145 21.000000
-0:145 22.000000
-0:145 33.000000
-0:? Linker Objects
-0:? 's2D' (uniform lowp sampler2D)
-0:? 's3D' (uniform lowp sampler3D)
-0:? 'sCube' (uniform lowp samplerCube)
-0:? 'sCubeShadow' (uniform lowp samplerCubeShadow)
-0:? 's2DShadow' (uniform lowp sampler2DShadow)
-0:? 's2DArray' (uniform lowp sampler2DArray)
-0:? 's2DArrayShadow' (uniform lowp sampler2DArrayShadow)
-0:? 'is2D' (uniform lowp isampler2D)
-0:? 'is3D' (uniform lowp isampler3D)
-0:? 'isCube' (uniform lowp isamplerCube)
-0:? 'is2DArray' (uniform lowp isampler2DArray)
-0:? 'us2D' (uniform lowp usampler2D)
-0:? 'us3D' (uniform lowp usampler3D)
-0:? 'usCube' (uniform lowp usamplerCube)
-0:? 'us2DArray' (uniform lowp usampler2DArray)
-0:? 'c1D' (smooth in lowp float)
-0:? 'c2D' (smooth in lowp 2-component vector of float)
-0:? 'c3D' (smooth in lowp 3-component vector of float)
-0:? 'c4D' (smooth temp lowp 4-component vector of float)
-0:? 'ic1D' (flat in mediump int)
-0:? 'ic2D' (flat in mediump 2-component vector of int)
-0:? 'ic3D' (flat in mediump 3-component vector of int)
-0:? 'ic4D' (flat in mediump 4-component vector of int)
-0:? 'badv' (noperspective in lowp 4-component vector of float)
-0:? 'bads' (smooth in lowp sampler2D)
-0:? 'badout' (smooth in structure{global mediump int i, global lowp sampler2D s})
-0:? 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
-0:? 'sc' (out lowp 3-component vector of float)
-0:? 'sf' (out lowp float)
-0:? 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
-0:? 'multiInst' (layout(column_major shared ) uniform 2-element array of 3-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 3-element array of mediump int b, layout(column_major shared ) uniform 2-element array of 3-element array of mediump int c})
-0:? 'colors' (out 4-element array of lowp 4-component vector of float)
-0:? 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:? 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:? 'fooinv' (invariant smooth in lowp 4-component vector of float)
-
+300.frag
+ERROR: 0:2: 'float' : type requires declaration of default precision qualifier
+ERROR: 0:30: 'noperspective' : Reserved word.
+ERROR: 0:30: 'noperspective' : not supported with this profile: es
+ERROR: 0:31: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: bads
+ERROR: 0:32: 'uint' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
+ERROR: 0:39: 'structure' : non-uniform struct contains a sampler or image: badout
+ERROR: 0:60: 'texel offset' : argument must be compile-time constant
+ERROR: 0:62: 'texel offset' : argument must be compile-time constant
+ERROR: 0:63: 'texel offset' : argument must be compile-time constant
+ERROR: 0:64: 'texel offset' : argument must be compile-time constant
+ERROR: 0:66: 'texel offset' : argument must be compile-time constant
+ERROR: 0:68: 'texel offset' : argument must be compile-time constant
+ERROR: 0:69: 'variable indexing sampler array' : not supported for this version or the enabled extensions
+ERROR: 0:73: 'texel offset' : argument must be compile-time constant
+ERROR: 0:83: 'double' : Reserved word.
+ERROR: 0:83: 'double' : not supported with this profile: es
+ERROR: 0:84: 'dvec2' : Reserved word.
+ERROR: 0:84: 'double vector' : not supported with this profile: es
+ERROR: 0:85: 'dvec3' : Reserved word.
+ERROR: 0:85: 'double vector' : not supported with this profile: es
+ERROR: 0:86: 'dvec4' : Reserved word.
+ERROR: 0:86: 'double vector' : not supported with this profile: es
+ERROR: 0:101: 'arrays of arrays' : not supported for this version or the enabled extensions
+ERROR: 0:102: 'arrays of arrays' : not supported for this version or the enabled extensions
+ERROR: 0:102: 'arrays of arrays' : not supported for this version or the enabled extensions
+ERROR: 0:103: 'arrays of arrays' : not supported for this version or the enabled extensions
+ERROR: 0:100: 'arrays of arrays' : not supported for this version or the enabled extensions
+ERROR: 0:100: 'array-of-array of block' : not supported with this profile: es
+ERROR: 0:111: 'variable indexing fragment shader ouput array' : not supported with this profile: es
+ERROR: 0:119: '==' : can't use with samplers or structs containing samplers
+ERROR: 0:120: '!=' : can't use with samplers or structs containing samplers
+ERROR: 0:121: '==' : can't use with samplers or structs containing samplers
+ERROR: 0:121: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'global lowp sampler2D' and a right operand of type 'global lowp sampler2D' (or there is no acceptable conversion)
+ERROR: 0:122: '=' : can't use with samplers or structs containing samplers
+ERROR: 0:123: '==' : can't use with samplers or structs containing samplers
+ERROR: 0:129: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:129: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:148: 'qualifier' : cannot use auxiliary, memory, interpolation, or precision qualifier in a default qualifier declaration (declaration with no type)
+ERROR: 0:150: 'early_fragment_tests' : not supported for this version or the enabled extensions
+ERROR: 0:156: 'invariant' : can only apply to an output
+ERROR: 0:157: 'invariant' : can only apply to an output
+ERROR: 0:158: 'invariant' : can only apply to an output
+ERROR: 0:160: 'imageBuffer' : Reserved word.
+ERROR: 0:160: '' : syntax error
+ERROR: 44 compilation errors. No code generated.
+
+
+Shader version: 300
+using early_fragment_tests
+ERROR: node is still EOpNull!
+0:53 Function Definition: main( (global void)
+0:53 Function Parameters:
+0:? Sequence
+0:57 move second child to first child (temp lowp 4-component vector of float)
+0:57 'v' (temp lowp 4-component vector of float)
+0:57 texture (global lowp 4-component vector of float)
+0:57 's2D' (uniform lowp sampler2D)
+0:57 'c2D' (smooth in lowp 2-component vector of float)
+0:58 move second child to first child (temp lowp 4-component vector of float)
+0:58 'v' (temp lowp 4-component vector of float)
+0:58 textureProj (global lowp 4-component vector of float)
+0:58 's3D' (uniform lowp sampler3D)
+0:58 'c4D' (smooth temp lowp 4-component vector of float)
+0:59 move second child to first child (temp lowp 4-component vector of float)
+0:59 'v' (temp lowp 4-component vector of float)
+0:59 textureLod (global lowp 4-component vector of float)
+0:59 's2DArray' (uniform lowp sampler2DArray)
+0:59 'c3D' (smooth in lowp 3-component vector of float)
+0:59 Constant:
+0:59 1.200000
+0:60 move second child to first child (temp lowp float)
+0:60 'f' (temp lowp float)
+0:60 textureOffset (global lowp float)
+0:60 's2DShadow' (uniform lowp sampler2DShadow)
+0:60 'c3D' (smooth in lowp 3-component vector of float)
+0:60 'ic2D' (flat in mediump 2-component vector of int)
+0:60 'c1D' (smooth in lowp float)
+0:61 move second child to first child (temp lowp 4-component vector of float)
+0:61 'v' (temp lowp 4-component vector of float)
+0:61 textureFetch (global lowp 4-component vector of float)
+0:61 's3D' (uniform lowp sampler3D)
+0:61 'ic3D' (flat in mediump 3-component vector of int)
+0:61 'ic1D' (flat in mediump int)
+0:62 move second child to first child (temp lowp 4-component vector of float)
+0:62 'v' (temp lowp 4-component vector of float)
+0:62 textureFetchOffset (global lowp 4-component vector of float)
+0:62 direct index (temp lowp sampler2D)
+0:62 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
+0:62 Constant:
+0:62 2 (const int)
+0:62 'ic2D' (flat in mediump 2-component vector of int)
+0:62 Constant:
+0:62 4 (const int)
+0:62 'ic2D' (flat in mediump 2-component vector of int)
+0:63 move second child to first child (temp lowp float)
+0:63 'f' (temp lowp float)
+0:63 textureLodOffset (global lowp float)
+0:63 's2DShadow' (uniform lowp sampler2DShadow)
+0:63 'c3D' (smooth in lowp 3-component vector of float)
+0:63 'c1D' (smooth in lowp float)
+0:63 'ic2D' (flat in mediump 2-component vector of int)
+0:64 move second child to first child (temp lowp 4-component vector of float)
+0:64 'v' (temp lowp 4-component vector of float)
+0:64 textureProjLodOffset (global lowp 4-component vector of float)
+0:64 's2D' (uniform lowp sampler2D)
+0:64 'c3D' (smooth in lowp 3-component vector of float)
+0:64 'c1D' (smooth in lowp float)
+0:64 'ic2D' (flat in mediump 2-component vector of int)
+0:65 move second child to first child (temp lowp 4-component vector of float)
+0:65 'v' (temp lowp 4-component vector of float)
+0:65 textureGrad (global lowp 4-component vector of float)
+0:65 'sCube' (uniform lowp samplerCube)
+0:65 'c3D' (smooth in lowp 3-component vector of float)
+0:65 'c3D' (smooth in lowp 3-component vector of float)
+0:65 'c3D' (smooth in lowp 3-component vector of float)
+0:66 move second child to first child (temp lowp float)
+0:66 'f' (temp lowp float)
+0:66 textureGradOffset (global lowp float)
+0:66 's2DArrayShadow' (uniform lowp sampler2DArrayShadow)
+0:66 'c4D' (smooth temp lowp 4-component vector of float)
+0:66 'c2D' (smooth in lowp 2-component vector of float)
+0:66 'c2D' (smooth in lowp 2-component vector of float)
+0:66 'ic2D' (flat in mediump 2-component vector of int)
+0:67 move second child to first child (temp lowp 4-component vector of float)
+0:67 'v' (temp lowp 4-component vector of float)
+0:67 textureProjGrad (global lowp 4-component vector of float)
+0:67 's3D' (uniform lowp sampler3D)
+0:67 'c4D' (smooth temp lowp 4-component vector of float)
+0:67 'c3D' (smooth in lowp 3-component vector of float)
+0:67 'c3D' (smooth in lowp 3-component vector of float)
+0:68 move second child to first child (temp lowp 4-component vector of float)
+0:68 'v' (temp lowp 4-component vector of float)
+0:68 textureProjGradOffset (global lowp 4-component vector of float)
+0:68 's2D' (uniform lowp sampler2D)
+0:68 'c3D' (smooth in lowp 3-component vector of float)
+0:68 'c2D' (smooth in lowp 2-component vector of float)
+0:68 'c2D' (smooth in lowp 2-component vector of float)
+0:68 'ic2D' (flat in mediump 2-component vector of int)
+0:69 move second child to first child (temp lowp 4-component vector of float)
+0:69 'v' (temp lowp 4-component vector of float)
+0:69 texture (global lowp 4-component vector of float)
+0:69 indirect index (temp lowp sampler2D)
+0:69 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
+0:69 'ic1D' (flat in mediump int)
+0:69 'c2D' (smooth in lowp 2-component vector of float)
+0:72 move second child to first child (temp mediump 4-component vector of int)
+0:72 'iv' (temp mediump 4-component vector of int)
+0:72 texture (global mediump 4-component vector of int)
+0:72 'is2D' (uniform lowp isampler2D)
+0:72 'c2D' (smooth in lowp 2-component vector of float)
+0:73 move second child to first child (temp mediump 4-component vector of int)
+0:73 'iv' (temp mediump 4-component vector of int)
+0:73 textureProjOffset (global mediump 4-component vector of int)
+0:73 'is2D' (uniform lowp isampler2D)
+0:73 'c4D' (smooth temp lowp 4-component vector of float)
+0:73 'ic2D' (flat in mediump 2-component vector of int)
+0:74 move second child to first child (temp mediump 4-component vector of int)
+0:74 'iv' (temp mediump 4-component vector of int)
+0:74 textureProjLod (global mediump 4-component vector of int)
+0:74 'is2D' (uniform lowp isampler2D)
+0:74 'c3D' (smooth in lowp 3-component vector of float)
+0:74 'c1D' (smooth in lowp float)
+0:75 move second child to first child (temp mediump 4-component vector of int)
+0:75 'iv' (temp mediump 4-component vector of int)
+0:75 textureProjGrad (global mediump 4-component vector of int)
+0:75 'is2D' (uniform lowp isampler2D)
+0:75 'c3D' (smooth in lowp 3-component vector of float)
+0:75 'c2D' (smooth in lowp 2-component vector of float)
+0:75 'c2D' (smooth in lowp 2-component vector of float)
+0:76 move second child to first child (temp mediump 4-component vector of int)
+0:76 'iv' (temp mediump 4-component vector of int)
+0:76 texture (global mediump 4-component vector of int)
+0:76 'is3D' (uniform lowp isampler3D)
+0:76 'c3D' (smooth in lowp 3-component vector of float)
+0:76 Constant:
+0:76 4.200000
+0:77 move second child to first child (temp mediump 4-component vector of int)
+0:77 'iv' (temp mediump 4-component vector of int)
+0:77 textureLod (global mediump 4-component vector of int)
+0:77 'isCube' (uniform lowp isamplerCube)
+0:77 'c3D' (smooth in lowp 3-component vector of float)
+0:77 'c1D' (smooth in lowp float)
+0:78 move second child to first child (temp mediump 4-component vector of int)
+0:78 'iv' (temp mediump 4-component vector of int)
+0:78 textureFetch (global mediump 4-component vector of int)
+0:78 'is2DArray' (uniform lowp isampler2DArray)
+0:78 'ic3D' (flat in mediump 3-component vector of int)
+0:78 'ic1D' (flat in mediump int)
+0:80 move second child to first child (temp highp 2-component vector of int)
+0:80 vector swizzle (temp mediump 2-component vector of int)
+0:80 'iv' (temp mediump 4-component vector of int)
+0:80 Sequence
+0:80 Constant:
+0:80 0 (const int)
+0:80 Constant:
+0:80 1 (const int)
+0:80 textureSize (global highp 2-component vector of int)
+0:80 'sCubeShadow' (uniform lowp samplerCubeShadow)
+0:80 Constant:
+0:80 2 (const int)
+0:88 add second child into first child (temp highp float)
+0:88 'f' (temp lowp float)
+0:88 direct index (temp highp float)
+0:88 'gl_FragCoord' (gl_FragCoord highp 4-component vector of float FragCoord)
+0:88 Constant:
+0:88 1 (const int)
+0:89 move second child to first child (temp highp float)
+0:89 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
+0:89 'f' (temp lowp float)
+0:91 move second child to first child (temp lowp 3-component vector of float)
+0:91 'sc' (out lowp 3-component vector of float)
+0:91 c: direct index for structure (global lowp 3-component vector of float)
+0:91 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
+0:91 Constant:
+0:91 0 (const int)
+0:92 move second child to first child (temp lowp float)
+0:92 'sf' (out lowp float)
+0:92 f: direct index for structure (global lowp float)
+0:92 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
+0:92 Constant:
+0:92 1 (const int)
+0:94 add (temp lowp 2-component vector of float)
+0:94 hyp. sine (global lowp float)
+0:94 'c1D' (smooth in lowp float)
+0:95 vector-scale (temp lowp 2-component vector of float)
+0:95 hyp. cosine (global lowp float)
+0:95 'c1D' (smooth in lowp float)
+0:95 hyp. tangent (global lowp 2-component vector of float)
+0:95 'c2D' (smooth in lowp 2-component vector of float)
+0:96 add (temp lowp 4-component vector of float)
+0:96 arc hyp. sine (global lowp 4-component vector of float)
+0:96 'c4D' (smooth temp lowp 4-component vector of float)
+0:96 arc hyp. cosine (global lowp 4-component vector of float)
+0:96 'c4D' (smooth temp lowp 4-component vector of float)
+0:97 arc hyp. tangent (global lowp 3-component vector of float)
+0:97 'c3D' (smooth in lowp 3-component vector of float)
+0:108 Function Definition: foo( (global void)
+0:108 Function Parameters:
+0:110 Sequence
+0:110 move second child to first child (temp lowp 4-component vector of float)
+0:110 direct index (temp lowp 4-component vector of float)
+0:110 'colors' (out 4-element array of lowp 4-component vector of float)
+0:110 Constant:
+0:110 2 (const int)
+0:110 'c4D' (smooth temp lowp 4-component vector of float)
+0:111 move second child to first child (temp lowp 4-component vector of float)
+0:111 indirect index (temp lowp 4-component vector of float)
+0:111 'colors' (out 4-element array of lowp 4-component vector of float)
+0:111 'ic1D' (flat in mediump int)
+0:111 'c4D' (smooth temp lowp 4-component vector of float)
+0:117 Function Definition: foo13(struct-s-i1-s211; (global void)
+0:117 Function Parameters:
+0:117 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
+0:119 Sequence
+0:119 Test condition and select (temp void)
+0:119 Condition
+0:119 Compare Equal (temp bool)
+0:119 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:119 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:119 true case is null
+0:120 Test condition and select (temp void)
+0:120 Condition
+0:120 Compare Not Equal (temp bool)
+0:120 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:120 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:120 true case is null
+0:121 Constant:
+0:121 false (const bool)
+0:122 move second child to first child (temp structure{global mediump int i, global lowp sampler2D s})
+0:122 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
+0:122 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:123 Compare Equal (temp bool)
+0:123 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
+0:123 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:126 Function Definition: foo23( (global void)
+0:126 Function Parameters:
+0:128 Sequence
+0:128 textureOffset (global lowp float)
+0:128 's2DShadow' (uniform lowp sampler2DShadow)
+0:128 'c3D' (smooth in lowp 3-component vector of float)
+0:128 Constant:
+0:128 -8 (const int)
+0:128 7 (const int)
+0:128 'c1D' (smooth in lowp float)
+0:129 textureOffset (global lowp float)
+0:129 's2DShadow' (uniform lowp sampler2DShadow)
+0:129 'c3D' (smooth in lowp 3-component vector of float)
+0:129 Constant:
+0:129 -9 (const int)
+0:129 8 (const int)
+0:129 'c1D' (smooth in lowp float)
+0:132 Function Definition: foo324( (global void)
+0:132 Function Parameters:
+0:134 Sequence
+0:134 Sequence
+0:134 move second child to first child (temp lowp float)
+0:134 'p' (temp lowp float)
+0:134 Constant:
+0:134 210.712306
+0:135 add second child into first child (temp lowp float)
+0:135 'p' (temp lowp float)
+0:135 Constant:
+0:135 0.389418
+0:136 add second child into first child (temp lowp float)
+0:136 'p' (temp lowp float)
+0:136 Constant:
+0:136 5.000000
+0:137 add second child into first child (temp lowp float)
+0:137 'p' (temp lowp float)
+0:137 Constant:
+0:137 13.000000
+0:138 Sequence
+0:138 move second child to first child (temp lowp 3-component vector of float)
+0:138 'c3' (temp lowp 3-component vector of float)
+0:138 Constant:
+0:138 -15.000000
+0:138 -2.000000
+0:138 39.000000
+0:139 add second child into first child (temp lowp 3-component vector of float)
+0:139 'c3' (temp lowp 3-component vector of float)
+0:139 Constant:
+0:139 -1.000000
+0:139 -2.000000
+0:139 -3.000000
+0:140 add second child into first child (temp lowp 3-component vector of float)
+0:140 'c3' (temp lowp 3-component vector of float)
+0:140 Constant:
+0:140 1.000000
+0:140 2.000000
+0:140 3.000000
+0:141 Sequence
+0:141 move second child to first child (temp lowp 2-component vector of float)
+0:141 'c2' (temp lowp 2-component vector of float)
+0:141 Constant:
+0:141 1.000000
+0:141 -3.000000
+0:142 add second child into first child (temp lowp 2-component vector of float)
+0:142 'c2' (temp lowp 2-component vector of float)
+0:142 Constant:
+0:142 1.000000
+0:142 -3.000000
+0:143 add second child into first child (temp lowp 2-component vector of float)
+0:143 'c2' (temp lowp 2-component vector of float)
+0:143 Constant:
+0:143 3.000000
+0:143 -8.544004
+0:144 add second child into first child (temp lowp 2-component vector of float)
+0:144 'c2' (temp lowp 2-component vector of float)
+0:144 Constant:
+0:144 0.000000
+0:144 0.000000
+0:145 Sequence
+0:145 move second child to first child (temp lowp 3X2 matrix of float)
+0:145 'm32' (temp lowp 3X2 matrix of float)
+0:145 Constant:
+0:145 10.000000
+0:145 15.000000
+0:145 14.000000
+0:145 21.000000
+0:145 22.000000
+0:145 33.000000
+0:? Linker Objects
+0:? 's2D' (uniform lowp sampler2D)
+0:? 's3D' (uniform lowp sampler3D)
+0:? 'sCube' (uniform lowp samplerCube)
+0:? 'sCubeShadow' (uniform lowp samplerCubeShadow)
+0:? 's2DShadow' (uniform lowp sampler2DShadow)
+0:? 's2DArray' (uniform lowp sampler2DArray)
+0:? 's2DArrayShadow' (uniform lowp sampler2DArrayShadow)
+0:? 'is2D' (uniform lowp isampler2D)
+0:? 'is3D' (uniform lowp isampler3D)
+0:? 'isCube' (uniform lowp isamplerCube)
+0:? 'is2DArray' (uniform lowp isampler2DArray)
+0:? 'us2D' (uniform lowp usampler2D)
+0:? 'us3D' (uniform lowp usampler3D)
+0:? 'usCube' (uniform lowp usamplerCube)
+0:? 'us2DArray' (uniform lowp usampler2DArray)
+0:? 'c1D' (smooth in lowp float)
+0:? 'c2D' (smooth in lowp 2-component vector of float)
+0:? 'c3D' (smooth in lowp 3-component vector of float)
+0:? 'c4D' (smooth temp lowp 4-component vector of float)
+0:? 'ic1D' (flat in mediump int)
+0:? 'ic2D' (flat in mediump 2-component vector of int)
+0:? 'ic3D' (flat in mediump 3-component vector of int)
+0:? 'ic4D' (flat in mediump 4-component vector of int)
+0:? 'badv' (noperspective in lowp 4-component vector of float)
+0:? 'bads' (smooth in lowp sampler2D)
+0:? 'badout' (smooth in structure{global mediump int i, global lowp sampler2D s})
+0:? 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
+0:? 'sc' (out lowp 3-component vector of float)
+0:? 'sf' (out lowp float)
+0:? 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
+0:? 'multiInst' (layout(column_major shared ) uniform 2-element array of 3-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 3-element array of mediump int b, layout(column_major shared ) uniform 2-element array of 3-element array of mediump int c})
+0:? 'colors' (out 4-element array of lowp 4-component vector of float)
+0:? 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:? 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:? 'fooinv' (invariant smooth in lowp 4-component vector of float)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers
+
+Shader version: 300
+using early_fragment_tests
+ERROR: node is still EOpNull!
+0:53 Function Definition: main( (global void)
+0:53 Function Parameters:
+0:? Sequence
+0:57 move second child to first child (temp lowp 4-component vector of float)
+0:57 'v' (temp lowp 4-component vector of float)
+0:57 texture (global lowp 4-component vector of float)
+0:57 's2D' (uniform lowp sampler2D)
+0:57 'c2D' (smooth in lowp 2-component vector of float)
+0:58 move second child to first child (temp lowp 4-component vector of float)
+0:58 'v' (temp lowp 4-component vector of float)
+0:58 textureProj (global lowp 4-component vector of float)
+0:58 's3D' (uniform lowp sampler3D)
+0:58 'c4D' (smooth temp lowp 4-component vector of float)
+0:59 move second child to first child (temp lowp 4-component vector of float)
+0:59 'v' (temp lowp 4-component vector of float)
+0:59 textureLod (global lowp 4-component vector of float)
+0:59 's2DArray' (uniform lowp sampler2DArray)
+0:59 'c3D' (smooth in lowp 3-component vector of float)
+0:59 Constant:
+0:59 1.200000
+0:60 move second child to first child (temp lowp float)
+0:60 'f' (temp lowp float)
+0:60 textureOffset (global lowp float)
+0:60 's2DShadow' (uniform lowp sampler2DShadow)
+0:60 'c3D' (smooth in lowp 3-component vector of float)
+0:60 'ic2D' (flat in mediump 2-component vector of int)
+0:60 'c1D' (smooth in lowp float)
+0:61 move second child to first child (temp lowp 4-component vector of float)
+0:61 'v' (temp lowp 4-component vector of float)
+0:61 textureFetch (global lowp 4-component vector of float)
+0:61 's3D' (uniform lowp sampler3D)
+0:61 'ic3D' (flat in mediump 3-component vector of int)
+0:61 'ic1D' (flat in mediump int)
+0:62 move second child to first child (temp lowp 4-component vector of float)
+0:62 'v' (temp lowp 4-component vector of float)
+0:62 textureFetchOffset (global lowp 4-component vector of float)
+0:62 direct index (temp lowp sampler2D)
+0:62 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
+0:62 Constant:
+0:62 2 (const int)
+0:62 'ic2D' (flat in mediump 2-component vector of int)
+0:62 Constant:
+0:62 4 (const int)
+0:62 'ic2D' (flat in mediump 2-component vector of int)
+0:63 move second child to first child (temp lowp float)
+0:63 'f' (temp lowp float)
+0:63 textureLodOffset (global lowp float)
+0:63 's2DShadow' (uniform lowp sampler2DShadow)
+0:63 'c3D' (smooth in lowp 3-component vector of float)
+0:63 'c1D' (smooth in lowp float)
+0:63 'ic2D' (flat in mediump 2-component vector of int)
+0:64 move second child to first child (temp lowp 4-component vector of float)
+0:64 'v' (temp lowp 4-component vector of float)
+0:64 textureProjLodOffset (global lowp 4-component vector of float)
+0:64 's2D' (uniform lowp sampler2D)
+0:64 'c3D' (smooth in lowp 3-component vector of float)
+0:64 'c1D' (smooth in lowp float)
+0:64 'ic2D' (flat in mediump 2-component vector of int)
+0:65 move second child to first child (temp lowp 4-component vector of float)
+0:65 'v' (temp lowp 4-component vector of float)
+0:65 textureGrad (global lowp 4-component vector of float)
+0:65 'sCube' (uniform lowp samplerCube)
+0:65 'c3D' (smooth in lowp 3-component vector of float)
+0:65 'c3D' (smooth in lowp 3-component vector of float)
+0:65 'c3D' (smooth in lowp 3-component vector of float)
+0:66 move second child to first child (temp lowp float)
+0:66 'f' (temp lowp float)
+0:66 textureGradOffset (global lowp float)
+0:66 's2DArrayShadow' (uniform lowp sampler2DArrayShadow)
+0:66 'c4D' (smooth temp lowp 4-component vector of float)
+0:66 'c2D' (smooth in lowp 2-component vector of float)
+0:66 'c2D' (smooth in lowp 2-component vector of float)
+0:66 'ic2D' (flat in mediump 2-component vector of int)
+0:67 move second child to first child (temp lowp 4-component vector of float)
+0:67 'v' (temp lowp 4-component vector of float)
+0:67 textureProjGrad (global lowp 4-component vector of float)
+0:67 's3D' (uniform lowp sampler3D)
+0:67 'c4D' (smooth temp lowp 4-component vector of float)
+0:67 'c3D' (smooth in lowp 3-component vector of float)
+0:67 'c3D' (smooth in lowp 3-component vector of float)
+0:68 move second child to first child (temp lowp 4-component vector of float)
+0:68 'v' (temp lowp 4-component vector of float)
+0:68 textureProjGradOffset (global lowp 4-component vector of float)
+0:68 's2D' (uniform lowp sampler2D)
+0:68 'c3D' (smooth in lowp 3-component vector of float)
+0:68 'c2D' (smooth in lowp 2-component vector of float)
+0:68 'c2D' (smooth in lowp 2-component vector of float)
+0:68 'ic2D' (flat in mediump 2-component vector of int)
+0:69 move second child to first child (temp lowp 4-component vector of float)
+0:69 'v' (temp lowp 4-component vector of float)
+0:69 texture (global lowp 4-component vector of float)
+0:69 indirect index (temp lowp sampler2D)
+0:69 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
+0:69 'ic1D' (flat in mediump int)
+0:69 'c2D' (smooth in lowp 2-component vector of float)
+0:72 move second child to first child (temp mediump 4-component vector of int)
+0:72 'iv' (temp mediump 4-component vector of int)
+0:72 texture (global mediump 4-component vector of int)
+0:72 'is2D' (uniform lowp isampler2D)
+0:72 'c2D' (smooth in lowp 2-component vector of float)
+0:73 move second child to first child (temp mediump 4-component vector of int)
+0:73 'iv' (temp mediump 4-component vector of int)
+0:73 textureProjOffset (global mediump 4-component vector of int)
+0:73 'is2D' (uniform lowp isampler2D)
+0:73 'c4D' (smooth temp lowp 4-component vector of float)
+0:73 'ic2D' (flat in mediump 2-component vector of int)
+0:74 move second child to first child (temp mediump 4-component vector of int)
+0:74 'iv' (temp mediump 4-component vector of int)
+0:74 textureProjLod (global mediump 4-component vector of int)
+0:74 'is2D' (uniform lowp isampler2D)
+0:74 'c3D' (smooth in lowp 3-component vector of float)
+0:74 'c1D' (smooth in lowp float)
+0:75 move second child to first child (temp mediump 4-component vector of int)
+0:75 'iv' (temp mediump 4-component vector of int)
+0:75 textureProjGrad (global mediump 4-component vector of int)
+0:75 'is2D' (uniform lowp isampler2D)
+0:75 'c3D' (smooth in lowp 3-component vector of float)
+0:75 'c2D' (smooth in lowp 2-component vector of float)
+0:75 'c2D' (smooth in lowp 2-component vector of float)
+0:76 move second child to first child (temp mediump 4-component vector of int)
+0:76 'iv' (temp mediump 4-component vector of int)
+0:76 texture (global mediump 4-component vector of int)
+0:76 'is3D' (uniform lowp isampler3D)
+0:76 'c3D' (smooth in lowp 3-component vector of float)
+0:76 Constant:
+0:76 4.200000
+0:77 move second child to first child (temp mediump 4-component vector of int)
+0:77 'iv' (temp mediump 4-component vector of int)
+0:77 textureLod (global mediump 4-component vector of int)
+0:77 'isCube' (uniform lowp isamplerCube)
+0:77 'c3D' (smooth in lowp 3-component vector of float)
+0:77 'c1D' (smooth in lowp float)
+0:78 move second child to first child (temp mediump 4-component vector of int)
+0:78 'iv' (temp mediump 4-component vector of int)
+0:78 textureFetch (global mediump 4-component vector of int)
+0:78 'is2DArray' (uniform lowp isampler2DArray)
+0:78 'ic3D' (flat in mediump 3-component vector of int)
+0:78 'ic1D' (flat in mediump int)
+0:80 move second child to first child (temp highp 2-component vector of int)
+0:80 vector swizzle (temp mediump 2-component vector of int)
+0:80 'iv' (temp mediump 4-component vector of int)
+0:80 Sequence
+0:80 Constant:
+0:80 0 (const int)
+0:80 Constant:
+0:80 1 (const int)
+0:80 textureSize (global highp 2-component vector of int)
+0:80 'sCubeShadow' (uniform lowp samplerCubeShadow)
+0:80 Constant:
+0:80 2 (const int)
+0:88 add second child into first child (temp highp float)
+0:88 'f' (temp lowp float)
+0:88 direct index (temp highp float)
+0:88 'gl_FragCoord' (gl_FragCoord highp 4-component vector of float FragCoord)
+0:88 Constant:
+0:88 1 (const int)
+0:89 move second child to first child (temp highp float)
+0:89 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
+0:89 'f' (temp lowp float)
+0:91 move second child to first child (temp lowp 3-component vector of float)
+0:91 'sc' (out lowp 3-component vector of float)
+0:91 c: direct index for structure (global lowp 3-component vector of float)
+0:91 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
+0:91 Constant:
+0:91 0 (const int)
+0:92 move second child to first child (temp lowp float)
+0:92 'sf' (out lowp float)
+0:92 f: direct index for structure (global lowp float)
+0:92 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
+0:92 Constant:
+0:92 1 (const int)
+0:94 add (temp lowp 2-component vector of float)
+0:94 hyp. sine (global lowp float)
+0:94 'c1D' (smooth in lowp float)
+0:95 vector-scale (temp lowp 2-component vector of float)
+0:95 hyp. cosine (global lowp float)
+0:95 'c1D' (smooth in lowp float)
+0:95 hyp. tangent (global lowp 2-component vector of float)
+0:95 'c2D' (smooth in lowp 2-component vector of float)
+0:96 add (temp lowp 4-component vector of float)
+0:96 arc hyp. sine (global lowp 4-component vector of float)
+0:96 'c4D' (smooth temp lowp 4-component vector of float)
+0:96 arc hyp. cosine (global lowp 4-component vector of float)
+0:96 'c4D' (smooth temp lowp 4-component vector of float)
+0:97 arc hyp. tangent (global lowp 3-component vector of float)
+0:97 'c3D' (smooth in lowp 3-component vector of float)
+0:108 Function Definition: foo( (global void)
+0:108 Function Parameters:
+0:110 Sequence
+0:110 move second child to first child (temp lowp 4-component vector of float)
+0:110 direct index (temp lowp 4-component vector of float)
+0:110 'colors' (out 4-element array of lowp 4-component vector of float)
+0:110 Constant:
+0:110 2 (const int)
+0:110 'c4D' (smooth temp lowp 4-component vector of float)
+0:111 move second child to first child (temp lowp 4-component vector of float)
+0:111 indirect index (temp lowp 4-component vector of float)
+0:111 'colors' (out 4-element array of lowp 4-component vector of float)
+0:111 'ic1D' (flat in mediump int)
+0:111 'c4D' (smooth temp lowp 4-component vector of float)
+0:117 Function Definition: foo13(struct-s-i1-s211; (global void)
+0:117 Function Parameters:
+0:117 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
+0:119 Sequence
+0:119 Test condition and select (temp void)
+0:119 Condition
+0:119 Compare Equal (temp bool)
+0:119 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:119 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:119 true case is null
+0:120 Test condition and select (temp void)
+0:120 Condition
+0:120 Compare Not Equal (temp bool)
+0:120 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:120 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:120 true case is null
+0:121 Constant:
+0:121 false (const bool)
+0:122 move second child to first child (temp structure{global mediump int i, global lowp sampler2D s})
+0:122 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
+0:122 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:123 Compare Equal (temp bool)
+0:123 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
+0:123 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:126 Function Definition: foo23( (global void)
+0:126 Function Parameters:
+0:128 Sequence
+0:128 textureOffset (global lowp float)
+0:128 's2DShadow' (uniform lowp sampler2DShadow)
+0:128 'c3D' (smooth in lowp 3-component vector of float)
+0:128 Constant:
+0:128 -8 (const int)
+0:128 7 (const int)
+0:128 'c1D' (smooth in lowp float)
+0:129 textureOffset (global lowp float)
+0:129 's2DShadow' (uniform lowp sampler2DShadow)
+0:129 'c3D' (smooth in lowp 3-component vector of float)
+0:129 Constant:
+0:129 -9 (const int)
+0:129 8 (const int)
+0:129 'c1D' (smooth in lowp float)
+0:132 Function Definition: foo324( (global void)
+0:132 Function Parameters:
+0:134 Sequence
+0:134 Sequence
+0:134 move second child to first child (temp lowp float)
+0:134 'p' (temp lowp float)
+0:134 Constant:
+0:134 210.712306
+0:135 add second child into first child (temp lowp float)
+0:135 'p' (temp lowp float)
+0:135 Constant:
+0:135 0.389418
+0:136 add second child into first child (temp lowp float)
+0:136 'p' (temp lowp float)
+0:136 Constant:
+0:136 5.000000
+0:137 add second child into first child (temp lowp float)
+0:137 'p' (temp lowp float)
+0:137 Constant:
+0:137 13.000000
+0:138 Sequence
+0:138 move second child to first child (temp lowp 3-component vector of float)
+0:138 'c3' (temp lowp 3-component vector of float)
+0:138 Constant:
+0:138 -15.000000
+0:138 -2.000000
+0:138 39.000000
+0:139 add second child into first child (temp lowp 3-component vector of float)
+0:139 'c3' (temp lowp 3-component vector of float)
+0:139 Constant:
+0:139 -1.000000
+0:139 -2.000000
+0:139 -3.000000
+0:140 add second child into first child (temp lowp 3-component vector of float)
+0:140 'c3' (temp lowp 3-component vector of float)
+0:140 Constant:
+0:140 1.000000
+0:140 2.000000
+0:140 3.000000
+0:141 Sequence
+0:141 move second child to first child (temp lowp 2-component vector of float)
+0:141 'c2' (temp lowp 2-component vector of float)
+0:141 Constant:
+0:141 1.000000
+0:141 -3.000000
+0:142 add second child into first child (temp lowp 2-component vector of float)
+0:142 'c2' (temp lowp 2-component vector of float)
+0:142 Constant:
+0:142 1.000000
+0:142 -3.000000
+0:143 add second child into first child (temp lowp 2-component vector of float)
+0:143 'c2' (temp lowp 2-component vector of float)
+0:143 Constant:
+0:143 3.000000
+0:143 -8.544004
+0:144 add second child into first child (temp lowp 2-component vector of float)
+0:144 'c2' (temp lowp 2-component vector of float)
+0:144 Constant:
+0:144 0.000000
+0:144 0.000000
+0:145 Sequence
+0:145 move second child to first child (temp lowp 3X2 matrix of float)
+0:145 'm32' (temp lowp 3X2 matrix of float)
+0:145 Constant:
+0:145 10.000000
+0:145 15.000000
+0:145 14.000000
+0:145 21.000000
+0:145 22.000000
+0:145 33.000000
+0:? Linker Objects
+0:? 's2D' (uniform lowp sampler2D)
+0:? 's3D' (uniform lowp sampler3D)
+0:? 'sCube' (uniform lowp samplerCube)
+0:? 'sCubeShadow' (uniform lowp samplerCubeShadow)
+0:? 's2DShadow' (uniform lowp sampler2DShadow)
+0:? 's2DArray' (uniform lowp sampler2DArray)
+0:? 's2DArrayShadow' (uniform lowp sampler2DArrayShadow)
+0:? 'is2D' (uniform lowp isampler2D)
+0:? 'is3D' (uniform lowp isampler3D)
+0:? 'isCube' (uniform lowp isamplerCube)
+0:? 'is2DArray' (uniform lowp isampler2DArray)
+0:? 'us2D' (uniform lowp usampler2D)
+0:? 'us3D' (uniform lowp usampler3D)
+0:? 'usCube' (uniform lowp usamplerCube)
+0:? 'us2DArray' (uniform lowp usampler2DArray)
+0:? 'c1D' (smooth in lowp float)
+0:? 'c2D' (smooth in lowp 2-component vector of float)
+0:? 'c3D' (smooth in lowp 3-component vector of float)
+0:? 'c4D' (smooth temp lowp 4-component vector of float)
+0:? 'ic1D' (flat in mediump int)
+0:? 'ic2D' (flat in mediump 2-component vector of int)
+0:? 'ic3D' (flat in mediump 3-component vector of int)
+0:? 'ic4D' (flat in mediump 4-component vector of int)
+0:? 'badv' (noperspective in lowp 4-component vector of float)
+0:? 'bads' (smooth in lowp sampler2D)
+0:? 'badout' (smooth in structure{global mediump int i, global lowp sampler2D s})
+0:? 's2' (smooth in structure{global lowp 3-component vector of float c, global lowp float f})
+0:? 'sc' (out lowp 3-component vector of float)
+0:? 'sf' (out lowp float)
+0:? 'arrayedSampler' (uniform 5-element array of lowp sampler2D)
+0:? 'multiInst' (layout(column_major shared ) uniform 2-element array of 3-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 3-element array of mediump int b, layout(column_major shared ) uniform 2-element array of 3-element array of mediump int c})
+0:? 'colors' (out 4-element array of lowp 4-component vector of float)
+0:? 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:? 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
+0:? 'fooinv' (invariant smooth in lowp 4-component vector of float)
+
diff --git a/Test/baseResults/300.vert.out b/Test/baseResults/300.vert.out
index ef06a63..122b256 100644
--- a/Test/baseResults/300.vert.out
+++ b/Test/baseResults/300.vert.out
@@ -1,612 +1,612 @@
-300.vert
-ERROR: 0:8: 'varying' : Reserved word.
-ERROR: 0:8: 'varying' : no longer supported in es profile; removed in version 300
-ERROR: 0:9: 'vertex input arrays' : not supported with this profile: es
-ERROR: 0:10: '' : precision qualifier must appear as last qualifier
-ERROR: 0:11: '' : invariant qualifier must appear first
-ERROR: 0:12: '' : Auxiliary qualifiers (centroid, patch, and sample) must appear before storage and precision qualifiers
-ERROR: 0:12: '' : vertex input cannot be further qualified
-ERROR: 0:13: '' : interpolation qualifiers must appear before storage and precision qualifiers
-ERROR: 0:14: '' : in/out must appear before const
-ERROR: 0:15: '' : precision qualifier must appear as last qualifier
-ERROR: 0:16: '' : can only have one interpolation qualifier (flat, smooth, noperspective)
-ERROR: 0:17: 'sample' : Reserved word.
-ERROR: 0:17: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
-ERROR: 0:18: 'uniform' : too many storage qualifiers
-ERROR: 0:56: '#error' : GL_ES is set
-ERROR: 0:62: '' : array size required
-ERROR: 0:63: '' : array size required
-ERROR: 0:64: '' : array size required
-ERROR: 0:65: '' : array size required
-ERROR: 0:67: '' : array size required
-ERROR: 0:76: 'invariant' : cannot change qualification after use
-ERROR: 0:78: 'invariant' : can only apply to an output
-ERROR: 0:88: 'ub2' : Cannot reuse block name within the same interface: uniform
-ERROR: 0:92: 'ub2' : Cannot reuse block name within the same interface: uniform
-ERROR: 0:96: 'ub2' : Cannot reuse block name within the same interface: uniform
-ERROR: 0:104: 'ub3' : Cannot reuse block name within the same interface: uniform
-ERROR: 0:121: 'textureSize' : no matching overloaded function found
-ERROR: 0:123: 'textureSize' : no matching overloaded function found
-ERROR: 0:125: 'texture' : no matching overloaded function found
-ERROR: 0:127: 'textureProjOffset' : no matching overloaded function found
-ERROR: 0:132: 'highp' : overloaded functions must have the same parameter precision qualifiers for argument 2
-ERROR: 0:135: 'in' : overloaded functions must have the same parameter storage qualifiers for argument 2
-ERROR: 0:146: '' : array size required
-ERROR: 0:147: '' : array size required
-ERROR: 0:148: '' : array size required
-ERROR: 0:149: 'float' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
-ERROR: 0:168: 'Binst' : cannot add storage, auxiliary, memory, interpolation, layout, or precision qualifier to an existing variable
-ERROR: 0:169: 'Bblock' : cannot add storage, auxiliary, memory, interpolation, layout, or precision qualifier to an existing variable
-ERROR: 0:170: 'Bfoo' : cannot add storage, auxiliary, memory, interpolation, layout, or precision qualifier to an existing variable
-ERROR: 0:172: 'std430' : not supported for this version or the enabled extensions
-ERROR: 0:172: 'std430' : requires the 'buffer' storage qualifier
-ERROR: 0:175: '' : array size required
-ERROR: 0:185: 'assign' : cannot convert from 'temp 4-element array of highp float' to 'temp 3-element array of highp float'
-ERROR: 0:186: 'assign' : cannot convert from 'temp 3-element array of highp float' to 'temp 4-element array of highp float'
-ERROR: 44 compilation errors. No code generated.
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:27 Function Definition: main( (global void)
-0:27 Function Parameters:
-0:29 Sequence
-0:29 Sequence
-0:29 move second child to first child (temp highp int)
-0:29 'id' (temp highp int)
-0:29 add (temp highp int)
-0:29 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:29 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-0:31 Sequence
-0:31 move second child to first child (temp highp int)
-0:31 'c0' (temp highp int)
-0:31 Constant:
-0:31 64 (const int)
-0:32 Sequence
-0:32 move second child to first child (temp highp int)
-0:32 'c1' (temp highp int)
-0:32 Constant:
-0:32 128 (const int)
-0:33 Sequence
-0:33 move second child to first child (temp highp int)
-0:33 'c2' (temp highp int)
-0:33 Constant:
-0:33 16 (const int)
-0:34 Sequence
-0:34 move second child to first child (temp highp int)
-0:34 'c3' (temp highp int)
-0:34 Constant:
-0:34 15 (const int)
-0:35 Sequence
-0:35 move second child to first child (temp highp int)
-0:35 'c4' (temp highp int)
-0:35 Constant:
-0:35 32 (const int)
-0:36 Sequence
-0:36 move second child to first child (temp highp int)
-0:36 'c5' (temp highp int)
-0:36 Constant:
-0:36 80 (const int)
-0:37 Sequence
-0:37 move second child to first child (temp highp int)
-0:37 'c6' (temp highp int)
-0:37 Constant:
-0:37 32 (const int)
-0:38 Sequence
-0:38 move second child to first child (temp highp int)
-0:38 'c7' (temp highp int)
-0:38 Constant:
-0:38 16 (const int)
-0:39 Sequence
-0:39 move second child to first child (temp highp int)
-0:39 'c8' (temp highp int)
-0:39 Constant:
-0:39 32 (const int)
-0:40 Sequence
-0:40 move second child to first child (temp highp int)
-0:40 'c9' (temp highp int)
-0:40 Constant:
-0:40 -8 (const int)
-0:41 Sequence
-0:41 move second child to first child (temp highp int)
-0:41 'c10' (temp highp int)
-0:41 Constant:
-0:41 7 (const int)
-0:43 Sequence
-0:43 move second child to first child (temp highp 3X4 matrix of float)
-0:43 'tm' (temp highp 3X4 matrix of float)
-0:43 transpose (global highp 3X4 matrix of float)
-0:43 'm43' (uniform highp 4X3 matrix of float)
-0:44 Sequence
-0:44 move second child to first child (temp highp float)
-0:44 'dm' (temp highp float)
-0:44 determinant (global highp float)
-0:44 'm44' (uniform highp 4X4 matrix of float)
-0:45 Sequence
-0:45 move second child to first child (temp highp 3X3 matrix of float)
-0:45 'im' (temp highp 3X3 matrix of float)
-0:45 inverse (global highp 3X3 matrix of float)
-0:45 'm33' (uniform highp 3X3 matrix of float)
-0:47 Sequence
-0:47 move second child to first child (temp highp 3X2 matrix of float)
-0:47 'op' (temp highp 3X2 matrix of float)
-0:47 outer product (global highp 3X2 matrix of float)
-0:47 'v2' (smooth out highp 2-component vector of float)
-0:47 'v3' (in highp 3-component vector of float)
-0:49 move second child to first child (temp highp 4-component vector of float)
-0:49 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:49 direct index (temp highp 4-component vector of float)
-0:49 'm44' (uniform highp 4X4 matrix of float)
-0:49 Constant:
-0:49 2 (const int)
-0:50 move second child to first child (temp highp float)
-0:50 'gl_PointSize' (gl_PointSize highp float PointSize)
-0:50 direct index (temp highp float)
-0:50 'v2' (smooth out highp 2-component vector of float)
-0:50 Constant:
-0:50 1 (const int)
-0:52 move second child to first child (temp highp 3-component vector of float)
-0:52 c: direct index for structure (global highp 3-component vector of float)
-0:52 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
-0:52 Constant:
-0:52 0 (const int)
-0:52 'v3' (in highp 3-component vector of float)
-0:53 move second child to first child (temp highp float)
-0:53 f: direct index for structure (global highp float)
-0:53 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
-0:53 Constant:
-0:53 1 (const int)
-0:53 'dm' (temp highp float)
-0:68 Sequence
-0:68 move second child to first child (temp 2-element array of highp float)
-0:68 'okayA' (global 2-element array of highp float)
-0:68 Constant:
-0:68 3.000000
-0:68 4.000000
-0:71 Function Definition: newVFun( (global void)
-0:71 Function Parameters:
-0:73 Sequence
-0:73 move second child to first child (temp highp 3-component vector of float)
-0:73 'newV' (smooth out highp 3-component vector of float)
-0:73 'v3' (in highp 3-component vector of float)
-0:118 Function Definition: foo23( (global void)
-0:118 Function Parameters:
-0:120 Sequence
-0:120 Sequence
-0:120 move second child to first child (temp highp 2-component vector of int)
-0:120 'x1' (temp highp 2-component vector of int)
-0:120 textureSize (global highp 2-component vector of int)
-0:120 's2D' (uniform lowp sampler2D)
-0:120 Constant:
-0:120 2 (const int)
-0:121 Constant:
-0:121 0.000000
-0:122 Sequence
-0:122 move second child to first child (temp highp 3-component vector of int)
-0:122 'x3' (temp highp 3-component vector of int)
-0:122 textureSize (global highp 3-component vector of int)
-0:122 's2DAS' (uniform lowp sampler2DArrayShadow)
-0:122 Constant:
-0:122 -1 (const int)
-0:123 Constant:
-0:123 0.000000
-0:124 Sequence
-0:124 move second child to first child (temp highp 4-component vector of float)
-0:124 'x4' (temp highp 4-component vector of float)
-0:124 texture (global highp 4-component vector of float)
-0:124 's2D' (uniform lowp sampler2D)
-0:124 'c2D' (in highp 2-component vector of float)
-0:125 Constant:
-0:125 0.000000
-0:126 Sequence
-0:126 move second child to first child (temp highp 4-component vector of float)
-0:126 'x5' (temp highp 4-component vector of float)
-0:126 textureProjOffset (global highp 4-component vector of float)
-0:126 's3D' (uniform lowp sampler3D)
-0:126 Constant:
-0:126 0.200000
-0:126 0.200000
-0:126 0.200000
-0:126 0.200000
-0:126 Constant:
-0:126 1 (const int)
-0:126 1 (const int)
-0:126 1 (const int)
-0:127 Constant:
-0:127 0.000000
-0:128 Sequence
-0:128 move second child to first child (temp highp float)
-0:128 'x6' (temp highp float)
-0:128 textureProjGradOffset (global highp float)
-0:128 's2DS' (uniform lowp sampler2DShadow)
-0:128 'invIn' (invariant in highp 4-component vector of float)
-0:128 Constant:
-0:128 4.200000
-0:128 4.200000
-0:128 Constant:
-0:128 5.300000
-0:128 5.300000
-0:128 Constant:
-0:128 1 (const int)
-0:128 1 (const int)
-0:137 Function Definition: foo2349( (global void)
-0:137 Function Parameters:
-0:139 Sequence
-0:139 Sequence
-0:139 move second child to first child (temp 3-element array of highp float)
-0:139 'x' (temp 3-element array of highp float)
-0:139 Constant:
-0:139 1.000000
-0:139 2.000000
-0:139 3.000000
-0:140 Sequence
-0:140 move second child to first child (temp 3-element array of highp float)
-0:140 'y' (temp 3-element array of highp float)
-0:140 'x' (temp 3-element array of highp float)
-0:141 Sequence
-0:141 move second child to first child (temp 3-element array of highp float)
-0:141 'z' (temp 3-element array of highp float)
-0:141 'x' (temp 3-element array of highp float)
-0:143 move second child to first child (temp 3-element array of highp float)
-0:143 'w' (temp 3-element array of highp float)
-0:143 'y' (temp 3-element array of highp float)
-0:155 Function Definition: gggf(f1; (global highp int)
-0:155 Function Parameters:
-0:155 'f' (in highp float)
-0:155 Sequence
-0:155 Branch: Return with expression
-0:155 Constant:
-0:155 2 (const int)
-0:158 Function Definition: agggf(f1; (global highp int)
-0:158 Function Parameters:
-0:158 'f' (in highp float)
-0:158 Sequence
-0:158 Branch: Return with expression
-0:158 Constant:
-0:158 2 (const int)
-0:178 Function Definition: fooDeeparray( (global void)
-0:178 Function Parameters:
-0:181 Sequence
-0:181 Sequence
-0:180 move second child to first child (temp 3-element array of highp float)
-0:180 'x' (temp 3-element array of highp float)
-0:180 Constant:
-0:180 1.000000
-0:180 2.000000
-0:180 3.000000
-0:181 move second child to first child (temp 4-element array of highp float)
-0:181 'y' (temp 4-element array of highp float)
-0:181 Constant:
-0:181 1.000000
-0:181 2.000000
-0:181 3.000000
-0:181 4.000000
-0:183 move second child to first child (temp 3-element array of highp float)
-0:183 'xp' (temp 3-element array of highp float)
-0:183 'x' (temp 3-element array of highp float)
-0:184 move second child to first child (temp 4-element array of highp float)
-0:184 'yp' (temp 4-element array of highp float)
-0:184 'y' (temp 4-element array of highp float)
-0:185 'xp' (temp 3-element array of highp float)
-0:186 'yp' (temp 4-element array of highp float)
-0:? Linker Objects
-0:? 'm43' (uniform highp 4X3 matrix of float)
-0:? 'm33' (uniform highp 3X3 matrix of float)
-0:? 'm44' (uniform highp 4X4 matrix of float)
-0:? 'v3' (in highp 3-component vector of float)
-0:? 'v2' (smooth out highp 2-component vector of float)
-0:? 'bad' (in 10-element array of highp 4-component vector of float)
-0:? 'badorder' (in highp 4-component vector of float)
-0:? 'badorder2' (invariant smooth out highp 4-component vector of float)
-0:? 'badorder4' (centroid in highp 4-component vector of float)
-0:? 'badorder3' (flat out highp 4-component vector of float)
-0:? 'rep' (smooth flat out highp 4-component vector of float)
-0:? 'rep2' (centroid smooth sample out highp 4-component vector of float)
-0:? 'rep3' (in highp 4-component vector of float)
-0:? 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
-0:? 'badsize' (global implicitly-sized array of highp float)
-0:? 'badsize2' (global implicitly-sized array of highp float)
-0:? 'ubInst' (layout(column_major shared ) uniform implicitly-sized array of block{layout(column_major shared ) uniform implicitly-sized array of highp int a})
-0:? 'okayA' (global 2-element array of highp float)
-0:? 'newV' (smooth out highp 3-component vector of float)
-0:? 'invIn' (in highp 4-component vector of float)
-0:? 's2' (smooth out structure{global highp 3-component vector of float c, global highp float f})
-0:? 's3' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
-0:? 'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f})
-0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23})
-0:? 's2D' (uniform lowp sampler2D)
-0:? 's3D' (uniform lowp sampler3D)
-0:? 's2DS' (uniform lowp sampler2DShadow)
-0:? 's2DAS' (uniform lowp sampler2DArrayShadow)
-0:? 'c2D' (in highp 2-component vector of float)
-0:? 'ssss' (smooth out structure{global highp float f})
-0:? 'Binst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp int a})
-0:? 'Bfoo' (global highp int)
-0:? 'B430i' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform highp int a})
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:27 Function Definition: main( (global void)
-0:27 Function Parameters:
-0:29 Sequence
-0:29 Sequence
-0:29 move second child to first child (temp highp int)
-0:29 'id' (temp highp int)
-0:29 add (temp highp int)
-0:29 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:29 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-0:31 Sequence
-0:31 move second child to first child (temp highp int)
-0:31 'c0' (temp highp int)
-0:31 Constant:
-0:31 64 (const int)
-0:32 Sequence
-0:32 move second child to first child (temp highp int)
-0:32 'c1' (temp highp int)
-0:32 Constant:
-0:32 128 (const int)
-0:33 Sequence
-0:33 move second child to first child (temp highp int)
-0:33 'c2' (temp highp int)
-0:33 Constant:
-0:33 16 (const int)
-0:34 Sequence
-0:34 move second child to first child (temp highp int)
-0:34 'c3' (temp highp int)
-0:34 Constant:
-0:34 15 (const int)
-0:35 Sequence
-0:35 move second child to first child (temp highp int)
-0:35 'c4' (temp highp int)
-0:35 Constant:
-0:35 32 (const int)
-0:36 Sequence
-0:36 move second child to first child (temp highp int)
-0:36 'c5' (temp highp int)
-0:36 Constant:
-0:36 80 (const int)
-0:37 Sequence
-0:37 move second child to first child (temp highp int)
-0:37 'c6' (temp highp int)
-0:37 Constant:
-0:37 32 (const int)
-0:38 Sequence
-0:38 move second child to first child (temp highp int)
-0:38 'c7' (temp highp int)
-0:38 Constant:
-0:38 16 (const int)
-0:39 Sequence
-0:39 move second child to first child (temp highp int)
-0:39 'c8' (temp highp int)
-0:39 Constant:
-0:39 32 (const int)
-0:40 Sequence
-0:40 move second child to first child (temp highp int)
-0:40 'c9' (temp highp int)
-0:40 Constant:
-0:40 -8 (const int)
-0:41 Sequence
-0:41 move second child to first child (temp highp int)
-0:41 'c10' (temp highp int)
-0:41 Constant:
-0:41 7 (const int)
-0:43 Sequence
-0:43 move second child to first child (temp highp 3X4 matrix of float)
-0:43 'tm' (temp highp 3X4 matrix of float)
-0:43 transpose (global highp 3X4 matrix of float)
-0:43 'm43' (uniform highp 4X3 matrix of float)
-0:44 Sequence
-0:44 move second child to first child (temp highp float)
-0:44 'dm' (temp highp float)
-0:44 determinant (global highp float)
-0:44 'm44' (uniform highp 4X4 matrix of float)
-0:45 Sequence
-0:45 move second child to first child (temp highp 3X3 matrix of float)
-0:45 'im' (temp highp 3X3 matrix of float)
-0:45 inverse (global highp 3X3 matrix of float)
-0:45 'm33' (uniform highp 3X3 matrix of float)
-0:47 Sequence
-0:47 move second child to first child (temp highp 3X2 matrix of float)
-0:47 'op' (temp highp 3X2 matrix of float)
-0:47 outer product (global highp 3X2 matrix of float)
-0:47 'v2' (smooth out highp 2-component vector of float)
-0:47 'v3' (in highp 3-component vector of float)
-0:49 move second child to first child (temp highp 4-component vector of float)
-0:49 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:49 direct index (temp highp 4-component vector of float)
-0:49 'm44' (uniform highp 4X4 matrix of float)
-0:49 Constant:
-0:49 2 (const int)
-0:50 move second child to first child (temp highp float)
-0:50 'gl_PointSize' (gl_PointSize highp float PointSize)
-0:50 direct index (temp highp float)
-0:50 'v2' (smooth out highp 2-component vector of float)
-0:50 Constant:
-0:50 1 (const int)
-0:52 move second child to first child (temp highp 3-component vector of float)
-0:52 c: direct index for structure (global highp 3-component vector of float)
-0:52 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
-0:52 Constant:
-0:52 0 (const int)
-0:52 'v3' (in highp 3-component vector of float)
-0:53 move second child to first child (temp highp float)
-0:53 f: direct index for structure (global highp float)
-0:53 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
-0:53 Constant:
-0:53 1 (const int)
-0:53 'dm' (temp highp float)
-0:68 Sequence
-0:68 move second child to first child (temp 2-element array of highp float)
-0:68 'okayA' (global 2-element array of highp float)
-0:68 Constant:
-0:68 3.000000
-0:68 4.000000
-0:71 Function Definition: newVFun( (global void)
-0:71 Function Parameters:
-0:73 Sequence
-0:73 move second child to first child (temp highp 3-component vector of float)
-0:73 'newV' (smooth out highp 3-component vector of float)
-0:73 'v3' (in highp 3-component vector of float)
-0:118 Function Definition: foo23( (global void)
-0:118 Function Parameters:
-0:120 Sequence
-0:120 Sequence
-0:120 move second child to first child (temp highp 2-component vector of int)
-0:120 'x1' (temp highp 2-component vector of int)
-0:120 textureSize (global highp 2-component vector of int)
-0:120 's2D' (uniform lowp sampler2D)
-0:120 Constant:
-0:120 2 (const int)
-0:121 Constant:
-0:121 0.000000
-0:122 Sequence
-0:122 move second child to first child (temp highp 3-component vector of int)
-0:122 'x3' (temp highp 3-component vector of int)
-0:122 textureSize (global highp 3-component vector of int)
-0:122 's2DAS' (uniform lowp sampler2DArrayShadow)
-0:122 Constant:
-0:122 -1 (const int)
-0:123 Constant:
-0:123 0.000000
-0:124 Sequence
-0:124 move second child to first child (temp highp 4-component vector of float)
-0:124 'x4' (temp highp 4-component vector of float)
-0:124 texture (global highp 4-component vector of float)
-0:124 's2D' (uniform lowp sampler2D)
-0:124 'c2D' (in highp 2-component vector of float)
-0:125 Constant:
-0:125 0.000000
-0:126 Sequence
-0:126 move second child to first child (temp highp 4-component vector of float)
-0:126 'x5' (temp highp 4-component vector of float)
-0:126 textureProjOffset (global highp 4-component vector of float)
-0:126 's3D' (uniform lowp sampler3D)
-0:126 Constant:
-0:126 0.200000
-0:126 0.200000
-0:126 0.200000
-0:126 0.200000
-0:126 Constant:
-0:126 1 (const int)
-0:126 1 (const int)
-0:126 1 (const int)
-0:127 Constant:
-0:127 0.000000
-0:128 Sequence
-0:128 move second child to first child (temp highp float)
-0:128 'x6' (temp highp float)
-0:128 textureProjGradOffset (global highp float)
-0:128 's2DS' (uniform lowp sampler2DShadow)
-0:128 'invIn' (invariant in highp 4-component vector of float)
-0:128 Constant:
-0:128 4.200000
-0:128 4.200000
-0:128 Constant:
-0:128 5.300000
-0:128 5.300000
-0:128 Constant:
-0:128 1 (const int)
-0:128 1 (const int)
-0:137 Function Definition: foo2349( (global void)
-0:137 Function Parameters:
-0:139 Sequence
-0:139 Sequence
-0:139 move second child to first child (temp 3-element array of highp float)
-0:139 'x' (temp 3-element array of highp float)
-0:139 Constant:
-0:139 1.000000
-0:139 2.000000
-0:139 3.000000
-0:140 Sequence
-0:140 move second child to first child (temp 3-element array of highp float)
-0:140 'y' (temp 3-element array of highp float)
-0:140 'x' (temp 3-element array of highp float)
-0:141 Sequence
-0:141 move second child to first child (temp 3-element array of highp float)
-0:141 'z' (temp 3-element array of highp float)
-0:141 'x' (temp 3-element array of highp float)
-0:143 move second child to first child (temp 3-element array of highp float)
-0:143 'w' (temp 3-element array of highp float)
-0:143 'y' (temp 3-element array of highp float)
-0:155 Function Definition: gggf(f1; (global highp int)
-0:155 Function Parameters:
-0:155 'f' (in highp float)
-0:155 Sequence
-0:155 Branch: Return with expression
-0:155 Constant:
-0:155 2 (const int)
-0:158 Function Definition: agggf(f1; (global highp int)
-0:158 Function Parameters:
-0:158 'f' (in highp float)
-0:158 Sequence
-0:158 Branch: Return with expression
-0:158 Constant:
-0:158 2 (const int)
-0:178 Function Definition: fooDeeparray( (global void)
-0:178 Function Parameters:
-0:181 Sequence
-0:181 Sequence
-0:180 move second child to first child (temp 3-element array of highp float)
-0:180 'x' (temp 3-element array of highp float)
-0:180 Constant:
-0:180 1.000000
-0:180 2.000000
-0:180 3.000000
-0:181 move second child to first child (temp 4-element array of highp float)
-0:181 'y' (temp 4-element array of highp float)
-0:181 Constant:
-0:181 1.000000
-0:181 2.000000
-0:181 3.000000
-0:181 4.000000
-0:183 move second child to first child (temp 3-element array of highp float)
-0:183 'xp' (temp 3-element array of highp float)
-0:183 'x' (temp 3-element array of highp float)
-0:184 move second child to first child (temp 4-element array of highp float)
-0:184 'yp' (temp 4-element array of highp float)
-0:184 'y' (temp 4-element array of highp float)
-0:185 'xp' (temp 3-element array of highp float)
-0:186 'yp' (temp 4-element array of highp float)
-0:? Linker Objects
-0:? 'm43' (uniform highp 4X3 matrix of float)
-0:? 'm33' (uniform highp 3X3 matrix of float)
-0:? 'm44' (uniform highp 4X4 matrix of float)
-0:? 'v3' (in highp 3-component vector of float)
-0:? 'v2' (smooth out highp 2-component vector of float)
-0:? 'bad' (in 10-element array of highp 4-component vector of float)
-0:? 'badorder' (in highp 4-component vector of float)
-0:? 'badorder2' (invariant smooth out highp 4-component vector of float)
-0:? 'badorder4' (centroid in highp 4-component vector of float)
-0:? 'badorder3' (flat out highp 4-component vector of float)
-0:? 'rep' (smooth flat out highp 4-component vector of float)
-0:? 'rep2' (centroid smooth sample out highp 4-component vector of float)
-0:? 'rep3' (in highp 4-component vector of float)
-0:? 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
-0:? 'badsize' (global 1-element array of highp float)
-0:? 'badsize2' (global 1-element array of highp float)
-0:? 'ubInst' (layout(column_major shared ) uniform 1-element array of block{layout(column_major shared ) uniform 1-element array of highp int a})
-0:? 'okayA' (global 2-element array of highp float)
-0:? 'newV' (smooth out highp 3-component vector of float)
-0:? 'invIn' (in highp 4-component vector of float)
-0:? 's2' (smooth out structure{global highp 3-component vector of float c, global highp float f})
-0:? 's3' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
-0:? 'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f})
-0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23})
-0:? 's2D' (uniform lowp sampler2D)
-0:? 's3D' (uniform lowp sampler3D)
-0:? 's2DS' (uniform lowp sampler2DShadow)
-0:? 's2DAS' (uniform lowp sampler2DArrayShadow)
-0:? 'c2D' (in highp 2-component vector of float)
-0:? 'ssss' (smooth out structure{global highp float f})
-0:? 'Binst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp int a})
-0:? 'Bfoo' (global highp int)
-0:? 'B430i' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform highp int a})
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
+300.vert
+ERROR: 0:8: 'varying' : Reserved word.
+ERROR: 0:8: 'varying' : no longer supported in es profile; removed in version 300
+ERROR: 0:9: 'vertex input arrays' : not supported with this profile: es
+ERROR: 0:10: '' : precision qualifier must appear as last qualifier
+ERROR: 0:11: '' : invariant qualifier must appear first
+ERROR: 0:12: '' : Auxiliary qualifiers (centroid, patch, and sample) must appear before storage and precision qualifiers
+ERROR: 0:12: '' : vertex input cannot be further qualified
+ERROR: 0:13: '' : interpolation qualifiers must appear before storage and precision qualifiers
+ERROR: 0:14: '' : in/out must appear before const
+ERROR: 0:15: '' : precision qualifier must appear as last qualifier
+ERROR: 0:16: '' : can only have one interpolation qualifier (flat, smooth, noperspective)
+ERROR: 0:17: 'sample' : Reserved word.
+ERROR: 0:17: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
+ERROR: 0:18: 'uniform' : too many storage qualifiers
+ERROR: 0:56: '#error' : GL_ES is set
+ERROR: 0:62: '' : array size required
+ERROR: 0:63: '' : array size required
+ERROR: 0:64: '' : array size required
+ERROR: 0:65: '' : array size required
+ERROR: 0:67: '' : array size required
+ERROR: 0:76: 'invariant' : cannot change qualification after use
+ERROR: 0:78: 'invariant' : can only apply to an output
+ERROR: 0:88: 'ub2' : Cannot reuse block name within the same interface: uniform
+ERROR: 0:92: 'ub2' : Cannot reuse block name within the same interface: uniform
+ERROR: 0:96: 'ub2' : Cannot reuse block name within the same interface: uniform
+ERROR: 0:104: 'ub3' : Cannot reuse block name within the same interface: uniform
+ERROR: 0:121: 'textureSize' : no matching overloaded function found
+ERROR: 0:123: 'textureSize' : no matching overloaded function found
+ERROR: 0:125: 'texture' : no matching overloaded function found
+ERROR: 0:127: 'textureProjOffset' : no matching overloaded function found
+ERROR: 0:132: 'highp' : overloaded functions must have the same parameter precision qualifiers for argument 2
+ERROR: 0:135: 'in' : overloaded functions must have the same parameter storage qualifiers for argument 2
+ERROR: 0:146: '' : array size required
+ERROR: 0:147: '' : array size required
+ERROR: 0:148: '' : array size required
+ERROR: 0:149: 'float' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
+ERROR: 0:168: 'Binst' : cannot add storage, auxiliary, memory, interpolation, layout, or precision qualifier to an existing variable
+ERROR: 0:169: 'Bblock' : cannot add storage, auxiliary, memory, interpolation, layout, or precision qualifier to an existing variable
+ERROR: 0:170: 'Bfoo' : cannot add storage, auxiliary, memory, interpolation, layout, or precision qualifier to an existing variable
+ERROR: 0:172: 'std430' : not supported for this version or the enabled extensions
+ERROR: 0:172: 'std430' : requires the 'buffer' storage qualifier
+ERROR: 0:175: '' : array size required
+ERROR: 0:185: 'assign' : cannot convert from 'temp 4-element array of highp float' to 'temp 3-element array of highp float'
+ERROR: 0:186: 'assign' : cannot convert from 'temp 3-element array of highp float' to 'temp 4-element array of highp float'
+ERROR: 44 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:27 Function Definition: main( (global void)
+0:27 Function Parameters:
+0:29 Sequence
+0:29 Sequence
+0:29 move second child to first child (temp highp int)
+0:29 'id' (temp highp int)
+0:29 add (temp highp int)
+0:29 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:29 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+0:31 Sequence
+0:31 move second child to first child (temp highp int)
+0:31 'c0' (temp highp int)
+0:31 Constant:
+0:31 64 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp highp int)
+0:32 'c1' (temp highp int)
+0:32 Constant:
+0:32 128 (const int)
+0:33 Sequence
+0:33 move second child to first child (temp highp int)
+0:33 'c2' (temp highp int)
+0:33 Constant:
+0:33 16 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp highp int)
+0:34 'c3' (temp highp int)
+0:34 Constant:
+0:34 15 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp highp int)
+0:35 'c4' (temp highp int)
+0:35 Constant:
+0:35 32 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp highp int)
+0:36 'c5' (temp highp int)
+0:36 Constant:
+0:36 80 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp highp int)
+0:37 'c6' (temp highp int)
+0:37 Constant:
+0:37 32 (const int)
+0:38 Sequence
+0:38 move second child to first child (temp highp int)
+0:38 'c7' (temp highp int)
+0:38 Constant:
+0:38 16 (const int)
+0:39 Sequence
+0:39 move second child to first child (temp highp int)
+0:39 'c8' (temp highp int)
+0:39 Constant:
+0:39 32 (const int)
+0:40 Sequence
+0:40 move second child to first child (temp highp int)
+0:40 'c9' (temp highp int)
+0:40 Constant:
+0:40 -8 (const int)
+0:41 Sequence
+0:41 move second child to first child (temp highp int)
+0:41 'c10' (temp highp int)
+0:41 Constant:
+0:41 7 (const int)
+0:43 Sequence
+0:43 move second child to first child (temp highp 3X4 matrix of float)
+0:43 'tm' (temp highp 3X4 matrix of float)
+0:43 transpose (global highp 3X4 matrix of float)
+0:43 'm43' (uniform highp 4X3 matrix of float)
+0:44 Sequence
+0:44 move second child to first child (temp highp float)
+0:44 'dm' (temp highp float)
+0:44 determinant (global highp float)
+0:44 'm44' (uniform highp 4X4 matrix of float)
+0:45 Sequence
+0:45 move second child to first child (temp highp 3X3 matrix of float)
+0:45 'im' (temp highp 3X3 matrix of float)
+0:45 inverse (global highp 3X3 matrix of float)
+0:45 'm33' (uniform highp 3X3 matrix of float)
+0:47 Sequence
+0:47 move second child to first child (temp highp 3X2 matrix of float)
+0:47 'op' (temp highp 3X2 matrix of float)
+0:47 outer product (global highp 3X2 matrix of float)
+0:47 'v2' (smooth out highp 2-component vector of float)
+0:47 'v3' (in highp 3-component vector of float)
+0:49 move second child to first child (temp highp 4-component vector of float)
+0:49 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:49 direct index (temp highp 4-component vector of float)
+0:49 'm44' (uniform highp 4X4 matrix of float)
+0:49 Constant:
+0:49 2 (const int)
+0:50 move second child to first child (temp highp float)
+0:50 'gl_PointSize' (gl_PointSize highp float PointSize)
+0:50 direct index (temp highp float)
+0:50 'v2' (smooth out highp 2-component vector of float)
+0:50 Constant:
+0:50 1 (const int)
+0:52 move second child to first child (temp highp 3-component vector of float)
+0:52 c: direct index for structure (global highp 3-component vector of float)
+0:52 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:52 Constant:
+0:52 0 (const int)
+0:52 'v3' (in highp 3-component vector of float)
+0:53 move second child to first child (temp highp float)
+0:53 f: direct index for structure (global highp float)
+0:53 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:53 Constant:
+0:53 1 (const int)
+0:53 'dm' (temp highp float)
+0:68 Sequence
+0:68 move second child to first child (temp 2-element array of highp float)
+0:68 'okayA' (global 2-element array of highp float)
+0:68 Constant:
+0:68 3.000000
+0:68 4.000000
+0:71 Function Definition: newVFun( (global void)
+0:71 Function Parameters:
+0:73 Sequence
+0:73 move second child to first child (temp highp 3-component vector of float)
+0:73 'newV' (smooth out highp 3-component vector of float)
+0:73 'v3' (in highp 3-component vector of float)
+0:118 Function Definition: foo23( (global void)
+0:118 Function Parameters:
+0:120 Sequence
+0:120 Sequence
+0:120 move second child to first child (temp highp 2-component vector of int)
+0:120 'x1' (temp highp 2-component vector of int)
+0:120 textureSize (global highp 2-component vector of int)
+0:120 's2D' (uniform lowp sampler2D)
+0:120 Constant:
+0:120 2 (const int)
+0:121 Constant:
+0:121 0.000000
+0:122 Sequence
+0:122 move second child to first child (temp highp 3-component vector of int)
+0:122 'x3' (temp highp 3-component vector of int)
+0:122 textureSize (global highp 3-component vector of int)
+0:122 's2DAS' (uniform lowp sampler2DArrayShadow)
+0:122 Constant:
+0:122 -1 (const int)
+0:123 Constant:
+0:123 0.000000
+0:124 Sequence
+0:124 move second child to first child (temp highp 4-component vector of float)
+0:124 'x4' (temp highp 4-component vector of float)
+0:124 texture (global highp 4-component vector of float)
+0:124 's2D' (uniform lowp sampler2D)
+0:124 'c2D' (in highp 2-component vector of float)
+0:125 Constant:
+0:125 0.000000
+0:126 Sequence
+0:126 move second child to first child (temp highp 4-component vector of float)
+0:126 'x5' (temp highp 4-component vector of float)
+0:126 textureProjOffset (global highp 4-component vector of float)
+0:126 's3D' (uniform lowp sampler3D)
+0:126 Constant:
+0:126 0.200000
+0:126 0.200000
+0:126 0.200000
+0:126 0.200000
+0:126 Constant:
+0:126 1 (const int)
+0:126 1 (const int)
+0:126 1 (const int)
+0:127 Constant:
+0:127 0.000000
+0:128 Sequence
+0:128 move second child to first child (temp highp float)
+0:128 'x6' (temp highp float)
+0:128 textureProjGradOffset (global highp float)
+0:128 's2DS' (uniform lowp sampler2DShadow)
+0:128 'invIn' (invariant in highp 4-component vector of float)
+0:128 Constant:
+0:128 4.200000
+0:128 4.200000
+0:128 Constant:
+0:128 5.300000
+0:128 5.300000
+0:128 Constant:
+0:128 1 (const int)
+0:128 1 (const int)
+0:137 Function Definition: foo2349( (global void)
+0:137 Function Parameters:
+0:139 Sequence
+0:139 Sequence
+0:139 move second child to first child (temp 3-element array of highp float)
+0:139 'x' (temp 3-element array of highp float)
+0:139 Constant:
+0:139 1.000000
+0:139 2.000000
+0:139 3.000000
+0:140 Sequence
+0:140 move second child to first child (temp 3-element array of highp float)
+0:140 'y' (temp 3-element array of highp float)
+0:140 'x' (temp 3-element array of highp float)
+0:141 Sequence
+0:141 move second child to first child (temp 3-element array of highp float)
+0:141 'z' (temp 3-element array of highp float)
+0:141 'x' (temp 3-element array of highp float)
+0:143 move second child to first child (temp 3-element array of highp float)
+0:143 'w' (temp 3-element array of highp float)
+0:143 'y' (temp 3-element array of highp float)
+0:155 Function Definition: gggf(f1; (global highp int)
+0:155 Function Parameters:
+0:155 'f' (in highp float)
+0:155 Sequence
+0:155 Branch: Return with expression
+0:155 Constant:
+0:155 2 (const int)
+0:158 Function Definition: agggf(f1; (global highp int)
+0:158 Function Parameters:
+0:158 'f' (in highp float)
+0:158 Sequence
+0:158 Branch: Return with expression
+0:158 Constant:
+0:158 2 (const int)
+0:178 Function Definition: fooDeeparray( (global void)
+0:178 Function Parameters:
+0:181 Sequence
+0:181 Sequence
+0:180 move second child to first child (temp 3-element array of highp float)
+0:180 'x' (temp 3-element array of highp float)
+0:180 Constant:
+0:180 1.000000
+0:180 2.000000
+0:180 3.000000
+0:181 move second child to first child (temp 4-element array of highp float)
+0:181 'y' (temp 4-element array of highp float)
+0:181 Constant:
+0:181 1.000000
+0:181 2.000000
+0:181 3.000000
+0:181 4.000000
+0:183 move second child to first child (temp 3-element array of highp float)
+0:183 'xp' (temp 3-element array of highp float)
+0:183 'x' (temp 3-element array of highp float)
+0:184 move second child to first child (temp 4-element array of highp float)
+0:184 'yp' (temp 4-element array of highp float)
+0:184 'y' (temp 4-element array of highp float)
+0:185 'xp' (temp 3-element array of highp float)
+0:186 'yp' (temp 4-element array of highp float)
+0:? Linker Objects
+0:? 'm43' (uniform highp 4X3 matrix of float)
+0:? 'm33' (uniform highp 3X3 matrix of float)
+0:? 'm44' (uniform highp 4X4 matrix of float)
+0:? 'v3' (in highp 3-component vector of float)
+0:? 'v2' (smooth out highp 2-component vector of float)
+0:? 'bad' (in 10-element array of highp 4-component vector of float)
+0:? 'badorder' (in highp 4-component vector of float)
+0:? 'badorder2' (invariant smooth out highp 4-component vector of float)
+0:? 'badorder4' (centroid in highp 4-component vector of float)
+0:? 'badorder3' (flat out highp 4-component vector of float)
+0:? 'rep' (smooth flat out highp 4-component vector of float)
+0:? 'rep2' (centroid smooth sample out highp 4-component vector of float)
+0:? 'rep3' (in highp 4-component vector of float)
+0:? 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:? 'badsize' (global implicitly-sized array of highp float)
+0:? 'badsize2' (global implicitly-sized array of highp float)
+0:? 'ubInst' (layout(column_major shared ) uniform implicitly-sized array of block{layout(column_major shared ) uniform implicitly-sized array of highp int a})
+0:? 'okayA' (global 2-element array of highp float)
+0:? 'newV' (smooth out highp 3-component vector of float)
+0:? 'invIn' (in highp 4-component vector of float)
+0:? 's2' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:? 's3' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:? 'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f})
+0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23})
+0:? 's2D' (uniform lowp sampler2D)
+0:? 's3D' (uniform lowp sampler3D)
+0:? 's2DS' (uniform lowp sampler2DShadow)
+0:? 's2DAS' (uniform lowp sampler2DArrayShadow)
+0:? 'c2D' (in highp 2-component vector of float)
+0:? 'ssss' (smooth out structure{global highp float f})
+0:? 'Binst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp int a})
+0:? 'Bfoo' (global highp int)
+0:? 'B430i' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform highp int a})
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:27 Function Definition: main( (global void)
+0:27 Function Parameters:
+0:29 Sequence
+0:29 Sequence
+0:29 move second child to first child (temp highp int)
+0:29 'id' (temp highp int)
+0:29 add (temp highp int)
+0:29 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:29 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+0:31 Sequence
+0:31 move second child to first child (temp highp int)
+0:31 'c0' (temp highp int)
+0:31 Constant:
+0:31 64 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp highp int)
+0:32 'c1' (temp highp int)
+0:32 Constant:
+0:32 128 (const int)
+0:33 Sequence
+0:33 move second child to first child (temp highp int)
+0:33 'c2' (temp highp int)
+0:33 Constant:
+0:33 16 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp highp int)
+0:34 'c3' (temp highp int)
+0:34 Constant:
+0:34 15 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp highp int)
+0:35 'c4' (temp highp int)
+0:35 Constant:
+0:35 32 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp highp int)
+0:36 'c5' (temp highp int)
+0:36 Constant:
+0:36 80 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp highp int)
+0:37 'c6' (temp highp int)
+0:37 Constant:
+0:37 32 (const int)
+0:38 Sequence
+0:38 move second child to first child (temp highp int)
+0:38 'c7' (temp highp int)
+0:38 Constant:
+0:38 16 (const int)
+0:39 Sequence
+0:39 move second child to first child (temp highp int)
+0:39 'c8' (temp highp int)
+0:39 Constant:
+0:39 32 (const int)
+0:40 Sequence
+0:40 move second child to first child (temp highp int)
+0:40 'c9' (temp highp int)
+0:40 Constant:
+0:40 -8 (const int)
+0:41 Sequence
+0:41 move second child to first child (temp highp int)
+0:41 'c10' (temp highp int)
+0:41 Constant:
+0:41 7 (const int)
+0:43 Sequence
+0:43 move second child to first child (temp highp 3X4 matrix of float)
+0:43 'tm' (temp highp 3X4 matrix of float)
+0:43 transpose (global highp 3X4 matrix of float)
+0:43 'm43' (uniform highp 4X3 matrix of float)
+0:44 Sequence
+0:44 move second child to first child (temp highp float)
+0:44 'dm' (temp highp float)
+0:44 determinant (global highp float)
+0:44 'm44' (uniform highp 4X4 matrix of float)
+0:45 Sequence
+0:45 move second child to first child (temp highp 3X3 matrix of float)
+0:45 'im' (temp highp 3X3 matrix of float)
+0:45 inverse (global highp 3X3 matrix of float)
+0:45 'm33' (uniform highp 3X3 matrix of float)
+0:47 Sequence
+0:47 move second child to first child (temp highp 3X2 matrix of float)
+0:47 'op' (temp highp 3X2 matrix of float)
+0:47 outer product (global highp 3X2 matrix of float)
+0:47 'v2' (smooth out highp 2-component vector of float)
+0:47 'v3' (in highp 3-component vector of float)
+0:49 move second child to first child (temp highp 4-component vector of float)
+0:49 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:49 direct index (temp highp 4-component vector of float)
+0:49 'm44' (uniform highp 4X4 matrix of float)
+0:49 Constant:
+0:49 2 (const int)
+0:50 move second child to first child (temp highp float)
+0:50 'gl_PointSize' (gl_PointSize highp float PointSize)
+0:50 direct index (temp highp float)
+0:50 'v2' (smooth out highp 2-component vector of float)
+0:50 Constant:
+0:50 1 (const int)
+0:52 move second child to first child (temp highp 3-component vector of float)
+0:52 c: direct index for structure (global highp 3-component vector of float)
+0:52 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:52 Constant:
+0:52 0 (const int)
+0:52 'v3' (in highp 3-component vector of float)
+0:53 move second child to first child (temp highp float)
+0:53 f: direct index for structure (global highp float)
+0:53 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:53 Constant:
+0:53 1 (const int)
+0:53 'dm' (temp highp float)
+0:68 Sequence
+0:68 move second child to first child (temp 2-element array of highp float)
+0:68 'okayA' (global 2-element array of highp float)
+0:68 Constant:
+0:68 3.000000
+0:68 4.000000
+0:71 Function Definition: newVFun( (global void)
+0:71 Function Parameters:
+0:73 Sequence
+0:73 move second child to first child (temp highp 3-component vector of float)
+0:73 'newV' (smooth out highp 3-component vector of float)
+0:73 'v3' (in highp 3-component vector of float)
+0:118 Function Definition: foo23( (global void)
+0:118 Function Parameters:
+0:120 Sequence
+0:120 Sequence
+0:120 move second child to first child (temp highp 2-component vector of int)
+0:120 'x1' (temp highp 2-component vector of int)
+0:120 textureSize (global highp 2-component vector of int)
+0:120 's2D' (uniform lowp sampler2D)
+0:120 Constant:
+0:120 2 (const int)
+0:121 Constant:
+0:121 0.000000
+0:122 Sequence
+0:122 move second child to first child (temp highp 3-component vector of int)
+0:122 'x3' (temp highp 3-component vector of int)
+0:122 textureSize (global highp 3-component vector of int)
+0:122 's2DAS' (uniform lowp sampler2DArrayShadow)
+0:122 Constant:
+0:122 -1 (const int)
+0:123 Constant:
+0:123 0.000000
+0:124 Sequence
+0:124 move second child to first child (temp highp 4-component vector of float)
+0:124 'x4' (temp highp 4-component vector of float)
+0:124 texture (global highp 4-component vector of float)
+0:124 's2D' (uniform lowp sampler2D)
+0:124 'c2D' (in highp 2-component vector of float)
+0:125 Constant:
+0:125 0.000000
+0:126 Sequence
+0:126 move second child to first child (temp highp 4-component vector of float)
+0:126 'x5' (temp highp 4-component vector of float)
+0:126 textureProjOffset (global highp 4-component vector of float)
+0:126 's3D' (uniform lowp sampler3D)
+0:126 Constant:
+0:126 0.200000
+0:126 0.200000
+0:126 0.200000
+0:126 0.200000
+0:126 Constant:
+0:126 1 (const int)
+0:126 1 (const int)
+0:126 1 (const int)
+0:127 Constant:
+0:127 0.000000
+0:128 Sequence
+0:128 move second child to first child (temp highp float)
+0:128 'x6' (temp highp float)
+0:128 textureProjGradOffset (global highp float)
+0:128 's2DS' (uniform lowp sampler2DShadow)
+0:128 'invIn' (invariant in highp 4-component vector of float)
+0:128 Constant:
+0:128 4.200000
+0:128 4.200000
+0:128 Constant:
+0:128 5.300000
+0:128 5.300000
+0:128 Constant:
+0:128 1 (const int)
+0:128 1 (const int)
+0:137 Function Definition: foo2349( (global void)
+0:137 Function Parameters:
+0:139 Sequence
+0:139 Sequence
+0:139 move second child to first child (temp 3-element array of highp float)
+0:139 'x' (temp 3-element array of highp float)
+0:139 Constant:
+0:139 1.000000
+0:139 2.000000
+0:139 3.000000
+0:140 Sequence
+0:140 move second child to first child (temp 3-element array of highp float)
+0:140 'y' (temp 3-element array of highp float)
+0:140 'x' (temp 3-element array of highp float)
+0:141 Sequence
+0:141 move second child to first child (temp 3-element array of highp float)
+0:141 'z' (temp 3-element array of highp float)
+0:141 'x' (temp 3-element array of highp float)
+0:143 move second child to first child (temp 3-element array of highp float)
+0:143 'w' (temp 3-element array of highp float)
+0:143 'y' (temp 3-element array of highp float)
+0:155 Function Definition: gggf(f1; (global highp int)
+0:155 Function Parameters:
+0:155 'f' (in highp float)
+0:155 Sequence
+0:155 Branch: Return with expression
+0:155 Constant:
+0:155 2 (const int)
+0:158 Function Definition: agggf(f1; (global highp int)
+0:158 Function Parameters:
+0:158 'f' (in highp float)
+0:158 Sequence
+0:158 Branch: Return with expression
+0:158 Constant:
+0:158 2 (const int)
+0:178 Function Definition: fooDeeparray( (global void)
+0:178 Function Parameters:
+0:181 Sequence
+0:181 Sequence
+0:180 move second child to first child (temp 3-element array of highp float)
+0:180 'x' (temp 3-element array of highp float)
+0:180 Constant:
+0:180 1.000000
+0:180 2.000000
+0:180 3.000000
+0:181 move second child to first child (temp 4-element array of highp float)
+0:181 'y' (temp 4-element array of highp float)
+0:181 Constant:
+0:181 1.000000
+0:181 2.000000
+0:181 3.000000
+0:181 4.000000
+0:183 move second child to first child (temp 3-element array of highp float)
+0:183 'xp' (temp 3-element array of highp float)
+0:183 'x' (temp 3-element array of highp float)
+0:184 move second child to first child (temp 4-element array of highp float)
+0:184 'yp' (temp 4-element array of highp float)
+0:184 'y' (temp 4-element array of highp float)
+0:185 'xp' (temp 3-element array of highp float)
+0:186 'yp' (temp 4-element array of highp float)
+0:? Linker Objects
+0:? 'm43' (uniform highp 4X3 matrix of float)
+0:? 'm33' (uniform highp 3X3 matrix of float)
+0:? 'm44' (uniform highp 4X4 matrix of float)
+0:? 'v3' (in highp 3-component vector of float)
+0:? 'v2' (smooth out highp 2-component vector of float)
+0:? 'bad' (in 10-element array of highp 4-component vector of float)
+0:? 'badorder' (in highp 4-component vector of float)
+0:? 'badorder2' (invariant smooth out highp 4-component vector of float)
+0:? 'badorder4' (centroid in highp 4-component vector of float)
+0:? 'badorder3' (flat out highp 4-component vector of float)
+0:? 'rep' (smooth flat out highp 4-component vector of float)
+0:? 'rep2' (centroid smooth sample out highp 4-component vector of float)
+0:? 'rep3' (in highp 4-component vector of float)
+0:? 's' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:? 'badsize' (global 1-element array of highp float)
+0:? 'badsize2' (global 1-element array of highp float)
+0:? 'ubInst' (layout(column_major shared ) uniform 1-element array of block{layout(column_major shared ) uniform 1-element array of highp int a})
+0:? 'okayA' (global 2-element array of highp float)
+0:? 'newV' (smooth out highp 3-component vector of float)
+0:? 'invIn' (in highp 4-component vector of float)
+0:? 's2' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:? 's3' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:? 'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f})
+0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23})
+0:? 's2D' (uniform lowp sampler2D)
+0:? 's3D' (uniform lowp sampler3D)
+0:? 's2DS' (uniform lowp sampler2DShadow)
+0:? 's2DAS' (uniform lowp sampler2DArrayShadow)
+0:? 'c2D' (in highp 2-component vector of float)
+0:? 'ssss' (smooth out structure{global highp float f})
+0:? 'Binst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp int a})
+0:? 'Bfoo' (global highp int)
+0:? 'B430i' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform highp int a})
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/Test/baseResults/300BuiltIns.frag.out b/Test/baseResults/300BuiltIns.frag.out
index a61515c..2bb4cf5 100644
--- a/Test/baseResults/300BuiltIns.frag.out
+++ b/Test/baseResults/300BuiltIns.frag.out
@@ -1,418 +1,418 @@
-300BuiltIns.frag
-ERROR: 0:6: 'float' : type requires declaration of default precision qualifier
-ERROR: 0:70: 'noise2' : no matching overloaded function found
-ERROR: 0:72: 't__' : identifiers containing consecutive underscores ("__") are reserved, and an error if version <= 300
-ERROR: 0:75: '#define' : names containing consecutive underscores are reserved, and an error if version <= 300: __D
-ERROR: 4 compilation errors. No code generated.
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:26 Function Definition: main( (global void)
-0:26 Function Parameters:
-0:29 Sequence
-0:29 Sequence
-0:29 move second child to first child (temp mediump 3-component vector of float)
-0:29 'v' (temp mediump 3-component vector of float)
-0:29 mix (global mediump 3-component vector of float)
-0:29 'x' (global mediump 3-component vector of float)
-0:29 'y' (global mediump 3-component vector of float)
-0:29 'bv' (global 3-component vector of bool)
-0:30 Sequence
-0:30 move second child to first child (temp mediump 4-component vector of int)
-0:30 'iv10' (temp mediump 4-component vector of int)
-0:30 Absolute value (global mediump 4-component vector of int)
-0:30 'iv4a' (global mediump 4-component vector of int)
-0:31 Sequence
-0:31 move second child to first child (temp mediump 4-component vector of int)
-0:31 'iv11' (temp mediump 4-component vector of int)
-0:31 Sign (global mediump 4-component vector of int)
-0:31 'iv4a' (global mediump 4-component vector of int)
-0:32 Sequence
-0:32 move second child to first child (temp mediump 4-component vector of int)
-0:32 'iv12' (temp mediump 4-component vector of int)
-0:32 min (global mediump 4-component vector of int)
-0:32 'iv4a' (global mediump 4-component vector of int)
-0:32 'iv4b' (global mediump 4-component vector of int)
-0:33 Sequence
-0:33 move second child to first child (temp mediump 4-component vector of int)
-0:33 'iv13' (temp mediump 4-component vector of int)
-0:33 min (global mediump 4-component vector of int)
-0:33 'iv4a' (global mediump 4-component vector of int)
-0:33 'imin' (global mediump int)
-0:34 Sequence
-0:34 move second child to first child (temp mediump 2-component vector of uint)
-0:34 'u' (temp mediump 2-component vector of uint)
-0:34 min (global mediump 2-component vector of uint)
-0:34 'uv2x' (global mediump 2-component vector of uint)
-0:34 'uv2y' (global mediump 2-component vector of uint)
-0:35 Sequence
-0:35 move second child to first child (temp mediump 4-component vector of uint)
-0:35 'uv' (temp mediump 4-component vector of uint)
-0:35 min (global mediump 4-component vector of uint)
-0:35 'uv4y' (global mediump 4-component vector of uint)
-0:35 'uy' (global mediump uint)
-0:36 Sequence
-0:36 move second child to first child (temp mediump 3-component vector of int)
-0:36 'iv14' (temp mediump 3-component vector of int)
-0:36 max (global mediump 3-component vector of int)
-0:36 'iv3a' (global mediump 3-component vector of int)
-0:36 'iv3b' (global mediump 3-component vector of int)
-0:37 Sequence
-0:37 move second child to first child (temp mediump 4-component vector of int)
-0:37 'iv15' (temp mediump 4-component vector of int)
-0:37 max (global mediump 4-component vector of int)
-0:37 'iv4a' (global mediump 4-component vector of int)
-0:37 'imax' (global mediump int)
-0:38 Sequence
-0:38 move second child to first child (temp mediump 2-component vector of uint)
-0:38 'u10' (temp mediump 2-component vector of uint)
-0:38 max (global mediump 2-component vector of uint)
-0:38 'uv2x' (global mediump 2-component vector of uint)
-0:38 'uv2y' (global mediump 2-component vector of uint)
-0:39 Sequence
-0:39 move second child to first child (temp mediump 2-component vector of uint)
-0:39 'u11' (temp mediump 2-component vector of uint)
-0:39 max (global mediump 2-component vector of uint)
-0:39 'uv2x' (global mediump 2-component vector of uint)
-0:39 'uy' (global mediump uint)
-0:40 Sequence
-0:40 move second child to first child (temp mediump 4-component vector of int)
-0:40 'iv16' (temp mediump 4-component vector of int)
-0:40 clamp (global mediump 4-component vector of int)
-0:40 'iv4a' (global mediump 4-component vector of int)
-0:40 'iv4a' (global mediump 4-component vector of int)
-0:40 'iv4b' (global mediump 4-component vector of int)
-0:41 Sequence
-0:41 move second child to first child (temp mediump 4-component vector of int)
-0:41 'iv17' (temp mediump 4-component vector of int)
-0:41 clamp (global mediump 4-component vector of int)
-0:41 'iv4a' (global mediump 4-component vector of int)
-0:41 'imin' (global mediump int)
-0:41 'imax' (global mediump int)
-0:42 Sequence
-0:42 move second child to first child (temp mediump 2-component vector of uint)
-0:42 'u12' (temp mediump 2-component vector of uint)
-0:42 clamp (global mediump 2-component vector of uint)
-0:42 'uv2x' (global mediump 2-component vector of uint)
-0:42 'uv2y' (global mediump 2-component vector of uint)
-0:42 'uv2c' (global mediump 2-component vector of uint)
-0:43 Sequence
-0:43 move second child to first child (temp mediump 4-component vector of uint)
-0:43 'uv10' (temp mediump 4-component vector of uint)
-0:43 clamp (global mediump 4-component vector of uint)
-0:43 'uv4y' (global mediump 4-component vector of uint)
-0:43 'umin' (global mediump uint)
-0:43 'umax' (global mediump uint)
-0:47 Sequence
-0:47 move second child to first child (temp mediump 3-component vector of float)
-0:47 'v11' (temp mediump 3-component vector of float)
-0:47 modf (global mediump 3-component vector of float)
-0:47 'x' (global mediump 3-component vector of float)
-0:47 'modfOut' (temp mediump 3-component vector of float)
-0:49 Sequence
-0:49 move second child to first child (temp mediump float)
-0:49 't' (temp mediump float)
-0:49 trunc (global mediump float)
-0:49 'f' (global mediump float)
-0:50 Sequence
-0:50 move second child to first child (temp mediump 2-component vector of float)
-0:50 'v12' (temp mediump 2-component vector of float)
-0:50 round (global mediump 2-component vector of float)
-0:50 'v2a' (global mediump 2-component vector of float)
-0:51 Sequence
-0:51 move second child to first child (temp mediump 2-component vector of float)
-0:51 'v13' (temp mediump 2-component vector of float)
-0:51 roundEven (global mediump 2-component vector of float)
-0:51 'v2a' (global mediump 2-component vector of float)
-0:52 Sequence
-0:52 move second child to first child (temp 2-component vector of bool)
-0:52 'b10' (temp 2-component vector of bool)
-0:52 isnan (global 2-component vector of bool)
-0:52 'v2a' (global mediump 2-component vector of float)
-0:53 Sequence
-0:53 move second child to first child (temp 4-component vector of bool)
-0:53 'b11' (temp 4-component vector of bool)
-0:53 isinf (global 4-component vector of bool)
-0:53 'v4' (global mediump 4-component vector of float)
-0:56 Sequence
-0:56 move second child to first child (temp mediump int)
-0:56 'i' (temp mediump int)
-0:56 floatBitsToInt (global mediump int)
-0:56 'f' (global mediump float)
-0:57 Sequence
-0:57 move second child to first child (temp mediump 4-component vector of uint)
-0:57 'uv11' (temp mediump 4-component vector of uint)
-0:57 floatBitsToUint (global mediump 4-component vector of uint)
-0:57 'v4' (global mediump 4-component vector of float)
-0:58 Sequence
-0:58 move second child to first child (temp mediump 4-component vector of float)
-0:58 'v14' (temp mediump 4-component vector of float)
-0:58 intBitsToFloat (global mediump 4-component vector of float)
-0:58 'iv4a' (global mediump 4-component vector of int)
-0:59 Sequence
-0:59 move second child to first child (temp mediump 2-component vector of float)
-0:59 'v15' (temp mediump 2-component vector of float)
-0:59 uintBitsToFloat (global mediump 2-component vector of float)
-0:59 'uv2c' (global mediump 2-component vector of uint)
-0:62 Sequence
-0:62 move second child to first child (temp highp uint)
-0:62 'u19' (temp mediump uint)
-0:62 packSnorm2x16 (global highp uint)
-0:62 'v2a' (global mediump 2-component vector of float)
-0:63 Sequence
-0:63 move second child to first child (temp highp 2-component vector of float)
-0:63 'v20' (temp mediump 2-component vector of float)
-0:63 unpackSnorm2x16 (global highp 2-component vector of float)
-0:63 'uy' (global mediump uint)
-0:64 Sequence
-0:64 move second child to first child (temp highp uint)
-0:64 'u15' (temp mediump uint)
-0:64 packUnorm2x16 (global highp uint)
-0:64 'v2a' (global mediump 2-component vector of float)
-0:65 Sequence
-0:65 move second child to first child (temp highp 2-component vector of float)
-0:65 'v16' (temp mediump 2-component vector of float)
-0:65 unpackUnorm2x16 (global highp 2-component vector of float)
-0:65 'uy' (global mediump uint)
-0:66 Sequence
-0:66 move second child to first child (temp highp uint)
-0:66 'u17' (temp mediump uint)
-0:66 packHalf2x16 (global highp uint)
-0:66 'v2b' (global mediump 2-component vector of float)
-0:67 Sequence
-0:67 move second child to first child (temp mediump 2-component vector of float)
-0:67 'v18' (temp mediump 2-component vector of float)
-0:67 unpackHalf2x16 (global mediump 2-component vector of float)
-0:67 'uy' (global mediump uint)
-0:70 Constant:
-0:70 0.000000
-0:? Linker Objects
-0:? 'imax' (global mediump int)
-0:? 'imin' (global mediump int)
-0:? 'umax' (global mediump uint)
-0:? 'umin' (global mediump uint)
-0:? 'x' (global mediump 3-component vector of float)
-0:? 'y' (global mediump 3-component vector of float)
-0:? 'bv' (global 3-component vector of bool)
-0:? 'uy' (global mediump uint)
-0:? 'uv2c' (global mediump 2-component vector of uint)
-0:? 'uv2y' (global mediump 2-component vector of uint)
-0:? 'uv2x' (global mediump 2-component vector of uint)
-0:? 'uv4y' (global mediump 4-component vector of uint)
-0:? 'iv3a' (global mediump 3-component vector of int)
-0:? 'iv3b' (global mediump 3-component vector of int)
-0:? 'iv4a' (global mediump 4-component vector of int)
-0:? 'iv4b' (global mediump 4-component vector of int)
-0:? 'f' (global mediump float)
-0:? 'v2a' (global mediump 2-component vector of float)
-0:? 'v2b' (global mediump 2-component vector of float)
-0:? 'v4' (global mediump 4-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:26 Function Definition: main( (global void)
-0:26 Function Parameters:
-0:29 Sequence
-0:29 Sequence
-0:29 move second child to first child (temp mediump 3-component vector of float)
-0:29 'v' (temp mediump 3-component vector of float)
-0:29 mix (global mediump 3-component vector of float)
-0:29 'x' (global mediump 3-component vector of float)
-0:29 'y' (global mediump 3-component vector of float)
-0:29 'bv' (global 3-component vector of bool)
-0:30 Sequence
-0:30 move second child to first child (temp mediump 4-component vector of int)
-0:30 'iv10' (temp mediump 4-component vector of int)
-0:30 Absolute value (global mediump 4-component vector of int)
-0:30 'iv4a' (global mediump 4-component vector of int)
-0:31 Sequence
-0:31 move second child to first child (temp mediump 4-component vector of int)
-0:31 'iv11' (temp mediump 4-component vector of int)
-0:31 Sign (global mediump 4-component vector of int)
-0:31 'iv4a' (global mediump 4-component vector of int)
-0:32 Sequence
-0:32 move second child to first child (temp mediump 4-component vector of int)
-0:32 'iv12' (temp mediump 4-component vector of int)
-0:32 min (global mediump 4-component vector of int)
-0:32 'iv4a' (global mediump 4-component vector of int)
-0:32 'iv4b' (global mediump 4-component vector of int)
-0:33 Sequence
-0:33 move second child to first child (temp mediump 4-component vector of int)
-0:33 'iv13' (temp mediump 4-component vector of int)
-0:33 min (global mediump 4-component vector of int)
-0:33 'iv4a' (global mediump 4-component vector of int)
-0:33 'imin' (global mediump int)
-0:34 Sequence
-0:34 move second child to first child (temp mediump 2-component vector of uint)
-0:34 'u' (temp mediump 2-component vector of uint)
-0:34 min (global mediump 2-component vector of uint)
-0:34 'uv2x' (global mediump 2-component vector of uint)
-0:34 'uv2y' (global mediump 2-component vector of uint)
-0:35 Sequence
-0:35 move second child to first child (temp mediump 4-component vector of uint)
-0:35 'uv' (temp mediump 4-component vector of uint)
-0:35 min (global mediump 4-component vector of uint)
-0:35 'uv4y' (global mediump 4-component vector of uint)
-0:35 'uy' (global mediump uint)
-0:36 Sequence
-0:36 move second child to first child (temp mediump 3-component vector of int)
-0:36 'iv14' (temp mediump 3-component vector of int)
-0:36 max (global mediump 3-component vector of int)
-0:36 'iv3a' (global mediump 3-component vector of int)
-0:36 'iv3b' (global mediump 3-component vector of int)
-0:37 Sequence
-0:37 move second child to first child (temp mediump 4-component vector of int)
-0:37 'iv15' (temp mediump 4-component vector of int)
-0:37 max (global mediump 4-component vector of int)
-0:37 'iv4a' (global mediump 4-component vector of int)
-0:37 'imax' (global mediump int)
-0:38 Sequence
-0:38 move second child to first child (temp mediump 2-component vector of uint)
-0:38 'u10' (temp mediump 2-component vector of uint)
-0:38 max (global mediump 2-component vector of uint)
-0:38 'uv2x' (global mediump 2-component vector of uint)
-0:38 'uv2y' (global mediump 2-component vector of uint)
-0:39 Sequence
-0:39 move second child to first child (temp mediump 2-component vector of uint)
-0:39 'u11' (temp mediump 2-component vector of uint)
-0:39 max (global mediump 2-component vector of uint)
-0:39 'uv2x' (global mediump 2-component vector of uint)
-0:39 'uy' (global mediump uint)
-0:40 Sequence
-0:40 move second child to first child (temp mediump 4-component vector of int)
-0:40 'iv16' (temp mediump 4-component vector of int)
-0:40 clamp (global mediump 4-component vector of int)
-0:40 'iv4a' (global mediump 4-component vector of int)
-0:40 'iv4a' (global mediump 4-component vector of int)
-0:40 'iv4b' (global mediump 4-component vector of int)
-0:41 Sequence
-0:41 move second child to first child (temp mediump 4-component vector of int)
-0:41 'iv17' (temp mediump 4-component vector of int)
-0:41 clamp (global mediump 4-component vector of int)
-0:41 'iv4a' (global mediump 4-component vector of int)
-0:41 'imin' (global mediump int)
-0:41 'imax' (global mediump int)
-0:42 Sequence
-0:42 move second child to first child (temp mediump 2-component vector of uint)
-0:42 'u12' (temp mediump 2-component vector of uint)
-0:42 clamp (global mediump 2-component vector of uint)
-0:42 'uv2x' (global mediump 2-component vector of uint)
-0:42 'uv2y' (global mediump 2-component vector of uint)
-0:42 'uv2c' (global mediump 2-component vector of uint)
-0:43 Sequence
-0:43 move second child to first child (temp mediump 4-component vector of uint)
-0:43 'uv10' (temp mediump 4-component vector of uint)
-0:43 clamp (global mediump 4-component vector of uint)
-0:43 'uv4y' (global mediump 4-component vector of uint)
-0:43 'umin' (global mediump uint)
-0:43 'umax' (global mediump uint)
-0:47 Sequence
-0:47 move second child to first child (temp mediump 3-component vector of float)
-0:47 'v11' (temp mediump 3-component vector of float)
-0:47 modf (global mediump 3-component vector of float)
-0:47 'x' (global mediump 3-component vector of float)
-0:47 'modfOut' (temp mediump 3-component vector of float)
-0:49 Sequence
-0:49 move second child to first child (temp mediump float)
-0:49 't' (temp mediump float)
-0:49 trunc (global mediump float)
-0:49 'f' (global mediump float)
-0:50 Sequence
-0:50 move second child to first child (temp mediump 2-component vector of float)
-0:50 'v12' (temp mediump 2-component vector of float)
-0:50 round (global mediump 2-component vector of float)
-0:50 'v2a' (global mediump 2-component vector of float)
-0:51 Sequence
-0:51 move second child to first child (temp mediump 2-component vector of float)
-0:51 'v13' (temp mediump 2-component vector of float)
-0:51 roundEven (global mediump 2-component vector of float)
-0:51 'v2a' (global mediump 2-component vector of float)
-0:52 Sequence
-0:52 move second child to first child (temp 2-component vector of bool)
-0:52 'b10' (temp 2-component vector of bool)
-0:52 isnan (global 2-component vector of bool)
-0:52 'v2a' (global mediump 2-component vector of float)
-0:53 Sequence
-0:53 move second child to first child (temp 4-component vector of bool)
-0:53 'b11' (temp 4-component vector of bool)
-0:53 isinf (global 4-component vector of bool)
-0:53 'v4' (global mediump 4-component vector of float)
-0:56 Sequence
-0:56 move second child to first child (temp mediump int)
-0:56 'i' (temp mediump int)
-0:56 floatBitsToInt (global mediump int)
-0:56 'f' (global mediump float)
-0:57 Sequence
-0:57 move second child to first child (temp mediump 4-component vector of uint)
-0:57 'uv11' (temp mediump 4-component vector of uint)
-0:57 floatBitsToUint (global mediump 4-component vector of uint)
-0:57 'v4' (global mediump 4-component vector of float)
-0:58 Sequence
-0:58 move second child to first child (temp mediump 4-component vector of float)
-0:58 'v14' (temp mediump 4-component vector of float)
-0:58 intBitsToFloat (global mediump 4-component vector of float)
-0:58 'iv4a' (global mediump 4-component vector of int)
-0:59 Sequence
-0:59 move second child to first child (temp mediump 2-component vector of float)
-0:59 'v15' (temp mediump 2-component vector of float)
-0:59 uintBitsToFloat (global mediump 2-component vector of float)
-0:59 'uv2c' (global mediump 2-component vector of uint)
-0:62 Sequence
-0:62 move second child to first child (temp highp uint)
-0:62 'u19' (temp mediump uint)
-0:62 packSnorm2x16 (global highp uint)
-0:62 'v2a' (global mediump 2-component vector of float)
-0:63 Sequence
-0:63 move second child to first child (temp highp 2-component vector of float)
-0:63 'v20' (temp mediump 2-component vector of float)
-0:63 unpackSnorm2x16 (global highp 2-component vector of float)
-0:63 'uy' (global mediump uint)
-0:64 Sequence
-0:64 move second child to first child (temp highp uint)
-0:64 'u15' (temp mediump uint)
-0:64 packUnorm2x16 (global highp uint)
-0:64 'v2a' (global mediump 2-component vector of float)
-0:65 Sequence
-0:65 move second child to first child (temp highp 2-component vector of float)
-0:65 'v16' (temp mediump 2-component vector of float)
-0:65 unpackUnorm2x16 (global highp 2-component vector of float)
-0:65 'uy' (global mediump uint)
-0:66 Sequence
-0:66 move second child to first child (temp highp uint)
-0:66 'u17' (temp mediump uint)
-0:66 packHalf2x16 (global highp uint)
-0:66 'v2b' (global mediump 2-component vector of float)
-0:67 Sequence
-0:67 move second child to first child (temp mediump 2-component vector of float)
-0:67 'v18' (temp mediump 2-component vector of float)
-0:67 unpackHalf2x16 (global mediump 2-component vector of float)
-0:67 'uy' (global mediump uint)
-0:70 Constant:
-0:70 0.000000
-0:? Linker Objects
-0:? 'imax' (global mediump int)
-0:? 'imin' (global mediump int)
-0:? 'umax' (global mediump uint)
-0:? 'umin' (global mediump uint)
-0:? 'x' (global mediump 3-component vector of float)
-0:? 'y' (global mediump 3-component vector of float)
-0:? 'bv' (global 3-component vector of bool)
-0:? 'uy' (global mediump uint)
-0:? 'uv2c' (global mediump 2-component vector of uint)
-0:? 'uv2y' (global mediump 2-component vector of uint)
-0:? 'uv2x' (global mediump 2-component vector of uint)
-0:? 'uv4y' (global mediump 4-component vector of uint)
-0:? 'iv3a' (global mediump 3-component vector of int)
-0:? 'iv3b' (global mediump 3-component vector of int)
-0:? 'iv4a' (global mediump 4-component vector of int)
-0:? 'iv4b' (global mediump 4-component vector of int)
-0:? 'f' (global mediump float)
-0:? 'v2a' (global mediump 2-component vector of float)
-0:? 'v2b' (global mediump 2-component vector of float)
-0:? 'v4' (global mediump 4-component vector of float)
-
+300BuiltIns.frag
+ERROR: 0:6: 'float' : type requires declaration of default precision qualifier
+ERROR: 0:70: 'noise2' : no matching overloaded function found
+ERROR: 0:72: 't__' : identifiers containing consecutive underscores ("__") are reserved, and an error if version <= 300
+ERROR: 0:75: '#define' : names containing consecutive underscores are reserved, and an error if version <= 300: __D
+ERROR: 4 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:26 Function Definition: main( (global void)
+0:26 Function Parameters:
+0:29 Sequence
+0:29 Sequence
+0:29 move second child to first child (temp mediump 3-component vector of float)
+0:29 'v' (temp mediump 3-component vector of float)
+0:29 mix (global mediump 3-component vector of float)
+0:29 'x' (global mediump 3-component vector of float)
+0:29 'y' (global mediump 3-component vector of float)
+0:29 'bv' (global 3-component vector of bool)
+0:30 Sequence
+0:30 move second child to first child (temp mediump 4-component vector of int)
+0:30 'iv10' (temp mediump 4-component vector of int)
+0:30 Absolute value (global mediump 4-component vector of int)
+0:30 'iv4a' (global mediump 4-component vector of int)
+0:31 Sequence
+0:31 move second child to first child (temp mediump 4-component vector of int)
+0:31 'iv11' (temp mediump 4-component vector of int)
+0:31 Sign (global mediump 4-component vector of int)
+0:31 'iv4a' (global mediump 4-component vector of int)
+0:32 Sequence
+0:32 move second child to first child (temp mediump 4-component vector of int)
+0:32 'iv12' (temp mediump 4-component vector of int)
+0:32 min (global mediump 4-component vector of int)
+0:32 'iv4a' (global mediump 4-component vector of int)
+0:32 'iv4b' (global mediump 4-component vector of int)
+0:33 Sequence
+0:33 move second child to first child (temp mediump 4-component vector of int)
+0:33 'iv13' (temp mediump 4-component vector of int)
+0:33 min (global mediump 4-component vector of int)
+0:33 'iv4a' (global mediump 4-component vector of int)
+0:33 'imin' (global mediump int)
+0:34 Sequence
+0:34 move second child to first child (temp mediump 2-component vector of uint)
+0:34 'u' (temp mediump 2-component vector of uint)
+0:34 min (global mediump 2-component vector of uint)
+0:34 'uv2x' (global mediump 2-component vector of uint)
+0:34 'uv2y' (global mediump 2-component vector of uint)
+0:35 Sequence
+0:35 move second child to first child (temp mediump 4-component vector of uint)
+0:35 'uv' (temp mediump 4-component vector of uint)
+0:35 min (global mediump 4-component vector of uint)
+0:35 'uv4y' (global mediump 4-component vector of uint)
+0:35 'uy' (global mediump uint)
+0:36 Sequence
+0:36 move second child to first child (temp mediump 3-component vector of int)
+0:36 'iv14' (temp mediump 3-component vector of int)
+0:36 max (global mediump 3-component vector of int)
+0:36 'iv3a' (global mediump 3-component vector of int)
+0:36 'iv3b' (global mediump 3-component vector of int)
+0:37 Sequence
+0:37 move second child to first child (temp mediump 4-component vector of int)
+0:37 'iv15' (temp mediump 4-component vector of int)
+0:37 max (global mediump 4-component vector of int)
+0:37 'iv4a' (global mediump 4-component vector of int)
+0:37 'imax' (global mediump int)
+0:38 Sequence
+0:38 move second child to first child (temp mediump 2-component vector of uint)
+0:38 'u10' (temp mediump 2-component vector of uint)
+0:38 max (global mediump 2-component vector of uint)
+0:38 'uv2x' (global mediump 2-component vector of uint)
+0:38 'uv2y' (global mediump 2-component vector of uint)
+0:39 Sequence
+0:39 move second child to first child (temp mediump 2-component vector of uint)
+0:39 'u11' (temp mediump 2-component vector of uint)
+0:39 max (global mediump 2-component vector of uint)
+0:39 'uv2x' (global mediump 2-component vector of uint)
+0:39 'uy' (global mediump uint)
+0:40 Sequence
+0:40 move second child to first child (temp mediump 4-component vector of int)
+0:40 'iv16' (temp mediump 4-component vector of int)
+0:40 clamp (global mediump 4-component vector of int)
+0:40 'iv4a' (global mediump 4-component vector of int)
+0:40 'iv4a' (global mediump 4-component vector of int)
+0:40 'iv4b' (global mediump 4-component vector of int)
+0:41 Sequence
+0:41 move second child to first child (temp mediump 4-component vector of int)
+0:41 'iv17' (temp mediump 4-component vector of int)
+0:41 clamp (global mediump 4-component vector of int)
+0:41 'iv4a' (global mediump 4-component vector of int)
+0:41 'imin' (global mediump int)
+0:41 'imax' (global mediump int)
+0:42 Sequence
+0:42 move second child to first child (temp mediump 2-component vector of uint)
+0:42 'u12' (temp mediump 2-component vector of uint)
+0:42 clamp (global mediump 2-component vector of uint)
+0:42 'uv2x' (global mediump 2-component vector of uint)
+0:42 'uv2y' (global mediump 2-component vector of uint)
+0:42 'uv2c' (global mediump 2-component vector of uint)
+0:43 Sequence
+0:43 move second child to first child (temp mediump 4-component vector of uint)
+0:43 'uv10' (temp mediump 4-component vector of uint)
+0:43 clamp (global mediump 4-component vector of uint)
+0:43 'uv4y' (global mediump 4-component vector of uint)
+0:43 'umin' (global mediump uint)
+0:43 'umax' (global mediump uint)
+0:47 Sequence
+0:47 move second child to first child (temp mediump 3-component vector of float)
+0:47 'v11' (temp mediump 3-component vector of float)
+0:47 modf (global mediump 3-component vector of float)
+0:47 'x' (global mediump 3-component vector of float)
+0:47 'modfOut' (temp mediump 3-component vector of float)
+0:49 Sequence
+0:49 move second child to first child (temp mediump float)
+0:49 't' (temp mediump float)
+0:49 trunc (global mediump float)
+0:49 'f' (global mediump float)
+0:50 Sequence
+0:50 move second child to first child (temp mediump 2-component vector of float)
+0:50 'v12' (temp mediump 2-component vector of float)
+0:50 round (global mediump 2-component vector of float)
+0:50 'v2a' (global mediump 2-component vector of float)
+0:51 Sequence
+0:51 move second child to first child (temp mediump 2-component vector of float)
+0:51 'v13' (temp mediump 2-component vector of float)
+0:51 roundEven (global mediump 2-component vector of float)
+0:51 'v2a' (global mediump 2-component vector of float)
+0:52 Sequence
+0:52 move second child to first child (temp 2-component vector of bool)
+0:52 'b10' (temp 2-component vector of bool)
+0:52 isnan (global 2-component vector of bool)
+0:52 'v2a' (global mediump 2-component vector of float)
+0:53 Sequence
+0:53 move second child to first child (temp 4-component vector of bool)
+0:53 'b11' (temp 4-component vector of bool)
+0:53 isinf (global 4-component vector of bool)
+0:53 'v4' (global mediump 4-component vector of float)
+0:56 Sequence
+0:56 move second child to first child (temp mediump int)
+0:56 'i' (temp mediump int)
+0:56 floatBitsToInt (global mediump int)
+0:56 'f' (global mediump float)
+0:57 Sequence
+0:57 move second child to first child (temp mediump 4-component vector of uint)
+0:57 'uv11' (temp mediump 4-component vector of uint)
+0:57 floatBitsToUint (global mediump 4-component vector of uint)
+0:57 'v4' (global mediump 4-component vector of float)
+0:58 Sequence
+0:58 move second child to first child (temp mediump 4-component vector of float)
+0:58 'v14' (temp mediump 4-component vector of float)
+0:58 intBitsToFloat (global mediump 4-component vector of float)
+0:58 'iv4a' (global mediump 4-component vector of int)
+0:59 Sequence
+0:59 move second child to first child (temp mediump 2-component vector of float)
+0:59 'v15' (temp mediump 2-component vector of float)
+0:59 uintBitsToFloat (global mediump 2-component vector of float)
+0:59 'uv2c' (global mediump 2-component vector of uint)
+0:62 Sequence
+0:62 move second child to first child (temp highp uint)
+0:62 'u19' (temp mediump uint)
+0:62 packSnorm2x16 (global highp uint)
+0:62 'v2a' (global mediump 2-component vector of float)
+0:63 Sequence
+0:63 move second child to first child (temp highp 2-component vector of float)
+0:63 'v20' (temp mediump 2-component vector of float)
+0:63 unpackSnorm2x16 (global highp 2-component vector of float)
+0:63 'uy' (global mediump uint)
+0:64 Sequence
+0:64 move second child to first child (temp highp uint)
+0:64 'u15' (temp mediump uint)
+0:64 packUnorm2x16 (global highp uint)
+0:64 'v2a' (global mediump 2-component vector of float)
+0:65 Sequence
+0:65 move second child to first child (temp highp 2-component vector of float)
+0:65 'v16' (temp mediump 2-component vector of float)
+0:65 unpackUnorm2x16 (global highp 2-component vector of float)
+0:65 'uy' (global mediump uint)
+0:66 Sequence
+0:66 move second child to first child (temp highp uint)
+0:66 'u17' (temp mediump uint)
+0:66 packHalf2x16 (global highp uint)
+0:66 'v2b' (global mediump 2-component vector of float)
+0:67 Sequence
+0:67 move second child to first child (temp mediump 2-component vector of float)
+0:67 'v18' (temp mediump 2-component vector of float)
+0:67 unpackHalf2x16 (global mediump 2-component vector of float)
+0:67 'uy' (global mediump uint)
+0:70 Constant:
+0:70 0.000000
+0:? Linker Objects
+0:? 'imax' (global mediump int)
+0:? 'imin' (global mediump int)
+0:? 'umax' (global mediump uint)
+0:? 'umin' (global mediump uint)
+0:? 'x' (global mediump 3-component vector of float)
+0:? 'y' (global mediump 3-component vector of float)
+0:? 'bv' (global 3-component vector of bool)
+0:? 'uy' (global mediump uint)
+0:? 'uv2c' (global mediump 2-component vector of uint)
+0:? 'uv2y' (global mediump 2-component vector of uint)
+0:? 'uv2x' (global mediump 2-component vector of uint)
+0:? 'uv4y' (global mediump 4-component vector of uint)
+0:? 'iv3a' (global mediump 3-component vector of int)
+0:? 'iv3b' (global mediump 3-component vector of int)
+0:? 'iv4a' (global mediump 4-component vector of int)
+0:? 'iv4b' (global mediump 4-component vector of int)
+0:? 'f' (global mediump float)
+0:? 'v2a' (global mediump 2-component vector of float)
+0:? 'v2b' (global mediump 2-component vector of float)
+0:? 'v4' (global mediump 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:26 Function Definition: main( (global void)
+0:26 Function Parameters:
+0:29 Sequence
+0:29 Sequence
+0:29 move second child to first child (temp mediump 3-component vector of float)
+0:29 'v' (temp mediump 3-component vector of float)
+0:29 mix (global mediump 3-component vector of float)
+0:29 'x' (global mediump 3-component vector of float)
+0:29 'y' (global mediump 3-component vector of float)
+0:29 'bv' (global 3-component vector of bool)
+0:30 Sequence
+0:30 move second child to first child (temp mediump 4-component vector of int)
+0:30 'iv10' (temp mediump 4-component vector of int)
+0:30 Absolute value (global mediump 4-component vector of int)
+0:30 'iv4a' (global mediump 4-component vector of int)
+0:31 Sequence
+0:31 move second child to first child (temp mediump 4-component vector of int)
+0:31 'iv11' (temp mediump 4-component vector of int)
+0:31 Sign (global mediump 4-component vector of int)
+0:31 'iv4a' (global mediump 4-component vector of int)
+0:32 Sequence
+0:32 move second child to first child (temp mediump 4-component vector of int)
+0:32 'iv12' (temp mediump 4-component vector of int)
+0:32 min (global mediump 4-component vector of int)
+0:32 'iv4a' (global mediump 4-component vector of int)
+0:32 'iv4b' (global mediump 4-component vector of int)
+0:33 Sequence
+0:33 move second child to first child (temp mediump 4-component vector of int)
+0:33 'iv13' (temp mediump 4-component vector of int)
+0:33 min (global mediump 4-component vector of int)
+0:33 'iv4a' (global mediump 4-component vector of int)
+0:33 'imin' (global mediump int)
+0:34 Sequence
+0:34 move second child to first child (temp mediump 2-component vector of uint)
+0:34 'u' (temp mediump 2-component vector of uint)
+0:34 min (global mediump 2-component vector of uint)
+0:34 'uv2x' (global mediump 2-component vector of uint)
+0:34 'uv2y' (global mediump 2-component vector of uint)
+0:35 Sequence
+0:35 move second child to first child (temp mediump 4-component vector of uint)
+0:35 'uv' (temp mediump 4-component vector of uint)
+0:35 min (global mediump 4-component vector of uint)
+0:35 'uv4y' (global mediump 4-component vector of uint)
+0:35 'uy' (global mediump uint)
+0:36 Sequence
+0:36 move second child to first child (temp mediump 3-component vector of int)
+0:36 'iv14' (temp mediump 3-component vector of int)
+0:36 max (global mediump 3-component vector of int)
+0:36 'iv3a' (global mediump 3-component vector of int)
+0:36 'iv3b' (global mediump 3-component vector of int)
+0:37 Sequence
+0:37 move second child to first child (temp mediump 4-component vector of int)
+0:37 'iv15' (temp mediump 4-component vector of int)
+0:37 max (global mediump 4-component vector of int)
+0:37 'iv4a' (global mediump 4-component vector of int)
+0:37 'imax' (global mediump int)
+0:38 Sequence
+0:38 move second child to first child (temp mediump 2-component vector of uint)
+0:38 'u10' (temp mediump 2-component vector of uint)
+0:38 max (global mediump 2-component vector of uint)
+0:38 'uv2x' (global mediump 2-component vector of uint)
+0:38 'uv2y' (global mediump 2-component vector of uint)
+0:39 Sequence
+0:39 move second child to first child (temp mediump 2-component vector of uint)
+0:39 'u11' (temp mediump 2-component vector of uint)
+0:39 max (global mediump 2-component vector of uint)
+0:39 'uv2x' (global mediump 2-component vector of uint)
+0:39 'uy' (global mediump uint)
+0:40 Sequence
+0:40 move second child to first child (temp mediump 4-component vector of int)
+0:40 'iv16' (temp mediump 4-component vector of int)
+0:40 clamp (global mediump 4-component vector of int)
+0:40 'iv4a' (global mediump 4-component vector of int)
+0:40 'iv4a' (global mediump 4-component vector of int)
+0:40 'iv4b' (global mediump 4-component vector of int)
+0:41 Sequence
+0:41 move second child to first child (temp mediump 4-component vector of int)
+0:41 'iv17' (temp mediump 4-component vector of int)
+0:41 clamp (global mediump 4-component vector of int)
+0:41 'iv4a' (global mediump 4-component vector of int)
+0:41 'imin' (global mediump int)
+0:41 'imax' (global mediump int)
+0:42 Sequence
+0:42 move second child to first child (temp mediump 2-component vector of uint)
+0:42 'u12' (temp mediump 2-component vector of uint)
+0:42 clamp (global mediump 2-component vector of uint)
+0:42 'uv2x' (global mediump 2-component vector of uint)
+0:42 'uv2y' (global mediump 2-component vector of uint)
+0:42 'uv2c' (global mediump 2-component vector of uint)
+0:43 Sequence
+0:43 move second child to first child (temp mediump 4-component vector of uint)
+0:43 'uv10' (temp mediump 4-component vector of uint)
+0:43 clamp (global mediump 4-component vector of uint)
+0:43 'uv4y' (global mediump 4-component vector of uint)
+0:43 'umin' (global mediump uint)
+0:43 'umax' (global mediump uint)
+0:47 Sequence
+0:47 move second child to first child (temp mediump 3-component vector of float)
+0:47 'v11' (temp mediump 3-component vector of float)
+0:47 modf (global mediump 3-component vector of float)
+0:47 'x' (global mediump 3-component vector of float)
+0:47 'modfOut' (temp mediump 3-component vector of float)
+0:49 Sequence
+0:49 move second child to first child (temp mediump float)
+0:49 't' (temp mediump float)
+0:49 trunc (global mediump float)
+0:49 'f' (global mediump float)
+0:50 Sequence
+0:50 move second child to first child (temp mediump 2-component vector of float)
+0:50 'v12' (temp mediump 2-component vector of float)
+0:50 round (global mediump 2-component vector of float)
+0:50 'v2a' (global mediump 2-component vector of float)
+0:51 Sequence
+0:51 move second child to first child (temp mediump 2-component vector of float)
+0:51 'v13' (temp mediump 2-component vector of float)
+0:51 roundEven (global mediump 2-component vector of float)
+0:51 'v2a' (global mediump 2-component vector of float)
+0:52 Sequence
+0:52 move second child to first child (temp 2-component vector of bool)
+0:52 'b10' (temp 2-component vector of bool)
+0:52 isnan (global 2-component vector of bool)
+0:52 'v2a' (global mediump 2-component vector of float)
+0:53 Sequence
+0:53 move second child to first child (temp 4-component vector of bool)
+0:53 'b11' (temp 4-component vector of bool)
+0:53 isinf (global 4-component vector of bool)
+0:53 'v4' (global mediump 4-component vector of float)
+0:56 Sequence
+0:56 move second child to first child (temp mediump int)
+0:56 'i' (temp mediump int)
+0:56 floatBitsToInt (global mediump int)
+0:56 'f' (global mediump float)
+0:57 Sequence
+0:57 move second child to first child (temp mediump 4-component vector of uint)
+0:57 'uv11' (temp mediump 4-component vector of uint)
+0:57 floatBitsToUint (global mediump 4-component vector of uint)
+0:57 'v4' (global mediump 4-component vector of float)
+0:58 Sequence
+0:58 move second child to first child (temp mediump 4-component vector of float)
+0:58 'v14' (temp mediump 4-component vector of float)
+0:58 intBitsToFloat (global mediump 4-component vector of float)
+0:58 'iv4a' (global mediump 4-component vector of int)
+0:59 Sequence
+0:59 move second child to first child (temp mediump 2-component vector of float)
+0:59 'v15' (temp mediump 2-component vector of float)
+0:59 uintBitsToFloat (global mediump 2-component vector of float)
+0:59 'uv2c' (global mediump 2-component vector of uint)
+0:62 Sequence
+0:62 move second child to first child (temp highp uint)
+0:62 'u19' (temp mediump uint)
+0:62 packSnorm2x16 (global highp uint)
+0:62 'v2a' (global mediump 2-component vector of float)
+0:63 Sequence
+0:63 move second child to first child (temp highp 2-component vector of float)
+0:63 'v20' (temp mediump 2-component vector of float)
+0:63 unpackSnorm2x16 (global highp 2-component vector of float)
+0:63 'uy' (global mediump uint)
+0:64 Sequence
+0:64 move second child to first child (temp highp uint)
+0:64 'u15' (temp mediump uint)
+0:64 packUnorm2x16 (global highp uint)
+0:64 'v2a' (global mediump 2-component vector of float)
+0:65 Sequence
+0:65 move second child to first child (temp highp 2-component vector of float)
+0:65 'v16' (temp mediump 2-component vector of float)
+0:65 unpackUnorm2x16 (global highp 2-component vector of float)
+0:65 'uy' (global mediump uint)
+0:66 Sequence
+0:66 move second child to first child (temp highp uint)
+0:66 'u17' (temp mediump uint)
+0:66 packHalf2x16 (global highp uint)
+0:66 'v2b' (global mediump 2-component vector of float)
+0:67 Sequence
+0:67 move second child to first child (temp mediump 2-component vector of float)
+0:67 'v18' (temp mediump 2-component vector of float)
+0:67 unpackHalf2x16 (global mediump 2-component vector of float)
+0:67 'uy' (global mediump uint)
+0:70 Constant:
+0:70 0.000000
+0:? Linker Objects
+0:? 'imax' (global mediump int)
+0:? 'imin' (global mediump int)
+0:? 'umax' (global mediump uint)
+0:? 'umin' (global mediump uint)
+0:? 'x' (global mediump 3-component vector of float)
+0:? 'y' (global mediump 3-component vector of float)
+0:? 'bv' (global 3-component vector of bool)
+0:? 'uy' (global mediump uint)
+0:? 'uv2c' (global mediump 2-component vector of uint)
+0:? 'uv2y' (global mediump 2-component vector of uint)
+0:? 'uv2x' (global mediump 2-component vector of uint)
+0:? 'uv4y' (global mediump 4-component vector of uint)
+0:? 'iv3a' (global mediump 3-component vector of int)
+0:? 'iv3b' (global mediump 3-component vector of int)
+0:? 'iv4a' (global mediump 4-component vector of int)
+0:? 'iv4b' (global mediump 4-component vector of int)
+0:? 'f' (global mediump float)
+0:? 'v2a' (global mediump 2-component vector of float)
+0:? 'v2b' (global mediump 2-component vector of float)
+0:? 'v4' (global mediump 4-component vector of float)
+
diff --git a/Test/baseResults/300block.frag.out b/Test/baseResults/300block.frag.out
index 67801a4..ede34c3 100644
--- a/Test/baseResults/300block.frag.out
+++ b/Test/baseResults/300block.frag.out
@@ -1,153 +1,153 @@
-300block.frag
-ERROR: 0:10: '' : cannot nest a structure definition inside a structure or block
-ERROR: 0:21: '' : cannot nest a structure definition inside a structure or block
-ERROR: 0:20: 'sampler' : member of block cannot be or contain a sampler, image, or atomic_uint type
-ERROR: 0:24: 'fbs' : member of block cannot be or contain a sampler, image, or atomic_uint type
-ERROR: 0:45: 'variable indexing uniform block array' : not supported for this version or the enabled extensions
-ERROR: 0:46: 'fooBlock' : cannot be used (maybe an instance name is needed)
-ERROR: 0:46: 'fooBlock' : undeclared identifier
-ERROR: 0:47: 'constructor' : not enough data provided for construction
-ERROR: 0:51: 'unreferenced' : cannot be used (maybe an instance name is needed)
-ERROR: 0:51: 'unreferenced' : undeclared identifier
-ERROR: 0:52: '++' : l-value required "s" (can't modify a uniform)
-ERROR: 0:52: '++' : wrong operand type no operation '++' exists that takes an operand of type uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} (or there is no acceptable conversion)
-ERROR: 0:53: '-' : wrong operand types: no operation '-' exists that takes a left-hand operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}' and a right operand of type 'const int' (or there is no acceptable conversion)
-ERROR: 0:55: 'barBlockArray' : cannot be used (maybe an instance name is needed)
-ERROR: 0:55: 'barBlockArray' : undeclared identifier
-ERROR: 0:55: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type 'const int' and a right operand of type 'temp float' (or there is no acceptable conversion)
-ERROR: 0:58: 'fooBlock' : redefinition
-ERROR: 17 compilation errors. No code generated.
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:42 Function Definition: main( (global void)
-0:42 Function Parameters:
-0:44 Sequence
-0:44 texture (global mediump 4-component vector of int)
-0:44 sampler: direct index for structure (global lowp isampler3D)
-0:44 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
-0:44 Constant:
-0:44 2 (const int)
-0:44 Construct vec3 (temp mediump 3-component vector of float)
-0:44 Convert int to float (temp mediump float)
-0:44 ni: direct index for structure (layout(column_major shared ) uniform mediump int)
-0:44 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
-0:44 Constant:
-0:44 1 (const int)
-0:44 Convert uint to float (temp mediump float)
-0:44 direct index (temp mediump uint)
-0:44 bv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
-0:44 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
-0:44 Constant:
-0:44 0 (const uint)
-0:44 Constant:
-0:44 1 (const int)
-0:44 Convert uint to float (temp mediump float)
-0:44 direct index (temp mediump uint)
-0:44 nbv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
-0:44 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
-0:44 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
-0:44 Constant:
-0:44 2 (const int)
-0:44 Constant:
-0:44 0 (const int)
-0:44 Constant:
-0:44 2 (const int)
-0:45 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
-0:45 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
-0:45 direct index (temp mediump uint)
-0:45 v: direct index for structure (global mediump 4-component vector of uint)
-0:45 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
-0:45 Constant:
-0:45 1 (const int)
-0:45 Constant:
-0:45 0 (const int)
-0:46 'fooBlock' (temp float)
-0:47 Constant:
-0:47 0.000000
-0:50 Construct mat4 (temp 4X4 matrix of float)
-0:50 'barBlock' (temp mediump float)
-0:51 Construct mat4 (temp 4X4 matrix of float)
-0:51 'unreferenced' (temp float)
-0:52 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
-0:53 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
-0:54 Pre-Increment (temp mediump float)
-0:54 'barBlock' (temp mediump float)
-0:55 Constant:
-0:55 2 (const int)
-0:? Linker Objects
-0:? 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
-0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
-0:? 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
-0:? 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
-0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f, layout(column_major shared ) uniform mediump uint u})
-
-
-Linked fragment stage:
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:42 Function Definition: main( (global void)
-0:42 Function Parameters:
-0:44 Sequence
-0:44 texture (global mediump 4-component vector of int)
-0:44 sampler: direct index for structure (global lowp isampler3D)
-0:44 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
-0:44 Constant:
-0:44 2 (const int)
-0:44 Construct vec3 (temp mediump 3-component vector of float)
-0:44 Convert int to float (temp mediump float)
-0:44 ni: direct index for structure (layout(column_major shared ) uniform mediump int)
-0:44 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
-0:44 Constant:
-0:44 1 (const int)
-0:44 Convert uint to float (temp mediump float)
-0:44 direct index (temp mediump uint)
-0:44 bv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
-0:44 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
-0:44 Constant:
-0:44 0 (const uint)
-0:44 Constant:
-0:44 1 (const int)
-0:44 Convert uint to float (temp mediump float)
-0:44 direct index (temp mediump uint)
-0:44 nbv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
-0:44 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
-0:44 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
-0:44 Constant:
-0:44 2 (const int)
-0:44 Constant:
-0:44 0 (const int)
-0:44 Constant:
-0:44 2 (const int)
-0:45 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
-0:45 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
-0:45 direct index (temp mediump uint)
-0:45 v: direct index for structure (global mediump 4-component vector of uint)
-0:45 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
-0:45 Constant:
-0:45 1 (const int)
-0:45 Constant:
-0:45 0 (const int)
-0:46 'fooBlock' (temp float)
-0:47 Constant:
-0:47 0.000000
-0:50 Construct mat4 (temp 4X4 matrix of float)
-0:50 'barBlock' (temp mediump float)
-0:51 Construct mat4 (temp 4X4 matrix of float)
-0:51 'unreferenced' (temp float)
-0:52 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
-0:53 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
-0:54 Pre-Increment (temp mediump float)
-0:54 'barBlock' (temp mediump float)
-0:55 Constant:
-0:55 2 (const int)
-0:? Linker Objects
-0:? 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
-0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
-0:? 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
-0:? 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
-0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f, layout(column_major shared ) uniform mediump uint u})
-
+300block.frag
+ERROR: 0:10: '' : cannot nest a structure definition inside a structure or block
+ERROR: 0:21: '' : cannot nest a structure definition inside a structure or block
+ERROR: 0:20: 'sampler' : member of block cannot be or contain a sampler, image, or atomic_uint type
+ERROR: 0:24: 'fbs' : member of block cannot be or contain a sampler, image, or atomic_uint type
+ERROR: 0:45: 'variable indexing uniform block array' : not supported for this version or the enabled extensions
+ERROR: 0:46: 'fooBlock' : cannot be used (maybe an instance name is needed)
+ERROR: 0:46: 'fooBlock' : undeclared identifier
+ERROR: 0:47: 'constructor' : not enough data provided for construction
+ERROR: 0:51: 'unreferenced' : cannot be used (maybe an instance name is needed)
+ERROR: 0:51: 'unreferenced' : undeclared identifier
+ERROR: 0:52: '++' : l-value required "s" (can't modify a uniform)
+ERROR: 0:52: '++' : wrong operand type no operation '++' exists that takes an operand of type uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} (or there is no acceptable conversion)
+ERROR: 0:53: '-' : wrong operand types: no operation '-' exists that takes a left-hand operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}' and a right operand of type 'const int' (or there is no acceptable conversion)
+ERROR: 0:55: 'barBlockArray' : cannot be used (maybe an instance name is needed)
+ERROR: 0:55: 'barBlockArray' : undeclared identifier
+ERROR: 0:55: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type 'const int' and a right operand of type 'temp float' (or there is no acceptable conversion)
+ERROR: 0:58: 'fooBlock' : redefinition
+ERROR: 17 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:42 Function Definition: main( (global void)
+0:42 Function Parameters:
+0:44 Sequence
+0:44 texture (global mediump 4-component vector of int)
+0:44 sampler: direct index for structure (global lowp isampler3D)
+0:44 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
+0:44 Constant:
+0:44 2 (const int)
+0:44 Construct vec3 (temp mediump 3-component vector of float)
+0:44 Convert int to float (temp mediump float)
+0:44 ni: direct index for structure (layout(column_major shared ) uniform mediump int)
+0:44 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:44 Constant:
+0:44 1 (const int)
+0:44 Convert uint to float (temp mediump float)
+0:44 direct index (temp mediump uint)
+0:44 bv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
+0:44 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
+0:44 Constant:
+0:44 0 (const uint)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Convert uint to float (temp mediump float)
+0:44 direct index (temp mediump uint)
+0:44 nbv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
+0:44 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:44 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 0 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:45 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:45 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:45 direct index (temp mediump uint)
+0:45 v: direct index for structure (global mediump 4-component vector of uint)
+0:45 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
+0:45 Constant:
+0:45 1 (const int)
+0:45 Constant:
+0:45 0 (const int)
+0:46 'fooBlock' (temp float)
+0:47 Constant:
+0:47 0.000000
+0:50 Construct mat4 (temp 4X4 matrix of float)
+0:50 'barBlock' (temp mediump float)
+0:51 Construct mat4 (temp 4X4 matrix of float)
+0:51 'unreferenced' (temp float)
+0:52 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
+0:53 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:54 Pre-Increment (temp mediump float)
+0:54 'barBlock' (temp mediump float)
+0:55 Constant:
+0:55 2 (const int)
+0:? Linker Objects
+0:? 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
+0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
+0:? 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:? 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f, layout(column_major shared ) uniform mediump uint u})
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:42 Function Definition: main( (global void)
+0:42 Function Parameters:
+0:44 Sequence
+0:44 texture (global mediump 4-component vector of int)
+0:44 sampler: direct index for structure (global lowp isampler3D)
+0:44 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
+0:44 Constant:
+0:44 2 (const int)
+0:44 Construct vec3 (temp mediump 3-component vector of float)
+0:44 Convert int to float (temp mediump float)
+0:44 ni: direct index for structure (layout(column_major shared ) uniform mediump int)
+0:44 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:44 Constant:
+0:44 1 (const int)
+0:44 Convert uint to float (temp mediump float)
+0:44 direct index (temp mediump uint)
+0:44 bv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
+0:44 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
+0:44 Constant:
+0:44 0 (const uint)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Convert uint to float (temp mediump float)
+0:44 direct index (temp mediump uint)
+0:44 nbv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
+0:44 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:44 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 0 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:45 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:45 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:45 direct index (temp mediump uint)
+0:45 v: direct index for structure (global mediump 4-component vector of uint)
+0:45 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
+0:45 Constant:
+0:45 1 (const int)
+0:45 Constant:
+0:45 0 (const int)
+0:46 'fooBlock' (temp float)
+0:47 Constant:
+0:47 0.000000
+0:50 Construct mat4 (temp 4X4 matrix of float)
+0:50 'barBlock' (temp mediump float)
+0:51 Construct mat4 (temp 4X4 matrix of float)
+0:51 'unreferenced' (temp float)
+0:52 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
+0:53 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:54 Pre-Increment (temp mediump float)
+0:54 'barBlock' (temp mediump float)
+0:55 Constant:
+0:55 2 (const int)
+0:? Linker Objects
+0:? 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
+0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
+0:? 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:? 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
+0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f, layout(column_major shared ) uniform mediump uint u})
+
diff --git a/Test/baseResults/300layout.frag.out b/Test/baseResults/300layout.frag.out
index a44c2d7..62a0b36 100644
--- a/Test/baseResults/300layout.frag.out
+++ b/Test/baseResults/300layout.frag.out
@@ -1,69 +1,69 @@
-300layout.frag
-ERROR: 0:4: 'location qualifier on input' : not supported in this stage: fragment
-ERROR: 0:4: 'location qualifier on input' : not supported for this version or the enabled extensions
-ERROR: 0:17: 'location' : too large for fragment output
-ERROR: 0:18: 'location' : too large for fragment output
-ERROR: 0:18: 'location' : overlapping use of location 41
-ERROR: 0:19: 'location' : too large for fragment output
-ERROR: 0:19: 'location' : overlapping use of location 40
-ERROR: 7 compilation errors. No code generated.
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:12 Sequence
-0:12 move second child to first child (temp mediump 4-component vector of float)
-0:12 'c' (layout(location=1 ) out mediump 4-component vector of float)
-0:12 'color' (layout(location=2 ) smooth in mediump 4-component vector of float)
-0:13 move second child to first child (temp mediump 4-component vector of float)
-0:13 'p' (layout(location=3 ) out mediump 4-component vector of float)
-0:13 'pos' (smooth in mediump 4-component vector of float)
-0:14 move second child to first child (temp mediump 4-component vector of float)
-0:14 direct index (layout(location=4 ) temp mediump 4-component vector of float)
-0:14 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float)
-0:14 Constant:
-0:14 1 (const int)
-0:14 'pos' (smooth in mediump 4-component vector of float)
-0:? Linker Objects
-0:? 'pos' (smooth in mediump 4-component vector of float)
-0:? 'color' (layout(location=2 ) smooth in mediump 4-component vector of float)
-0:? 'c' (layout(location=1 ) out mediump 4-component vector of float)
-0:? 'p' (layout(location=3 ) out mediump 4-component vector of float)
-0:? 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float)
-0:? 'ca' (layout(location=40 ) out 4-element array of mediump float)
-0:? 'cb' (layout(location=41 ) out 2-element array of mediump float)
-0:? 'cc' (layout(location=39 ) out 6-element array of mediump float)
-
-
-Linked fragment stage:
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:12 Sequence
-0:12 move second child to first child (temp mediump 4-component vector of float)
-0:12 'c' (layout(location=1 ) out mediump 4-component vector of float)
-0:12 'color' (layout(location=2 ) smooth in mediump 4-component vector of float)
-0:13 move second child to first child (temp mediump 4-component vector of float)
-0:13 'p' (layout(location=3 ) out mediump 4-component vector of float)
-0:13 'pos' (smooth in mediump 4-component vector of float)
-0:14 move second child to first child (temp mediump 4-component vector of float)
-0:14 direct index (layout(location=4 ) temp mediump 4-component vector of float)
-0:14 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float)
-0:14 Constant:
-0:14 1 (const int)
-0:14 'pos' (smooth in mediump 4-component vector of float)
-0:? Linker Objects
-0:? 'pos' (smooth in mediump 4-component vector of float)
-0:? 'color' (layout(location=2 ) smooth in mediump 4-component vector of float)
-0:? 'c' (layout(location=1 ) out mediump 4-component vector of float)
-0:? 'p' (layout(location=3 ) out mediump 4-component vector of float)
-0:? 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float)
-0:? 'ca' (layout(location=40 ) out 4-element array of mediump float)
-0:? 'cb' (layout(location=41 ) out 2-element array of mediump float)
-0:? 'cc' (layout(location=39 ) out 6-element array of mediump float)
-
+300layout.frag
+ERROR: 0:4: 'location qualifier on input' : not supported in this stage: fragment
+ERROR: 0:4: 'location qualifier on input' : not supported for this version or the enabled extensions
+ERROR: 0:17: 'location' : too large for fragment output
+ERROR: 0:18: 'location' : too large for fragment output
+ERROR: 0:18: 'location' : overlapping use of location 41
+ERROR: 0:19: 'location' : too large for fragment output
+ERROR: 0:19: 'location' : overlapping use of location 40
+ERROR: 7 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 move second child to first child (temp mediump 4-component vector of float)
+0:12 'c' (layout(location=1 ) out mediump 4-component vector of float)
+0:12 'color' (layout(location=2 ) smooth in mediump 4-component vector of float)
+0:13 move second child to first child (temp mediump 4-component vector of float)
+0:13 'p' (layout(location=3 ) out mediump 4-component vector of float)
+0:13 'pos' (smooth in mediump 4-component vector of float)
+0:14 move second child to first child (temp mediump 4-component vector of float)
+0:14 direct index (layout(location=4 ) temp mediump 4-component vector of float)
+0:14 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float)
+0:14 Constant:
+0:14 1 (const int)
+0:14 'pos' (smooth in mediump 4-component vector of float)
+0:? Linker Objects
+0:? 'pos' (smooth in mediump 4-component vector of float)
+0:? 'color' (layout(location=2 ) smooth in mediump 4-component vector of float)
+0:? 'c' (layout(location=1 ) out mediump 4-component vector of float)
+0:? 'p' (layout(location=3 ) out mediump 4-component vector of float)
+0:? 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float)
+0:? 'ca' (layout(location=40 ) out 4-element array of mediump float)
+0:? 'cb' (layout(location=41 ) out 2-element array of mediump float)
+0:? 'cc' (layout(location=39 ) out 6-element array of mediump float)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 move second child to first child (temp mediump 4-component vector of float)
+0:12 'c' (layout(location=1 ) out mediump 4-component vector of float)
+0:12 'color' (layout(location=2 ) smooth in mediump 4-component vector of float)
+0:13 move second child to first child (temp mediump 4-component vector of float)
+0:13 'p' (layout(location=3 ) out mediump 4-component vector of float)
+0:13 'pos' (smooth in mediump 4-component vector of float)
+0:14 move second child to first child (temp mediump 4-component vector of float)
+0:14 direct index (layout(location=4 ) temp mediump 4-component vector of float)
+0:14 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float)
+0:14 Constant:
+0:14 1 (const int)
+0:14 'pos' (smooth in mediump 4-component vector of float)
+0:? Linker Objects
+0:? 'pos' (smooth in mediump 4-component vector of float)
+0:? 'color' (layout(location=2 ) smooth in mediump 4-component vector of float)
+0:? 'c' (layout(location=1 ) out mediump 4-component vector of float)
+0:? 'p' (layout(location=3 ) out mediump 4-component vector of float)
+0:? 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float)
+0:? 'ca' (layout(location=40 ) out 4-element array of mediump float)
+0:? 'cb' (layout(location=41 ) out 2-element array of mediump float)
+0:? 'cc' (layout(location=39 ) out 6-element array of mediump float)
+
diff --git a/Test/baseResults/300layout.vert.out b/Test/baseResults/300layout.vert.out
index c31c73d..f69a989 100644
--- a/Test/baseResults/300layout.vert.out
+++ b/Test/baseResults/300layout.vert.out
@@ -1,147 +1,147 @@
-300layout.vert
-ERROR: 0:7: 'vertex input arrays' : not supported with this profile: es
-ERROR: 0:8: 'in' : cannot be a structure or array
-ERROR: 0:8: 'vertex input arrays' : not supported with this profile: es
-ERROR: 0:8: 'location' : overlapping use of location 10
-ERROR: 0:12: 'layout' : cannot specify matrix layout on a variable declaration
-ERROR: 0:12: 'layout' : cannot specify packing on a variable declaration
-ERROR: 0:19: 'badf' : member of uniform or buffer block cannot have an auxiliary or interpolation qualifier
-ERROR: 0:20: 'badg' : member storage qualifier cannot contradict block storage qualifier
-ERROR: 0:21: 'bad1' : member of block cannot have a packing layout qualifier
-ERROR: 0:22: 'bad2' : member of block cannot have a packing layout qualifier
-ERROR: 0:23: 'bad3' : member of block cannot have a packing layout qualifier
-ERROR: 0:31: 'T3' : nameless block contains a member that already has a name at global scope
-ERROR: 0:38: 'vertex output block' : not supported for this version or the enabled extensions
-ERROR: 0:42: 'location qualifier on output' : not supported in this stage: vertex
-ERROR: 0:42: 'location qualifier on output' : not supported for this version or the enabled extensions
-ERROR: 0:50: 'shared' : not supported for this version or the enabled extensions
-ERROR: 0:50: 'shared' : not supported in this stage: vertex
-ERROR: 0:54: 'layout' : cannot specify packing on a variable declaration
-ERROR: 0:57: 'location' : overlapping use of location 40
-ERROR: 19 compilation errors. No code generated.
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:44 Function Definition: main( (global void)
-0:44 Function Parameters:
-0:46 Sequence
-0:46 move second child to first child (temp highp 4-component vector of float)
-0:46 'pos' (smooth out highp 4-component vector of float)
-0:46 vector-times-matrix (temp highp 4-component vector of float)
-0:46 'p' (layout(location=3 ) in highp 4-component vector of float)
-0:46 add (temp highp 4X4 matrix of float)
-0:46 add (temp highp 4X4 matrix of float)
-0:46 add (temp highp 4X4 matrix of float)
-0:46 add (temp highp 4X4 matrix of float)
-0:46 M1: direct index for structure (layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float)
-0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
-0:46 Constant:
-0:46 0 (const int)
-0:46 M2: direct index for structure (layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float)
-0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
-0:46 Constant:
-0:46 1 (const int)
-0:46 M4: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float)
-0:46 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b})
-0:46 Constant:
-0:46 1 (const uint)
-0:46 M3: direct index for structure (layout(column_major shared ) uniform highp 4X4 matrix of float)
-0:46 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b})
-0:46 Constant:
-0:46 0 (const uint)
-0:46 t2m: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float)
-0:46 'anon@0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m})
-0:46 Constant:
-0:46 1 (const uint)
-0:47 move second child to first child (temp highp 3-component vector of float)
-0:47 'color' (smooth out highp 3-component vector of float)
-0:47 vector-times-matrix (temp highp 3-component vector of float)
-0:47 'c' (layout(location=7 ) in highp 3-component vector of float)
-0:47 N1: direct index for structure (layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float)
-0:47 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
-0:47 Constant:
-0:47 2 (const int)
-0:? Linker Objects
-0:? 'c' (layout(location=7 ) in highp 3-component vector of float)
-0:? 'p' (layout(location=3 ) in highp 4-component vector of float)
-0:? 'q' (layout(location=9 ) in 4-element array of highp 4-component vector of float)
-0:? 'r' (layout(location=10 ) in 4-element array of structure{global highp 4-component vector of float v})
-0:? 'pos' (smooth out highp 4-component vector of float)
-0:? 'color' (smooth out highp 3-component vector of float)
-0:? 'badm4' (layout(column_major shared ) uniform highp 4X4 matrix of float)
-0:? 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
-0:? 'anon@0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m})
-0:? 'anon@2' (out block{out highp float f})
-0:? 'badoutA' (layout(location=10 ) smooth out highp 4-component vector of float)
-0:? 'compute_only' (shared highp 4-component vector of float)
-0:? 'aoeuntaoeu' (layout(packed ) uniform highp float)
-0:? 'cd' (layout(location=40 ) in highp float)
-0:? 'ce' (layout(location=37 ) in highp 4X3 matrix of float)
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:44 Function Definition: main( (global void)
-0:44 Function Parameters:
-0:46 Sequence
-0:46 move second child to first child (temp highp 4-component vector of float)
-0:46 'pos' (smooth out highp 4-component vector of float)
-0:46 vector-times-matrix (temp highp 4-component vector of float)
-0:46 'p' (layout(location=3 ) in highp 4-component vector of float)
-0:46 add (temp highp 4X4 matrix of float)
-0:46 add (temp highp 4X4 matrix of float)
-0:46 add (temp highp 4X4 matrix of float)
-0:46 add (temp highp 4X4 matrix of float)
-0:46 M1: direct index for structure (layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float)
-0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
-0:46 Constant:
-0:46 0 (const int)
-0:46 M2: direct index for structure (layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float)
-0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
-0:46 Constant:
-0:46 1 (const int)
-0:46 M4: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float)
-0:46 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b})
-0:46 Constant:
-0:46 1 (const uint)
-0:46 M3: direct index for structure (layout(column_major shared ) uniform highp 4X4 matrix of float)
-0:46 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b})
-0:46 Constant:
-0:46 0 (const uint)
-0:46 t2m: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float)
-0:46 'anon@0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m})
-0:46 Constant:
-0:46 1 (const uint)
-0:47 move second child to first child (temp highp 3-component vector of float)
-0:47 'color' (smooth out highp 3-component vector of float)
-0:47 vector-times-matrix (temp highp 3-component vector of float)
-0:47 'c' (layout(location=7 ) in highp 3-component vector of float)
-0:47 N1: direct index for structure (layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float)
-0:47 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
-0:47 Constant:
-0:47 2 (const int)
-0:? Linker Objects
-0:? 'c' (layout(location=7 ) in highp 3-component vector of float)
-0:? 'p' (layout(location=3 ) in highp 4-component vector of float)
-0:? 'q' (layout(location=9 ) in 4-element array of highp 4-component vector of float)
-0:? 'r' (layout(location=10 ) in 4-element array of structure{global highp 4-component vector of float v})
-0:? 'pos' (smooth out highp 4-component vector of float)
-0:? 'color' (smooth out highp 3-component vector of float)
-0:? 'badm4' (layout(column_major shared ) uniform highp 4X4 matrix of float)
-0:? 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
-0:? 'anon@0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m})
-0:? 'anon@2' (out block{out highp float f})
-0:? 'badoutA' (layout(location=10 ) smooth out highp 4-component vector of float)
-0:? 'compute_only' (shared highp 4-component vector of float)
-0:? 'aoeuntaoeu' (layout(packed ) uniform highp float)
-0:? 'cd' (layout(location=40 ) in highp float)
-0:? 'ce' (layout(location=37 ) in highp 4X3 matrix of float)
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
+300layout.vert
+ERROR: 0:7: 'vertex input arrays' : not supported with this profile: es
+ERROR: 0:8: 'in' : cannot be a structure or array
+ERROR: 0:8: 'vertex input arrays' : not supported with this profile: es
+ERROR: 0:8: 'location' : overlapping use of location 10
+ERROR: 0:12: 'layout' : cannot specify matrix layout on a variable declaration
+ERROR: 0:12: 'layout' : cannot specify packing on a variable declaration
+ERROR: 0:19: 'badf' : member of uniform or buffer block cannot have an auxiliary or interpolation qualifier
+ERROR: 0:20: 'badg' : member storage qualifier cannot contradict block storage qualifier
+ERROR: 0:21: 'bad1' : member of block cannot have a packing layout qualifier
+ERROR: 0:22: 'bad2' : member of block cannot have a packing layout qualifier
+ERROR: 0:23: 'bad3' : member of block cannot have a packing layout qualifier
+ERROR: 0:31: 'T3' : nameless block contains a member that already has a name at global scope
+ERROR: 0:38: 'vertex output block' : not supported for this version or the enabled extensions
+ERROR: 0:42: 'location qualifier on output' : not supported in this stage: vertex
+ERROR: 0:42: 'location qualifier on output' : not supported for this version or the enabled extensions
+ERROR: 0:50: 'shared' : not supported for this version or the enabled extensions
+ERROR: 0:50: 'shared' : not supported in this stage: vertex
+ERROR: 0:54: 'layout' : cannot specify packing on a variable declaration
+ERROR: 0:57: 'location' : overlapping use of location 40
+ERROR: 19 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:44 Function Definition: main( (global void)
+0:44 Function Parameters:
+0:46 Sequence
+0:46 move second child to first child (temp highp 4-component vector of float)
+0:46 'pos' (smooth out highp 4-component vector of float)
+0:46 vector-times-matrix (temp highp 4-component vector of float)
+0:46 'p' (layout(location=3 ) in highp 4-component vector of float)
+0:46 add (temp highp 4X4 matrix of float)
+0:46 add (temp highp 4X4 matrix of float)
+0:46 add (temp highp 4X4 matrix of float)
+0:46 add (temp highp 4X4 matrix of float)
+0:46 M1: direct index for structure (layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float)
+0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
+0:46 Constant:
+0:46 0 (const int)
+0:46 M2: direct index for structure (layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float)
+0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
+0:46 Constant:
+0:46 1 (const int)
+0:46 M4: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float)
+0:46 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b})
+0:46 Constant:
+0:46 1 (const uint)
+0:46 M3: direct index for structure (layout(column_major shared ) uniform highp 4X4 matrix of float)
+0:46 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b})
+0:46 Constant:
+0:46 0 (const uint)
+0:46 t2m: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float)
+0:46 'anon@0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m})
+0:46 Constant:
+0:46 1 (const uint)
+0:47 move second child to first child (temp highp 3-component vector of float)
+0:47 'color' (smooth out highp 3-component vector of float)
+0:47 vector-times-matrix (temp highp 3-component vector of float)
+0:47 'c' (layout(location=7 ) in highp 3-component vector of float)
+0:47 N1: direct index for structure (layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float)
+0:47 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
+0:47 Constant:
+0:47 2 (const int)
+0:? Linker Objects
+0:? 'c' (layout(location=7 ) in highp 3-component vector of float)
+0:? 'p' (layout(location=3 ) in highp 4-component vector of float)
+0:? 'q' (layout(location=9 ) in 4-element array of highp 4-component vector of float)
+0:? 'r' (layout(location=10 ) in 4-element array of structure{global highp 4-component vector of float v})
+0:? 'pos' (smooth out highp 4-component vector of float)
+0:? 'color' (smooth out highp 3-component vector of float)
+0:? 'badm4' (layout(column_major shared ) uniform highp 4X4 matrix of float)
+0:? 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
+0:? 'anon@0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m})
+0:? 'anon@2' (out block{out highp float f})
+0:? 'badoutA' (layout(location=10 ) smooth out highp 4-component vector of float)
+0:? 'compute_only' (shared highp 4-component vector of float)
+0:? 'aoeuntaoeu' (layout(packed ) uniform highp float)
+0:? 'cd' (layout(location=40 ) in highp float)
+0:? 'ce' (layout(location=37 ) in highp 4X3 matrix of float)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:44 Function Definition: main( (global void)
+0:44 Function Parameters:
+0:46 Sequence
+0:46 move second child to first child (temp highp 4-component vector of float)
+0:46 'pos' (smooth out highp 4-component vector of float)
+0:46 vector-times-matrix (temp highp 4-component vector of float)
+0:46 'p' (layout(location=3 ) in highp 4-component vector of float)
+0:46 add (temp highp 4X4 matrix of float)
+0:46 add (temp highp 4X4 matrix of float)
+0:46 add (temp highp 4X4 matrix of float)
+0:46 add (temp highp 4X4 matrix of float)
+0:46 M1: direct index for structure (layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float)
+0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
+0:46 Constant:
+0:46 0 (const int)
+0:46 M2: direct index for structure (layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float)
+0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
+0:46 Constant:
+0:46 1 (const int)
+0:46 M4: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float)
+0:46 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b})
+0:46 Constant:
+0:46 1 (const uint)
+0:46 M3: direct index for structure (layout(column_major shared ) uniform highp 4X4 matrix of float)
+0:46 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b})
+0:46 Constant:
+0:46 0 (const uint)
+0:46 t2m: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float)
+0:46 'anon@0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m})
+0:46 Constant:
+0:46 1 (const uint)
+0:47 move second child to first child (temp highp 3-component vector of float)
+0:47 'color' (smooth out highp 3-component vector of float)
+0:47 vector-times-matrix (temp highp 3-component vector of float)
+0:47 'c' (layout(location=7 ) in highp 3-component vector of float)
+0:47 N1: direct index for structure (layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float)
+0:47 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
+0:47 Constant:
+0:47 2 (const int)
+0:? Linker Objects
+0:? 'c' (layout(location=7 ) in highp 3-component vector of float)
+0:? 'p' (layout(location=3 ) in highp 4-component vector of float)
+0:? 'q' (layout(location=9 ) in 4-element array of highp 4-component vector of float)
+0:? 'r' (layout(location=10 ) in 4-element array of structure{global highp 4-component vector of float v})
+0:? 'pos' (smooth out highp 4-component vector of float)
+0:? 'color' (smooth out highp 3-component vector of float)
+0:? 'badm4' (layout(column_major shared ) uniform highp 4X4 matrix of float)
+0:? 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3})
+0:? 'anon@0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m})
+0:? 'anon@2' (out block{out highp float f})
+0:? 'badoutA' (layout(location=10 ) smooth out highp 4-component vector of float)
+0:? 'compute_only' (shared highp 4-component vector of float)
+0:? 'aoeuntaoeu' (layout(packed ) uniform highp float)
+0:? 'cd' (layout(location=40 ) in highp float)
+0:? 'ce' (layout(location=37 ) in highp 4X3 matrix of float)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/Test/baseResults/300link.frag.out b/Test/baseResults/300link.frag.out
index 3ed1353..0713d3d 100644
--- a/Test/baseResults/300link.frag.out
+++ b/Test/baseResults/300link.frag.out
@@ -1,22 +1,22 @@
-300link.frag
-Shader version: 300
-0:? Sequence
-0:8 Function Definition: main( (global void)
-0:8 Function Parameters:
-0:? Linker Objects
-0:? 'color1' (out highp 4-component vector of float)
-0:? 'color2' (out highp 4-component vector of float)
-
-
-Linked fragment stage:
-
-ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers
-
-Shader version: 300
-0:? Sequence
-0:8 Function Definition: main( (global void)
-0:8 Function Parameters:
-0:? Linker Objects
-0:? 'color1' (out highp 4-component vector of float)
-0:? 'color2' (out highp 4-component vector of float)
-
+300link.frag
+Shader version: 300
+0:? Sequence
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:? Linker Objects
+0:? 'color1' (out highp 4-component vector of float)
+0:? 'color2' (out highp 4-component vector of float)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers
+
+Shader version: 300
+0:? Sequence
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:? Linker Objects
+0:? 'color1' (out highp 4-component vector of float)
+0:? 'color2' (out highp 4-component vector of float)
+
diff --git a/Test/baseResults/300link2.frag.out b/Test/baseResults/300link2.frag.out
index 156a967..aaf71dc 100644
--- a/Test/baseResults/300link2.frag.out
+++ b/Test/baseResults/300link2.frag.out
@@ -1,25 +1,25 @@
-300link2.frag
-Shader version: 300
-0:? Sequence
-0:9 Function Definition: main( (global void)
-0:9 Function Parameters:
-0:? Linker Objects
-0:? 'pos' (smooth in mediump 4-component vector of float)
-0:? 'c' (layout(location=1 ) out mediump 4-component vector of float)
-0:? 'p' (layout(location=5 ) out mediump 4-component vector of float)
-0:? 'q' (layout(location=9 ) out 2-element array of mediump 4-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 300
-0:? Sequence
-0:9 Function Definition: main( (global void)
-0:9 Function Parameters:
-0:? Linker Objects
-0:? 'pos' (smooth in mediump 4-component vector of float)
-0:? 'c' (layout(location=1 ) out mediump 4-component vector of float)
-0:? 'p' (layout(location=5 ) out mediump 4-component vector of float)
-0:? 'q' (layout(location=9 ) out 2-element array of mediump 4-component vector of float)
-
+300link2.frag
+Shader version: 300
+0:? Sequence
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:? Linker Objects
+0:? 'pos' (smooth in mediump 4-component vector of float)
+0:? 'c' (layout(location=1 ) out mediump 4-component vector of float)
+0:? 'p' (layout(location=5 ) out mediump 4-component vector of float)
+0:? 'q' (layout(location=9 ) out 2-element array of mediump 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+0:? Sequence
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:? Linker Objects
+0:? 'pos' (smooth in mediump 4-component vector of float)
+0:? 'c' (layout(location=1 ) out mediump 4-component vector of float)
+0:? 'p' (layout(location=5 ) out mediump 4-component vector of float)
+0:? 'q' (layout(location=9 ) out 2-element array of mediump 4-component vector of float)
+
diff --git a/Test/baseResults/300link3.frag.out b/Test/baseResults/300link3.frag.out
index 5fa6002..3224695 100644
--- a/Test/baseResults/300link3.frag.out
+++ b/Test/baseResults/300link3.frag.out
@@ -1,19 +1,19 @@
-300link3.frag
-Shader version: 300
-0:? Sequence
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:? Linker Objects
-0:? 'color1' (out highp 4-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 300
-0:? Sequence
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:? Linker Objects
-0:? 'color1' (out highp 4-component vector of float)
-
+300link3.frag
+Shader version: 300
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:? Linker Objects
+0:? 'color1' (out highp 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:? Linker Objects
+0:? 'color1' (out highp 4-component vector of float)
+
diff --git a/Test/baseResults/300operations.frag.out b/Test/baseResults/300operations.frag.out
index 244e5b0..ff7663e 100644
--- a/Test/baseResults/300operations.frag.out
+++ b/Test/baseResults/300operations.frag.out
@@ -1,420 +1,420 @@
-300operations.frag
-ERROR: 0:11: 'float' : type requires declaration of default precision qualifier
-ERROR: 0:30: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}' and a right operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}' (or there is no acceptable conversion)
-ERROR: 0:31: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'global structure{global mediump int i}' and a right operand of type 'global structure{global mediump int i}' (or there is no acceptable conversion)
-ERROR: 0:32: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
-ERROR: 0:33: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
-ERROR: 0:34: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump int' (or there is no acceptable conversion)
-ERROR: 0:35: 'assign' : cannot convert from 'temp mediump 4-component vector of int' to 'temp mediump 3-component vector of int'
-ERROR: 0:36: '/' : wrong operand types: no operation '/' exists that takes a left-hand operand of type 'temp mediump 4-component vector of int' and a right operand of type 'temp mediump 4-component vector of uint' (or there is no acceptable conversion)
-ERROR: 0:37: '-' : wrong operand types: no operation '-' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump 3-component vector of float' (or there is no acceptable conversion)
-ERROR: 0:38: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp mediump 3-component vector of int' and a right operand of type 'temp mediump 3-component vector of uint' (or there is no acceptable conversion)
-ERROR: 0:39: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type 'global 5-element array of mediump float' and a right operand of type 'global 5-element array of mediump float' (or there is no acceptable conversion)
-ERROR: 0:40: '/' : wrong operand types: no operation '/' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp bool' (or there is no acceptable conversion)
-ERROR: 0:42: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type 'temp mediump float' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
-ERROR: 0:43: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
-ERROR: 0:44: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type 'temp mediump float' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion)
-ERROR: 0:45: '++' : l-value required "instanceName" (can't modify a uniform)
-ERROR: 0:45: '++' : wrong operand type no operation '++' exists that takes an operand of type layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f} (or there is no acceptable conversion)
-ERROR: 0:46: '++' : wrong operand type no operation '++' exists that takes an operand of type global structure{global mediump int i} (or there is no acceptable conversion)
-ERROR: 0:47: '--' : wrong operand type no operation '--' exists that takes an operand of type global 5-element array of mediump float (or there is no acceptable conversion)
-ERROR: 0:48: '++' : wrong operand type no operation '++' exists that takes an operand of type temp 3-component vector of bool (or there is no acceptable conversion)
-ERROR: 0:50: '<' : wrong operand types: no operation '<' exists that takes a left-hand operand of type 'temp mediump 3-component vector of int' and a right operand of type 'temp mediump 3-component vector of uint' (or there is no acceptable conversion)
-ERROR: 0:51: '>' : wrong operand types: no operation '>' exists that takes a left-hand operand of type 'temp mediump 2X2 matrix of float' and a right operand of type 'temp mediump 2X2 matrix of float' (or there is no acceptable conversion)
-ERROR: 0:52: '!=' : wrong operand types: no operation '!=' exists that takes a left-hand operand of type 'temp mediump 2X2 matrix of float' and a right operand of type 'temp mediump 4X4 matrix of float' (or there is no acceptable conversion)
-ERROR: 0:53: '>=' : wrong operand types: no operation '>=' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion)
-ERROR: 0:54: '<=' : wrong operand types: no operation '<=' exists that takes a left-hand operand of type 'global 5-element array of mediump float' and a right operand of type 'global 5-element array of mediump float' (or there is no acceptable conversion)
-ERROR: 0:55: '>' : wrong operand types: no operation '>' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp bool' (or there is no acceptable conversion)
-ERROR: 0:57: '&&' : wrong operand types: no operation '&&' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp 3-component vector of bool' (or there is no acceptable conversion)
-ERROR: 0:58: '^^' : wrong operand types: no operation '^^' exists that takes a left-hand operand of type 'temp 3-component vector of bool' and a right operand of type 'temp 3-component vector of bool' (or there is no acceptable conversion)
-ERROR: 0:59: '||' : wrong operand types: no operation '||' exists that takes a left-hand operand of type 'temp 3-component vector of bool' and a right operand of type 'temp bool' (or there is no acceptable conversion)
-ERROR: 0:60: '&&' : wrong operand types: no operation '&&' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump int' (or there is no acceptable conversion)
-ERROR: 0:61: '||' : wrong operand types: no operation '||' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion)
-ERROR: 0:62: '^^' : wrong operand types: no operation '^^' exists that takes a left-hand operand of type 'temp mediump 2X2 matrix of float' and a right operand of type 'temp mediump 2X2 matrix of float' (or there is no acceptable conversion)
-ERROR: 0:64: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump uint (or there is no acceptable conversion)
-ERROR: 0:65: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump int (or there is no acceptable conversion)
-ERROR: 0:66: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump 2X2 matrix of float (or there is no acceptable conversion)
-ERROR: 0:67: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump 3-component vector of float (or there is no acceptable conversion)
-ERROR: 0:68: '!' : wrong operand type no operation '!' exists that takes an operand of type global 5-element array of mediump float (or there is no acceptable conversion)
-ERROR: 0:70: '~' : wrong operand type no operation '~' exists that takes an operand of type temp mediump float (or there is no acceptable conversion)
-ERROR: 0:71: '~' : wrong operand type no operation '~' exists that takes an operand of type temp mediump 4X4 matrix of float (or there is no acceptable conversion)
-ERROR: 0:72: '~' : wrong operand type no operation '~' exists that takes an operand of type temp mediump 3-component vector of float (or there is no acceptable conversion)
-ERROR: 0:73: '~' : wrong operand type no operation '~' exists that takes an operand of type global 5-element array of mediump float (or there is no acceptable conversion)
-ERROR: 0:74: '~' : wrong operand type no operation '~' exists that takes an operand of type layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f} (or there is no acceptable conversion)
-ERROR: 0:76: '<<' : wrong operand types: no operation '<<' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump 3-component vector of int' (or there is no acceptable conversion)
-ERROR: 0:77: '<<' : wrong operand types: no operation '<<' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump 3-component vector of uint' (or there is no acceptable conversion)
-ERROR: 0:78: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
-ERROR: 0:79: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'temp mediump float' and a right operand of type 'temp mediump int' (or there is no acceptable conversion)
-ERROR: 0:80: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'temp mediump 4X4 matrix of float' and a right operand of type 'temp mediump int' (or there is no acceptable conversion)
-ERROR: 0:81: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'global 5-element array of mediump float' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion)
-ERROR: 0:82: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'temp mediump 3-component vector of int' and a right operand of type 'temp mediump 4-component vector of int' (or there is no acceptable conversion)
-ERROR: 0:84: '&' : wrong operand types: no operation '&' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion)
-ERROR: 0:85: 'assign' : cannot convert from 'temp mediump 3-component vector of uint' to 'temp mediump uint'
-ERROR: 0:86: '|' : wrong operand types: no operation '|' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump 3-component vector of uint' (or there is no acceptable conversion)
-ERROR: 0:87: '&' : wrong operand types: no operation '&' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
-ERROR: 0:88: '|' : wrong operand types: no operation '|' exists that takes a left-hand operand of type 'temp mediump 2X2 matrix of float' and a right operand of type 'temp mediump 2X2 matrix of float' (or there is no acceptable conversion)
-ERROR: 0:89: '^' : wrong operand types: no operation '^' exists that takes a left-hand operand of type 'global structure{global mediump int i}' and a right operand of type 'global structure{global mediump int i}' (or there is no acceptable conversion)
-ERROR: 0:90: 'assign' : l-value required
-ERROR: 56 compilation errors. No code generated.
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:13 Function Definition: main( (global void)
-0:13 Function Parameters:
-0:? Sequence
-0:30 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
-0:31 's' (global structure{global mediump int i})
-0:32 'i' (temp mediump int)
-0:33 'u' (temp mediump uint)
-0:34 'u' (temp mediump uint)
-0:35 'iv3' (temp mediump 3-component vector of int)
-0:36 'iv4' (temp mediump 4-component vector of int)
-0:37 'i' (temp mediump int)
-0:38 'iv3' (temp mediump 3-component vector of int)
-0:39 'a' (global 5-element array of mediump float)
-0:40 'b' (temp bool)
-0:42 'f' (temp mediump float)
-0:43 'i' (temp mediump int)
-0:44 'f' (temp mediump float)
-0:45 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
-0:46 's' (global structure{global mediump int i})
-0:47 'a' (global 5-element array of mediump float)
-0:48 'b3' (temp 3-component vector of bool)
-0:50 Constant:
-0:50 false (const bool)
-0:51 Constant:
-0:51 false (const bool)
-0:52 Constant:
-0:52 false (const bool)
-0:53 Constant:
-0:53 false (const bool)
-0:54 Constant:
-0:54 false (const bool)
-0:55 Constant:
-0:55 false (const bool)
-0:57 Constant:
-0:57 false (const bool)
-0:58 Constant:
-0:58 false (const bool)
-0:59 Constant:
-0:59 false (const bool)
-0:60 Constant:
-0:60 false (const bool)
-0:61 Constant:
-0:61 false (const bool)
-0:62 Constant:
-0:62 false (const bool)
-0:64 'u' (temp mediump uint)
-0:65 'i' (temp mediump int)
-0:66 'm2' (temp mediump 2X2 matrix of float)
-0:67 'v3' (temp mediump 3-component vector of float)
-0:68 'a' (global 5-element array of mediump float)
-0:70 'f' (temp mediump float)
-0:71 'm4' (temp mediump 4X4 matrix of float)
-0:72 'v3' (temp mediump 3-component vector of float)
-0:73 'a' (global 5-element array of mediump float)
-0:74 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
-0:76 'i' (temp mediump int)
-0:77 'u' (temp mediump uint)
-0:78 'i' (temp mediump int)
-0:79 'f' (temp mediump float)
-0:80 'm4' (temp mediump 4X4 matrix of float)
-0:81 'a' (global 5-element array of mediump float)
-0:82 'iv3' (temp mediump 3-component vector of int)
-0:84 'i' (temp mediump int)
-0:85 'u' (temp mediump uint)
-0:86 'i' (temp mediump int)
-0:87 'u' (temp mediump uint)
-0:88 'm2' (temp mediump 2X2 matrix of float)
-0:89 's' (global structure{global mediump int i})
-0:90 move second child to first child (temp mediump float)
-0:90 move second child to first child (temp mediump float)
-0:90 'f' (temp mediump float)
-0:90 'f' (temp mediump float)
-0:90 'f' (temp mediump float)
-0:93 vector-scale (temp mediump 4-component vector of float)
-0:93 'f' (temp mediump float)
-0:93 'v4' (temp mediump 4-component vector of float)
-0:94 add (temp mediump uint)
-0:94 'u' (temp mediump uint)
-0:94 'u' (temp mediump uint)
-0:95 divide (temp mediump 4-component vector of uint)
-0:95 'uv4' (temp mediump 4-component vector of uint)
-0:95 'u' (temp mediump uint)
-0:96 subtract second child into first child (temp mediump 3-component vector of int)
-0:96 'iv3' (temp mediump 3-component vector of int)
-0:96 'iv3' (temp mediump 3-component vector of int)
-0:98 mod second child into first child (temp mediump int)
-0:98 'i' (temp mediump int)
-0:98 Constant:
-0:98 3 (const int)
-0:99 mod (temp mediump 3-component vector of uint)
-0:99 'uv3' (temp mediump 3-component vector of uint)
-0:99 Constant:
-0:99 4 (const uint)
-0:100 Pre-Decrement (temp mediump 2X2 matrix of float)
-0:100 'm2' (temp mediump 2X2 matrix of float)
-0:101 Post-Increment (temp mediump 4-component vector of int)
-0:101 'iv4' (temp mediump 4-component vector of int)
-0:103 Compare Not Equal (temp bool)
-0:103 'm4' (temp mediump 4X4 matrix of float)
-0:103 'm4' (temp mediump 4X4 matrix of float)
-0:104 Compare Equal (temp bool)
-0:104 'm2' (temp mediump 2X2 matrix of float)
-0:104 'm2' (temp mediump 2X2 matrix of float)
-0:105 Compare Less Than or Equal (temp bool)
-0:105 'i' (temp mediump int)
-0:105 'i' (temp mediump int)
-0:106 Compare Equal (temp bool)
-0:106 'a' (global 5-element array of mediump float)
-0:106 'a' (global 5-element array of mediump float)
-0:107 Compare Not Equal (temp bool)
-0:107 's' (global structure{global mediump int i})
-0:107 's' (global structure{global mediump int i})
-0:109 logical-and (temp bool)
-0:109 'b' (temp bool)
-0:109 'b' (temp bool)
-0:110 logical-or (temp bool)
-0:110 'b' (temp bool)
-0:110 'b' (temp bool)
-0:111 logical-xor (temp bool)
-0:111 'b' (temp bool)
-0:111 'b' (temp bool)
-0:113 Comma (temp mediump 3-component vector of uint)
-0:113 Negate conditional (temp bool)
-0:113 'b' (temp bool)
-0:113 'uv3' (temp mediump 3-component vector of uint)
-0:115 Bitwise not (temp mediump int)
-0:115 'i' (temp mediump int)
-0:116 Bitwise not (temp mediump uint)
-0:116 'u' (temp mediump uint)
-0:117 Bitwise not (temp mediump 3-component vector of uint)
-0:117 'uv3' (temp mediump 3-component vector of uint)
-0:118 Bitwise not (temp mediump 3-component vector of int)
-0:118 'iv3' (temp mediump 3-component vector of int)
-0:120 left shift second child into first child (temp mediump 3-component vector of uint)
-0:120 'uv3' (temp mediump 3-component vector of uint)
-0:120 'i' (temp mediump int)
-0:121 right-shift (temp mediump int)
-0:121 'i' (temp mediump int)
-0:121 'i' (temp mediump int)
-0:122 left-shift (temp mediump uint)
-0:122 'u' (temp mediump uint)
-0:122 'u' (temp mediump uint)
-0:123 right-shift (temp mediump 3-component vector of int)
-0:123 'iv3' (temp mediump 3-component vector of int)
-0:123 'iv3' (temp mediump 3-component vector of int)
-0:125 bitwise and (temp mediump int)
-0:125 'i' (temp mediump int)
-0:125 'i' (temp mediump int)
-0:126 inclusive-or (temp mediump uint)
-0:126 'u' (temp mediump uint)
-0:126 'u' (temp mediump uint)
-0:127 exclusive-or (temp mediump 3-component vector of int)
-0:127 'iv3' (temp mediump 3-component vector of int)
-0:127 'iv3' (temp mediump 3-component vector of int)
-0:128 bitwise and (temp mediump 3-component vector of uint)
-0:128 'u' (temp mediump uint)
-0:128 'uv3' (temp mediump 3-component vector of uint)
-0:129 inclusive-or (temp mediump 3-component vector of uint)
-0:129 'uv3' (temp mediump 3-component vector of uint)
-0:129 'u' (temp mediump uint)
-0:130 and second child into first child (temp mediump 3-component vector of uint)
-0:130 'uv3' (temp mediump 3-component vector of uint)
-0:130 'u' (temp mediump uint)
-0:132 direct index (temp mediump int)
-0:132 'arr' (temp 2-element array of mediump int)
-0:132 Constant:
-0:132 1 (const int)
-0:134 direct index (temp mediump int)
-0:134 'arr2' (temp 3-element array of mediump int)
-0:134 Constant:
-0:134 2 (const int)
-0:? Linker Objects
-0:? 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
-0:? 's' (global structure{global mediump int i})
-0:? 'a' (global 5-element array of mediump float)
-
-
-Linked fragment stage:
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:13 Function Definition: main( (global void)
-0:13 Function Parameters:
-0:? Sequence
-0:30 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
-0:31 's' (global structure{global mediump int i})
-0:32 'i' (temp mediump int)
-0:33 'u' (temp mediump uint)
-0:34 'u' (temp mediump uint)
-0:35 'iv3' (temp mediump 3-component vector of int)
-0:36 'iv4' (temp mediump 4-component vector of int)
-0:37 'i' (temp mediump int)
-0:38 'iv3' (temp mediump 3-component vector of int)
-0:39 'a' (global 5-element array of mediump float)
-0:40 'b' (temp bool)
-0:42 'f' (temp mediump float)
-0:43 'i' (temp mediump int)
-0:44 'f' (temp mediump float)
-0:45 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
-0:46 's' (global structure{global mediump int i})
-0:47 'a' (global 5-element array of mediump float)
-0:48 'b3' (temp 3-component vector of bool)
-0:50 Constant:
-0:50 false (const bool)
-0:51 Constant:
-0:51 false (const bool)
-0:52 Constant:
-0:52 false (const bool)
-0:53 Constant:
-0:53 false (const bool)
-0:54 Constant:
-0:54 false (const bool)
-0:55 Constant:
-0:55 false (const bool)
-0:57 Constant:
-0:57 false (const bool)
-0:58 Constant:
-0:58 false (const bool)
-0:59 Constant:
-0:59 false (const bool)
-0:60 Constant:
-0:60 false (const bool)
-0:61 Constant:
-0:61 false (const bool)
-0:62 Constant:
-0:62 false (const bool)
-0:64 'u' (temp mediump uint)
-0:65 'i' (temp mediump int)
-0:66 'm2' (temp mediump 2X2 matrix of float)
-0:67 'v3' (temp mediump 3-component vector of float)
-0:68 'a' (global 5-element array of mediump float)
-0:70 'f' (temp mediump float)
-0:71 'm4' (temp mediump 4X4 matrix of float)
-0:72 'v3' (temp mediump 3-component vector of float)
-0:73 'a' (global 5-element array of mediump float)
-0:74 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
-0:76 'i' (temp mediump int)
-0:77 'u' (temp mediump uint)
-0:78 'i' (temp mediump int)
-0:79 'f' (temp mediump float)
-0:80 'm4' (temp mediump 4X4 matrix of float)
-0:81 'a' (global 5-element array of mediump float)
-0:82 'iv3' (temp mediump 3-component vector of int)
-0:84 'i' (temp mediump int)
-0:85 'u' (temp mediump uint)
-0:86 'i' (temp mediump int)
-0:87 'u' (temp mediump uint)
-0:88 'm2' (temp mediump 2X2 matrix of float)
-0:89 's' (global structure{global mediump int i})
-0:90 move second child to first child (temp mediump float)
-0:90 move second child to first child (temp mediump float)
-0:90 'f' (temp mediump float)
-0:90 'f' (temp mediump float)
-0:90 'f' (temp mediump float)
-0:93 vector-scale (temp mediump 4-component vector of float)
-0:93 'f' (temp mediump float)
-0:93 'v4' (temp mediump 4-component vector of float)
-0:94 add (temp mediump uint)
-0:94 'u' (temp mediump uint)
-0:94 'u' (temp mediump uint)
-0:95 divide (temp mediump 4-component vector of uint)
-0:95 'uv4' (temp mediump 4-component vector of uint)
-0:95 'u' (temp mediump uint)
-0:96 subtract second child into first child (temp mediump 3-component vector of int)
-0:96 'iv3' (temp mediump 3-component vector of int)
-0:96 'iv3' (temp mediump 3-component vector of int)
-0:98 mod second child into first child (temp mediump int)
-0:98 'i' (temp mediump int)
-0:98 Constant:
-0:98 3 (const int)
-0:99 mod (temp mediump 3-component vector of uint)
-0:99 'uv3' (temp mediump 3-component vector of uint)
-0:99 Constant:
-0:99 4 (const uint)
-0:100 Pre-Decrement (temp mediump 2X2 matrix of float)
-0:100 'm2' (temp mediump 2X2 matrix of float)
-0:101 Post-Increment (temp mediump 4-component vector of int)
-0:101 'iv4' (temp mediump 4-component vector of int)
-0:103 Compare Not Equal (temp bool)
-0:103 'm4' (temp mediump 4X4 matrix of float)
-0:103 'm4' (temp mediump 4X4 matrix of float)
-0:104 Compare Equal (temp bool)
-0:104 'm2' (temp mediump 2X2 matrix of float)
-0:104 'm2' (temp mediump 2X2 matrix of float)
-0:105 Compare Less Than or Equal (temp bool)
-0:105 'i' (temp mediump int)
-0:105 'i' (temp mediump int)
-0:106 Compare Equal (temp bool)
-0:106 'a' (global 5-element array of mediump float)
-0:106 'a' (global 5-element array of mediump float)
-0:107 Compare Not Equal (temp bool)
-0:107 's' (global structure{global mediump int i})
-0:107 's' (global structure{global mediump int i})
-0:109 logical-and (temp bool)
-0:109 'b' (temp bool)
-0:109 'b' (temp bool)
-0:110 logical-or (temp bool)
-0:110 'b' (temp bool)
-0:110 'b' (temp bool)
-0:111 logical-xor (temp bool)
-0:111 'b' (temp bool)
-0:111 'b' (temp bool)
-0:113 Comma (temp mediump 3-component vector of uint)
-0:113 Negate conditional (temp bool)
-0:113 'b' (temp bool)
-0:113 'uv3' (temp mediump 3-component vector of uint)
-0:115 Bitwise not (temp mediump int)
-0:115 'i' (temp mediump int)
-0:116 Bitwise not (temp mediump uint)
-0:116 'u' (temp mediump uint)
-0:117 Bitwise not (temp mediump 3-component vector of uint)
-0:117 'uv3' (temp mediump 3-component vector of uint)
-0:118 Bitwise not (temp mediump 3-component vector of int)
-0:118 'iv3' (temp mediump 3-component vector of int)
-0:120 left shift second child into first child (temp mediump 3-component vector of uint)
-0:120 'uv3' (temp mediump 3-component vector of uint)
-0:120 'i' (temp mediump int)
-0:121 right-shift (temp mediump int)
-0:121 'i' (temp mediump int)
-0:121 'i' (temp mediump int)
-0:122 left-shift (temp mediump uint)
-0:122 'u' (temp mediump uint)
-0:122 'u' (temp mediump uint)
-0:123 right-shift (temp mediump 3-component vector of int)
-0:123 'iv3' (temp mediump 3-component vector of int)
-0:123 'iv3' (temp mediump 3-component vector of int)
-0:125 bitwise and (temp mediump int)
-0:125 'i' (temp mediump int)
-0:125 'i' (temp mediump int)
-0:126 inclusive-or (temp mediump uint)
-0:126 'u' (temp mediump uint)
-0:126 'u' (temp mediump uint)
-0:127 exclusive-or (temp mediump 3-component vector of int)
-0:127 'iv3' (temp mediump 3-component vector of int)
-0:127 'iv3' (temp mediump 3-component vector of int)
-0:128 bitwise and (temp mediump 3-component vector of uint)
-0:128 'u' (temp mediump uint)
-0:128 'uv3' (temp mediump 3-component vector of uint)
-0:129 inclusive-or (temp mediump 3-component vector of uint)
-0:129 'uv3' (temp mediump 3-component vector of uint)
-0:129 'u' (temp mediump uint)
-0:130 and second child into first child (temp mediump 3-component vector of uint)
-0:130 'uv3' (temp mediump 3-component vector of uint)
-0:130 'u' (temp mediump uint)
-0:132 direct index (temp mediump int)
-0:132 'arr' (temp 2-element array of mediump int)
-0:132 Constant:
-0:132 1 (const int)
-0:134 direct index (temp mediump int)
-0:134 'arr2' (temp 3-element array of mediump int)
-0:134 Constant:
-0:134 2 (const int)
-0:? Linker Objects
-0:? 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
-0:? 's' (global structure{global mediump int i})
-0:? 'a' (global 5-element array of mediump float)
-
+300operations.frag
+ERROR: 0:11: 'float' : type requires declaration of default precision qualifier
+ERROR: 0:30: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}' and a right operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}' (or there is no acceptable conversion)
+ERROR: 0:31: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'global structure{global mediump int i}' and a right operand of type 'global structure{global mediump int i}' (or there is no acceptable conversion)
+ERROR: 0:32: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
+ERROR: 0:33: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
+ERROR: 0:34: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump int' (or there is no acceptable conversion)
+ERROR: 0:35: 'assign' : cannot convert from 'temp mediump 4-component vector of int' to 'temp mediump 3-component vector of int'
+ERROR: 0:36: '/' : wrong operand types: no operation '/' exists that takes a left-hand operand of type 'temp mediump 4-component vector of int' and a right operand of type 'temp mediump 4-component vector of uint' (or there is no acceptable conversion)
+ERROR: 0:37: '-' : wrong operand types: no operation '-' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump 3-component vector of float' (or there is no acceptable conversion)
+ERROR: 0:38: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'temp mediump 3-component vector of int' and a right operand of type 'temp mediump 3-component vector of uint' (or there is no acceptable conversion)
+ERROR: 0:39: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type 'global 5-element array of mediump float' and a right operand of type 'global 5-element array of mediump float' (or there is no acceptable conversion)
+ERROR: 0:40: '/' : wrong operand types: no operation '/' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp bool' (or there is no acceptable conversion)
+ERROR: 0:42: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type 'temp mediump float' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
+ERROR: 0:43: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
+ERROR: 0:44: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type 'temp mediump float' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion)
+ERROR: 0:45: '++' : l-value required "instanceName" (can't modify a uniform)
+ERROR: 0:45: '++' : wrong operand type no operation '++' exists that takes an operand of type layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f} (or there is no acceptable conversion)
+ERROR: 0:46: '++' : wrong operand type no operation '++' exists that takes an operand of type global structure{global mediump int i} (or there is no acceptable conversion)
+ERROR: 0:47: '--' : wrong operand type no operation '--' exists that takes an operand of type global 5-element array of mediump float (or there is no acceptable conversion)
+ERROR: 0:48: '++' : wrong operand type no operation '++' exists that takes an operand of type temp 3-component vector of bool (or there is no acceptable conversion)
+ERROR: 0:50: '<' : wrong operand types: no operation '<' exists that takes a left-hand operand of type 'temp mediump 3-component vector of int' and a right operand of type 'temp mediump 3-component vector of uint' (or there is no acceptable conversion)
+ERROR: 0:51: '>' : wrong operand types: no operation '>' exists that takes a left-hand operand of type 'temp mediump 2X2 matrix of float' and a right operand of type 'temp mediump 2X2 matrix of float' (or there is no acceptable conversion)
+ERROR: 0:52: '!=' : wrong operand types: no operation '!=' exists that takes a left-hand operand of type 'temp mediump 2X2 matrix of float' and a right operand of type 'temp mediump 4X4 matrix of float' (or there is no acceptable conversion)
+ERROR: 0:53: '>=' : wrong operand types: no operation '>=' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion)
+ERROR: 0:54: '<=' : wrong operand types: no operation '<=' exists that takes a left-hand operand of type 'global 5-element array of mediump float' and a right operand of type 'global 5-element array of mediump float' (or there is no acceptable conversion)
+ERROR: 0:55: '>' : wrong operand types: no operation '>' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp bool' (or there is no acceptable conversion)
+ERROR: 0:57: '&&' : wrong operand types: no operation '&&' exists that takes a left-hand operand of type 'temp bool' and a right operand of type 'temp 3-component vector of bool' (or there is no acceptable conversion)
+ERROR: 0:58: '^^' : wrong operand types: no operation '^^' exists that takes a left-hand operand of type 'temp 3-component vector of bool' and a right operand of type 'temp 3-component vector of bool' (or there is no acceptable conversion)
+ERROR: 0:59: '||' : wrong operand types: no operation '||' exists that takes a left-hand operand of type 'temp 3-component vector of bool' and a right operand of type 'temp bool' (or there is no acceptable conversion)
+ERROR: 0:60: '&&' : wrong operand types: no operation '&&' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump int' (or there is no acceptable conversion)
+ERROR: 0:61: '||' : wrong operand types: no operation '||' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion)
+ERROR: 0:62: '^^' : wrong operand types: no operation '^^' exists that takes a left-hand operand of type 'temp mediump 2X2 matrix of float' and a right operand of type 'temp mediump 2X2 matrix of float' (or there is no acceptable conversion)
+ERROR: 0:64: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump uint (or there is no acceptable conversion)
+ERROR: 0:65: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump int (or there is no acceptable conversion)
+ERROR: 0:66: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump 2X2 matrix of float (or there is no acceptable conversion)
+ERROR: 0:67: '!' : wrong operand type no operation '!' exists that takes an operand of type temp mediump 3-component vector of float (or there is no acceptable conversion)
+ERROR: 0:68: '!' : wrong operand type no operation '!' exists that takes an operand of type global 5-element array of mediump float (or there is no acceptable conversion)
+ERROR: 0:70: '~' : wrong operand type no operation '~' exists that takes an operand of type temp mediump float (or there is no acceptable conversion)
+ERROR: 0:71: '~' : wrong operand type no operation '~' exists that takes an operand of type temp mediump 4X4 matrix of float (or there is no acceptable conversion)
+ERROR: 0:72: '~' : wrong operand type no operation '~' exists that takes an operand of type temp mediump 3-component vector of float (or there is no acceptable conversion)
+ERROR: 0:73: '~' : wrong operand type no operation '~' exists that takes an operand of type global 5-element array of mediump float (or there is no acceptable conversion)
+ERROR: 0:74: '~' : wrong operand type no operation '~' exists that takes an operand of type layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f} (or there is no acceptable conversion)
+ERROR: 0:76: '<<' : wrong operand types: no operation '<<' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump 3-component vector of int' (or there is no acceptable conversion)
+ERROR: 0:77: '<<' : wrong operand types: no operation '<<' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump 3-component vector of uint' (or there is no acceptable conversion)
+ERROR: 0:78: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
+ERROR: 0:79: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'temp mediump float' and a right operand of type 'temp mediump int' (or there is no acceptable conversion)
+ERROR: 0:80: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'temp mediump 4X4 matrix of float' and a right operand of type 'temp mediump int' (or there is no acceptable conversion)
+ERROR: 0:81: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'global 5-element array of mediump float' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion)
+ERROR: 0:82: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'temp mediump 3-component vector of int' and a right operand of type 'temp mediump 4-component vector of int' (or there is no acceptable conversion)
+ERROR: 0:84: '&' : wrong operand types: no operation '&' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump uint' (or there is no acceptable conversion)
+ERROR: 0:85: 'assign' : cannot convert from 'temp mediump 3-component vector of uint' to 'temp mediump uint'
+ERROR: 0:86: '|' : wrong operand types: no operation '|' exists that takes a left-hand operand of type 'temp mediump int' and a right operand of type 'temp mediump 3-component vector of uint' (or there is no acceptable conversion)
+ERROR: 0:87: '&' : wrong operand types: no operation '&' exists that takes a left-hand operand of type 'temp mediump uint' and a right operand of type 'temp mediump float' (or there is no acceptable conversion)
+ERROR: 0:88: '|' : wrong operand types: no operation '|' exists that takes a left-hand operand of type 'temp mediump 2X2 matrix of float' and a right operand of type 'temp mediump 2X2 matrix of float' (or there is no acceptable conversion)
+ERROR: 0:89: '^' : wrong operand types: no operation '^' exists that takes a left-hand operand of type 'global structure{global mediump int i}' and a right operand of type 'global structure{global mediump int i}' (or there is no acceptable conversion)
+ERROR: 0:90: 'assign' : l-value required
+ERROR: 56 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:? Sequence
+0:30 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
+0:31 's' (global structure{global mediump int i})
+0:32 'i' (temp mediump int)
+0:33 'u' (temp mediump uint)
+0:34 'u' (temp mediump uint)
+0:35 'iv3' (temp mediump 3-component vector of int)
+0:36 'iv4' (temp mediump 4-component vector of int)
+0:37 'i' (temp mediump int)
+0:38 'iv3' (temp mediump 3-component vector of int)
+0:39 'a' (global 5-element array of mediump float)
+0:40 'b' (temp bool)
+0:42 'f' (temp mediump float)
+0:43 'i' (temp mediump int)
+0:44 'f' (temp mediump float)
+0:45 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
+0:46 's' (global structure{global mediump int i})
+0:47 'a' (global 5-element array of mediump float)
+0:48 'b3' (temp 3-component vector of bool)
+0:50 Constant:
+0:50 false (const bool)
+0:51 Constant:
+0:51 false (const bool)
+0:52 Constant:
+0:52 false (const bool)
+0:53 Constant:
+0:53 false (const bool)
+0:54 Constant:
+0:54 false (const bool)
+0:55 Constant:
+0:55 false (const bool)
+0:57 Constant:
+0:57 false (const bool)
+0:58 Constant:
+0:58 false (const bool)
+0:59 Constant:
+0:59 false (const bool)
+0:60 Constant:
+0:60 false (const bool)
+0:61 Constant:
+0:61 false (const bool)
+0:62 Constant:
+0:62 false (const bool)
+0:64 'u' (temp mediump uint)
+0:65 'i' (temp mediump int)
+0:66 'm2' (temp mediump 2X2 matrix of float)
+0:67 'v3' (temp mediump 3-component vector of float)
+0:68 'a' (global 5-element array of mediump float)
+0:70 'f' (temp mediump float)
+0:71 'm4' (temp mediump 4X4 matrix of float)
+0:72 'v3' (temp mediump 3-component vector of float)
+0:73 'a' (global 5-element array of mediump float)
+0:74 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
+0:76 'i' (temp mediump int)
+0:77 'u' (temp mediump uint)
+0:78 'i' (temp mediump int)
+0:79 'f' (temp mediump float)
+0:80 'm4' (temp mediump 4X4 matrix of float)
+0:81 'a' (global 5-element array of mediump float)
+0:82 'iv3' (temp mediump 3-component vector of int)
+0:84 'i' (temp mediump int)
+0:85 'u' (temp mediump uint)
+0:86 'i' (temp mediump int)
+0:87 'u' (temp mediump uint)
+0:88 'm2' (temp mediump 2X2 matrix of float)
+0:89 's' (global structure{global mediump int i})
+0:90 move second child to first child (temp mediump float)
+0:90 move second child to first child (temp mediump float)
+0:90 'f' (temp mediump float)
+0:90 'f' (temp mediump float)
+0:90 'f' (temp mediump float)
+0:93 vector-scale (temp mediump 4-component vector of float)
+0:93 'f' (temp mediump float)
+0:93 'v4' (temp mediump 4-component vector of float)
+0:94 add (temp mediump uint)
+0:94 'u' (temp mediump uint)
+0:94 'u' (temp mediump uint)
+0:95 divide (temp mediump 4-component vector of uint)
+0:95 'uv4' (temp mediump 4-component vector of uint)
+0:95 'u' (temp mediump uint)
+0:96 subtract second child into first child (temp mediump 3-component vector of int)
+0:96 'iv3' (temp mediump 3-component vector of int)
+0:96 'iv3' (temp mediump 3-component vector of int)
+0:98 mod second child into first child (temp mediump int)
+0:98 'i' (temp mediump int)
+0:98 Constant:
+0:98 3 (const int)
+0:99 mod (temp mediump 3-component vector of uint)
+0:99 'uv3' (temp mediump 3-component vector of uint)
+0:99 Constant:
+0:99 4 (const uint)
+0:100 Pre-Decrement (temp mediump 2X2 matrix of float)
+0:100 'm2' (temp mediump 2X2 matrix of float)
+0:101 Post-Increment (temp mediump 4-component vector of int)
+0:101 'iv4' (temp mediump 4-component vector of int)
+0:103 Compare Not Equal (temp bool)
+0:103 'm4' (temp mediump 4X4 matrix of float)
+0:103 'm4' (temp mediump 4X4 matrix of float)
+0:104 Compare Equal (temp bool)
+0:104 'm2' (temp mediump 2X2 matrix of float)
+0:104 'm2' (temp mediump 2X2 matrix of float)
+0:105 Compare Less Than or Equal (temp bool)
+0:105 'i' (temp mediump int)
+0:105 'i' (temp mediump int)
+0:106 Compare Equal (temp bool)
+0:106 'a' (global 5-element array of mediump float)
+0:106 'a' (global 5-element array of mediump float)
+0:107 Compare Not Equal (temp bool)
+0:107 's' (global structure{global mediump int i})
+0:107 's' (global structure{global mediump int i})
+0:109 logical-and (temp bool)
+0:109 'b' (temp bool)
+0:109 'b' (temp bool)
+0:110 logical-or (temp bool)
+0:110 'b' (temp bool)
+0:110 'b' (temp bool)
+0:111 logical-xor (temp bool)
+0:111 'b' (temp bool)
+0:111 'b' (temp bool)
+0:113 Comma (temp mediump 3-component vector of uint)
+0:113 Negate conditional (temp bool)
+0:113 'b' (temp bool)
+0:113 'uv3' (temp mediump 3-component vector of uint)
+0:115 Bitwise not (temp mediump int)
+0:115 'i' (temp mediump int)
+0:116 Bitwise not (temp mediump uint)
+0:116 'u' (temp mediump uint)
+0:117 Bitwise not (temp mediump 3-component vector of uint)
+0:117 'uv3' (temp mediump 3-component vector of uint)
+0:118 Bitwise not (temp mediump 3-component vector of int)
+0:118 'iv3' (temp mediump 3-component vector of int)
+0:120 left shift second child into first child (temp mediump 3-component vector of uint)
+0:120 'uv3' (temp mediump 3-component vector of uint)
+0:120 'i' (temp mediump int)
+0:121 right-shift (temp mediump int)
+0:121 'i' (temp mediump int)
+0:121 'i' (temp mediump int)
+0:122 left-shift (temp mediump uint)
+0:122 'u' (temp mediump uint)
+0:122 'u' (temp mediump uint)
+0:123 right-shift (temp mediump 3-component vector of int)
+0:123 'iv3' (temp mediump 3-component vector of int)
+0:123 'iv3' (temp mediump 3-component vector of int)
+0:125 bitwise and (temp mediump int)
+0:125 'i' (temp mediump int)
+0:125 'i' (temp mediump int)
+0:126 inclusive-or (temp mediump uint)
+0:126 'u' (temp mediump uint)
+0:126 'u' (temp mediump uint)
+0:127 exclusive-or (temp mediump 3-component vector of int)
+0:127 'iv3' (temp mediump 3-component vector of int)
+0:127 'iv3' (temp mediump 3-component vector of int)
+0:128 bitwise and (temp mediump 3-component vector of uint)
+0:128 'u' (temp mediump uint)
+0:128 'uv3' (temp mediump 3-component vector of uint)
+0:129 inclusive-or (temp mediump 3-component vector of uint)
+0:129 'uv3' (temp mediump 3-component vector of uint)
+0:129 'u' (temp mediump uint)
+0:130 and second child into first child (temp mediump 3-component vector of uint)
+0:130 'uv3' (temp mediump 3-component vector of uint)
+0:130 'u' (temp mediump uint)
+0:132 direct index (temp mediump int)
+0:132 'arr' (temp 2-element array of mediump int)
+0:132 Constant:
+0:132 1 (const int)
+0:134 direct index (temp mediump int)
+0:134 'arr2' (temp 3-element array of mediump int)
+0:134 Constant:
+0:134 2 (const int)
+0:? Linker Objects
+0:? 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
+0:? 's' (global structure{global mediump int i})
+0:? 'a' (global 5-element array of mediump float)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:? Sequence
+0:30 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
+0:31 's' (global structure{global mediump int i})
+0:32 'i' (temp mediump int)
+0:33 'u' (temp mediump uint)
+0:34 'u' (temp mediump uint)
+0:35 'iv3' (temp mediump 3-component vector of int)
+0:36 'iv4' (temp mediump 4-component vector of int)
+0:37 'i' (temp mediump int)
+0:38 'iv3' (temp mediump 3-component vector of int)
+0:39 'a' (global 5-element array of mediump float)
+0:40 'b' (temp bool)
+0:42 'f' (temp mediump float)
+0:43 'i' (temp mediump int)
+0:44 'f' (temp mediump float)
+0:45 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
+0:46 's' (global structure{global mediump int i})
+0:47 'a' (global 5-element array of mediump float)
+0:48 'b3' (temp 3-component vector of bool)
+0:50 Constant:
+0:50 false (const bool)
+0:51 Constant:
+0:51 false (const bool)
+0:52 Constant:
+0:52 false (const bool)
+0:53 Constant:
+0:53 false (const bool)
+0:54 Constant:
+0:54 false (const bool)
+0:55 Constant:
+0:55 false (const bool)
+0:57 Constant:
+0:57 false (const bool)
+0:58 Constant:
+0:58 false (const bool)
+0:59 Constant:
+0:59 false (const bool)
+0:60 Constant:
+0:60 false (const bool)
+0:61 Constant:
+0:61 false (const bool)
+0:62 Constant:
+0:62 false (const bool)
+0:64 'u' (temp mediump uint)
+0:65 'i' (temp mediump int)
+0:66 'm2' (temp mediump 2X2 matrix of float)
+0:67 'v3' (temp mediump 3-component vector of float)
+0:68 'a' (global 5-element array of mediump float)
+0:70 'f' (temp mediump float)
+0:71 'm4' (temp mediump 4X4 matrix of float)
+0:72 'v3' (temp mediump 3-component vector of float)
+0:73 'a' (global 5-element array of mediump float)
+0:74 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
+0:76 'i' (temp mediump int)
+0:77 'u' (temp mediump uint)
+0:78 'i' (temp mediump int)
+0:79 'f' (temp mediump float)
+0:80 'm4' (temp mediump 4X4 matrix of float)
+0:81 'a' (global 5-element array of mediump float)
+0:82 'iv3' (temp mediump 3-component vector of int)
+0:84 'i' (temp mediump int)
+0:85 'u' (temp mediump uint)
+0:86 'i' (temp mediump int)
+0:87 'u' (temp mediump uint)
+0:88 'm2' (temp mediump 2X2 matrix of float)
+0:89 's' (global structure{global mediump int i})
+0:90 move second child to first child (temp mediump float)
+0:90 move second child to first child (temp mediump float)
+0:90 'f' (temp mediump float)
+0:90 'f' (temp mediump float)
+0:90 'f' (temp mediump float)
+0:93 vector-scale (temp mediump 4-component vector of float)
+0:93 'f' (temp mediump float)
+0:93 'v4' (temp mediump 4-component vector of float)
+0:94 add (temp mediump uint)
+0:94 'u' (temp mediump uint)
+0:94 'u' (temp mediump uint)
+0:95 divide (temp mediump 4-component vector of uint)
+0:95 'uv4' (temp mediump 4-component vector of uint)
+0:95 'u' (temp mediump uint)
+0:96 subtract second child into first child (temp mediump 3-component vector of int)
+0:96 'iv3' (temp mediump 3-component vector of int)
+0:96 'iv3' (temp mediump 3-component vector of int)
+0:98 mod second child into first child (temp mediump int)
+0:98 'i' (temp mediump int)
+0:98 Constant:
+0:98 3 (const int)
+0:99 mod (temp mediump 3-component vector of uint)
+0:99 'uv3' (temp mediump 3-component vector of uint)
+0:99 Constant:
+0:99 4 (const uint)
+0:100 Pre-Decrement (temp mediump 2X2 matrix of float)
+0:100 'm2' (temp mediump 2X2 matrix of float)
+0:101 Post-Increment (temp mediump 4-component vector of int)
+0:101 'iv4' (temp mediump 4-component vector of int)
+0:103 Compare Not Equal (temp bool)
+0:103 'm4' (temp mediump 4X4 matrix of float)
+0:103 'm4' (temp mediump 4X4 matrix of float)
+0:104 Compare Equal (temp bool)
+0:104 'm2' (temp mediump 2X2 matrix of float)
+0:104 'm2' (temp mediump 2X2 matrix of float)
+0:105 Compare Less Than or Equal (temp bool)
+0:105 'i' (temp mediump int)
+0:105 'i' (temp mediump int)
+0:106 Compare Equal (temp bool)
+0:106 'a' (global 5-element array of mediump float)
+0:106 'a' (global 5-element array of mediump float)
+0:107 Compare Not Equal (temp bool)
+0:107 's' (global structure{global mediump int i})
+0:107 's' (global structure{global mediump int i})
+0:109 logical-and (temp bool)
+0:109 'b' (temp bool)
+0:109 'b' (temp bool)
+0:110 logical-or (temp bool)
+0:110 'b' (temp bool)
+0:110 'b' (temp bool)
+0:111 logical-xor (temp bool)
+0:111 'b' (temp bool)
+0:111 'b' (temp bool)
+0:113 Comma (temp mediump 3-component vector of uint)
+0:113 Negate conditional (temp bool)
+0:113 'b' (temp bool)
+0:113 'uv3' (temp mediump 3-component vector of uint)
+0:115 Bitwise not (temp mediump int)
+0:115 'i' (temp mediump int)
+0:116 Bitwise not (temp mediump uint)
+0:116 'u' (temp mediump uint)
+0:117 Bitwise not (temp mediump 3-component vector of uint)
+0:117 'uv3' (temp mediump 3-component vector of uint)
+0:118 Bitwise not (temp mediump 3-component vector of int)
+0:118 'iv3' (temp mediump 3-component vector of int)
+0:120 left shift second child into first child (temp mediump 3-component vector of uint)
+0:120 'uv3' (temp mediump 3-component vector of uint)
+0:120 'i' (temp mediump int)
+0:121 right-shift (temp mediump int)
+0:121 'i' (temp mediump int)
+0:121 'i' (temp mediump int)
+0:122 left-shift (temp mediump uint)
+0:122 'u' (temp mediump uint)
+0:122 'u' (temp mediump uint)
+0:123 right-shift (temp mediump 3-component vector of int)
+0:123 'iv3' (temp mediump 3-component vector of int)
+0:123 'iv3' (temp mediump 3-component vector of int)
+0:125 bitwise and (temp mediump int)
+0:125 'i' (temp mediump int)
+0:125 'i' (temp mediump int)
+0:126 inclusive-or (temp mediump uint)
+0:126 'u' (temp mediump uint)
+0:126 'u' (temp mediump uint)
+0:127 exclusive-or (temp mediump 3-component vector of int)
+0:127 'iv3' (temp mediump 3-component vector of int)
+0:127 'iv3' (temp mediump 3-component vector of int)
+0:128 bitwise and (temp mediump 3-component vector of uint)
+0:128 'u' (temp mediump uint)
+0:128 'uv3' (temp mediump 3-component vector of uint)
+0:129 inclusive-or (temp mediump 3-component vector of uint)
+0:129 'uv3' (temp mediump 3-component vector of uint)
+0:129 'u' (temp mediump uint)
+0:130 and second child into first child (temp mediump 3-component vector of uint)
+0:130 'uv3' (temp mediump 3-component vector of uint)
+0:130 'u' (temp mediump uint)
+0:132 direct index (temp mediump int)
+0:132 'arr' (temp 2-element array of mediump int)
+0:132 Constant:
+0:132 1 (const int)
+0:134 direct index (temp mediump int)
+0:134 'arr2' (temp 3-element array of mediump int)
+0:134 Constant:
+0:134 2 (const int)
+0:? Linker Objects
+0:? 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
+0:? 's' (global structure{global mediump int i})
+0:? 'a' (global 5-element array of mediump float)
+
diff --git a/Test/baseResults/300scope.vert.out b/Test/baseResults/300scope.vert.out
index 39a6d81..acc93f5 100644
--- a/Test/baseResults/300scope.vert.out
+++ b/Test/baseResults/300scope.vert.out
@@ -1,237 +1,237 @@
-300scope.vert
-ERROR: 0:5: 'a' : redefinition
-ERROR: 0:17: 'b' : function name is redeclaration of existing name
-ERROR: 0:20: 'c' : redefinition
-ERROR: 0:22: 'f' : redefinition
-ERROR: 0:23: 'tan' : redefinition
-ERROR: 0:24: 'redefinition of built-in function' : not supported with this profile: es
-ERROR: 0:24: 'sin' : function name is redeclaration of existing name
-ERROR: 0:25: 'redefinition of built-in function' : not supported with this profile: es
-ERROR: 0:25: 'cos' : function name is redeclaration of existing name
-ERROR: 0:25: 'cos' : function already has a body
-ERROR: 0:27: 'return' : void function cannot return a value
-ERROR: 0:29: 'radians' : function name is redeclaration of existing name
-ERROR: 0:29: 'radians' : can't find function
-ERROR: 0:31: 'return' : void function cannot return a value
-ERROR: 0:38: 'local function declaration' : not supported with this profile: es
-ERROR: 0:43: 'sin' : can't use function syntax on variable
-ERROR: 0:57: 'z' : undeclared identifier
-ERROR: 0:57: 'z' : redefinition
-ERROR: 0:73: 'degrees' : can't use function syntax on variable
-ERROR: 19 compilation errors. No code generated.
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:3 Function Definition: f(i1;i1;i1; (global highp int)
-0:3 Function Parameters:
-0:3 'a' (in highp int)
-0:3 'b' (in highp int)
-0:3 'c' (in highp int)
-0:? Sequence
-0:8 Sequence
-0:8 Sequence
-0:8 move second child to first child (temp highp float)
-0:8 'a' (temp highp float)
-0:8 add (temp highp float)
-0:8 Convert int to float (temp highp float)
-0:8 'a' (in highp int)
-0:8 Constant:
-0:8 1.000000
-0:11 Branch: Return with expression
-0:11 'a' (in highp int)
-0:25 Function Definition: cos(f1; (global highp float)
-0:25 Function Parameters:
-0:25 'x' (in highp float)
-0:27 Sequence
-0:27 Branch: Return
-0:29 Function Definition: radians(b1; (global bool)
-0:29 Function Parameters:
-0:29 'x' (in bool)
-0:31 Sequence
-0:31 Branch: Return
-0:36 Function Definition: main( (global void)
-0:36 Function Parameters:
-0:? Sequence
-0:39 Function Call: g( (temp highp int)
-0:42 'sin' (temp highp float)
-0:43 Constant:
-0:43 0.000000
-0:44 Function Call: f(i1;i1;i1; (global highp int)
-0:44 Constant:
-0:44 1 (const int)
-0:44 Constant:
-0:44 2 (const int)
-0:44 Constant:
-0:44 3 (const int)
-0:47 move second child to first child (temp highp float)
-0:47 'f' (temp highp float)
-0:47 Constant:
-0:47 3.000000
-0:49 move second child to first child (temp highp 4-component vector of float)
-0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position)
-0:49 Construct vec4 (temp highp 4-component vector of float)
-0:49 'f' (temp highp float)
-0:51 Sequence
-0:51 Sequence
-0:51 move second child to first child (temp highp int)
-0:51 'f' (temp highp int)
-0:51 Constant:
-0:51 0 (const int)
-0:51 Loop with condition tested first
-0:51 Loop Condition
-0:51 Compare Less Than (temp bool)
-0:51 'f' (temp highp int)
-0:51 Constant:
-0:51 10 (const int)
-0:51 Loop Body
-0:52 Pre-Increment (temp highp int)
-0:52 'f' (temp highp int)
-0:51 Loop Terminal Expression
-0:51 Pre-Increment (temp highp int)
-0:51 'f' (temp highp int)
-0:54 Sequence
-0:54 move second child to first child (temp highp int)
-0:54 'x' (temp highp int)
-0:54 Constant:
-0:54 1 (const int)
-0:56 Sequence
-0:56 Sequence
-0:56 move second child to first child (temp highp float)
-0:56 'x' (temp highp float)
-0:56 Constant:
-0:56 2.000000
-0:56 move second child to first child (temp highp float)
-0:56 'y' (temp highp float)
-0:56 'x' (temp highp float)
-0:60 Sequence
-0:60 Sequence
-0:60 move second child to first child (temp highp int)
-0:60 'x' (temp highp int)
-0:60 'x' (temp highp int)
-0:68 Sequence
-0:68 Sequence
-0:68 move second child to first child (temp structure{temp highp int x})
-0:68 'S' (temp structure{temp highp int x})
-0:68 Constant:
-0:68 0 (const int)
-0:69 x: direct index for structure (temp highp int)
-0:69 'S' (temp structure{temp highp int x})
-0:69 Constant:
-0:69 0 (const int)
-0:73 Constant:
-0:73 0.000000
-0:? Linker Objects
-0:? 'b' (global bool)
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:3 Function Definition: f(i1;i1;i1; (global highp int)
-0:3 Function Parameters:
-0:3 'a' (in highp int)
-0:3 'b' (in highp int)
-0:3 'c' (in highp int)
-0:? Sequence
-0:8 Sequence
-0:8 Sequence
-0:8 move second child to first child (temp highp float)
-0:8 'a' (temp highp float)
-0:8 add (temp highp float)
-0:8 Convert int to float (temp highp float)
-0:8 'a' (in highp int)
-0:8 Constant:
-0:8 1.000000
-0:11 Branch: Return with expression
-0:11 'a' (in highp int)
-0:25 Function Definition: cos(f1; (global highp float)
-0:25 Function Parameters:
-0:25 'x' (in highp float)
-0:27 Sequence
-0:27 Branch: Return
-0:29 Function Definition: radians(b1; (global bool)
-0:29 Function Parameters:
-0:29 'x' (in bool)
-0:31 Sequence
-0:31 Branch: Return
-0:36 Function Definition: main( (global void)
-0:36 Function Parameters:
-0:? Sequence
-0:39 Function Call: g( (temp highp int)
-0:42 'sin' (temp highp float)
-0:43 Constant:
-0:43 0.000000
-0:44 Function Call: f(i1;i1;i1; (global highp int)
-0:44 Constant:
-0:44 1 (const int)
-0:44 Constant:
-0:44 2 (const int)
-0:44 Constant:
-0:44 3 (const int)
-0:47 move second child to first child (temp highp float)
-0:47 'f' (temp highp float)
-0:47 Constant:
-0:47 3.000000
-0:49 move second child to first child (temp highp 4-component vector of float)
-0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position)
-0:49 Construct vec4 (temp highp 4-component vector of float)
-0:49 'f' (temp highp float)
-0:51 Sequence
-0:51 Sequence
-0:51 move second child to first child (temp highp int)
-0:51 'f' (temp highp int)
-0:51 Constant:
-0:51 0 (const int)
-0:51 Loop with condition tested first
-0:51 Loop Condition
-0:51 Compare Less Than (temp bool)
-0:51 'f' (temp highp int)
-0:51 Constant:
-0:51 10 (const int)
-0:51 Loop Body
-0:52 Pre-Increment (temp highp int)
-0:52 'f' (temp highp int)
-0:51 Loop Terminal Expression
-0:51 Pre-Increment (temp highp int)
-0:51 'f' (temp highp int)
-0:54 Sequence
-0:54 move second child to first child (temp highp int)
-0:54 'x' (temp highp int)
-0:54 Constant:
-0:54 1 (const int)
-0:56 Sequence
-0:56 Sequence
-0:56 move second child to first child (temp highp float)
-0:56 'x' (temp highp float)
-0:56 Constant:
-0:56 2.000000
-0:56 move second child to first child (temp highp float)
-0:56 'y' (temp highp float)
-0:56 'x' (temp highp float)
-0:60 Sequence
-0:60 Sequence
-0:60 move second child to first child (temp highp int)
-0:60 'x' (temp highp int)
-0:60 'x' (temp highp int)
-0:68 Sequence
-0:68 Sequence
-0:68 move second child to first child (temp structure{temp highp int x})
-0:68 'S' (temp structure{temp highp int x})
-0:68 Constant:
-0:68 0 (const int)
-0:69 x: direct index for structure (temp highp int)
-0:69 'S' (temp structure{temp highp int x})
-0:69 Constant:
-0:69 0 (const int)
-0:73 Constant:
-0:73 0.000000
-0:? Linker Objects
-0:? 'b' (global bool)
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
+300scope.vert
+ERROR: 0:5: 'a' : redefinition
+ERROR: 0:17: 'b' : function name is redeclaration of existing name
+ERROR: 0:20: 'c' : redefinition
+ERROR: 0:22: 'f' : redefinition
+ERROR: 0:23: 'tan' : redefinition
+ERROR: 0:24: 'redefinition of built-in function' : not supported with this profile: es
+ERROR: 0:24: 'sin' : function name is redeclaration of existing name
+ERROR: 0:25: 'redefinition of built-in function' : not supported with this profile: es
+ERROR: 0:25: 'cos' : function name is redeclaration of existing name
+ERROR: 0:25: 'cos' : function already has a body
+ERROR: 0:27: 'return' : void function cannot return a value
+ERROR: 0:29: 'radians' : function name is redeclaration of existing name
+ERROR: 0:29: 'radians' : can't find function
+ERROR: 0:31: 'return' : void function cannot return a value
+ERROR: 0:38: 'local function declaration' : not supported with this profile: es
+ERROR: 0:43: 'sin' : can't use function syntax on variable
+ERROR: 0:57: 'z' : undeclared identifier
+ERROR: 0:57: 'z' : redefinition
+ERROR: 0:73: 'degrees' : can't use function syntax on variable
+ERROR: 19 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:3 Function Definition: f(i1;i1;i1; (global highp int)
+0:3 Function Parameters:
+0:3 'a' (in highp int)
+0:3 'b' (in highp int)
+0:3 'c' (in highp int)
+0:? Sequence
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp highp float)
+0:8 'a' (temp highp float)
+0:8 add (temp highp float)
+0:8 Convert int to float (temp highp float)
+0:8 'a' (in highp int)
+0:8 Constant:
+0:8 1.000000
+0:11 Branch: Return with expression
+0:11 'a' (in highp int)
+0:25 Function Definition: cos(f1; (global highp float)
+0:25 Function Parameters:
+0:25 'x' (in highp float)
+0:27 Sequence
+0:27 Branch: Return
+0:29 Function Definition: radians(b1; (global bool)
+0:29 Function Parameters:
+0:29 'x' (in bool)
+0:31 Sequence
+0:31 Branch: Return
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:? Sequence
+0:39 Function Call: g( (temp highp int)
+0:42 'sin' (temp highp float)
+0:43 Constant:
+0:43 0.000000
+0:44 Function Call: f(i1;i1;i1; (global highp int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 3 (const int)
+0:47 move second child to first child (temp highp float)
+0:47 'f' (temp highp float)
+0:47 Constant:
+0:47 3.000000
+0:49 move second child to first child (temp highp 4-component vector of float)
+0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position)
+0:49 Construct vec4 (temp highp 4-component vector of float)
+0:49 'f' (temp highp float)
+0:51 Sequence
+0:51 Sequence
+0:51 move second child to first child (temp highp int)
+0:51 'f' (temp highp int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Loop with condition tested first
+0:51 Loop Condition
+0:51 Compare Less Than (temp bool)
+0:51 'f' (temp highp int)
+0:51 Constant:
+0:51 10 (const int)
+0:51 Loop Body
+0:52 Pre-Increment (temp highp int)
+0:52 'f' (temp highp int)
+0:51 Loop Terminal Expression
+0:51 Pre-Increment (temp highp int)
+0:51 'f' (temp highp int)
+0:54 Sequence
+0:54 move second child to first child (temp highp int)
+0:54 'x' (temp highp int)
+0:54 Constant:
+0:54 1 (const int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp highp float)
+0:56 'x' (temp highp float)
+0:56 Constant:
+0:56 2.000000
+0:56 move second child to first child (temp highp float)
+0:56 'y' (temp highp float)
+0:56 'x' (temp highp float)
+0:60 Sequence
+0:60 Sequence
+0:60 move second child to first child (temp highp int)
+0:60 'x' (temp highp int)
+0:60 'x' (temp highp int)
+0:68 Sequence
+0:68 Sequence
+0:68 move second child to first child (temp structure{temp highp int x})
+0:68 'S' (temp structure{temp highp int x})
+0:68 Constant:
+0:68 0 (const int)
+0:69 x: direct index for structure (temp highp int)
+0:69 'S' (temp structure{temp highp int x})
+0:69 Constant:
+0:69 0 (const int)
+0:73 Constant:
+0:73 0.000000
+0:? Linker Objects
+0:? 'b' (global bool)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:3 Function Definition: f(i1;i1;i1; (global highp int)
+0:3 Function Parameters:
+0:3 'a' (in highp int)
+0:3 'b' (in highp int)
+0:3 'c' (in highp int)
+0:? Sequence
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp highp float)
+0:8 'a' (temp highp float)
+0:8 add (temp highp float)
+0:8 Convert int to float (temp highp float)
+0:8 'a' (in highp int)
+0:8 Constant:
+0:8 1.000000
+0:11 Branch: Return with expression
+0:11 'a' (in highp int)
+0:25 Function Definition: cos(f1; (global highp float)
+0:25 Function Parameters:
+0:25 'x' (in highp float)
+0:27 Sequence
+0:27 Branch: Return
+0:29 Function Definition: radians(b1; (global bool)
+0:29 Function Parameters:
+0:29 'x' (in bool)
+0:31 Sequence
+0:31 Branch: Return
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:? Sequence
+0:39 Function Call: g( (temp highp int)
+0:42 'sin' (temp highp float)
+0:43 Constant:
+0:43 0.000000
+0:44 Function Call: f(i1;i1;i1; (global highp int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 3 (const int)
+0:47 move second child to first child (temp highp float)
+0:47 'f' (temp highp float)
+0:47 Constant:
+0:47 3.000000
+0:49 move second child to first child (temp highp 4-component vector of float)
+0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float Position)
+0:49 Construct vec4 (temp highp 4-component vector of float)
+0:49 'f' (temp highp float)
+0:51 Sequence
+0:51 Sequence
+0:51 move second child to first child (temp highp int)
+0:51 'f' (temp highp int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Loop with condition tested first
+0:51 Loop Condition
+0:51 Compare Less Than (temp bool)
+0:51 'f' (temp highp int)
+0:51 Constant:
+0:51 10 (const int)
+0:51 Loop Body
+0:52 Pre-Increment (temp highp int)
+0:52 'f' (temp highp int)
+0:51 Loop Terminal Expression
+0:51 Pre-Increment (temp highp int)
+0:51 'f' (temp highp int)
+0:54 Sequence
+0:54 move second child to first child (temp highp int)
+0:54 'x' (temp highp int)
+0:54 Constant:
+0:54 1 (const int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp highp float)
+0:56 'x' (temp highp float)
+0:56 Constant:
+0:56 2.000000
+0:56 move second child to first child (temp highp float)
+0:56 'y' (temp highp float)
+0:56 'x' (temp highp float)
+0:60 Sequence
+0:60 Sequence
+0:60 move second child to first child (temp highp int)
+0:60 'x' (temp highp int)
+0:60 'x' (temp highp int)
+0:68 Sequence
+0:68 Sequence
+0:68 move second child to first child (temp structure{temp highp int x})
+0:68 'S' (temp structure{temp highp int x})
+0:68 Constant:
+0:68 0 (const int)
+0:69 x: direct index for structure (temp highp int)
+0:69 'S' (temp structure{temp highp int x})
+0:69 Constant:
+0:69 0 (const int)
+0:73 Constant:
+0:73 0.000000
+0:? Linker Objects
+0:? 'b' (global bool)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/Test/baseResults/310.comp.out b/Test/baseResults/310.comp.out
index f3775e3..e61d2aa 100644
--- a/Test/baseResults/310.comp.out
+++ b/Test/baseResults/310.comp.out
@@ -1,933 +1,933 @@
-310.comp
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:4: 'local_size' : cannot change previously set size
-ERROR: 0:5: 'local_size' : too large; see gl_MaxComputeWorkGroupSize
-ERROR: 0:23: '' : array size required
-ERROR: 0:39: 'in' : global storage input qualifier cannot be used in a compute shader
-ERROR: 0:39: 'location qualifier on input' : not supported in this stage: compute
-ERROR: 0:40: 'in' : global storage input qualifier cannot be used in a compute shader
-ERROR: 0:41: 'out' : global storage output qualifier cannot be used in a compute shader
-ERROR: 0:44: 'shared' : cannot apply layout qualifiers to a shared variable
-ERROR: 0:44: 'location' : can only appy to uniform, buffer, in, or out storage qualifiers
-ERROR: 0:45: 'shared' : cannot initialize this type of qualifier
-ERROR: 0:47: 'local_size' : can only apply to 'in'
-ERROR: 0:47: 'local_size' : can only apply to 'in'
-ERROR: 0:47: 'local_size' : can only apply to 'in'
-ERROR: 0:61: 'assign' : l-value required "ro" (can't modify a readonly buffer)
-ERROR: 0:66: 'buffer' : buffers can be declared only as blocks
-ERROR: 0:68: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:76: '' : image variables not declared 'writeonly' must have a format layout qualifier
-ERROR: 0:87: 'imageAtomicCompSwap' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:88: 'imageAtomicAdd' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:89: 'imageAtomicMin' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:89: 'readonly' : argument cannot drop memory qualifier when passed to formal parameter
-ERROR: 0:89: 'imageAtomicMin' : only supported on image with format r32i or r32ui
-ERROR: 0:90: 'imageAtomicMax' : no matching overloaded function found
-ERROR: 0:94: 'writeonly' : argument cannot drop memory qualifier when passed to formal parameter
-ERROR: 0:97: '' : memory qualifiers cannot be used on this type
-ERROR: 0:98: '' : memory qualifiers cannot be used on this type
-ERROR: 0:114: 'image load-store format' : not supported with this profile: es
-ERROR: 0:114: 'rg8i' : does not apply to unsigned integer images
-ERROR: 0:115: 'rgba32i' : does not apply to floating point images
-ERROR: 0:116: 'rgba32f' : does not apply to unsigned integer images
-ERROR: 0:117: 'image load-store format' : not supported with this profile: es
-ERROR: 0:117: 'r8_snorm' : does not apply to signed integer images
-ERROR: 0:118: 'rgba32ui' : does not apply to signed integer images
-ERROR: 0:119: 'image load-store format' : not supported with this profile: es
-ERROR: 0:119: 'r8ui' : does not apply to signed integer images
-ERROR: 0:128: 'atomic_uint' : samplers and atomic_uints cannot be output parameters
-ERROR: 0:130: 'return' : type does not match, or is not convertible to, the function's return type
-ERROR: 0:136: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: non_uniform_counter
-ERROR: 0:136: 'atomic_uint' : layout(binding=X) is required
-ERROR: 0:141: 'atomic_uint' : atomic counters can only be highp
-ERROR: 0:141: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
-ERROR: 0:143: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
-ERROR: 0:149: '[]' : scalar integer expression required
-ERROR: 0:166: 'precision' : can only apply highp to atomic_uint
-ERROR: 0:168: 'precise' : Reserved word.
-ERROR: 0:170: 'dmat2x4' : Reserved word.
-ERROR: 0:170: 'double matrix' : not supported with this profile: es
-ERROR: 0:171: 'samplerCubeArray' : Reserved word.
-ERROR: 0:171: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:172: 'iimage2DRect' : Reserved word.
-ERROR: 0:172: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:172: '' : image variables not declared 'writeonly' must have a format layout qualifier
-ERROR: 0:173: 'image2DMS' : Reserved word.
-ERROR: 0:173: '' : image variables not declared 'writeonly' must have a format layout qualifier
-ERROR: 0:174: 'uimage2DMSArray' : Reserved word.
-ERROR: 0:174: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:174: '' : image variables not declared 'writeonly' must have a format layout qualifier
-ERROR: 0:181: 'rgba32f' : format requires readonly or writeonly memory qualifier
-ERROR: 0:182: 'rgba8i' : format requires readonly or writeonly memory qualifier
-ERROR: 0:183: 'rgba16ui' : format requires readonly or writeonly memory qualifier
-ERROR: 0:194: 'assign' : can't read from writeonly object: wo
-ERROR: 0:195: 'initializer' : can't read from writeonly object: wo
-ERROR: 0:196: '++' : can't read from writeonly object: wo
-ERROR: 0:197: '--' : can't read from writeonly object: wo
-ERROR: 0:198: '+' : can't read from writeonly object: wo
-ERROR: 0:199: '-' : can't read from writeonly object: wo
-ERROR: 0:201: ':' : can't read from writeonly object: wo
-ERROR: 0:202: ':' : can't read from writeonly object: wo
-ERROR: 0:203: '==' : can't read from writeonly object: wo
-ERROR: 0:205: '>=' : can't read from writeonly object: wo
-ERROR: 0:207: 'constructor' : can't read from writeonly object: wo
-ERROR: 0:208: '~' : can't read from writeonly object: wo
-ERROR: 0:221: 'assign' : can't read from writeonly object: wo
-ERROR: 0:222: '~' : can't read from writeonly object: wo
-ERROR: 0:227: 'input block' : not supported in this stage: compute
-ERROR: 0:231: 'output block' : not supported in this stage: compute
-WARNING: 0:235: 't__' : identifiers containing consecutive underscores ("__") are reserved
-WARNING: 0:238: '#define' : names containing consecutive underscores are reserved: __D
-ERROR: 76 compilation errors. No code generated.
-
-
-Shader version: 310
-local_size = (2, 1, 4096)
-ERROR: node is still EOpNull!
-0:27 Function Definition: main( (global void)
-0:27 Function Parameters:
-0:29 Sequence
-0:29 Barrier (global void)
-0:30 MemoryBarrier (global void)
-0:31 MemoryBarrierAtomicCounter (global void)
-0:32 MemoryBarrierBuffer (global void)
-0:33 MemoryBarrierShared (global void)
-0:34 MemoryBarrierImage (global void)
-0:35 GroupMemoryBarrier (global void)
-0:36 move second child to first child (temp highp int)
-0:36 value: direct index for structure (layout(column_major shared ) buffer highp int)
-0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:36 Constant:
-0:36 0 (const uint)
-0:36 Convert float to int (temp highp int)
-0:36 indirect index (layout(column_major shared ) temp highp float)
-0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:36 Constant:
-0:36 1 (const uint)
-0:36 'gl_LocalInvocationIndex' (in highp uint LocalInvocationIndex)
-0:59 Function Definition: foo( (global void)
-0:59 Function Parameters:
-0:61 Sequence
-0:61 move second child to first child (temp highp float)
-0:61 direct index (layout(column_major shared ) temp highp float)
-0:61 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:61 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:61 Constant:
-0:61 1 (const int)
-0:61 Constant:
-0:61 2 (const int)
-0:61 Constant:
-0:61 4.700000
-0:62 array length (temp highp int)
-0:62 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:62 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:62 Constant:
-0:62 1 (const int)
-0:63 Pre-Increment (temp highp 4-component vector of float)
-0:63 's' (shared highp 4-component vector of float)
-0:84 Function Definition: qux( (global void)
-0:84 Function Parameters:
-0:86 Sequence
-0:86 Sequence
-0:86 move second child to first child (temp highp int)
-0:86 'i' (temp highp int)
-0:86 Constant:
-0:86 4 (const int)
-0:87 imageAtomicCompSwap (global highp int)
-0:87 'iimg2D' (layout(r32i ) uniform highp iimage2D)
-0:87 Construct ivec2 (temp highp 2-component vector of int)
-0:87 'i' (temp highp int)
-0:87 'i' (temp highp int)
-0:87 'i' (temp highp int)
-0:87 'i' (temp highp int)
-0:88 imageAtomicAdd (global highp uint)
-0:88 'uimg2D' (layout(r32ui ) uniform highp uimage2D)
-0:88 Construct ivec2 (temp highp 2-component vector of int)
-0:88 'i' (temp highp int)
-0:88 'i' (temp highp int)
-0:88 Convert int to uint (temp highp uint)
-0:88 'i' (temp highp int)
-0:89 imageAtomicMin (global highp int)
-0:89 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
-0:89 Construct ivec2 (temp highp 2-component vector of int)
-0:89 'i' (temp highp int)
-0:89 'i' (temp highp int)
-0:89 'i' (temp highp int)
-0:90 Constant:
-0:90 0.000000
-0:91 Sequence
-0:91 move second child to first child (temp highp 4-component vector of int)
-0:91 'pos' (temp highp 4-component vector of int)
-0:91 imageLoad (global highp 4-component vector of int)
-0:91 'iimg2D' (layout(r32i ) uniform highp iimage2D)
-0:91 Construct ivec2 (temp highp 2-component vector of int)
-0:91 'i' (temp highp int)
-0:91 'i' (temp highp int)
-0:92 imageStore (global highp void)
-0:92 'ii2da' (writeonly uniform highp iimage2DArray)
-0:92 Construct ivec3 (temp 3-component vector of int)
-0:92 'i' (temp highp int)
-0:92 'i' (temp highp int)
-0:92 'i' (temp highp int)
-0:92 Constant:
-0:92 0 (const int)
-0:92 0 (const int)
-0:92 0 (const int)
-0:92 0 (const int)
-0:93 imageLoad (global highp 4-component vector of float)
-0:93 'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
-0:93 Construct ivec2 (temp highp 2-component vector of int)
-0:93 'i' (temp highp int)
-0:93 'i' (temp highp int)
-0:94 imageLoad (global highp 4-component vector of int)
-0:94 'ii2da' (writeonly uniform highp iimage2DArray)
-0:94 Construct ivec3 (temp highp 3-component vector of int)
-0:94 'i' (temp highp int)
-0:94 'i' (temp highp int)
-0:94 'i' (temp highp int)
-0:100 Function Definition: passr(iI21; (global void)
-0:100 Function Parameters:
-0:100 'image' (coherent readonly in highp iimage2D)
-0:107 Function Definition: passrc( (global void)
-0:107 Function Parameters:
-0:109 Sequence
-0:109 Function Call: passr(iI21; (global void)
-0:109 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
-0:110 Function Call: passr(iI21; (global void)
-0:110 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
-0:111 Function Call: passr(iI21; (global void)
-0:111 'iimg2D' (layout(r32i ) uniform highp iimage2D)
-0:123 Function Definition: func(au1; (global highp uint)
-0:123 Function Parameters:
-0:123 'c' (in highp atomic_uint)
-0:125 Sequence
-0:125 Branch: Return with expression
-0:125 AtomicCounterIncrement (global highp uint)
-0:125 'c' (in highp atomic_uint)
-0:128 Function Definition: func2(au1; (global highp uint)
-0:128 Function Parameters:
-0:128 'c' (out highp atomic_uint)
-0:130 Sequence
-0:130 Branch: Return with expression
-0:130 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:131 Branch: Return with expression
-0:131 AtomicCounter (global highp uint)
-0:131 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:134 Function Definition: mainAC( (global void)
-0:134 Function Parameters:
-0:? Sequence
-0:137 Sequence
-0:137 move second child to first child (temp highp uint)
-0:137 'val' (temp highp uint)
-0:137 AtomicCounter (global highp uint)
-0:137 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:138 AtomicCounterDecrement (global highp uint)
-0:138 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:146 Function Definition: opac( (global void)
-0:146 Function Parameters:
-0:? Sequence
-0:149 indirect index (temp highp int)
-0:149 'a' (temp 3-element array of highp int)
-0:149 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:150 direct index (layout(binding=2 offset=4 ) temp highp atomic_uint)
-0:150 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
-0:150 Constant:
-0:150 2 (const int)
-0:151 indirect index (layout(binding=2 offset=4 ) temp highp atomic_uint)
-0:151 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
-0:151 'i' (uniform highp int)
-0:157 Function Definition: atoms( (global void)
-0:157 Function Parameters:
-0:159 Sequence
-0:159 Sequence
-0:159 move second child to first child (temp highp int)
-0:159 'origi' (temp highp int)
-0:159 AtomicAdd (global highp int)
-0:159 'atomi' (shared highp int)
-0:159 Constant:
-0:159 3 (const int)
-0:160 Sequence
-0:160 move second child to first child (temp highp uint)
-0:160 'origu' (temp highp uint)
-0:160 AtomicAnd (global highp uint)
-0:160 'atomu' (shared highp uint)
-0:160 Constant:
-0:160 7 (const uint)
-0:161 move second child to first child (temp highp int)
-0:161 'origi' (temp highp int)
-0:161 AtomicExchange (global highp int)
-0:161 'atomi' (shared highp int)
-0:161 Constant:
-0:161 4 (const int)
-0:162 move second child to first child (temp highp uint)
-0:162 'origu' (temp highp uint)
-0:162 AtomicCompSwap (global highp uint)
-0:162 'atomu' (shared highp uint)
-0:162 Constant:
-0:162 10 (const uint)
-0:162 Constant:
-0:162 8 (const uint)
-0:191 Function Definition: foowo( (global void)
-0:191 Function Parameters:
-0:? Sequence
-0:194 move second child to first child (temp highp float)
-0:194 'g' (temp highp float)
-0:194 direct index (layout(column_major shared ) temp highp float)
-0:194 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:194 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:194 Constant:
-0:194 1 (const int)
-0:194 Constant:
-0:194 2 (const int)
-0:195 Sequence
-0:195 move second child to first child (temp highp float)
-0:195 'f' (temp highp float)
-0:195 direct index (layout(column_major shared ) temp highp float)
-0:195 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:195 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:195 Constant:
-0:195 1 (const int)
-0:195 Constant:
-0:195 2 (const int)
-0:196 Pre-Increment (temp highp float)
-0:196 direct index (layout(column_major shared ) temp highp float)
-0:196 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:196 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:196 Constant:
-0:196 1 (const int)
-0:196 Constant:
-0:196 2 (const int)
-0:197 Post-Decrement (temp highp float)
-0:197 direct index (layout(column_major shared ) temp highp float)
-0:197 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:197 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:197 Constant:
-0:197 1 (const int)
-0:197 Constant:
-0:197 2 (const int)
-0:198 add (temp highp float)
-0:198 'f' (temp highp float)
-0:198 direct index (layout(column_major shared ) temp highp float)
-0:198 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:198 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:198 Constant:
-0:198 1 (const int)
-0:198 Constant:
-0:198 2 (const int)
-0:199 subtract (temp highp float)
-0:199 direct index (layout(column_major shared ) temp highp float)
-0:199 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:199 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:199 Constant:
-0:199 1 (const int)
-0:199 Constant:
-0:199 2 (const int)
-0:199 'f' (temp highp float)
-0:201 Test condition and select (temp highp float)
-0:201 Condition
-0:201 'b' (temp bool)
-0:201 true case
-0:201 'f' (temp highp float)
-0:201 false case
-0:201 direct index (layout(column_major shared ) temp highp float)
-0:201 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:201 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:201 Constant:
-0:201 1 (const int)
-0:201 Constant:
-0:201 2 (const int)
-0:202 Test condition and select (layout(column_major shared ) temp highp float)
-0:202 Condition
-0:202 'b' (temp bool)
-0:202 true case
-0:202 direct index (layout(column_major shared ) temp highp float)
-0:202 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:202 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:202 Constant:
-0:202 1 (const int)
-0:202 Constant:
-0:202 2 (const int)
-0:202 false case
-0:202 'f' (temp highp float)
-0:203 Test condition and select (temp void)
-0:203 Condition
-0:203 Compare Equal (temp bool)
-0:203 'f' (temp highp float)
-0:203 direct index (layout(column_major shared ) temp highp float)
-0:203 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:203 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:203 Constant:
-0:203 1 (const int)
-0:203 Constant:
-0:203 2 (const int)
-0:203 true case
-0:204 Pre-Increment (temp highp float)
-0:204 'f' (temp highp float)
-0:205 Test condition and select (temp void)
-0:205 Condition
-0:205 Compare Greater Than or Equal (temp bool)
-0:205 'f' (temp highp float)
-0:205 direct index (layout(column_major shared ) temp highp float)
-0:205 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:205 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:205 Constant:
-0:205 1 (const int)
-0:205 Constant:
-0:205 2 (const int)
-0:205 true case
-0:206 Pre-Increment (temp highp float)
-0:206 'f' (temp highp float)
-0:207 move second child to first child (temp highp float)
-0:207 'f' (temp highp float)
-0:207 direct index (temp highp float)
-0:207 Construct vec3 (temp highp 3-component vector of float)
-0:207 direct index (layout(column_major shared ) temp highp float)
-0:207 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:207 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:207 Constant:
-0:207 1 (const int)
-0:207 Constant:
-0:207 2 (const int)
-0:207 Constant:
-0:207 0 (const int)
-0:208 Bitwise not (temp highp int)
-0:208 value: direct index for structure (layout(column_major shared ) buffer highp int)
-0:208 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:208 Constant:
-0:208 0 (const int)
-0:209 move second child to first child (temp highp float)
-0:209 direct index (layout(column_major shared ) temp highp float)
-0:209 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:209 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:209 Constant:
-0:209 1 (const int)
-0:209 Constant:
-0:209 2 (const int)
-0:209 Constant:
-0:209 3.400000
-0:218 Function Definition: foomultio( (global void)
-0:218 Function Parameters:
-0:? Sequence
-0:221 move second child to first child (temp highp float)
-0:221 'g' (temp highp float)
-0:221 direct index (layout(column_major shared ) temp highp float)
-0:221 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:221 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:221 Constant:
-0:221 1 (const int)
-0:221 Constant:
-0:221 2 (const int)
-0:222 Bitwise not (temp highp int)
-0:222 value: direct index for structure (layout(column_major shared ) buffer highp int)
-0:222 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:222 Constant:
-0:222 0 (const int)
-0:223 move second child to first child (temp highp float)
-0:223 direct index (layout(column_major shared ) temp highp float)
-0:223 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:223 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:223 Constant:
-0:223 1 (const int)
-0:223 Constant:
-0:223 2 (const int)
-0:223 Constant:
-0:223 3.400000
-0:224 move second child to first child (temp highp int)
-0:224 value: direct index for structure (layout(column_major shared ) buffer highp int)
-0:224 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:224 Constant:
-0:224 0 (const int)
-0:224 Constant:
-0:224 2 (const int)
-0:? Linker Objects
-0:? 'gl_WorkGroupSize' (const highp 3-component vector of uint WorkGroupSize)
-0:? 2 (const uint)
-0:? 1 (const uint)
-0:? 4096 (const uint)
-0:? 'total' (const highp int)
-0:? 66592 (const int)
-0:? 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:? 'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of highp float values, layout(column_major shared ) buffer highp int value})
-0:? 'v3' (layout(location=2 ) in highp 3-component vector of float)
-0:? 'f' (in highp float)
-0:? 'fo' (out highp float)
-0:? 's' (shared highp 4-component vector of float)
-0:? 'sl' (layout(location=2 ) shared highp 4-component vector of float)
-0:? 'fs' (shared highp float)
-0:? 'arrX' (global 2-element array of highp int)
-0:? 'arrY' (global 1-element array of highp int)
-0:? 'arrZ' (global 4096-element array of highp int)
-0:? 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:? 'v' (buffer highp 4-component vector of float)
-0:? 'us2dbad' (uniform mediump usampler2D)
-0:? 'us2d' (uniform highp usampler2D)
-0:? 'ii2dabad' (uniform highp iimage2DArray)
-0:? 'ii2da' (writeonly uniform highp iimage2DArray)
-0:? 'iimg2D' (layout(r32i ) uniform highp iimage2D)
-0:? 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
-0:? 'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
-0:? 'uimg2D' (layout(r32ui ) uniform highp uimage2D)
-0:? 'vol' (volatile temp highp float)
-0:? 'vol2' (readonly temp highp int)
-0:? 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
-0:? 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
-0:? 'i1bad' (layout(rg8i ) readonly uniform highp uimage2D)
-0:? 'i2bad' (layout(rgba32i ) readonly uniform lowp image2D)
-0:? 'i3bad' (layout(rgba32f ) readonly uniform highp uimage2D)
-0:? 'i4bad' (layout(r8_snorm ) readonly uniform highp iimage2D)
-0:? 'i5bad' (layout(rgba32ui ) readonly uniform highp iimage2D)
-0:? 'i6bad' (layout(r8ui ) readonly uniform highp iimage2D)
-0:? 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:? 'counterBad' (layout(binding=1 ) uniform mediump atomic_uint)
-0:? 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
-0:? 'i' (uniform highp int)
-0:? 'atomi' (shared highp int)
-0:? 'atomu' (shared highp uint)
-0:? 'pfoo' (temp highp int)
-0:? 'dm' (global 2X4 matrix of double)
-0:? 'sca' (uniform mediump samplerCubeArray)
-0:? 'i2dr' (uniform mediump iimage2DRect)
-0:? 'i2dms' (uniform lowp image2DMS)
-0:? 'u2dmsa' (uniform mediump uimage2DMSArray)
-0:? 'okay1' (layout(r32f ) coherent volatile restrict readonly writeonly uniform lowp image2D)
-0:? 'okay2' (layout(r32i ) coherent volatile restrict readonly uniform highp iimage2D)
-0:? 'okay3' (layout(r32ui ) coherent volatile restrict writeonly uniform highp uimage2D)
-0:? 'okay4' (layout(r32f ) coherent volatile restrict uniform lowp image2D)
-0:? 'badQ1' (layout(rgba32f ) coherent volatile restrict uniform lowp image2D)
-0:? 'badQ2' (layout(rgba8i ) coherent volatile restrict uniform highp iimage2D)
-0:? 'badQ3' (layout(rgba16ui ) coherent volatile restrict uniform highp uimage2D)
-0:? 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:? 'multio' (layout(column_major shared ) buffer block{layout(column_major shared ) readonly buffer highp int value, layout(column_major shared ) writeonly buffer implicitly-sized array of highp float values})
-0:? 'inbi' (in block{in highp int a})
-0:? 'outbi' (out block{out highp int a})
-0:? 't__' (global highp float)
-0:? 'arr' (shared 2-element array of 3-element array of 4-element array of highp 4-component vector of float)
-
-
-Linked compute stage:
-
-
-Shader version: 310
-local_size = (2, 1, 4096)
-ERROR: node is still EOpNull!
-0:27 Function Definition: main( (global void)
-0:27 Function Parameters:
-0:29 Sequence
-0:29 Barrier (global void)
-0:30 MemoryBarrier (global void)
-0:31 MemoryBarrierAtomicCounter (global void)
-0:32 MemoryBarrierBuffer (global void)
-0:33 MemoryBarrierShared (global void)
-0:34 MemoryBarrierImage (global void)
-0:35 GroupMemoryBarrier (global void)
-0:36 move second child to first child (temp highp int)
-0:36 value: direct index for structure (layout(column_major shared ) buffer highp int)
-0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:36 Constant:
-0:36 0 (const uint)
-0:36 Convert float to int (temp highp int)
-0:36 indirect index (layout(column_major shared ) temp highp float)
-0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:36 Constant:
-0:36 1 (const uint)
-0:36 'gl_LocalInvocationIndex' (in highp uint LocalInvocationIndex)
-0:59 Function Definition: foo( (global void)
-0:59 Function Parameters:
-0:61 Sequence
-0:61 move second child to first child (temp highp float)
-0:61 direct index (layout(column_major shared ) temp highp float)
-0:61 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:61 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:61 Constant:
-0:61 1 (const int)
-0:61 Constant:
-0:61 2 (const int)
-0:61 Constant:
-0:61 4.700000
-0:62 array length (temp highp int)
-0:62 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:62 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:62 Constant:
-0:62 1 (const int)
-0:63 Pre-Increment (temp highp 4-component vector of float)
-0:63 's' (shared highp 4-component vector of float)
-0:84 Function Definition: qux( (global void)
-0:84 Function Parameters:
-0:86 Sequence
-0:86 Sequence
-0:86 move second child to first child (temp highp int)
-0:86 'i' (temp highp int)
-0:86 Constant:
-0:86 4 (const int)
-0:87 imageAtomicCompSwap (global highp int)
-0:87 'iimg2D' (layout(r32i ) uniform highp iimage2D)
-0:87 Construct ivec2 (temp highp 2-component vector of int)
-0:87 'i' (temp highp int)
-0:87 'i' (temp highp int)
-0:87 'i' (temp highp int)
-0:87 'i' (temp highp int)
-0:88 imageAtomicAdd (global highp uint)
-0:88 'uimg2D' (layout(r32ui ) uniform highp uimage2D)
-0:88 Construct ivec2 (temp highp 2-component vector of int)
-0:88 'i' (temp highp int)
-0:88 'i' (temp highp int)
-0:88 Convert int to uint (temp highp uint)
-0:88 'i' (temp highp int)
-0:89 imageAtomicMin (global highp int)
-0:89 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
-0:89 Construct ivec2 (temp highp 2-component vector of int)
-0:89 'i' (temp highp int)
-0:89 'i' (temp highp int)
-0:89 'i' (temp highp int)
-0:90 Constant:
-0:90 0.000000
-0:91 Sequence
-0:91 move second child to first child (temp highp 4-component vector of int)
-0:91 'pos' (temp highp 4-component vector of int)
-0:91 imageLoad (global highp 4-component vector of int)
-0:91 'iimg2D' (layout(r32i ) uniform highp iimage2D)
-0:91 Construct ivec2 (temp highp 2-component vector of int)
-0:91 'i' (temp highp int)
-0:91 'i' (temp highp int)
-0:92 imageStore (global highp void)
-0:92 'ii2da' (writeonly uniform highp iimage2DArray)
-0:92 Construct ivec3 (temp 3-component vector of int)
-0:92 'i' (temp highp int)
-0:92 'i' (temp highp int)
-0:92 'i' (temp highp int)
-0:92 Constant:
-0:92 0 (const int)
-0:92 0 (const int)
-0:92 0 (const int)
-0:92 0 (const int)
-0:93 imageLoad (global highp 4-component vector of float)
-0:93 'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
-0:93 Construct ivec2 (temp highp 2-component vector of int)
-0:93 'i' (temp highp int)
-0:93 'i' (temp highp int)
-0:94 imageLoad (global highp 4-component vector of int)
-0:94 'ii2da' (writeonly uniform highp iimage2DArray)
-0:94 Construct ivec3 (temp highp 3-component vector of int)
-0:94 'i' (temp highp int)
-0:94 'i' (temp highp int)
-0:94 'i' (temp highp int)
-0:100 Function Definition: passr(iI21; (global void)
-0:100 Function Parameters:
-0:100 'image' (coherent readonly in highp iimage2D)
-0:107 Function Definition: passrc( (global void)
-0:107 Function Parameters:
-0:109 Sequence
-0:109 Function Call: passr(iI21; (global void)
-0:109 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
-0:110 Function Call: passr(iI21; (global void)
-0:110 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
-0:111 Function Call: passr(iI21; (global void)
-0:111 'iimg2D' (layout(r32i ) uniform highp iimage2D)
-0:123 Function Definition: func(au1; (global highp uint)
-0:123 Function Parameters:
-0:123 'c' (in highp atomic_uint)
-0:125 Sequence
-0:125 Branch: Return with expression
-0:125 AtomicCounterIncrement (global highp uint)
-0:125 'c' (in highp atomic_uint)
-0:128 Function Definition: func2(au1; (global highp uint)
-0:128 Function Parameters:
-0:128 'c' (out highp atomic_uint)
-0:130 Sequence
-0:130 Branch: Return with expression
-0:130 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:131 Branch: Return with expression
-0:131 AtomicCounter (global highp uint)
-0:131 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:134 Function Definition: mainAC( (global void)
-0:134 Function Parameters:
-0:? Sequence
-0:137 Sequence
-0:137 move second child to first child (temp highp uint)
-0:137 'val' (temp highp uint)
-0:137 AtomicCounter (global highp uint)
-0:137 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:138 AtomicCounterDecrement (global highp uint)
-0:138 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:146 Function Definition: opac( (global void)
-0:146 Function Parameters:
-0:? Sequence
-0:149 indirect index (temp highp int)
-0:149 'a' (temp 3-element array of highp int)
-0:149 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:150 direct index (layout(binding=2 offset=4 ) temp highp atomic_uint)
-0:150 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
-0:150 Constant:
-0:150 2 (const int)
-0:151 indirect index (layout(binding=2 offset=4 ) temp highp atomic_uint)
-0:151 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
-0:151 'i' (uniform highp int)
-0:157 Function Definition: atoms( (global void)
-0:157 Function Parameters:
-0:159 Sequence
-0:159 Sequence
-0:159 move second child to first child (temp highp int)
-0:159 'origi' (temp highp int)
-0:159 AtomicAdd (global highp int)
-0:159 'atomi' (shared highp int)
-0:159 Constant:
-0:159 3 (const int)
-0:160 Sequence
-0:160 move second child to first child (temp highp uint)
-0:160 'origu' (temp highp uint)
-0:160 AtomicAnd (global highp uint)
-0:160 'atomu' (shared highp uint)
-0:160 Constant:
-0:160 7 (const uint)
-0:161 move second child to first child (temp highp int)
-0:161 'origi' (temp highp int)
-0:161 AtomicExchange (global highp int)
-0:161 'atomi' (shared highp int)
-0:161 Constant:
-0:161 4 (const int)
-0:162 move second child to first child (temp highp uint)
-0:162 'origu' (temp highp uint)
-0:162 AtomicCompSwap (global highp uint)
-0:162 'atomu' (shared highp uint)
-0:162 Constant:
-0:162 10 (const uint)
-0:162 Constant:
-0:162 8 (const uint)
-0:191 Function Definition: foowo( (global void)
-0:191 Function Parameters:
-0:? Sequence
-0:194 move second child to first child (temp highp float)
-0:194 'g' (temp highp float)
-0:194 direct index (layout(column_major shared ) temp highp float)
-0:194 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:194 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:194 Constant:
-0:194 1 (const int)
-0:194 Constant:
-0:194 2 (const int)
-0:195 Sequence
-0:195 move second child to first child (temp highp float)
-0:195 'f' (temp highp float)
-0:195 direct index (layout(column_major shared ) temp highp float)
-0:195 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:195 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:195 Constant:
-0:195 1 (const int)
-0:195 Constant:
-0:195 2 (const int)
-0:196 Pre-Increment (temp highp float)
-0:196 direct index (layout(column_major shared ) temp highp float)
-0:196 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:196 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:196 Constant:
-0:196 1 (const int)
-0:196 Constant:
-0:196 2 (const int)
-0:197 Post-Decrement (temp highp float)
-0:197 direct index (layout(column_major shared ) temp highp float)
-0:197 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:197 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:197 Constant:
-0:197 1 (const int)
-0:197 Constant:
-0:197 2 (const int)
-0:198 add (temp highp float)
-0:198 'f' (temp highp float)
-0:198 direct index (layout(column_major shared ) temp highp float)
-0:198 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:198 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:198 Constant:
-0:198 1 (const int)
-0:198 Constant:
-0:198 2 (const int)
-0:199 subtract (temp highp float)
-0:199 direct index (layout(column_major shared ) temp highp float)
-0:199 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:199 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:199 Constant:
-0:199 1 (const int)
-0:199 Constant:
-0:199 2 (const int)
-0:199 'f' (temp highp float)
-0:201 Test condition and select (temp highp float)
-0:201 Condition
-0:201 'b' (temp bool)
-0:201 true case
-0:201 'f' (temp highp float)
-0:201 false case
-0:201 direct index (layout(column_major shared ) temp highp float)
-0:201 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:201 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:201 Constant:
-0:201 1 (const int)
-0:201 Constant:
-0:201 2 (const int)
-0:202 Test condition and select (layout(column_major shared ) temp highp float)
-0:202 Condition
-0:202 'b' (temp bool)
-0:202 true case
-0:202 direct index (layout(column_major shared ) temp highp float)
-0:202 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:202 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:202 Constant:
-0:202 1 (const int)
-0:202 Constant:
-0:202 2 (const int)
-0:202 false case
-0:202 'f' (temp highp float)
-0:203 Test condition and select (temp void)
-0:203 Condition
-0:203 Compare Equal (temp bool)
-0:203 'f' (temp highp float)
-0:203 direct index (layout(column_major shared ) temp highp float)
-0:203 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:203 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:203 Constant:
-0:203 1 (const int)
-0:203 Constant:
-0:203 2 (const int)
-0:203 true case
-0:204 Pre-Increment (temp highp float)
-0:204 'f' (temp highp float)
-0:205 Test condition and select (temp void)
-0:205 Condition
-0:205 Compare Greater Than or Equal (temp bool)
-0:205 'f' (temp highp float)
-0:205 direct index (layout(column_major shared ) temp highp float)
-0:205 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:205 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:205 Constant:
-0:205 1 (const int)
-0:205 Constant:
-0:205 2 (const int)
-0:205 true case
-0:206 Pre-Increment (temp highp float)
-0:206 'f' (temp highp float)
-0:207 move second child to first child (temp highp float)
-0:207 'f' (temp highp float)
-0:207 direct index (temp highp float)
-0:207 Construct vec3 (temp highp 3-component vector of float)
-0:207 direct index (layout(column_major shared ) temp highp float)
-0:207 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:207 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:207 Constant:
-0:207 1 (const int)
-0:207 Constant:
-0:207 2 (const int)
-0:207 Constant:
-0:207 0 (const int)
-0:208 Bitwise not (temp highp int)
-0:208 value: direct index for structure (layout(column_major shared ) buffer highp int)
-0:208 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:208 Constant:
-0:208 0 (const int)
-0:209 move second child to first child (temp highp float)
-0:209 direct index (layout(column_major shared ) temp highp float)
-0:209 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:209 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:209 Constant:
-0:209 1 (const int)
-0:209 Constant:
-0:209 2 (const int)
-0:209 Constant:
-0:209 3.400000
-0:218 Function Definition: foomultio( (global void)
-0:218 Function Parameters:
-0:? Sequence
-0:221 move second child to first child (temp highp float)
-0:221 'g' (temp highp float)
-0:221 direct index (layout(column_major shared ) temp highp float)
-0:221 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:221 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:221 Constant:
-0:221 1 (const int)
-0:221 Constant:
-0:221 2 (const int)
-0:222 Bitwise not (temp highp int)
-0:222 value: direct index for structure (layout(column_major shared ) buffer highp int)
-0:222 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:222 Constant:
-0:222 0 (const int)
-0:223 move second child to first child (temp highp float)
-0:223 direct index (layout(column_major shared ) temp highp float)
-0:223 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:223 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:223 Constant:
-0:223 1 (const int)
-0:223 Constant:
-0:223 2 (const int)
-0:223 Constant:
-0:223 3.400000
-0:224 move second child to first child (temp highp int)
-0:224 value: direct index for structure (layout(column_major shared ) buffer highp int)
-0:224 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:224 Constant:
-0:224 0 (const int)
-0:224 Constant:
-0:224 2 (const int)
-0:? Linker Objects
-0:? 'gl_WorkGroupSize' (const highp 3-component vector of uint WorkGroupSize)
-0:? 2 (const uint)
-0:? 1 (const uint)
-0:? 4096 (const uint)
-0:? 'total' (const highp int)
-0:? 66592 (const int)
-0:? 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:? 'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of highp float values, layout(column_major shared ) buffer highp int value})
-0:? 'v3' (layout(location=2 ) in highp 3-component vector of float)
-0:? 'f' (in highp float)
-0:? 'fo' (out highp float)
-0:? 's' (shared highp 4-component vector of float)
-0:? 'sl' (layout(location=2 ) shared highp 4-component vector of float)
-0:? 'fs' (shared highp float)
-0:? 'arrX' (global 2-element array of highp int)
-0:? 'arrY' (global 1-element array of highp int)
-0:? 'arrZ' (global 4096-element array of highp int)
-0:? 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:? 'v' (buffer highp 4-component vector of float)
-0:? 'us2dbad' (uniform mediump usampler2D)
-0:? 'us2d' (uniform highp usampler2D)
-0:? 'ii2dabad' (uniform highp iimage2DArray)
-0:? 'ii2da' (writeonly uniform highp iimage2DArray)
-0:? 'iimg2D' (layout(r32i ) uniform highp iimage2D)
-0:? 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
-0:? 'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
-0:? 'uimg2D' (layout(r32ui ) uniform highp uimage2D)
-0:? 'vol' (volatile temp highp float)
-0:? 'vol2' (readonly temp highp int)
-0:? 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
-0:? 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
-0:? 'i1bad' (layout(rg8i ) readonly uniform highp uimage2D)
-0:? 'i2bad' (layout(rgba32i ) readonly uniform lowp image2D)
-0:? 'i3bad' (layout(rgba32f ) readonly uniform highp uimage2D)
-0:? 'i4bad' (layout(r8_snorm ) readonly uniform highp iimage2D)
-0:? 'i5bad' (layout(rgba32ui ) readonly uniform highp iimage2D)
-0:? 'i6bad' (layout(r8ui ) readonly uniform highp iimage2D)
-0:? 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:? 'counterBad' (layout(binding=1 ) uniform mediump atomic_uint)
-0:? 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
-0:? 'i' (uniform highp int)
-0:? 'atomi' (shared highp int)
-0:? 'atomu' (shared highp uint)
-0:? 'pfoo' (temp highp int)
-0:? 'dm' (global 2X4 matrix of double)
-0:? 'sca' (uniform mediump samplerCubeArray)
-0:? 'i2dr' (uniform mediump iimage2DRect)
-0:? 'i2dms' (uniform lowp image2DMS)
-0:? 'u2dmsa' (uniform mediump uimage2DMSArray)
-0:? 'okay1' (layout(r32f ) coherent volatile restrict readonly writeonly uniform lowp image2D)
-0:? 'okay2' (layout(r32i ) coherent volatile restrict readonly uniform highp iimage2D)
-0:? 'okay3' (layout(r32ui ) coherent volatile restrict writeonly uniform highp uimage2D)
-0:? 'okay4' (layout(r32f ) coherent volatile restrict uniform lowp image2D)
-0:? 'badQ1' (layout(rgba32f ) coherent volatile restrict uniform lowp image2D)
-0:? 'badQ2' (layout(rgba8i ) coherent volatile restrict uniform highp iimage2D)
-0:? 'badQ3' (layout(rgba16ui ) coherent volatile restrict uniform highp uimage2D)
-0:? 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:? 'multio' (layout(column_major shared ) buffer block{layout(column_major shared ) readonly buffer highp int value, layout(column_major shared ) writeonly buffer implicitly-sized array of highp float values})
-0:? 'inbi' (in block{in highp int a})
-0:? 'outbi' (out block{out highp int a})
-0:? 't__' (global highp float)
-0:? 'arr' (shared 2-element array of 3-element array of 4-element array of highp 4-component vector of float)
-
+310.comp
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:4: 'local_size' : cannot change previously set size
+ERROR: 0:5: 'local_size' : too large; see gl_MaxComputeWorkGroupSize
+ERROR: 0:23: '' : array size required
+ERROR: 0:39: 'in' : global storage input qualifier cannot be used in a compute shader
+ERROR: 0:39: 'location qualifier on input' : not supported in this stage: compute
+ERROR: 0:40: 'in' : global storage input qualifier cannot be used in a compute shader
+ERROR: 0:41: 'out' : global storage output qualifier cannot be used in a compute shader
+ERROR: 0:44: 'shared' : cannot apply layout qualifiers to a shared variable
+ERROR: 0:44: 'location' : can only appy to uniform, buffer, in, or out storage qualifiers
+ERROR: 0:45: 'shared' : cannot initialize this type of qualifier
+ERROR: 0:47: 'local_size' : can only apply to 'in'
+ERROR: 0:47: 'local_size' : can only apply to 'in'
+ERROR: 0:47: 'local_size' : can only apply to 'in'
+ERROR: 0:61: 'assign' : l-value required "ro" (can't modify a readonly buffer)
+ERROR: 0:66: 'buffer' : buffers can be declared only as blocks
+ERROR: 0:68: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:76: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:87: 'imageAtomicCompSwap' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:88: 'imageAtomicAdd' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:89: 'imageAtomicMin' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:89: 'readonly' : argument cannot drop memory qualifier when passed to formal parameter
+ERROR: 0:89: 'imageAtomicMin' : only supported on image with format r32i or r32ui
+ERROR: 0:90: 'imageAtomicMax' : no matching overloaded function found
+ERROR: 0:94: 'writeonly' : argument cannot drop memory qualifier when passed to formal parameter
+ERROR: 0:97: '' : memory qualifiers cannot be used on this type
+ERROR: 0:98: '' : memory qualifiers cannot be used on this type
+ERROR: 0:114: 'image load-store format' : not supported with this profile: es
+ERROR: 0:114: 'rg8i' : does not apply to unsigned integer images
+ERROR: 0:115: 'rgba32i' : does not apply to floating point images
+ERROR: 0:116: 'rgba32f' : does not apply to unsigned integer images
+ERROR: 0:117: 'image load-store format' : not supported with this profile: es
+ERROR: 0:117: 'r8_snorm' : does not apply to signed integer images
+ERROR: 0:118: 'rgba32ui' : does not apply to signed integer images
+ERROR: 0:119: 'image load-store format' : not supported with this profile: es
+ERROR: 0:119: 'r8ui' : does not apply to signed integer images
+ERROR: 0:128: 'atomic_uint' : samplers and atomic_uints cannot be output parameters
+ERROR: 0:130: 'return' : type does not match, or is not convertible to, the function's return type
+ERROR: 0:136: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: non_uniform_counter
+ERROR: 0:136: 'atomic_uint' : layout(binding=X) is required
+ERROR: 0:141: 'atomic_uint' : atomic counters can only be highp
+ERROR: 0:141: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 0:143: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 0:149: '[]' : scalar integer expression required
+ERROR: 0:166: 'precision' : can only apply highp to atomic_uint
+ERROR: 0:168: 'precise' : Reserved word.
+ERROR: 0:170: 'dmat2x4' : Reserved word.
+ERROR: 0:170: 'double matrix' : not supported with this profile: es
+ERROR: 0:171: 'samplerCubeArray' : Reserved word.
+ERROR: 0:171: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:172: 'iimage2DRect' : Reserved word.
+ERROR: 0:172: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:172: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:173: 'image2DMS' : Reserved word.
+ERROR: 0:173: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:174: 'uimage2DMSArray' : Reserved word.
+ERROR: 0:174: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:174: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:181: 'rgba32f' : format requires readonly or writeonly memory qualifier
+ERROR: 0:182: 'rgba8i' : format requires readonly or writeonly memory qualifier
+ERROR: 0:183: 'rgba16ui' : format requires readonly or writeonly memory qualifier
+ERROR: 0:194: 'assign' : can't read from writeonly object: wo
+ERROR: 0:195: 'initializer' : can't read from writeonly object: wo
+ERROR: 0:196: '++' : can't read from writeonly object: wo
+ERROR: 0:197: '--' : can't read from writeonly object: wo
+ERROR: 0:198: '+' : can't read from writeonly object: wo
+ERROR: 0:199: '-' : can't read from writeonly object: wo
+ERROR: 0:201: ':' : can't read from writeonly object: wo
+ERROR: 0:202: ':' : can't read from writeonly object: wo
+ERROR: 0:203: '==' : can't read from writeonly object: wo
+ERROR: 0:205: '>=' : can't read from writeonly object: wo
+ERROR: 0:207: 'constructor' : can't read from writeonly object: wo
+ERROR: 0:208: '~' : can't read from writeonly object: wo
+ERROR: 0:221: 'assign' : can't read from writeonly object: wo
+ERROR: 0:222: '~' : can't read from writeonly object: wo
+ERROR: 0:227: 'input block' : not supported in this stage: compute
+ERROR: 0:231: 'output block' : not supported in this stage: compute
+WARNING: 0:235: 't__' : identifiers containing consecutive underscores ("__") are reserved
+WARNING: 0:238: '#define' : names containing consecutive underscores are reserved: __D
+ERROR: 76 compilation errors. No code generated.
+
+
+Shader version: 310
+local_size = (2, 1, 4096)
+ERROR: node is still EOpNull!
+0:27 Function Definition: main( (global void)
+0:27 Function Parameters:
+0:29 Sequence
+0:29 Barrier (global void)
+0:30 MemoryBarrier (global void)
+0:31 MemoryBarrierAtomicCounter (global void)
+0:32 MemoryBarrierBuffer (global void)
+0:33 MemoryBarrierShared (global void)
+0:34 MemoryBarrierImage (global void)
+0:35 GroupMemoryBarrier (global void)
+0:36 move second child to first child (temp highp int)
+0:36 value: direct index for structure (layout(column_major shared ) buffer highp int)
+0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:36 Constant:
+0:36 0 (const uint)
+0:36 Convert float to int (temp highp int)
+0:36 indirect index (layout(column_major shared ) temp highp float)
+0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:36 Constant:
+0:36 1 (const uint)
+0:36 'gl_LocalInvocationIndex' (in highp uint LocalInvocationIndex)
+0:59 Function Definition: foo( (global void)
+0:59 Function Parameters:
+0:61 Sequence
+0:61 move second child to first child (temp highp float)
+0:61 direct index (layout(column_major shared ) temp highp float)
+0:61 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:61 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:61 Constant:
+0:61 1 (const int)
+0:61 Constant:
+0:61 2 (const int)
+0:61 Constant:
+0:61 4.700000
+0:62 array length (temp highp int)
+0:62 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:62 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:62 Constant:
+0:62 1 (const int)
+0:63 Pre-Increment (temp highp 4-component vector of float)
+0:63 's' (shared highp 4-component vector of float)
+0:84 Function Definition: qux( (global void)
+0:84 Function Parameters:
+0:86 Sequence
+0:86 Sequence
+0:86 move second child to first child (temp highp int)
+0:86 'i' (temp highp int)
+0:86 Constant:
+0:86 4 (const int)
+0:87 imageAtomicCompSwap (global highp int)
+0:87 'iimg2D' (layout(r32i ) uniform highp iimage2D)
+0:87 Construct ivec2 (temp highp 2-component vector of int)
+0:87 'i' (temp highp int)
+0:87 'i' (temp highp int)
+0:87 'i' (temp highp int)
+0:87 'i' (temp highp int)
+0:88 imageAtomicAdd (global highp uint)
+0:88 'uimg2D' (layout(r32ui ) uniform highp uimage2D)
+0:88 Construct ivec2 (temp highp 2-component vector of int)
+0:88 'i' (temp highp int)
+0:88 'i' (temp highp int)
+0:88 Convert int to uint (temp highp uint)
+0:88 'i' (temp highp int)
+0:89 imageAtomicMin (global highp int)
+0:89 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
+0:89 Construct ivec2 (temp highp 2-component vector of int)
+0:89 'i' (temp highp int)
+0:89 'i' (temp highp int)
+0:89 'i' (temp highp int)
+0:90 Constant:
+0:90 0.000000
+0:91 Sequence
+0:91 move second child to first child (temp highp 4-component vector of int)
+0:91 'pos' (temp highp 4-component vector of int)
+0:91 imageLoad (global highp 4-component vector of int)
+0:91 'iimg2D' (layout(r32i ) uniform highp iimage2D)
+0:91 Construct ivec2 (temp highp 2-component vector of int)
+0:91 'i' (temp highp int)
+0:91 'i' (temp highp int)
+0:92 imageStore (global highp void)
+0:92 'ii2da' (writeonly uniform highp iimage2DArray)
+0:92 Construct ivec3 (temp 3-component vector of int)
+0:92 'i' (temp highp int)
+0:92 'i' (temp highp int)
+0:92 'i' (temp highp int)
+0:92 Constant:
+0:92 0 (const int)
+0:92 0 (const int)
+0:92 0 (const int)
+0:92 0 (const int)
+0:93 imageLoad (global highp 4-component vector of float)
+0:93 'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
+0:93 Construct ivec2 (temp highp 2-component vector of int)
+0:93 'i' (temp highp int)
+0:93 'i' (temp highp int)
+0:94 imageLoad (global highp 4-component vector of int)
+0:94 'ii2da' (writeonly uniform highp iimage2DArray)
+0:94 Construct ivec3 (temp highp 3-component vector of int)
+0:94 'i' (temp highp int)
+0:94 'i' (temp highp int)
+0:94 'i' (temp highp int)
+0:100 Function Definition: passr(iI21; (global void)
+0:100 Function Parameters:
+0:100 'image' (coherent readonly in highp iimage2D)
+0:107 Function Definition: passrc( (global void)
+0:107 Function Parameters:
+0:109 Sequence
+0:109 Function Call: passr(iI21; (global void)
+0:109 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
+0:110 Function Call: passr(iI21; (global void)
+0:110 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
+0:111 Function Call: passr(iI21; (global void)
+0:111 'iimg2D' (layout(r32i ) uniform highp iimage2D)
+0:123 Function Definition: func(au1; (global highp uint)
+0:123 Function Parameters:
+0:123 'c' (in highp atomic_uint)
+0:125 Sequence
+0:125 Branch: Return with expression
+0:125 AtomicCounterIncrement (global highp uint)
+0:125 'c' (in highp atomic_uint)
+0:128 Function Definition: func2(au1; (global highp uint)
+0:128 Function Parameters:
+0:128 'c' (out highp atomic_uint)
+0:130 Sequence
+0:130 Branch: Return with expression
+0:130 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:131 Branch: Return with expression
+0:131 AtomicCounter (global highp uint)
+0:131 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:134 Function Definition: mainAC( (global void)
+0:134 Function Parameters:
+0:? Sequence
+0:137 Sequence
+0:137 move second child to first child (temp highp uint)
+0:137 'val' (temp highp uint)
+0:137 AtomicCounter (global highp uint)
+0:137 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:138 AtomicCounterDecrement (global highp uint)
+0:138 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:146 Function Definition: opac( (global void)
+0:146 Function Parameters:
+0:? Sequence
+0:149 indirect index (temp highp int)
+0:149 'a' (temp 3-element array of highp int)
+0:149 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:150 direct index (layout(binding=2 offset=4 ) temp highp atomic_uint)
+0:150 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
+0:150 Constant:
+0:150 2 (const int)
+0:151 indirect index (layout(binding=2 offset=4 ) temp highp atomic_uint)
+0:151 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
+0:151 'i' (uniform highp int)
+0:157 Function Definition: atoms( (global void)
+0:157 Function Parameters:
+0:159 Sequence
+0:159 Sequence
+0:159 move second child to first child (temp highp int)
+0:159 'origi' (temp highp int)
+0:159 AtomicAdd (global highp int)
+0:159 'atomi' (shared highp int)
+0:159 Constant:
+0:159 3 (const int)
+0:160 Sequence
+0:160 move second child to first child (temp highp uint)
+0:160 'origu' (temp highp uint)
+0:160 AtomicAnd (global highp uint)
+0:160 'atomu' (shared highp uint)
+0:160 Constant:
+0:160 7 (const uint)
+0:161 move second child to first child (temp highp int)
+0:161 'origi' (temp highp int)
+0:161 AtomicExchange (global highp int)
+0:161 'atomi' (shared highp int)
+0:161 Constant:
+0:161 4 (const int)
+0:162 move second child to first child (temp highp uint)
+0:162 'origu' (temp highp uint)
+0:162 AtomicCompSwap (global highp uint)
+0:162 'atomu' (shared highp uint)
+0:162 Constant:
+0:162 10 (const uint)
+0:162 Constant:
+0:162 8 (const uint)
+0:191 Function Definition: foowo( (global void)
+0:191 Function Parameters:
+0:? Sequence
+0:194 move second child to first child (temp highp float)
+0:194 'g' (temp highp float)
+0:194 direct index (layout(column_major shared ) temp highp float)
+0:194 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:194 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:194 Constant:
+0:194 1 (const int)
+0:194 Constant:
+0:194 2 (const int)
+0:195 Sequence
+0:195 move second child to first child (temp highp float)
+0:195 'f' (temp highp float)
+0:195 direct index (layout(column_major shared ) temp highp float)
+0:195 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:195 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:195 Constant:
+0:195 1 (const int)
+0:195 Constant:
+0:195 2 (const int)
+0:196 Pre-Increment (temp highp float)
+0:196 direct index (layout(column_major shared ) temp highp float)
+0:196 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:196 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:196 Constant:
+0:196 1 (const int)
+0:196 Constant:
+0:196 2 (const int)
+0:197 Post-Decrement (temp highp float)
+0:197 direct index (layout(column_major shared ) temp highp float)
+0:197 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:197 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:197 Constant:
+0:197 1 (const int)
+0:197 Constant:
+0:197 2 (const int)
+0:198 add (temp highp float)
+0:198 'f' (temp highp float)
+0:198 direct index (layout(column_major shared ) temp highp float)
+0:198 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:198 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:198 Constant:
+0:198 1 (const int)
+0:198 Constant:
+0:198 2 (const int)
+0:199 subtract (temp highp float)
+0:199 direct index (layout(column_major shared ) temp highp float)
+0:199 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:199 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:199 Constant:
+0:199 1 (const int)
+0:199 Constant:
+0:199 2 (const int)
+0:199 'f' (temp highp float)
+0:201 Test condition and select (temp highp float)
+0:201 Condition
+0:201 'b' (temp bool)
+0:201 true case
+0:201 'f' (temp highp float)
+0:201 false case
+0:201 direct index (layout(column_major shared ) temp highp float)
+0:201 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:201 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:201 Constant:
+0:201 1 (const int)
+0:201 Constant:
+0:201 2 (const int)
+0:202 Test condition and select (layout(column_major shared ) temp highp float)
+0:202 Condition
+0:202 'b' (temp bool)
+0:202 true case
+0:202 direct index (layout(column_major shared ) temp highp float)
+0:202 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:202 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:202 Constant:
+0:202 1 (const int)
+0:202 Constant:
+0:202 2 (const int)
+0:202 false case
+0:202 'f' (temp highp float)
+0:203 Test condition and select (temp void)
+0:203 Condition
+0:203 Compare Equal (temp bool)
+0:203 'f' (temp highp float)
+0:203 direct index (layout(column_major shared ) temp highp float)
+0:203 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:203 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:203 Constant:
+0:203 1 (const int)
+0:203 Constant:
+0:203 2 (const int)
+0:203 true case
+0:204 Pre-Increment (temp highp float)
+0:204 'f' (temp highp float)
+0:205 Test condition and select (temp void)
+0:205 Condition
+0:205 Compare Greater Than or Equal (temp bool)
+0:205 'f' (temp highp float)
+0:205 direct index (layout(column_major shared ) temp highp float)
+0:205 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:205 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:205 Constant:
+0:205 1 (const int)
+0:205 Constant:
+0:205 2 (const int)
+0:205 true case
+0:206 Pre-Increment (temp highp float)
+0:206 'f' (temp highp float)
+0:207 move second child to first child (temp highp float)
+0:207 'f' (temp highp float)
+0:207 direct index (temp highp float)
+0:207 Construct vec3 (temp highp 3-component vector of float)
+0:207 direct index (layout(column_major shared ) temp highp float)
+0:207 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:207 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:207 Constant:
+0:207 1 (const int)
+0:207 Constant:
+0:207 2 (const int)
+0:207 Constant:
+0:207 0 (const int)
+0:208 Bitwise not (temp highp int)
+0:208 value: direct index for structure (layout(column_major shared ) buffer highp int)
+0:208 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:208 Constant:
+0:208 0 (const int)
+0:209 move second child to first child (temp highp float)
+0:209 direct index (layout(column_major shared ) temp highp float)
+0:209 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:209 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:209 Constant:
+0:209 1 (const int)
+0:209 Constant:
+0:209 2 (const int)
+0:209 Constant:
+0:209 3.400000
+0:218 Function Definition: foomultio( (global void)
+0:218 Function Parameters:
+0:? Sequence
+0:221 move second child to first child (temp highp float)
+0:221 'g' (temp highp float)
+0:221 direct index (layout(column_major shared ) temp highp float)
+0:221 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:221 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:221 Constant:
+0:221 1 (const int)
+0:221 Constant:
+0:221 2 (const int)
+0:222 Bitwise not (temp highp int)
+0:222 value: direct index for structure (layout(column_major shared ) buffer highp int)
+0:222 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:222 Constant:
+0:222 0 (const int)
+0:223 move second child to first child (temp highp float)
+0:223 direct index (layout(column_major shared ) temp highp float)
+0:223 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:223 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:223 Constant:
+0:223 1 (const int)
+0:223 Constant:
+0:223 2 (const int)
+0:223 Constant:
+0:223 3.400000
+0:224 move second child to first child (temp highp int)
+0:224 value: direct index for structure (layout(column_major shared ) buffer highp int)
+0:224 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:224 Constant:
+0:224 0 (const int)
+0:224 Constant:
+0:224 2 (const int)
+0:? Linker Objects
+0:? 'gl_WorkGroupSize' (const highp 3-component vector of uint WorkGroupSize)
+0:? 2 (const uint)
+0:? 1 (const uint)
+0:? 4096 (const uint)
+0:? 'total' (const highp int)
+0:? 66592 (const int)
+0:? 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:? 'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of highp float values, layout(column_major shared ) buffer highp int value})
+0:? 'v3' (layout(location=2 ) in highp 3-component vector of float)
+0:? 'f' (in highp float)
+0:? 'fo' (out highp float)
+0:? 's' (shared highp 4-component vector of float)
+0:? 'sl' (layout(location=2 ) shared highp 4-component vector of float)
+0:? 'fs' (shared highp float)
+0:? 'arrX' (global 2-element array of highp int)
+0:? 'arrY' (global 1-element array of highp int)
+0:? 'arrZ' (global 4096-element array of highp int)
+0:? 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:? 'v' (buffer highp 4-component vector of float)
+0:? 'us2dbad' (uniform mediump usampler2D)
+0:? 'us2d' (uniform highp usampler2D)
+0:? 'ii2dabad' (uniform highp iimage2DArray)
+0:? 'ii2da' (writeonly uniform highp iimage2DArray)
+0:? 'iimg2D' (layout(r32i ) uniform highp iimage2D)
+0:? 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
+0:? 'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
+0:? 'uimg2D' (layout(r32ui ) uniform highp uimage2D)
+0:? 'vol' (volatile temp highp float)
+0:? 'vol2' (readonly temp highp int)
+0:? 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
+0:? 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
+0:? 'i1bad' (layout(rg8i ) readonly uniform highp uimage2D)
+0:? 'i2bad' (layout(rgba32i ) readonly uniform lowp image2D)
+0:? 'i3bad' (layout(rgba32f ) readonly uniform highp uimage2D)
+0:? 'i4bad' (layout(r8_snorm ) readonly uniform highp iimage2D)
+0:? 'i5bad' (layout(rgba32ui ) readonly uniform highp iimage2D)
+0:? 'i6bad' (layout(r8ui ) readonly uniform highp iimage2D)
+0:? 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:? 'counterBad' (layout(binding=1 ) uniform mediump atomic_uint)
+0:? 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
+0:? 'i' (uniform highp int)
+0:? 'atomi' (shared highp int)
+0:? 'atomu' (shared highp uint)
+0:? 'pfoo' (temp highp int)
+0:? 'dm' (global 2X4 matrix of double)
+0:? 'sca' (uniform mediump samplerCubeArray)
+0:? 'i2dr' (uniform mediump iimage2DRect)
+0:? 'i2dms' (uniform lowp image2DMS)
+0:? 'u2dmsa' (uniform mediump uimage2DMSArray)
+0:? 'okay1' (layout(r32f ) coherent volatile restrict readonly writeonly uniform lowp image2D)
+0:? 'okay2' (layout(r32i ) coherent volatile restrict readonly uniform highp iimage2D)
+0:? 'okay3' (layout(r32ui ) coherent volatile restrict writeonly uniform highp uimage2D)
+0:? 'okay4' (layout(r32f ) coherent volatile restrict uniform lowp image2D)
+0:? 'badQ1' (layout(rgba32f ) coherent volatile restrict uniform lowp image2D)
+0:? 'badQ2' (layout(rgba8i ) coherent volatile restrict uniform highp iimage2D)
+0:? 'badQ3' (layout(rgba16ui ) coherent volatile restrict uniform highp uimage2D)
+0:? 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:? 'multio' (layout(column_major shared ) buffer block{layout(column_major shared ) readonly buffer highp int value, layout(column_major shared ) writeonly buffer implicitly-sized array of highp float values})
+0:? 'inbi' (in block{in highp int a})
+0:? 'outbi' (out block{out highp int a})
+0:? 't__' (global highp float)
+0:? 'arr' (shared 2-element array of 3-element array of 4-element array of highp 4-component vector of float)
+
+
+Linked compute stage:
+
+
+Shader version: 310
+local_size = (2, 1, 4096)
+ERROR: node is still EOpNull!
+0:27 Function Definition: main( (global void)
+0:27 Function Parameters:
+0:29 Sequence
+0:29 Barrier (global void)
+0:30 MemoryBarrier (global void)
+0:31 MemoryBarrierAtomicCounter (global void)
+0:32 MemoryBarrierBuffer (global void)
+0:33 MemoryBarrierShared (global void)
+0:34 MemoryBarrierImage (global void)
+0:35 GroupMemoryBarrier (global void)
+0:36 move second child to first child (temp highp int)
+0:36 value: direct index for structure (layout(column_major shared ) buffer highp int)
+0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:36 Constant:
+0:36 0 (const uint)
+0:36 Convert float to int (temp highp int)
+0:36 indirect index (layout(column_major shared ) temp highp float)
+0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:36 Constant:
+0:36 1 (const uint)
+0:36 'gl_LocalInvocationIndex' (in highp uint LocalInvocationIndex)
+0:59 Function Definition: foo( (global void)
+0:59 Function Parameters:
+0:61 Sequence
+0:61 move second child to first child (temp highp float)
+0:61 direct index (layout(column_major shared ) temp highp float)
+0:61 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:61 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:61 Constant:
+0:61 1 (const int)
+0:61 Constant:
+0:61 2 (const int)
+0:61 Constant:
+0:61 4.700000
+0:62 array length (temp highp int)
+0:62 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:62 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:62 Constant:
+0:62 1 (const int)
+0:63 Pre-Increment (temp highp 4-component vector of float)
+0:63 's' (shared highp 4-component vector of float)
+0:84 Function Definition: qux( (global void)
+0:84 Function Parameters:
+0:86 Sequence
+0:86 Sequence
+0:86 move second child to first child (temp highp int)
+0:86 'i' (temp highp int)
+0:86 Constant:
+0:86 4 (const int)
+0:87 imageAtomicCompSwap (global highp int)
+0:87 'iimg2D' (layout(r32i ) uniform highp iimage2D)
+0:87 Construct ivec2 (temp highp 2-component vector of int)
+0:87 'i' (temp highp int)
+0:87 'i' (temp highp int)
+0:87 'i' (temp highp int)
+0:87 'i' (temp highp int)
+0:88 imageAtomicAdd (global highp uint)
+0:88 'uimg2D' (layout(r32ui ) uniform highp uimage2D)
+0:88 Construct ivec2 (temp highp 2-component vector of int)
+0:88 'i' (temp highp int)
+0:88 'i' (temp highp int)
+0:88 Convert int to uint (temp highp uint)
+0:88 'i' (temp highp int)
+0:89 imageAtomicMin (global highp int)
+0:89 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
+0:89 Construct ivec2 (temp highp 2-component vector of int)
+0:89 'i' (temp highp int)
+0:89 'i' (temp highp int)
+0:89 'i' (temp highp int)
+0:90 Constant:
+0:90 0.000000
+0:91 Sequence
+0:91 move second child to first child (temp highp 4-component vector of int)
+0:91 'pos' (temp highp 4-component vector of int)
+0:91 imageLoad (global highp 4-component vector of int)
+0:91 'iimg2D' (layout(r32i ) uniform highp iimage2D)
+0:91 Construct ivec2 (temp highp 2-component vector of int)
+0:91 'i' (temp highp int)
+0:91 'i' (temp highp int)
+0:92 imageStore (global highp void)
+0:92 'ii2da' (writeonly uniform highp iimage2DArray)
+0:92 Construct ivec3 (temp 3-component vector of int)
+0:92 'i' (temp highp int)
+0:92 'i' (temp highp int)
+0:92 'i' (temp highp int)
+0:92 Constant:
+0:92 0 (const int)
+0:92 0 (const int)
+0:92 0 (const int)
+0:92 0 (const int)
+0:93 imageLoad (global highp 4-component vector of float)
+0:93 'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
+0:93 Construct ivec2 (temp highp 2-component vector of int)
+0:93 'i' (temp highp int)
+0:93 'i' (temp highp int)
+0:94 imageLoad (global highp 4-component vector of int)
+0:94 'ii2da' (writeonly uniform highp iimage2DArray)
+0:94 Construct ivec3 (temp highp 3-component vector of int)
+0:94 'i' (temp highp int)
+0:94 'i' (temp highp int)
+0:94 'i' (temp highp int)
+0:100 Function Definition: passr(iI21; (global void)
+0:100 Function Parameters:
+0:100 'image' (coherent readonly in highp iimage2D)
+0:107 Function Definition: passrc( (global void)
+0:107 Function Parameters:
+0:109 Sequence
+0:109 Function Call: passr(iI21; (global void)
+0:109 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
+0:110 Function Call: passr(iI21; (global void)
+0:110 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
+0:111 Function Call: passr(iI21; (global void)
+0:111 'iimg2D' (layout(r32i ) uniform highp iimage2D)
+0:123 Function Definition: func(au1; (global highp uint)
+0:123 Function Parameters:
+0:123 'c' (in highp atomic_uint)
+0:125 Sequence
+0:125 Branch: Return with expression
+0:125 AtomicCounterIncrement (global highp uint)
+0:125 'c' (in highp atomic_uint)
+0:128 Function Definition: func2(au1; (global highp uint)
+0:128 Function Parameters:
+0:128 'c' (out highp atomic_uint)
+0:130 Sequence
+0:130 Branch: Return with expression
+0:130 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:131 Branch: Return with expression
+0:131 AtomicCounter (global highp uint)
+0:131 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:134 Function Definition: mainAC( (global void)
+0:134 Function Parameters:
+0:? Sequence
+0:137 Sequence
+0:137 move second child to first child (temp highp uint)
+0:137 'val' (temp highp uint)
+0:137 AtomicCounter (global highp uint)
+0:137 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:138 AtomicCounterDecrement (global highp uint)
+0:138 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:146 Function Definition: opac( (global void)
+0:146 Function Parameters:
+0:? Sequence
+0:149 indirect index (temp highp int)
+0:149 'a' (temp 3-element array of highp int)
+0:149 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:150 direct index (layout(binding=2 offset=4 ) temp highp atomic_uint)
+0:150 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
+0:150 Constant:
+0:150 2 (const int)
+0:151 indirect index (layout(binding=2 offset=4 ) temp highp atomic_uint)
+0:151 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
+0:151 'i' (uniform highp int)
+0:157 Function Definition: atoms( (global void)
+0:157 Function Parameters:
+0:159 Sequence
+0:159 Sequence
+0:159 move second child to first child (temp highp int)
+0:159 'origi' (temp highp int)
+0:159 AtomicAdd (global highp int)
+0:159 'atomi' (shared highp int)
+0:159 Constant:
+0:159 3 (const int)
+0:160 Sequence
+0:160 move second child to first child (temp highp uint)
+0:160 'origu' (temp highp uint)
+0:160 AtomicAnd (global highp uint)
+0:160 'atomu' (shared highp uint)
+0:160 Constant:
+0:160 7 (const uint)
+0:161 move second child to first child (temp highp int)
+0:161 'origi' (temp highp int)
+0:161 AtomicExchange (global highp int)
+0:161 'atomi' (shared highp int)
+0:161 Constant:
+0:161 4 (const int)
+0:162 move second child to first child (temp highp uint)
+0:162 'origu' (temp highp uint)
+0:162 AtomicCompSwap (global highp uint)
+0:162 'atomu' (shared highp uint)
+0:162 Constant:
+0:162 10 (const uint)
+0:162 Constant:
+0:162 8 (const uint)
+0:191 Function Definition: foowo( (global void)
+0:191 Function Parameters:
+0:? Sequence
+0:194 move second child to first child (temp highp float)
+0:194 'g' (temp highp float)
+0:194 direct index (layout(column_major shared ) temp highp float)
+0:194 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:194 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:194 Constant:
+0:194 1 (const int)
+0:194 Constant:
+0:194 2 (const int)
+0:195 Sequence
+0:195 move second child to first child (temp highp float)
+0:195 'f' (temp highp float)
+0:195 direct index (layout(column_major shared ) temp highp float)
+0:195 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:195 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:195 Constant:
+0:195 1 (const int)
+0:195 Constant:
+0:195 2 (const int)
+0:196 Pre-Increment (temp highp float)
+0:196 direct index (layout(column_major shared ) temp highp float)
+0:196 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:196 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:196 Constant:
+0:196 1 (const int)
+0:196 Constant:
+0:196 2 (const int)
+0:197 Post-Decrement (temp highp float)
+0:197 direct index (layout(column_major shared ) temp highp float)
+0:197 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:197 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:197 Constant:
+0:197 1 (const int)
+0:197 Constant:
+0:197 2 (const int)
+0:198 add (temp highp float)
+0:198 'f' (temp highp float)
+0:198 direct index (layout(column_major shared ) temp highp float)
+0:198 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:198 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:198 Constant:
+0:198 1 (const int)
+0:198 Constant:
+0:198 2 (const int)
+0:199 subtract (temp highp float)
+0:199 direct index (layout(column_major shared ) temp highp float)
+0:199 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:199 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:199 Constant:
+0:199 1 (const int)
+0:199 Constant:
+0:199 2 (const int)
+0:199 'f' (temp highp float)
+0:201 Test condition and select (temp highp float)
+0:201 Condition
+0:201 'b' (temp bool)
+0:201 true case
+0:201 'f' (temp highp float)
+0:201 false case
+0:201 direct index (layout(column_major shared ) temp highp float)
+0:201 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:201 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:201 Constant:
+0:201 1 (const int)
+0:201 Constant:
+0:201 2 (const int)
+0:202 Test condition and select (layout(column_major shared ) temp highp float)
+0:202 Condition
+0:202 'b' (temp bool)
+0:202 true case
+0:202 direct index (layout(column_major shared ) temp highp float)
+0:202 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:202 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:202 Constant:
+0:202 1 (const int)
+0:202 Constant:
+0:202 2 (const int)
+0:202 false case
+0:202 'f' (temp highp float)
+0:203 Test condition and select (temp void)
+0:203 Condition
+0:203 Compare Equal (temp bool)
+0:203 'f' (temp highp float)
+0:203 direct index (layout(column_major shared ) temp highp float)
+0:203 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:203 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:203 Constant:
+0:203 1 (const int)
+0:203 Constant:
+0:203 2 (const int)
+0:203 true case
+0:204 Pre-Increment (temp highp float)
+0:204 'f' (temp highp float)
+0:205 Test condition and select (temp void)
+0:205 Condition
+0:205 Compare Greater Than or Equal (temp bool)
+0:205 'f' (temp highp float)
+0:205 direct index (layout(column_major shared ) temp highp float)
+0:205 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:205 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:205 Constant:
+0:205 1 (const int)
+0:205 Constant:
+0:205 2 (const int)
+0:205 true case
+0:206 Pre-Increment (temp highp float)
+0:206 'f' (temp highp float)
+0:207 move second child to first child (temp highp float)
+0:207 'f' (temp highp float)
+0:207 direct index (temp highp float)
+0:207 Construct vec3 (temp highp 3-component vector of float)
+0:207 direct index (layout(column_major shared ) temp highp float)
+0:207 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:207 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:207 Constant:
+0:207 1 (const int)
+0:207 Constant:
+0:207 2 (const int)
+0:207 Constant:
+0:207 0 (const int)
+0:208 Bitwise not (temp highp int)
+0:208 value: direct index for structure (layout(column_major shared ) buffer highp int)
+0:208 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:208 Constant:
+0:208 0 (const int)
+0:209 move second child to first child (temp highp float)
+0:209 direct index (layout(column_major shared ) temp highp float)
+0:209 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:209 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:209 Constant:
+0:209 1 (const int)
+0:209 Constant:
+0:209 2 (const int)
+0:209 Constant:
+0:209 3.400000
+0:218 Function Definition: foomultio( (global void)
+0:218 Function Parameters:
+0:? Sequence
+0:221 move second child to first child (temp highp float)
+0:221 'g' (temp highp float)
+0:221 direct index (layout(column_major shared ) temp highp float)
+0:221 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:221 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:221 Constant:
+0:221 1 (const int)
+0:221 Constant:
+0:221 2 (const int)
+0:222 Bitwise not (temp highp int)
+0:222 value: direct index for structure (layout(column_major shared ) buffer highp int)
+0:222 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:222 Constant:
+0:222 0 (const int)
+0:223 move second child to first child (temp highp float)
+0:223 direct index (layout(column_major shared ) temp highp float)
+0:223 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
+0:223 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:223 Constant:
+0:223 1 (const int)
+0:223 Constant:
+0:223 2 (const int)
+0:223 Constant:
+0:223 3.400000
+0:224 move second child to first child (temp highp int)
+0:224 value: direct index for structure (layout(column_major shared ) buffer highp int)
+0:224 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:224 Constant:
+0:224 0 (const int)
+0:224 Constant:
+0:224 2 (const int)
+0:? Linker Objects
+0:? 'gl_WorkGroupSize' (const highp 3-component vector of uint WorkGroupSize)
+0:? 2 (const uint)
+0:? 1 (const uint)
+0:? 4096 (const uint)
+0:? 'total' (const highp int)
+0:? 66592 (const int)
+0:? 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:? 'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of highp float values, layout(column_major shared ) buffer highp int value})
+0:? 'v3' (layout(location=2 ) in highp 3-component vector of float)
+0:? 'f' (in highp float)
+0:? 'fo' (out highp float)
+0:? 's' (shared highp 4-component vector of float)
+0:? 'sl' (layout(location=2 ) shared highp 4-component vector of float)
+0:? 'fs' (shared highp float)
+0:? 'arrX' (global 2-element array of highp int)
+0:? 'arrY' (global 1-element array of highp int)
+0:? 'arrZ' (global 4096-element array of highp int)
+0:? 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:? 'v' (buffer highp 4-component vector of float)
+0:? 'us2dbad' (uniform mediump usampler2D)
+0:? 'us2d' (uniform highp usampler2D)
+0:? 'ii2dabad' (uniform highp iimage2DArray)
+0:? 'ii2da' (writeonly uniform highp iimage2DArray)
+0:? 'iimg2D' (layout(r32i ) uniform highp iimage2D)
+0:? 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
+0:? 'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
+0:? 'uimg2D' (layout(r32ui ) uniform highp uimage2D)
+0:? 'vol' (volatile temp highp float)
+0:? 'vol2' (readonly temp highp int)
+0:? 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
+0:? 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
+0:? 'i1bad' (layout(rg8i ) readonly uniform highp uimage2D)
+0:? 'i2bad' (layout(rgba32i ) readonly uniform lowp image2D)
+0:? 'i3bad' (layout(rgba32f ) readonly uniform highp uimage2D)
+0:? 'i4bad' (layout(r8_snorm ) readonly uniform highp iimage2D)
+0:? 'i5bad' (layout(rgba32ui ) readonly uniform highp iimage2D)
+0:? 'i6bad' (layout(r8ui ) readonly uniform highp iimage2D)
+0:? 'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
+0:? 'counterBad' (layout(binding=1 ) uniform mediump atomic_uint)
+0:? 'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
+0:? 'i' (uniform highp int)
+0:? 'atomi' (shared highp int)
+0:? 'atomu' (shared highp uint)
+0:? 'pfoo' (temp highp int)
+0:? 'dm' (global 2X4 matrix of double)
+0:? 'sca' (uniform mediump samplerCubeArray)
+0:? 'i2dr' (uniform mediump iimage2DRect)
+0:? 'i2dms' (uniform lowp image2DMS)
+0:? 'u2dmsa' (uniform mediump uimage2DMSArray)
+0:? 'okay1' (layout(r32f ) coherent volatile restrict readonly writeonly uniform lowp image2D)
+0:? 'okay2' (layout(r32i ) coherent volatile restrict readonly uniform highp iimage2D)
+0:? 'okay3' (layout(r32ui ) coherent volatile restrict writeonly uniform highp uimage2D)
+0:? 'okay4' (layout(r32f ) coherent volatile restrict uniform lowp image2D)
+0:? 'badQ1' (layout(rgba32f ) coherent volatile restrict uniform lowp image2D)
+0:? 'badQ2' (layout(rgba8i ) coherent volatile restrict uniform highp iimage2D)
+0:? 'badQ3' (layout(rgba16ui ) coherent volatile restrict uniform highp uimage2D)
+0:? 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
+0:? 'multio' (layout(column_major shared ) buffer block{layout(column_major shared ) readonly buffer highp int value, layout(column_major shared ) writeonly buffer implicitly-sized array of highp float values})
+0:? 'inbi' (in block{in highp int a})
+0:? 'outbi' (out block{out highp int a})
+0:? 't__' (global highp float)
+0:? 'arr' (shared 2-element array of 3-element array of 4-element array of highp 4-component vector of float)
+
diff --git a/Test/baseResults/310.frag.out b/Test/baseResults/310.frag.out
index 9cfd0ef..f1dc4d0 100644
--- a/Test/baseResults/310.frag.out
+++ b/Test/baseResults/310.frag.out
@@ -1,1891 +1,1891 @@
-310.frag
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:2: 'float' : type requires declaration of default precision qualifier
-ERROR: 0:8: 'origin_upper_left' : not supported with this profile: es
-ERROR: 0:8: 'pixel_center_integer' : not supported with this profile: es
-ERROR: 0:8: 'gl_FragCoord' : identifiers starting with "gl_" are reserved
-ERROR: 0:11: 'location' : overlapping use of location 2
-ERROR: 0:15: 'usampler2DRect' : Reserved word.
-ERROR: 0:15: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:23: 'variable indexing sampler array' : not supported for this version or the enabled extensions
-ERROR: 0:27: 'textureGatherOffsets' : no matching overloaded function found
-ERROR: 0:27: '=' : cannot convert from 'const float' to 'temp mediump 4-component vector of uint'
-ERROR: 0:30: 'textureGatherOffset(...)' : must be a compile-time constant: component argument
-ERROR: 0:31: 'textureGatherOffset(...)' : must be 0, 1, 2, or 3: component argument
-ERROR: 0:34: 'non-constant offset argument' : not supported for this version or the enabled extensions
-ERROR: 0:42: 'texel offset' : argument must be compile-time constant
-ERROR: 0:44: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
-ERROR: 0:44: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
-ERROR: 0:45: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
-ERROR: 0:45: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
-ERROR: 0:66: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:66: '' : image variables not declared 'writeonly' must have a format layout qualifier
-ERROR: 0:67: '' : image variables not declared 'writeonly' must have a format layout qualifier
-ERROR: 0:68: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:68: '' : image variables not declared 'writeonly' must have a format layout qualifier
-ERROR: 0:69: '' : image variables not declared 'writeonly' must have a format layout qualifier
-ERROR: 0:73: 'binding' : requires block, or sampler/image, or atomic-counter type
-ERROR: 0:77: 'location' : location is too large
-ERROR: 0:81: 'location' : too large for fragment output
-ERROR: 0:82: 'location' : too large for fragment output
-ERROR: 0:82: 'location' : overlapping use of location 40
-ERROR: 0:83: 'non-literal layout-id value' : not supported with this profile: es
-ERROR: 0:83: 'layout-id value' : cannot be negative
-ERROR: 0:110: 'out' : cannot be bool
-ERROR: 0:111: 'image2D' : sampler/image types can only be used in uniform variables or function parameters: imageOut
-ERROR: 0:111: '' : image variables not declared 'writeonly' must have a format layout qualifier
-ERROR: 0:112: 'out' : cannot be a matrix
-ERROR: 0:114: 'in' : cannot be bool
-ERROR: 0:115: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: ino
-ERROR: 0:117: 'fragment-shader array-of-array input' : not supported with this profile: es
-ERROR: 0:120: 'fragment-shader array-of-struct input' : not supported with this profile: es
-ERROR: 0:121: 'fragment-shader array-of-struct input' : not supported with this profile: es
-ERROR: 0:123: 'fragment-shader struct input containing an array' : not supported with this profile: es
-ERROR: 0:125: 'fragment-shader struct input containing structure' : not supported with this profile: es
-ERROR: 0:133: 'output block' : not supported in this stage: fragment
-ERROR: 0:138: '' : cannot nest a structure definition inside a structure or block
-ERROR: 0:146: 'location' : overlapping use of location 13
-ERROR: 0:148: 'inbname2' : Cannot reuse block name within the same interface: in
-ERROR: 0:153: 'badmember' : nameless block contains a member that already has a name at global scope
-ERROR: 0:157: 'inbname' : redefinition
-ERROR: 0:159: 'vAnon' : redefinition
-ERROR: 0:173: 'origin_upper_left' : not supported with this profile: es
-ERROR: 0:173: 'pixel_center_integer' : not supported with this profile: es
-ERROR: 0:173: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
-ERROR: 0:177: 'depth layout qualifier' : not supported with this profile: es
-ERROR: 0:181: 'assign' : l-value required "gl_FragDepth" (can't modify gl_FragDepth if using early_fragment_tests)
-ERROR: 0:182: 'gl_Layer' : required extension not requested: Possible extensions include:
-GL_EXT_geometry_shader
-GL_OES_geometry_shader
-ERROR: 0:183: 'gl_PrimitiveID' : required extension not requested: Possible extensions include:
-GL_EXT_geometry_shader
-GL_OES_geometry_shader
-ERROR: 0:209: 'precise' : Reserved word.
-ERROR: 0:210: 'fma' : required extension not requested: Possible extensions include:
-GL_EXT_gpu_shader5
-GL_OES_gpu_shader5
-ERROR: 0:211: 'non-constant offset argument' : not supported for this version or the enabled extensions
-ERROR: 0:212: 'textureGatherOffsets' : required extension not requested: Possible extensions include:
-GL_EXT_gpu_shader5
-GL_OES_gpu_shader5
-ERROR: 0:223: 'textureGatherOffsets(...)' : must be a compile-time constant: offsets argument
-ERROR: 0:257: 'gl_SampleID' : required extension not requested: GL_OES_sample_variables
-ERROR: 0:258: 'gl_SamplePosition' : required extension not requested: GL_OES_sample_variables
-ERROR: 0:259: 'gl_SampleMaskIn' : required extension not requested: GL_OES_sample_variables
-ERROR: 0:260: 'gl_SampleMask' : required extension not requested: GL_OES_sample_variables
-ERROR: 0:261: 'gl_NumSamples' : required extension not requested: GL_OES_sample_variables
-ERROR: 0:289: 'imageAtomicAdd' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:290: 'imageAtomicAdd' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:291: 'imageAtomicMin' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:292: 'imageAtomicMin' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:293: 'imageAtomicMax' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:294: 'imageAtomicMax' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:295: 'imageAtomicAnd' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:296: 'imageAtomicAnd' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:297: 'imageAtomicOr' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:298: 'imageAtomicOr' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:299: 'imageAtomicXor' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:300: 'imageAtomicXor' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:301: 'imageAtomicExchange' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:302: 'imageAtomicExchange' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:303: 'imageAtomicExchange' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:304: 'imageAtomicCompSwap' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:305: 'imageAtomicCompSwap' : required extension not requested: GL_OES_shader_image_atomic
-ERROR: 0:312: 'rgba32f' : format requires readonly or writeonly memory qualifier
-ERROR: 0:313: 'rgba8ui' : format requires readonly or writeonly memory qualifier
-ERROR: 0:314: 'rgba16i' : format requires readonly or writeonly memory qualifier
-ERROR: 0:340: 'imageAtomicMax' : only supported on image with format r32i or r32ui
-ERROR: 0:341: 'imageAtomicMax' : only supported on image with format r32i or r32ui
-ERROR: 0:342: 'imageAtomicExchange' : only supported on image with format r32f
-ERROR: 0:345: 'sample' : Reserved word.
-ERROR: 0:346: 'centroid/sample/patch' : can't use auxiliary qualifier on a fragment output
-ERROR: 0:347: 'flat/smooth/noperspective' : can't use interpolation qualifier on a fragment output
-ERROR: 0:348: 'flat/smooth/noperspective' : can't use interpolation qualifier on a fragment output
-ERROR: 0:349: 'noperspective' : Reserved word.
-ERROR: 0:349: 'noperspective' : not supported with this profile: es
-ERROR: 0:349: 'flat/smooth/noperspective' : can't use interpolation qualifier on a fragment output
-ERROR: 0:355: 'interpolateAtCentroid' : required extension not requested: GL_OES_shader_multisample_interpolation
-ERROR: 0:356: 'interpolateAtSample' : required extension not requested: GL_OES_shader_multisample_interpolation
-ERROR: 0:357: 'interpolateAtOffset' : required extension not requested: GL_OES_shader_multisample_interpolation
-ERROR: 0:365: 'centroid/sample/patch' : can't use auxiliary qualifier on a fragment output
-ERROR: 0:380: 'interpolateAtCentroid' : no matching overloaded function found
-ERROR: 0:380: 'assign' : cannot convert from 'const float' to 'temp mediump 3-component vector of float'
-ERROR: 0:382: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element
-ERROR: 0:384: 'interpolateAtSample' : no matching overloaded function found
-ERROR: 0:384: 'assign' : cannot convert from 'const float' to 'temp mediump 3-component vector of float'
-ERROR: 0:386: 'interpolateAtSample' : first argument must be an interpolant, or interpolant-array element
-ERROR: 0:389: 'interpolateAtOffset' : no matching overloaded function found
-ERROR: 0:389: 'assign' : cannot convert from 'const float' to 'temp mediump 3-component vector of float'
-ERROR: 0:391: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
-ERROR: 0:392: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
-ERROR: 0:396: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element
-ERROR: 0:397: 'interpolateAtSample' : first argument must be an interpolant, or interpolant-array element
-ERROR: 0:400: 'blend equation' : required extension not requested: GL_KHR_blend_equation_advanced
-ERROR: 0:423: 'blend equation' : can only apply to 'out'
-ERROR: 0:424: 'blend equation' : can only apply to a standalone qualifier
-ERROR: 0:425: 'blend equation' : can only apply to a standalone qualifier
-ERROR: 0:426: 'blend equation' : can only apply to a standalone qualifier
-ERROR: 0:427: 'blend equation' : can only apply to a standalone qualifier
-ERROR: 0:428: 'blend equation' : can only apply to a standalone qualifier
-ERROR: 0:429: 'blend_support' : unknown blend equation
-ERROR: 0:431: 'fragment-shader array-of-array output' : not supported with this profile: es
-ERROR: 121 compilation errors. No code generated.
-
-
-Shader version: 310
-Requested GL_EXT_shader_io_blocks
-Requested GL_EXT_texture_cube_map_array
-Requested GL_KHR_blend_equation_advanced
-Requested GL_OES_geometry_shader
-Requested GL_OES_gpu_shader5
-Requested GL_OES_sample_variables
-Requested GL_OES_shader_image_atomic
-Requested GL_OES_shader_io_blocks
-Requested GL_OES_shader_multisample_interpolation
-gl_FragCoord pixel center is integer
-gl_FragCoord origin is upper left
-using early_fragment_tests
-using depth_any
-using blend_support_multiply blend_support_screen blend_support_overlay blend_support_darken blend_support_lighten blend_support_colordodge blend_support_colorburn blend_support_hardlight blend_support_softlight blend_support_difference blend_support_exclusion blend_support_hsl_hue blend_support_hsl_saturation blend_support_hsl_color blend_support_hsl_luminosity blend_support_all_equations
-ERROR: node is still EOpNull!
-0:21 Function Definition: main( (global void)
-0:21 Function Parameters:
-0:23 Sequence
-0:23 Sequence
-0:23 move second child to first child (temp highp 4-component vector of float)
-0:23 'v' (temp mediump 4-component vector of float)
-0:23 texture (global highp 4-component vector of float)
-0:23 indirect index (temp highp sampler2D)
-0:23 'arrayedSampler' (uniform 5-element array of highp sampler2D)
-0:23 'i' (uniform mediump int)
-0:23 'c2D' (smooth in mediump 2-component vector of float)
-0:28 Sequence
-0:28 move second child to first child (temp highp 4-component vector of float)
-0:28 'v4' (temp mediump 4-component vector of float)
-0:28 textureGather (global highp 4-component vector of float)
-0:28 direct index (temp highp sampler2D)
-0:28 'arrayedSampler' (uniform 5-element array of highp sampler2D)
-0:28 Constant:
-0:28 0 (const int)
-0:28 'c2D' (smooth in mediump 2-component vector of float)
-0:29 Sequence
-0:29 move second child to first child (temp mediump 4-component vector of int)
-0:29 'iv4' (temp mediump 4-component vector of int)
-0:29 textureGatherOffset (global mediump 4-component vector of int)
-0:29 'isamp2DA' (uniform highp isampler2DArray)
-0:29 Constant:
-0:29 0.100000
-0:29 0.100000
-0:29 0.100000
-0:29 Constant:
-0:29 1 (const int)
-0:29 1 (const int)
-0:29 Constant:
-0:29 3 (const int)
-0:30 move second child to first child (temp mediump 4-component vector of int)
-0:30 'iv4' (temp mediump 4-component vector of int)
-0:30 textureGatherOffset (global mediump 4-component vector of int)
-0:30 'isamp2DA' (uniform highp isampler2DArray)
-0:30 Constant:
-0:30 0.100000
-0:30 0.100000
-0:30 0.100000
-0:30 Constant:
-0:30 1 (const int)
-0:30 1 (const int)
-0:30 'i' (uniform mediump int)
-0:31 move second child to first child (temp mediump 4-component vector of int)
-0:31 'iv4' (temp mediump 4-component vector of int)
-0:31 textureGatherOffset (global mediump 4-component vector of int)
-0:31 'isamp2DA' (uniform highp isampler2DArray)
-0:31 Constant:
-0:31 0.100000
-0:31 0.100000
-0:31 0.100000
-0:31 Constant:
-0:31 1 (const int)
-0:31 1 (const int)
-0:31 Constant:
-0:31 4 (const int)
-0:32 move second child to first child (temp mediump 4-component vector of int)
-0:32 'iv4' (temp mediump 4-component vector of int)
-0:32 textureGatherOffset (global mediump 4-component vector of int)
-0:32 'isamp2DA' (uniform highp isampler2DArray)
-0:32 Constant:
-0:32 0.100000
-0:32 0.100000
-0:32 0.100000
-0:32 Constant:
-0:32 1 (const int)
-0:32 1 (const int)
-0:32 Constant:
-0:32 3 (const int)
-0:33 move second child to first child (temp mediump 4-component vector of int)
-0:33 'iv4' (temp mediump 4-component vector of int)
-0:33 textureGatherOffset (global mediump 4-component vector of int)
-0:33 'isamp2DA' (uniform highp isampler2DArray)
-0:33 Constant:
-0:33 0.100000
-0:33 0.100000
-0:33 0.100000
-0:33 Constant:
-0:33 0 (const int)
-0:33 0 (const int)
-0:34 move second child to first child (temp mediump 4-component vector of int)
-0:34 'iv4' (temp mediump 4-component vector of int)
-0:34 textureGatherOffset (global mediump 4-component vector of int)
-0:34 'isamp2DA' (uniform highp isampler2DArray)
-0:34 Constant:
-0:34 0.100000
-0:34 0.100000
-0:34 0.100000
-0:34 Construct ivec2 (temp mediump 2-component vector of int)
-0:34 'i' (uniform mediump int)
-0:38 Function Definition: foo23( (global void)
-0:38 Function Parameters:
-0:? Sequence
-0:42 textureProjGradOffset (global mediump 4-component vector of uint)
-0:42 'usamp2d' (uniform highp usampler2D)
-0:42 'outp' (out mediump 4-component vector of float)
-0:42 Constant:
-0:42 0.000000
-0:42 0.000000
-0:42 Constant:
-0:42 0.000000
-0:42 0.000000
-0:42 Convert float to int (temp mediump 2-component vector of int)
-0:42 'c2D' (smooth in mediump 2-component vector of float)
-0:43 textureProjGradOffset (global mediump 4-component vector of uint)
-0:43 'usamp2d' (uniform highp usampler2D)
-0:43 'outp' (out mediump 4-component vector of float)
-0:43 Constant:
-0:43 0.000000
-0:43 0.000000
-0:43 Constant:
-0:43 0.000000
-0:43 0.000000
-0:43 Constant:
-0:43 3 (const int)
-0:43 4 (const int)
-0:44 textureProjGradOffset (global mediump 4-component vector of uint)
-0:44 'usamp2d' (uniform highp usampler2D)
-0:44 'outp' (out mediump 4-component vector of float)
-0:44 Constant:
-0:44 0.000000
-0:44 0.000000
-0:44 Constant:
-0:44 0.000000
-0:44 0.000000
-0:44 Constant:
-0:44 15 (const int)
-0:44 16 (const int)
-0:45 textureProjGradOffset (global mediump 4-component vector of uint)
-0:45 'usamp2d' (uniform highp usampler2D)
-0:45 'outp' (out mediump 4-component vector of float)
-0:45 Constant:
-0:45 0.000000
-0:45 0.000000
-0:45 Constant:
-0:45 0.000000
-0:45 0.000000
-0:45 Constant:
-0:45 -10 (const int)
-0:45 20 (const int)
-0:47 Test condition and select (temp void)
-0:47 Condition
-0:47 'gl_HelperInvocation' (in bool HelperInvocation)
-0:47 true case
-0:48 Pre-Increment (temp mediump 4-component vector of float)
-0:48 'outp' (out mediump 4-component vector of float)
-0:50 Sequence
-0:50 move second child to first child (temp mediump int)
-0:50 'sum' (temp mediump int)
-0:50 Constant:
-0:50 32 (const int)
-0:58 move second child to first child (temp bool)
-0:58 'b1' (temp bool)
-0:58 mix (global bool)
-0:58 'b2' (temp bool)
-0:58 'b3' (temp bool)
-0:58 'b' (temp bool)
-0:59 Sequence
-0:59 move second child to first child (temp mediump 3-component vector of uint)
-0:59 'um3' (temp mediump 3-component vector of uint)
-0:59 mix (global mediump 3-component vector of uint)
-0:59 Construct uvec3 (temp mediump 3-component vector of uint)
-0:59 Convert int to uint (temp mediump uint)
-0:59 'i' (uniform mediump int)
-0:59 Construct uvec3 (temp mediump 3-component vector of uint)
-0:59 Convert int to uint (temp mediump uint)
-0:59 'i' (uniform mediump int)
-0:59 Construct bvec3 (temp 3-component vector of bool)
-0:59 'b' (temp bool)
-0:60 Sequence
-0:60 move second child to first child (temp mediump 4-component vector of int)
-0:60 'im4' (temp mediump 4-component vector of int)
-0:60 mix (global mediump 4-component vector of int)
-0:60 Construct ivec4 (temp mediump 4-component vector of int)
-0:60 'i' (uniform mediump int)
-0:60 Construct ivec4 (temp mediump 4-component vector of int)
-0:60 'i' (uniform mediump int)
-0:60 Construct bvec4 (temp 4-component vector of bool)
-0:60 'b' (temp bool)
-0:98 Function Definition: foots( (global void)
-0:98 Function Parameters:
-0:100 Sequence
-0:100 Sequence
-0:100 move second child to first child (temp highp 2-component vector of int)
-0:100 'v2' (temp highp 2-component vector of int)
-0:100 textureSize (global highp 2-component vector of int)
-0:100 's1' (layout(binding=3 ) uniform highp sampler2D)
-0:100 Constant:
-0:100 2 (const int)
-0:101 Sequence
-0:101 move second child to first child (temp highp 3-component vector of int)
-0:101 'v3' (temp highp 3-component vector of int)
-0:101 textureSize (global highp 3-component vector of int)
-0:101 'isamp2DA' (uniform highp isampler2DArray)
-0:101 Constant:
-0:101 3 (const int)
-0:102 move second child to first child (temp highp 2-component vector of int)
-0:102 'v2' (temp highp 2-component vector of int)
-0:102 textureSize (global highp 2-component vector of int)
-0:102 's2dms' (uniform highp sampler2DMS)
-0:103 move second child to first child (temp highp 2-component vector of int)
-0:103 'v2' (temp highp 2-component vector of int)
-0:103 imageQuerySize (global highp 2-component vector of int)
-0:103 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
-0:104 move second child to first child (temp highp 3-component vector of int)
-0:104 'v3' (temp highp 3-component vector of int)
-0:104 imageQuerySize (global highp 3-component vector of int)
-0:104 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
-0:105 move second child to first child (temp highp 2-component vector of int)
-0:105 'v2' (temp highp 2-component vector of int)
-0:105 imageQuerySize (global highp 2-component vector of int)
-0:105 'iCube' (layout(binding=5 ) uniform lowp imageCube)
-0:106 move second child to first child (temp highp 3-component vector of int)
-0:106 'v3' (temp highp 3-component vector of int)
-0:106 imageQuerySize (global highp 3-component vector of int)
-0:106 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
-0:107 move second child to first child (temp highp 2-component vector of int)
-0:107 'v2' (temp highp 2-component vector of int)
-0:107 imageQuerySize (global highp 2-component vector of int)
-0:107 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform highp image2D)
-0:165 Function Definition: fooIO( (global void)
-0:165 Function Parameters:
-0:167 Sequence
-0:167 Sequence
-0:167 move second child to first child (temp mediump 4-component vector of float)
-0:167 'v' (temp mediump 4-component vector of float)
-0:167 add (temp mediump 4-component vector of float)
-0:167 v: direct index for structure (in mediump 4-component vector of float)
-0:167 'inbinst' (in block{in mediump int a, in mediump 4-component vector of float v, in structure{global mediump int b} s})
-0:167 Constant:
-0:167 1 (const int)
-0:167 vAnon: direct index for structure (layout(location=13 ) centroid in mediump 4-component vector of float)
-0:167 'anon@0' (in block{layout(location=12 ) in mediump int aAnon, layout(location=13 ) centroid in mediump 4-component vector of float vAnon})
-0:167 Constant:
-0:167 1 (const uint)
-0:168 vector scale second child into first child (temp mediump 4-component vector of float)
-0:168 'v' (temp mediump 4-component vector of float)
-0:168 f: direct index for structure (in mediump float)
-0:168 direct index (temp block{in mediump float f})
-0:168 'arrayedInst' (in 4-element array of block{in mediump float f})
-0:168 Constant:
-0:168 2 (const int)
-0:168 Constant:
-0:168 0 (const int)
-0:169 vector scale second child into first child (temp mediump 4-component vector of float)
-0:169 'v' (temp mediump 4-component vector of float)
-0:169 f: direct index for structure (in mediump float)
-0:169 indirect index (temp block{in mediump float f})
-0:169 'arrayedInst' (in 4-element array of block{in mediump float f})
-0:169 'i' (uniform mediump int)
-0:169 Constant:
-0:169 0 (const int)
-0:179 Function Definition: foo_IO( (global void)
-0:179 Function Parameters:
-0:181 Sequence
-0:181 move second child to first child (temp highp float)
-0:181 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
-0:181 Constant:
-0:181 0.200000
-0:182 'gl_Layer' (flat in highp int Layer)
-0:183 'gl_PrimitiveID' (flat in highp int PrimitiveID)
-0:184 Sequence
-0:184 move second child to first child (temp bool)
-0:184 'f' (temp bool)
-0:184 'gl_FrontFacing' (gl_FrontFacing bool Face)
-0:191 Function Definition: foo_GS( (global void)
-0:191 Function Parameters:
-0:193 Sequence
-0:193 Sequence
-0:193 move second child to first child (temp highp int)
-0:193 'l' (temp highp int)
-0:193 'gl_Layer' (flat in highp int Layer)
-0:194 Sequence
-0:194 move second child to first child (temp highp int)
-0:194 'p' (temp highp int)
-0:194 'gl_PrimitiveID' (flat in highp int PrimitiveID)
-0:207 Function Definition: pfooBad( (global void)
-0:207 Function Parameters:
-0:? Sequence
-0:210 move second child to first child (temp mediump 2-component vector of float)
-0:210 'h' (temp mediump 2-component vector of float)
-0:210 fma (global mediump 2-component vector of float)
-0:210 'inf' (smooth in mediump 2-component vector of float)
-0:210 'ing' (smooth in mediump 2-component vector of float)
-0:210 'h' (temp mediump 2-component vector of float)
-0:211 textureGatherOffset (global highp 4-component vector of float)
-0:211 direct index (temp highp sampler2D)
-0:211 'sArray' (uniform 4-element array of highp sampler2D)
-0:211 Constant:
-0:211 0 (const int)
-0:211 Constant:
-0:211 0.100000
-0:211 0.100000
-0:211 Convert float to int (temp highp 2-component vector of int)
-0:211 'inf' (smooth in mediump 2-component vector of float)
-0:212 textureGatherOffsets (global highp 4-component vector of float)
-0:212 direct index (temp highp sampler2D)
-0:212 'sArray' (uniform 4-element array of highp sampler2D)
-0:212 Constant:
-0:212 0 (const int)
-0:212 Constant:
-0:212 0.100000
-0:212 0.100000
-0:212 Constant:
-0:212 0 (const int)
-0:212 0 (const int)
-0:212 0 (const int)
-0:212 0 (const int)
-0:212 0 (const int)
-0:212 0 (const int)
-0:212 0 (const int)
-0:212 0 (const int)
-0:217 Function Definition: pfoo( (global void)
-0:217 Function Parameters:
-0:? Sequence
-0:220 move second child to first child (temp mediump 2-component vector of float)
-0:220 'h' (temp mediump 2-component vector of float)
-0:220 fma (global mediump 2-component vector of float)
-0:220 'inf' (smooth in mediump 2-component vector of float)
-0:220 'ing' (smooth in mediump 2-component vector of float)
-0:220 'h' (temp mediump 2-component vector of float)
-0:221 textureGatherOffset (global highp 4-component vector of float)
-0:221 direct index (temp highp sampler2D)
-0:221 'sArray' (uniform 4-element array of highp sampler2D)
-0:221 Constant:
-0:221 0 (const int)
-0:221 Constant:
-0:221 0.100000
-0:221 0.100000
-0:221 Convert float to int (temp highp 2-component vector of int)
-0:221 'inf' (smooth in mediump 2-component vector of float)
-0:222 textureGatherOffsets (global highp 4-component vector of float)
-0:222 direct index (temp highp sampler2D)
-0:222 'sArray' (uniform 4-element array of highp sampler2D)
-0:222 Constant:
-0:222 0 (const int)
-0:222 Constant:
-0:222 0.100000
-0:222 0.100000
-0:222 Constant:
-0:222 0 (const int)
-0:222 0 (const int)
-0:222 0 (const int)
-0:222 0 (const int)
-0:222 0 (const int)
-0:222 0 (const int)
-0:222 0 (const int)
-0:222 0 (const int)
-0:223 textureGatherOffsets (global highp 4-component vector of float)
-0:223 direct index (temp highp sampler2D)
-0:223 'sArray' (uniform 4-element array of highp sampler2D)
-0:223 Constant:
-0:223 0 (const int)
-0:223 Constant:
-0:223 0.100000
-0:223 0.100000
-0:223 'offsets' (uniform 4-element array of mediump 2-component vector of int)
-0:248 Function Definition: CAT( (global void)
-0:248 Function Parameters:
-0:250 Sequence
-0:250 Sequence
-0:250 move second child to first child (temp highp 4-component vector of float)
-0:250 'b4' (temp highp 4-component vector of float)
-0:250 texture (global highp 4-component vector of float)
-0:250 'CA4' (uniform highp samplerCubeArray)
-0:250 Constant:
-0:250 0.500000
-0:250 0.500000
-0:250 0.500000
-0:250 0.500000
-0:250 Constant:
-0:250 0.240000
-0:251 Sequence
-0:251 move second child to first child (temp highp 4-component vector of int)
-0:251 'b6' (temp highp 4-component vector of int)
-0:251 texture (global mediump 4-component vector of int)
-0:251 'CA6' (uniform highp isamplerCubeArray)
-0:251 Constant:
-0:251 0.500000
-0:251 0.500000
-0:251 0.500000
-0:251 0.500000
-0:251 Constant:
-0:251 0.260000
-0:252 Sequence
-0:252 move second child to first child (temp highp 4-component vector of uint)
-0:252 'b7' (temp highp 4-component vector of uint)
-0:252 texture (global mediump 4-component vector of uint)
-0:252 'CA7' (uniform highp usamplerCubeArray)
-0:252 Constant:
-0:252 0.500000
-0:252 0.500000
-0:252 0.500000
-0:252 0.500000
-0:252 Constant:
-0:252 0.270000
-0:255 Function Definition: badSample( (global void)
-0:255 Function Parameters:
-0:257 Sequence
-0:257 Sequence
-0:257 move second child to first child (temp lowp int)
-0:257 'a1' (temp lowp int)
-0:257 'gl_SampleID' (flat in lowp int SampleId)
-0:258 Sequence
-0:258 move second child to first child (temp mediump 2-component vector of float)
-0:258 'a2' (temp mediump 2-component vector of float)
-0:258 'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition)
-0:259 Sequence
-0:259 move second child to first child (temp highp int)
-0:259 'a3' (temp highp int)
-0:259 direct index (flat temp highp int SampleMaskIn)
-0:259 'gl_SampleMaskIn' (flat in implicitly-sized array of highp int SampleMaskIn)
-0:259 Constant:
-0:259 0 (const int)
-0:260 move second child to first child (temp highp int)
-0:260 direct index (temp highp int SampleMaskIn)
-0:260 'gl_SampleMask' (out implicitly-sized array of highp int SampleMaskIn)
-0:260 Constant:
-0:260 0 (const int)
-0:260 'a3' (temp highp int)
-0:261 Sequence
-0:261 move second child to first child (temp mediump int)
-0:261 'n' (temp mediump int)
-0:261 'gl_NumSamples' (uniform lowp int)
-0:268 Function Definition: goodSample( (global void)
-0:268 Function Parameters:
-0:270 Sequence
-0:270 Sequence
-0:270 move second child to first child (temp lowp int)
-0:270 'a1' (temp lowp int)
-0:270 'gl_SampleID' (flat in lowp int SampleId)
-0:271 Sequence
-0:271 move second child to first child (temp mediump 2-component vector of float)
-0:271 'a2' (temp mediump 2-component vector of float)
-0:271 'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition)
-0:272 Sequence
-0:272 move second child to first child (temp highp int)
-0:272 'a3' (temp highp int)
-0:272 direct index (flat temp highp int SampleMaskIn)
-0:272 'gl_SampleMaskIn' (flat in implicitly-sized array of highp int SampleMaskIn)
-0:272 Constant:
-0:272 0 (const int)
-0:273 move second child to first child (temp highp int)
-0:273 direct index (temp highp int SampleMaskIn)
-0:273 'gl_SampleMask' (out implicitly-sized array of highp int SampleMaskIn)
-0:273 Constant:
-0:273 0 (const int)
-0:273 'a3' (temp highp int)
-0:274 Sequence
-0:274 move second child to first child (temp mediump int)
-0:274 'n1' (temp mediump int)
-0:274 Constant:
-0:274 4 (const int)
-0:275 Sequence
-0:275 move second child to first child (temp mediump int)
-0:275 'n2' (temp mediump int)
-0:275 'gl_NumSamples' (uniform lowp int)
-0:283 Function Definition: badImageAtom( (global void)
-0:283 Function Parameters:
-0:? Sequence
-0:289 imageAtomicAdd (global mediump int)
-0:289 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:289 'P' (uniform mediump 2-component vector of int)
-0:289 'dati' (temp mediump int)
-0:290 imageAtomicAdd (global mediump uint)
-0:290 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:290 'P' (uniform mediump 2-component vector of int)
-0:290 'datu' (temp mediump uint)
-0:291 imageAtomicMin (global mediump int)
-0:291 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:291 'P' (uniform mediump 2-component vector of int)
-0:291 'dati' (temp mediump int)
-0:292 imageAtomicMin (global mediump uint)
-0:292 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:292 'P' (uniform mediump 2-component vector of int)
-0:292 'datu' (temp mediump uint)
-0:293 imageAtomicMax (global mediump int)
-0:293 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:293 'P' (uniform mediump 2-component vector of int)
-0:293 'dati' (temp mediump int)
-0:294 imageAtomicMax (global mediump uint)
-0:294 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:294 'P' (uniform mediump 2-component vector of int)
-0:294 'datu' (temp mediump uint)
-0:295 imageAtomicAnd (global mediump int)
-0:295 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:295 'P' (uniform mediump 2-component vector of int)
-0:295 'dati' (temp mediump int)
-0:296 imageAtomicAnd (global mediump uint)
-0:296 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:296 'P' (uniform mediump 2-component vector of int)
-0:296 'datu' (temp mediump uint)
-0:297 imageAtomicOr (global mediump int)
-0:297 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:297 'P' (uniform mediump 2-component vector of int)
-0:297 'dati' (temp mediump int)
-0:298 imageAtomicOr (global mediump uint)
-0:298 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:298 'P' (uniform mediump 2-component vector of int)
-0:298 'datu' (temp mediump uint)
-0:299 imageAtomicXor (global mediump int)
-0:299 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:299 'P' (uniform mediump 2-component vector of int)
-0:299 'dati' (temp mediump int)
-0:300 imageAtomicXor (global mediump uint)
-0:300 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:300 'P' (uniform mediump 2-component vector of int)
-0:300 'datu' (temp mediump uint)
-0:301 imageAtomicExchange (global mediump int)
-0:301 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:301 'P' (uniform mediump 2-component vector of int)
-0:301 'dati' (temp mediump int)
-0:302 imageAtomicExchange (global mediump uint)
-0:302 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:302 'P' (uniform mediump 2-component vector of int)
-0:302 'datu' (temp mediump uint)
-0:303 imageAtomicExchange (global highp float)
-0:303 'im2Df' (layout(r32f ) uniform highp image2D)
-0:303 'P' (uniform mediump 2-component vector of int)
-0:303 'datf' (temp mediump float)
-0:304 imageAtomicCompSwap (global mediump int)
-0:304 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:304 'P' (uniform mediump 2-component vector of int)
-0:304 Constant:
-0:304 3 (const int)
-0:304 'dati' (temp mediump int)
-0:305 imageAtomicCompSwap (global mediump uint)
-0:305 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:305 'P' (uniform mediump 2-component vector of int)
-0:305 Constant:
-0:305 5 (const uint)
-0:305 'datu' (temp mediump uint)
-0:316 Function Definition: goodImageAtom( (global void)
-0:316 Function Parameters:
-0:? Sequence
-0:322 imageAtomicAdd (global mediump int)
-0:322 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:322 'P' (uniform mediump 2-component vector of int)
-0:322 'dati' (temp mediump int)
-0:323 imageAtomicAdd (global mediump uint)
-0:323 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:323 'P' (uniform mediump 2-component vector of int)
-0:323 'datu' (temp mediump uint)
-0:324 imageAtomicMin (global mediump int)
-0:324 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:324 'P' (uniform mediump 2-component vector of int)
-0:324 'dati' (temp mediump int)
-0:325 imageAtomicMin (global mediump uint)
-0:325 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:325 'P' (uniform mediump 2-component vector of int)
-0:325 'datu' (temp mediump uint)
-0:326 imageAtomicMax (global mediump int)
-0:326 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:326 'P' (uniform mediump 2-component vector of int)
-0:326 'dati' (temp mediump int)
-0:327 imageAtomicMax (global mediump uint)
-0:327 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:327 'P' (uniform mediump 2-component vector of int)
-0:327 'datu' (temp mediump uint)
-0:328 imageAtomicAnd (global mediump int)
-0:328 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:328 'P' (uniform mediump 2-component vector of int)
-0:328 'dati' (temp mediump int)
-0:329 imageAtomicAnd (global mediump uint)
-0:329 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:329 'P' (uniform mediump 2-component vector of int)
-0:329 'datu' (temp mediump uint)
-0:330 imageAtomicOr (global mediump int)
-0:330 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:330 'P' (uniform mediump 2-component vector of int)
-0:330 'dati' (temp mediump int)
-0:331 imageAtomicOr (global mediump uint)
-0:331 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:331 'P' (uniform mediump 2-component vector of int)
-0:331 'datu' (temp mediump uint)
-0:332 imageAtomicXor (global mediump int)
-0:332 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:332 'P' (uniform mediump 2-component vector of int)
-0:332 'dati' (temp mediump int)
-0:333 imageAtomicXor (global mediump uint)
-0:333 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:333 'P' (uniform mediump 2-component vector of int)
-0:333 'datu' (temp mediump uint)
-0:334 imageAtomicExchange (global mediump int)
-0:334 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:334 'P' (uniform mediump 2-component vector of int)
-0:334 'dati' (temp mediump int)
-0:335 imageAtomicExchange (global mediump uint)
-0:335 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:335 'P' (uniform mediump 2-component vector of int)
-0:335 'datu' (temp mediump uint)
-0:336 imageAtomicExchange (global highp float)
-0:336 'im2Df' (layout(r32f ) uniform highp image2D)
-0:336 'P' (uniform mediump 2-component vector of int)
-0:336 'datf' (temp mediump float)
-0:337 imageAtomicCompSwap (global mediump int)
-0:337 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:337 'P' (uniform mediump 2-component vector of int)
-0:337 Constant:
-0:337 3 (const int)
-0:337 'dati' (temp mediump int)
-0:338 imageAtomicCompSwap (global mediump uint)
-0:338 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:338 'P' (uniform mediump 2-component vector of int)
-0:338 Constant:
-0:338 5 (const uint)
-0:338 'datu' (temp mediump uint)
-0:340 imageAtomicMax (global mediump int)
-0:340 'badIm2Di' (layout(rgba16i ) uniform highp iimage2D)
-0:340 'P' (uniform mediump 2-component vector of int)
-0:340 'dati' (temp mediump int)
-0:341 imageAtomicMax (global mediump uint)
-0:341 'badIm2Du' (layout(rgba8ui ) uniform highp uimage2D)
-0:341 'P' (uniform mediump 2-component vector of int)
-0:341 'datu' (temp mediump uint)
-0:342 imageAtomicExchange (global highp float)
-0:342 'badIm2Df' (layout(rgba32f ) uniform highp image2D)
-0:342 'P' (uniform mediump 2-component vector of int)
-0:342 'datf' (temp mediump float)
-0:353 Function Definition: badInterp( (global void)
-0:353 Function Parameters:
-0:355 Sequence
-0:355 interpolateAtCentroid (global mediump 2-component vector of float)
-0:355 'colorfc' (centroid flat in mediump 2-component vector of float)
-0:356 interpolateAtSample (global mediump 2-component vector of float)
-0:356 'colorfc' (centroid flat in mediump 2-component vector of float)
-0:356 Constant:
-0:356 1 (const int)
-0:357 interpolateAtOffset (global mediump 2-component vector of float)
-0:357 'colorfc' (centroid flat in mediump 2-component vector of float)
-0:357 Constant:
-0:357 0.200000
-0:357 0.200000
-0:369 Function Definition: interp( (global void)
-0:369 Function Parameters:
-0:? Sequence
-0:376 move second child to first child (temp mediump 2-component vector of float)
-0:376 'res2' (temp mediump 2-component vector of float)
-0:376 interpolateAtCentroid (global mediump 2-component vector of float)
-0:376 'colorfc' (centroid flat in mediump 2-component vector of float)
-0:377 move second child to first child (temp mediump 4-component vector of float)
-0:377 'res4' (temp mediump 4-component vector of float)
-0:377 interpolateAtCentroid (global mediump 4-component vector of float)
-0:377 'colorSampIn' (smooth sample in mediump 4-component vector of float)
-0:378 move second child to first child (temp mediump 4-component vector of float)
-0:378 'res4' (temp mediump 4-component vector of float)
-0:378 interpolateAtCentroid (global mediump 4-component vector of float)
-0:378 'colorfsi' (flat sample in mediump 4-component vector of float)
-0:379 move second child to first child (temp mediump float)
-0:379 'res' (temp mediump float)
-0:379 interpolateAtCentroid (global mediump float)
-0:379 'scalarIn' (smooth in mediump float)
-0:380 'res3' (temp mediump 3-component vector of float)
-0:381 move second child to first child (temp mediump 3-component vector of float)
-0:381 'res3' (temp mediump 3-component vector of float)
-0:381 interpolateAtCentroid (global mediump 3-component vector of float)
-0:381 direct index (smooth sample temp mediump 3-component vector of float)
-0:381 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:381 Constant:
-0:381 2 (const int)
-0:382 move second child to first child (temp mediump 2-component vector of float)
-0:382 'res2' (temp mediump 2-component vector of float)
-0:382 interpolateAtCentroid (global mediump 2-component vector of float)
-0:382 vector swizzle (temp mediump 2-component vector of float)
-0:382 direct index (smooth sample temp mediump 3-component vector of float)
-0:382 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:382 Constant:
-0:382 2 (const int)
-0:382 Sequence
-0:382 Constant:
-0:382 0 (const int)
-0:382 Constant:
-0:382 1 (const int)
-0:384 'res3' (temp mediump 3-component vector of float)
-0:385 move second child to first child (temp mediump 3-component vector of float)
-0:385 'res3' (temp mediump 3-component vector of float)
-0:385 interpolateAtSample (global mediump 3-component vector of float)
-0:385 indirect index (smooth sample temp mediump 3-component vector of float)
-0:385 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:385 'i' (uniform mediump int)
-0:385 Constant:
-0:385 0 (const int)
-0:386 move second child to first child (temp mediump 2-component vector of float)
-0:386 'res2' (temp mediump 2-component vector of float)
-0:386 interpolateAtSample (global mediump 2-component vector of float)
-0:386 vector swizzle (temp mediump 2-component vector of float)
-0:386 direct index (smooth sample temp mediump 3-component vector of float)
-0:386 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:386 Constant:
-0:386 2 (const int)
-0:386 Sequence
-0:386 Constant:
-0:386 0 (const int)
-0:386 Constant:
-0:386 1 (const int)
-0:386 Constant:
-0:386 2 (const int)
-0:387 move second child to first child (temp mediump float)
-0:387 'res' (temp mediump float)
-0:387 interpolateAtSample (global mediump float)
-0:387 'scalarIn' (smooth in mediump float)
-0:387 Constant:
-0:387 1 (const int)
-0:389 'res3' (temp mediump 3-component vector of float)
-0:390 move second child to first child (temp mediump 3-component vector of float)
-0:390 'res3' (temp mediump 3-component vector of float)
-0:390 interpolateAtOffset (global mediump 3-component vector of float)
-0:390 direct index (smooth sample temp mediump 3-component vector of float)
-0:390 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:390 Constant:
-0:390 2 (const int)
-0:390 Constant:
-0:390 0.200000
-0:390 0.200000
-0:391 move second child to first child (temp mediump 2-component vector of float)
-0:391 'res2' (temp mediump 2-component vector of float)
-0:391 interpolateAtOffset (global mediump 2-component vector of float)
-0:391 vector swizzle (temp mediump 2-component vector of float)
-0:391 direct index (smooth sample temp mediump 3-component vector of float)
-0:391 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:391 Constant:
-0:391 2 (const int)
-0:391 Sequence
-0:391 Constant:
-0:391 0 (const int)
-0:391 Constant:
-0:391 1 (const int)
-0:391 Constant:
-0:391 0.200000
-0:391 0.200000
-0:392 move second child to first child (temp mediump float)
-0:392 'res' (temp mediump float)
-0:392 interpolateAtOffset (global mediump float)
-0:392 add (temp mediump float)
-0:392 'scalarIn' (smooth in mediump float)
-0:392 'scalarIn' (smooth in mediump float)
-0:392 Constant:
-0:392 0.200000
-0:392 0.200000
-0:393 move second child to first child (temp mediump float)
-0:393 'res' (temp mediump float)
-0:393 interpolateAtOffset (global mediump float)
-0:393 'scalarIn' (smooth in mediump float)
-0:393 Constant:
-0:393 0.200000
-0:393 0.200000
-0:396 move second child to first child (temp mediump float)
-0:396 'res' (temp mediump float)
-0:396 interpolateAtCentroid (global mediump float)
-0:396 'f' (temp mediump float)
-0:397 move second child to first child (temp mediump 4-component vector of float)
-0:397 'res4' (temp mediump 4-component vector of float)
-0:397 interpolateAtSample (global mediump 4-component vector of float)
-0:397 'outp' (out mediump 4-component vector of float)
-0:397 Constant:
-0:397 0 (const int)
-0:427 Function Definition: blendFoo( (temp void)
-0:427 Function Parameters:
-0:428 Function Definition: blendFoo(vf3; (global void)
-0:428 Function Parameters:
-0:428 'v' (in mediump 3-component vector of float)
-0:? Linker Objects
-0:? 'gl_FragCoord' (smooth in mediump 4-component vector of float)
-0:? 'v3' (layout(location=2 ) smooth in mediump 3-component vector of float)
-0:? 'yi' (layout(location=2 ) smooth in mediump 4X4 matrix of float)
-0:? 'arrayedSampler' (uniform 5-element array of highp sampler2D)
-0:? 'usamp2d' (uniform highp usampler2D)
-0:? 'samp2dr' (uniform mediump usampler2DRect)
-0:? 'isamp2DA' (uniform highp isampler2DArray)
-0:? 'c2D' (smooth in mediump 2-component vector of float)
-0:? 'i' (uniform mediump int)
-0:? 'outp' (out mediump 4-component vector of float)
-0:? 's1' (layout(binding=3 ) uniform highp sampler2D)
-0:? 's2' (layout(binding=3 ) uniform highp sampler2D)
-0:? 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
-0:? 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
-0:? 'iCube' (layout(binding=5 ) uniform lowp imageCube)
-0:? 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
-0:? 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform highp image2D)
-0:? 'bbi' (layout(binding=1 column_major shared ) uniform block{layout(column_major shared ) uniform mediump int foo, layout(binding=2 column_major shared ) uniform mediump float f})
-0:? 'centroidIn' (centroid smooth in mediump 4-component vector of float)
-0:? 'bigl' (uniform mediump 4-component vector of float)
-0:? 'bigout1' (layout(location=40 ) out mediump 4-component vector of float)
-0:? 'bigout2' (layout(location=40 ) out mediump 4-component vector of float)
-0:? 'neg' (out mediump 4-component vector of float)
-0:? 'b430i' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer mediump int i})
-0:? 'bshari' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int i})
-0:? 'smoothIn' (smooth in mediump 4-component vector of float)
-0:? 'flatIn' (flat in mediump int)
-0:? 's2dms' (uniform highp sampler2DMS)
-0:? 'bout' (out bool)
-0:? 'imageOut' (out highp image2D)
-0:? 'mout' (out mediump 2X3 matrix of float)
-0:? 'inb' (smooth in bool)
-0:? 'ino' (smooth in highp sampler2D)
-0:? 'ina' (smooth in 4-element array of mediump float)
-0:? 'inaa' (smooth in 4-element array of 2-element array of mediump float)
-0:? 'ins' (smooth in structure{global mediump float f})
-0:? 'inasa' (smooth in 4-element array of structure{global mediump float f})
-0:? 'insa' (smooth in 4-element array of structure{global mediump float f})
-0:? 'inSA' (smooth in structure{global 4-element array of mediump float f})
-0:? 'inSS' (smooth in structure{global mediump float f, global structure{global mediump float f} s})
-0:? 'outbinst' (out block{out mediump int a})
-0:? 'inbinst' (in block{in mediump int a, in mediump 4-component vector of float v, in structure{global mediump int b} s})
-0:? 'anon@0' (in block{layout(location=12 ) in mediump int aAnon, layout(location=13 ) centroid in mediump 4-component vector of float vAnon})
-0:? 'aliased' (layout(location=13 ) smooth in mediump 4-component vector of float)
-0:? 'arrayedInst' (in 4-element array of block{in mediump float f})
-0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
-0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
-0:? 'inf' (smooth in mediump 2-component vector of float)
-0:? 'ing' (smooth in mediump 2-component vector of float)
-0:? 'offsets' (uniform 4-element array of mediump 2-component vector of int)
-0:? 'sArray' (uniform 4-element array of highp sampler2D)
-0:? 'sIndex' (uniform mediump int)
-0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
-0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump int i})
-0:? 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer mediump int i})
-0:? 'iArray' (writeonly uniform 5-element array of highp image2D)
-0:? 'constOffsets' (const 4-element array of mediump 2-component vector of int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 'CA1' (writeonly uniform highp imageCubeArray)
-0:? 'CA2' (writeonly uniform highp iimageCubeArray)
-0:? 'CA3' (writeonly uniform highp uimageCubeArray)
-0:? 'CA4' (uniform highp samplerCubeArray)
-0:? 'CA5' (uniform highp samplerCubeArrayShadow)
-0:? 'CA6' (uniform highp isamplerCubeArray)
-0:? 'CA7' (uniform highp usamplerCubeArray)
-0:? 'gl_SampleMaskIn' (flat in implicitly-sized array of highp int SampleMaskIn)
-0:? 'gl_SampleMask' (out implicitly-sized array of highp int SampleMaskIn)
-0:? 'im2Df' (layout(r32f ) uniform highp image2D)
-0:? 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:? 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:? 'P' (uniform mediump 2-component vector of int)
-0:? 'badIm2Df' (layout(rgba32f ) uniform highp image2D)
-0:? 'badIm2Du' (layout(rgba8ui ) uniform highp uimage2D)
-0:? 'badIm2Di' (layout(rgba16i ) uniform highp iimage2D)
-0:? 'colorSampInBad' (smooth sample in mediump 4-component vector of float)
-0:? 'colorCentroidBad' (centroid out mediump 4-component vector of float)
-0:? 'colorBadFlat' (flat out mediump 4-component vector of float)
-0:? 'colorBadSmooth' (smooth out mediump 4-component vector of float)
-0:? 'colorBadNo' (noperspective out mediump 4-component vector of float)
-0:? 'colorfc' (centroid flat in mediump 2-component vector of float)
-0:? 'scalarIn' (smooth in mediump float)
-0:? 'colorSampIn' (smooth sample in mediump 4-component vector of float)
-0:? 'colorSampleBad' (sample out mediump 4-component vector of float)
-0:? 'colorfsi' (flat sample in mediump 4-component vector of float)
-0:? 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:? 'badout' (out mediump 4-component vector of float)
-0:? 'outAA' (out 2-element array of 2-element array of mediump 4-component vector of float)
-
-
-Linked fragment stage:
-
-ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers
-
-Shader version: 310
-Requested GL_EXT_shader_io_blocks
-Requested GL_EXT_texture_cube_map_array
-Requested GL_KHR_blend_equation_advanced
-Requested GL_OES_geometry_shader
-Requested GL_OES_gpu_shader5
-Requested GL_OES_sample_variables
-Requested GL_OES_shader_image_atomic
-Requested GL_OES_shader_io_blocks
-Requested GL_OES_shader_multisample_interpolation
-gl_FragCoord pixel center is integer
-gl_FragCoord origin is upper left
-using early_fragment_tests
-using depth_any
-using blend_support_multiply blend_support_screen blend_support_overlay blend_support_darken blend_support_lighten blend_support_colordodge blend_support_colorburn blend_support_hardlight blend_support_softlight blend_support_difference blend_support_exclusion blend_support_hsl_hue blend_support_hsl_saturation blend_support_hsl_color blend_support_hsl_luminosity blend_support_all_equations
-ERROR: node is still EOpNull!
-0:21 Function Definition: main( (global void)
-0:21 Function Parameters:
-0:23 Sequence
-0:23 Sequence
-0:23 move second child to first child (temp highp 4-component vector of float)
-0:23 'v' (temp mediump 4-component vector of float)
-0:23 texture (global highp 4-component vector of float)
-0:23 indirect index (temp highp sampler2D)
-0:23 'arrayedSampler' (uniform 5-element array of highp sampler2D)
-0:23 'i' (uniform mediump int)
-0:23 'c2D' (smooth in mediump 2-component vector of float)
-0:28 Sequence
-0:28 move second child to first child (temp highp 4-component vector of float)
-0:28 'v4' (temp mediump 4-component vector of float)
-0:28 textureGather (global highp 4-component vector of float)
-0:28 direct index (temp highp sampler2D)
-0:28 'arrayedSampler' (uniform 5-element array of highp sampler2D)
-0:28 Constant:
-0:28 0 (const int)
-0:28 'c2D' (smooth in mediump 2-component vector of float)
-0:29 Sequence
-0:29 move second child to first child (temp mediump 4-component vector of int)
-0:29 'iv4' (temp mediump 4-component vector of int)
-0:29 textureGatherOffset (global mediump 4-component vector of int)
-0:29 'isamp2DA' (uniform highp isampler2DArray)
-0:29 Constant:
-0:29 0.100000
-0:29 0.100000
-0:29 0.100000
-0:29 Constant:
-0:29 1 (const int)
-0:29 1 (const int)
-0:29 Constant:
-0:29 3 (const int)
-0:30 move second child to first child (temp mediump 4-component vector of int)
-0:30 'iv4' (temp mediump 4-component vector of int)
-0:30 textureGatherOffset (global mediump 4-component vector of int)
-0:30 'isamp2DA' (uniform highp isampler2DArray)
-0:30 Constant:
-0:30 0.100000
-0:30 0.100000
-0:30 0.100000
-0:30 Constant:
-0:30 1 (const int)
-0:30 1 (const int)
-0:30 'i' (uniform mediump int)
-0:31 move second child to first child (temp mediump 4-component vector of int)
-0:31 'iv4' (temp mediump 4-component vector of int)
-0:31 textureGatherOffset (global mediump 4-component vector of int)
-0:31 'isamp2DA' (uniform highp isampler2DArray)
-0:31 Constant:
-0:31 0.100000
-0:31 0.100000
-0:31 0.100000
-0:31 Constant:
-0:31 1 (const int)
-0:31 1 (const int)
-0:31 Constant:
-0:31 4 (const int)
-0:32 move second child to first child (temp mediump 4-component vector of int)
-0:32 'iv4' (temp mediump 4-component vector of int)
-0:32 textureGatherOffset (global mediump 4-component vector of int)
-0:32 'isamp2DA' (uniform highp isampler2DArray)
-0:32 Constant:
-0:32 0.100000
-0:32 0.100000
-0:32 0.100000
-0:32 Constant:
-0:32 1 (const int)
-0:32 1 (const int)
-0:32 Constant:
-0:32 3 (const int)
-0:33 move second child to first child (temp mediump 4-component vector of int)
-0:33 'iv4' (temp mediump 4-component vector of int)
-0:33 textureGatherOffset (global mediump 4-component vector of int)
-0:33 'isamp2DA' (uniform highp isampler2DArray)
-0:33 Constant:
-0:33 0.100000
-0:33 0.100000
-0:33 0.100000
-0:33 Constant:
-0:33 0 (const int)
-0:33 0 (const int)
-0:34 move second child to first child (temp mediump 4-component vector of int)
-0:34 'iv4' (temp mediump 4-component vector of int)
-0:34 textureGatherOffset (global mediump 4-component vector of int)
-0:34 'isamp2DA' (uniform highp isampler2DArray)
-0:34 Constant:
-0:34 0.100000
-0:34 0.100000
-0:34 0.100000
-0:34 Construct ivec2 (temp mediump 2-component vector of int)
-0:34 'i' (uniform mediump int)
-0:38 Function Definition: foo23( (global void)
-0:38 Function Parameters:
-0:? Sequence
-0:42 textureProjGradOffset (global mediump 4-component vector of uint)
-0:42 'usamp2d' (uniform highp usampler2D)
-0:42 'outp' (out mediump 4-component vector of float)
-0:42 Constant:
-0:42 0.000000
-0:42 0.000000
-0:42 Constant:
-0:42 0.000000
-0:42 0.000000
-0:42 Convert float to int (temp mediump 2-component vector of int)
-0:42 'c2D' (smooth in mediump 2-component vector of float)
-0:43 textureProjGradOffset (global mediump 4-component vector of uint)
-0:43 'usamp2d' (uniform highp usampler2D)
-0:43 'outp' (out mediump 4-component vector of float)
-0:43 Constant:
-0:43 0.000000
-0:43 0.000000
-0:43 Constant:
-0:43 0.000000
-0:43 0.000000
-0:43 Constant:
-0:43 3 (const int)
-0:43 4 (const int)
-0:44 textureProjGradOffset (global mediump 4-component vector of uint)
-0:44 'usamp2d' (uniform highp usampler2D)
-0:44 'outp' (out mediump 4-component vector of float)
-0:44 Constant:
-0:44 0.000000
-0:44 0.000000
-0:44 Constant:
-0:44 0.000000
-0:44 0.000000
-0:44 Constant:
-0:44 15 (const int)
-0:44 16 (const int)
-0:45 textureProjGradOffset (global mediump 4-component vector of uint)
-0:45 'usamp2d' (uniform highp usampler2D)
-0:45 'outp' (out mediump 4-component vector of float)
-0:45 Constant:
-0:45 0.000000
-0:45 0.000000
-0:45 Constant:
-0:45 0.000000
-0:45 0.000000
-0:45 Constant:
-0:45 -10 (const int)
-0:45 20 (const int)
-0:47 Test condition and select (temp void)
-0:47 Condition
-0:47 'gl_HelperInvocation' (in bool HelperInvocation)
-0:47 true case
-0:48 Pre-Increment (temp mediump 4-component vector of float)
-0:48 'outp' (out mediump 4-component vector of float)
-0:50 Sequence
-0:50 move second child to first child (temp mediump int)
-0:50 'sum' (temp mediump int)
-0:50 Constant:
-0:50 32 (const int)
-0:58 move second child to first child (temp bool)
-0:58 'b1' (temp bool)
-0:58 mix (global bool)
-0:58 'b2' (temp bool)
-0:58 'b3' (temp bool)
-0:58 'b' (temp bool)
-0:59 Sequence
-0:59 move second child to first child (temp mediump 3-component vector of uint)
-0:59 'um3' (temp mediump 3-component vector of uint)
-0:59 mix (global mediump 3-component vector of uint)
-0:59 Construct uvec3 (temp mediump 3-component vector of uint)
-0:59 Convert int to uint (temp mediump uint)
-0:59 'i' (uniform mediump int)
-0:59 Construct uvec3 (temp mediump 3-component vector of uint)
-0:59 Convert int to uint (temp mediump uint)
-0:59 'i' (uniform mediump int)
-0:59 Construct bvec3 (temp 3-component vector of bool)
-0:59 'b' (temp bool)
-0:60 Sequence
-0:60 move second child to first child (temp mediump 4-component vector of int)
-0:60 'im4' (temp mediump 4-component vector of int)
-0:60 mix (global mediump 4-component vector of int)
-0:60 Construct ivec4 (temp mediump 4-component vector of int)
-0:60 'i' (uniform mediump int)
-0:60 Construct ivec4 (temp mediump 4-component vector of int)
-0:60 'i' (uniform mediump int)
-0:60 Construct bvec4 (temp 4-component vector of bool)
-0:60 'b' (temp bool)
-0:98 Function Definition: foots( (global void)
-0:98 Function Parameters:
-0:100 Sequence
-0:100 Sequence
-0:100 move second child to first child (temp highp 2-component vector of int)
-0:100 'v2' (temp highp 2-component vector of int)
-0:100 textureSize (global highp 2-component vector of int)
-0:100 's1' (layout(binding=3 ) uniform highp sampler2D)
-0:100 Constant:
-0:100 2 (const int)
-0:101 Sequence
-0:101 move second child to first child (temp highp 3-component vector of int)
-0:101 'v3' (temp highp 3-component vector of int)
-0:101 textureSize (global highp 3-component vector of int)
-0:101 'isamp2DA' (uniform highp isampler2DArray)
-0:101 Constant:
-0:101 3 (const int)
-0:102 move second child to first child (temp highp 2-component vector of int)
-0:102 'v2' (temp highp 2-component vector of int)
-0:102 textureSize (global highp 2-component vector of int)
-0:102 's2dms' (uniform highp sampler2DMS)
-0:103 move second child to first child (temp highp 2-component vector of int)
-0:103 'v2' (temp highp 2-component vector of int)
-0:103 imageQuerySize (global highp 2-component vector of int)
-0:103 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
-0:104 move second child to first child (temp highp 3-component vector of int)
-0:104 'v3' (temp highp 3-component vector of int)
-0:104 imageQuerySize (global highp 3-component vector of int)
-0:104 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
-0:105 move second child to first child (temp highp 2-component vector of int)
-0:105 'v2' (temp highp 2-component vector of int)
-0:105 imageQuerySize (global highp 2-component vector of int)
-0:105 'iCube' (layout(binding=5 ) uniform lowp imageCube)
-0:106 move second child to first child (temp highp 3-component vector of int)
-0:106 'v3' (temp highp 3-component vector of int)
-0:106 imageQuerySize (global highp 3-component vector of int)
-0:106 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
-0:107 move second child to first child (temp highp 2-component vector of int)
-0:107 'v2' (temp highp 2-component vector of int)
-0:107 imageQuerySize (global highp 2-component vector of int)
-0:107 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform highp image2D)
-0:165 Function Definition: fooIO( (global void)
-0:165 Function Parameters:
-0:167 Sequence
-0:167 Sequence
-0:167 move second child to first child (temp mediump 4-component vector of float)
-0:167 'v' (temp mediump 4-component vector of float)
-0:167 add (temp mediump 4-component vector of float)
-0:167 v: direct index for structure (in mediump 4-component vector of float)
-0:167 'inbinst' (in block{in mediump int a, in mediump 4-component vector of float v, in structure{global mediump int b} s})
-0:167 Constant:
-0:167 1 (const int)
-0:167 vAnon: direct index for structure (layout(location=13 ) centroid in mediump 4-component vector of float)
-0:167 'anon@0' (in block{layout(location=12 ) in mediump int aAnon, layout(location=13 ) centroid in mediump 4-component vector of float vAnon})
-0:167 Constant:
-0:167 1 (const uint)
-0:168 vector scale second child into first child (temp mediump 4-component vector of float)
-0:168 'v' (temp mediump 4-component vector of float)
-0:168 f: direct index for structure (in mediump float)
-0:168 direct index (temp block{in mediump float f})
-0:168 'arrayedInst' (in 4-element array of block{in mediump float f})
-0:168 Constant:
-0:168 2 (const int)
-0:168 Constant:
-0:168 0 (const int)
-0:169 vector scale second child into first child (temp mediump 4-component vector of float)
-0:169 'v' (temp mediump 4-component vector of float)
-0:169 f: direct index for structure (in mediump float)
-0:169 indirect index (temp block{in mediump float f})
-0:169 'arrayedInst' (in 4-element array of block{in mediump float f})
-0:169 'i' (uniform mediump int)
-0:169 Constant:
-0:169 0 (const int)
-0:179 Function Definition: foo_IO( (global void)
-0:179 Function Parameters:
-0:181 Sequence
-0:181 move second child to first child (temp highp float)
-0:181 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
-0:181 Constant:
-0:181 0.200000
-0:182 'gl_Layer' (flat in highp int Layer)
-0:183 'gl_PrimitiveID' (flat in highp int PrimitiveID)
-0:184 Sequence
-0:184 move second child to first child (temp bool)
-0:184 'f' (temp bool)
-0:184 'gl_FrontFacing' (gl_FrontFacing bool Face)
-0:191 Function Definition: foo_GS( (global void)
-0:191 Function Parameters:
-0:193 Sequence
-0:193 Sequence
-0:193 move second child to first child (temp highp int)
-0:193 'l' (temp highp int)
-0:193 'gl_Layer' (flat in highp int Layer)
-0:194 Sequence
-0:194 move second child to first child (temp highp int)
-0:194 'p' (temp highp int)
-0:194 'gl_PrimitiveID' (flat in highp int PrimitiveID)
-0:207 Function Definition: pfooBad( (global void)
-0:207 Function Parameters:
-0:? Sequence
-0:210 move second child to first child (temp mediump 2-component vector of float)
-0:210 'h' (temp mediump 2-component vector of float)
-0:210 fma (global mediump 2-component vector of float)
-0:210 'inf' (smooth in mediump 2-component vector of float)
-0:210 'ing' (smooth in mediump 2-component vector of float)
-0:210 'h' (temp mediump 2-component vector of float)
-0:211 textureGatherOffset (global highp 4-component vector of float)
-0:211 direct index (temp highp sampler2D)
-0:211 'sArray' (uniform 4-element array of highp sampler2D)
-0:211 Constant:
-0:211 0 (const int)
-0:211 Constant:
-0:211 0.100000
-0:211 0.100000
-0:211 Convert float to int (temp highp 2-component vector of int)
-0:211 'inf' (smooth in mediump 2-component vector of float)
-0:212 textureGatherOffsets (global highp 4-component vector of float)
-0:212 direct index (temp highp sampler2D)
-0:212 'sArray' (uniform 4-element array of highp sampler2D)
-0:212 Constant:
-0:212 0 (const int)
-0:212 Constant:
-0:212 0.100000
-0:212 0.100000
-0:212 Constant:
-0:212 0 (const int)
-0:212 0 (const int)
-0:212 0 (const int)
-0:212 0 (const int)
-0:212 0 (const int)
-0:212 0 (const int)
-0:212 0 (const int)
-0:212 0 (const int)
-0:217 Function Definition: pfoo( (global void)
-0:217 Function Parameters:
-0:? Sequence
-0:220 move second child to first child (temp mediump 2-component vector of float)
-0:220 'h' (temp mediump 2-component vector of float)
-0:220 fma (global mediump 2-component vector of float)
-0:220 'inf' (smooth in mediump 2-component vector of float)
-0:220 'ing' (smooth in mediump 2-component vector of float)
-0:220 'h' (temp mediump 2-component vector of float)
-0:221 textureGatherOffset (global highp 4-component vector of float)
-0:221 direct index (temp highp sampler2D)
-0:221 'sArray' (uniform 4-element array of highp sampler2D)
-0:221 Constant:
-0:221 0 (const int)
-0:221 Constant:
-0:221 0.100000
-0:221 0.100000
-0:221 Convert float to int (temp highp 2-component vector of int)
-0:221 'inf' (smooth in mediump 2-component vector of float)
-0:222 textureGatherOffsets (global highp 4-component vector of float)
-0:222 direct index (temp highp sampler2D)
-0:222 'sArray' (uniform 4-element array of highp sampler2D)
-0:222 Constant:
-0:222 0 (const int)
-0:222 Constant:
-0:222 0.100000
-0:222 0.100000
-0:222 Constant:
-0:222 0 (const int)
-0:222 0 (const int)
-0:222 0 (const int)
-0:222 0 (const int)
-0:222 0 (const int)
-0:222 0 (const int)
-0:222 0 (const int)
-0:222 0 (const int)
-0:223 textureGatherOffsets (global highp 4-component vector of float)
-0:223 direct index (temp highp sampler2D)
-0:223 'sArray' (uniform 4-element array of highp sampler2D)
-0:223 Constant:
-0:223 0 (const int)
-0:223 Constant:
-0:223 0.100000
-0:223 0.100000
-0:223 'offsets' (uniform 4-element array of mediump 2-component vector of int)
-0:248 Function Definition: CAT( (global void)
-0:248 Function Parameters:
-0:250 Sequence
-0:250 Sequence
-0:250 move second child to first child (temp highp 4-component vector of float)
-0:250 'b4' (temp highp 4-component vector of float)
-0:250 texture (global highp 4-component vector of float)
-0:250 'CA4' (uniform highp samplerCubeArray)
-0:250 Constant:
-0:250 0.500000
-0:250 0.500000
-0:250 0.500000
-0:250 0.500000
-0:250 Constant:
-0:250 0.240000
-0:251 Sequence
-0:251 move second child to first child (temp highp 4-component vector of int)
-0:251 'b6' (temp highp 4-component vector of int)
-0:251 texture (global mediump 4-component vector of int)
-0:251 'CA6' (uniform highp isamplerCubeArray)
-0:251 Constant:
-0:251 0.500000
-0:251 0.500000
-0:251 0.500000
-0:251 0.500000
-0:251 Constant:
-0:251 0.260000
-0:252 Sequence
-0:252 move second child to first child (temp highp 4-component vector of uint)
-0:252 'b7' (temp highp 4-component vector of uint)
-0:252 texture (global mediump 4-component vector of uint)
-0:252 'CA7' (uniform highp usamplerCubeArray)
-0:252 Constant:
-0:252 0.500000
-0:252 0.500000
-0:252 0.500000
-0:252 0.500000
-0:252 Constant:
-0:252 0.270000
-0:255 Function Definition: badSample( (global void)
-0:255 Function Parameters:
-0:257 Sequence
-0:257 Sequence
-0:257 move second child to first child (temp lowp int)
-0:257 'a1' (temp lowp int)
-0:257 'gl_SampleID' (flat in lowp int SampleId)
-0:258 Sequence
-0:258 move second child to first child (temp mediump 2-component vector of float)
-0:258 'a2' (temp mediump 2-component vector of float)
-0:258 'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition)
-0:259 Sequence
-0:259 move second child to first child (temp highp int)
-0:259 'a3' (temp highp int)
-0:259 direct index (flat temp highp int SampleMaskIn)
-0:259 'gl_SampleMaskIn' (flat in 1-element array of highp int SampleMaskIn)
-0:259 Constant:
-0:259 0 (const int)
-0:260 move second child to first child (temp highp int)
-0:260 direct index (temp highp int SampleMaskIn)
-0:260 'gl_SampleMask' (out 1-element array of highp int SampleMaskIn)
-0:260 Constant:
-0:260 0 (const int)
-0:260 'a3' (temp highp int)
-0:261 Sequence
-0:261 move second child to first child (temp mediump int)
-0:261 'n' (temp mediump int)
-0:261 'gl_NumSamples' (uniform lowp int)
-0:268 Function Definition: goodSample( (global void)
-0:268 Function Parameters:
-0:270 Sequence
-0:270 Sequence
-0:270 move second child to first child (temp lowp int)
-0:270 'a1' (temp lowp int)
-0:270 'gl_SampleID' (flat in lowp int SampleId)
-0:271 Sequence
-0:271 move second child to first child (temp mediump 2-component vector of float)
-0:271 'a2' (temp mediump 2-component vector of float)
-0:271 'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition)
-0:272 Sequence
-0:272 move second child to first child (temp highp int)
-0:272 'a3' (temp highp int)
-0:272 direct index (flat temp highp int SampleMaskIn)
-0:272 'gl_SampleMaskIn' (flat in 1-element array of highp int SampleMaskIn)
-0:272 Constant:
-0:272 0 (const int)
-0:273 move second child to first child (temp highp int)
-0:273 direct index (temp highp int SampleMaskIn)
-0:273 'gl_SampleMask' (out 1-element array of highp int SampleMaskIn)
-0:273 Constant:
-0:273 0 (const int)
-0:273 'a3' (temp highp int)
-0:274 Sequence
-0:274 move second child to first child (temp mediump int)
-0:274 'n1' (temp mediump int)
-0:274 Constant:
-0:274 4 (const int)
-0:275 Sequence
-0:275 move second child to first child (temp mediump int)
-0:275 'n2' (temp mediump int)
-0:275 'gl_NumSamples' (uniform lowp int)
-0:283 Function Definition: badImageAtom( (global void)
-0:283 Function Parameters:
-0:? Sequence
-0:289 imageAtomicAdd (global mediump int)
-0:289 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:289 'P' (uniform mediump 2-component vector of int)
-0:289 'dati' (temp mediump int)
-0:290 imageAtomicAdd (global mediump uint)
-0:290 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:290 'P' (uniform mediump 2-component vector of int)
-0:290 'datu' (temp mediump uint)
-0:291 imageAtomicMin (global mediump int)
-0:291 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:291 'P' (uniform mediump 2-component vector of int)
-0:291 'dati' (temp mediump int)
-0:292 imageAtomicMin (global mediump uint)
-0:292 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:292 'P' (uniform mediump 2-component vector of int)
-0:292 'datu' (temp mediump uint)
-0:293 imageAtomicMax (global mediump int)
-0:293 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:293 'P' (uniform mediump 2-component vector of int)
-0:293 'dati' (temp mediump int)
-0:294 imageAtomicMax (global mediump uint)
-0:294 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:294 'P' (uniform mediump 2-component vector of int)
-0:294 'datu' (temp mediump uint)
-0:295 imageAtomicAnd (global mediump int)
-0:295 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:295 'P' (uniform mediump 2-component vector of int)
-0:295 'dati' (temp mediump int)
-0:296 imageAtomicAnd (global mediump uint)
-0:296 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:296 'P' (uniform mediump 2-component vector of int)
-0:296 'datu' (temp mediump uint)
-0:297 imageAtomicOr (global mediump int)
-0:297 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:297 'P' (uniform mediump 2-component vector of int)
-0:297 'dati' (temp mediump int)
-0:298 imageAtomicOr (global mediump uint)
-0:298 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:298 'P' (uniform mediump 2-component vector of int)
-0:298 'datu' (temp mediump uint)
-0:299 imageAtomicXor (global mediump int)
-0:299 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:299 'P' (uniform mediump 2-component vector of int)
-0:299 'dati' (temp mediump int)
-0:300 imageAtomicXor (global mediump uint)
-0:300 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:300 'P' (uniform mediump 2-component vector of int)
-0:300 'datu' (temp mediump uint)
-0:301 imageAtomicExchange (global mediump int)
-0:301 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:301 'P' (uniform mediump 2-component vector of int)
-0:301 'dati' (temp mediump int)
-0:302 imageAtomicExchange (global mediump uint)
-0:302 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:302 'P' (uniform mediump 2-component vector of int)
-0:302 'datu' (temp mediump uint)
-0:303 imageAtomicExchange (global highp float)
-0:303 'im2Df' (layout(r32f ) uniform highp image2D)
-0:303 'P' (uniform mediump 2-component vector of int)
-0:303 'datf' (temp mediump float)
-0:304 imageAtomicCompSwap (global mediump int)
-0:304 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:304 'P' (uniform mediump 2-component vector of int)
-0:304 Constant:
-0:304 3 (const int)
-0:304 'dati' (temp mediump int)
-0:305 imageAtomicCompSwap (global mediump uint)
-0:305 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:305 'P' (uniform mediump 2-component vector of int)
-0:305 Constant:
-0:305 5 (const uint)
-0:305 'datu' (temp mediump uint)
-0:316 Function Definition: goodImageAtom( (global void)
-0:316 Function Parameters:
-0:? Sequence
-0:322 imageAtomicAdd (global mediump int)
-0:322 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:322 'P' (uniform mediump 2-component vector of int)
-0:322 'dati' (temp mediump int)
-0:323 imageAtomicAdd (global mediump uint)
-0:323 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:323 'P' (uniform mediump 2-component vector of int)
-0:323 'datu' (temp mediump uint)
-0:324 imageAtomicMin (global mediump int)
-0:324 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:324 'P' (uniform mediump 2-component vector of int)
-0:324 'dati' (temp mediump int)
-0:325 imageAtomicMin (global mediump uint)
-0:325 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:325 'P' (uniform mediump 2-component vector of int)
-0:325 'datu' (temp mediump uint)
-0:326 imageAtomicMax (global mediump int)
-0:326 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:326 'P' (uniform mediump 2-component vector of int)
-0:326 'dati' (temp mediump int)
-0:327 imageAtomicMax (global mediump uint)
-0:327 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:327 'P' (uniform mediump 2-component vector of int)
-0:327 'datu' (temp mediump uint)
-0:328 imageAtomicAnd (global mediump int)
-0:328 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:328 'P' (uniform mediump 2-component vector of int)
-0:328 'dati' (temp mediump int)
-0:329 imageAtomicAnd (global mediump uint)
-0:329 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:329 'P' (uniform mediump 2-component vector of int)
-0:329 'datu' (temp mediump uint)
-0:330 imageAtomicOr (global mediump int)
-0:330 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:330 'P' (uniform mediump 2-component vector of int)
-0:330 'dati' (temp mediump int)
-0:331 imageAtomicOr (global mediump uint)
-0:331 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:331 'P' (uniform mediump 2-component vector of int)
-0:331 'datu' (temp mediump uint)
-0:332 imageAtomicXor (global mediump int)
-0:332 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:332 'P' (uniform mediump 2-component vector of int)
-0:332 'dati' (temp mediump int)
-0:333 imageAtomicXor (global mediump uint)
-0:333 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:333 'P' (uniform mediump 2-component vector of int)
-0:333 'datu' (temp mediump uint)
-0:334 imageAtomicExchange (global mediump int)
-0:334 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:334 'P' (uniform mediump 2-component vector of int)
-0:334 'dati' (temp mediump int)
-0:335 imageAtomicExchange (global mediump uint)
-0:335 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:335 'P' (uniform mediump 2-component vector of int)
-0:335 'datu' (temp mediump uint)
-0:336 imageAtomicExchange (global highp float)
-0:336 'im2Df' (layout(r32f ) uniform highp image2D)
-0:336 'P' (uniform mediump 2-component vector of int)
-0:336 'datf' (temp mediump float)
-0:337 imageAtomicCompSwap (global mediump int)
-0:337 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:337 'P' (uniform mediump 2-component vector of int)
-0:337 Constant:
-0:337 3 (const int)
-0:337 'dati' (temp mediump int)
-0:338 imageAtomicCompSwap (global mediump uint)
-0:338 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:338 'P' (uniform mediump 2-component vector of int)
-0:338 Constant:
-0:338 5 (const uint)
-0:338 'datu' (temp mediump uint)
-0:340 imageAtomicMax (global mediump int)
-0:340 'badIm2Di' (layout(rgba16i ) uniform highp iimage2D)
-0:340 'P' (uniform mediump 2-component vector of int)
-0:340 'dati' (temp mediump int)
-0:341 imageAtomicMax (global mediump uint)
-0:341 'badIm2Du' (layout(rgba8ui ) uniform highp uimage2D)
-0:341 'P' (uniform mediump 2-component vector of int)
-0:341 'datu' (temp mediump uint)
-0:342 imageAtomicExchange (global highp float)
-0:342 'badIm2Df' (layout(rgba32f ) uniform highp image2D)
-0:342 'P' (uniform mediump 2-component vector of int)
-0:342 'datf' (temp mediump float)
-0:353 Function Definition: badInterp( (global void)
-0:353 Function Parameters:
-0:355 Sequence
-0:355 interpolateAtCentroid (global mediump 2-component vector of float)
-0:355 'colorfc' (centroid flat in mediump 2-component vector of float)
-0:356 interpolateAtSample (global mediump 2-component vector of float)
-0:356 'colorfc' (centroid flat in mediump 2-component vector of float)
-0:356 Constant:
-0:356 1 (const int)
-0:357 interpolateAtOffset (global mediump 2-component vector of float)
-0:357 'colorfc' (centroid flat in mediump 2-component vector of float)
-0:357 Constant:
-0:357 0.200000
-0:357 0.200000
-0:369 Function Definition: interp( (global void)
-0:369 Function Parameters:
-0:? Sequence
-0:376 move second child to first child (temp mediump 2-component vector of float)
-0:376 'res2' (temp mediump 2-component vector of float)
-0:376 interpolateAtCentroid (global mediump 2-component vector of float)
-0:376 'colorfc' (centroid flat in mediump 2-component vector of float)
-0:377 move second child to first child (temp mediump 4-component vector of float)
-0:377 'res4' (temp mediump 4-component vector of float)
-0:377 interpolateAtCentroid (global mediump 4-component vector of float)
-0:377 'colorSampIn' (smooth sample in mediump 4-component vector of float)
-0:378 move second child to first child (temp mediump 4-component vector of float)
-0:378 'res4' (temp mediump 4-component vector of float)
-0:378 interpolateAtCentroid (global mediump 4-component vector of float)
-0:378 'colorfsi' (flat sample in mediump 4-component vector of float)
-0:379 move second child to first child (temp mediump float)
-0:379 'res' (temp mediump float)
-0:379 interpolateAtCentroid (global mediump float)
-0:379 'scalarIn' (smooth in mediump float)
-0:380 'res3' (temp mediump 3-component vector of float)
-0:381 move second child to first child (temp mediump 3-component vector of float)
-0:381 'res3' (temp mediump 3-component vector of float)
-0:381 interpolateAtCentroid (global mediump 3-component vector of float)
-0:381 direct index (smooth sample temp mediump 3-component vector of float)
-0:381 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:381 Constant:
-0:381 2 (const int)
-0:382 move second child to first child (temp mediump 2-component vector of float)
-0:382 'res2' (temp mediump 2-component vector of float)
-0:382 interpolateAtCentroid (global mediump 2-component vector of float)
-0:382 vector swizzle (temp mediump 2-component vector of float)
-0:382 direct index (smooth sample temp mediump 3-component vector of float)
-0:382 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:382 Constant:
-0:382 2 (const int)
-0:382 Sequence
-0:382 Constant:
-0:382 0 (const int)
-0:382 Constant:
-0:382 1 (const int)
-0:384 'res3' (temp mediump 3-component vector of float)
-0:385 move second child to first child (temp mediump 3-component vector of float)
-0:385 'res3' (temp mediump 3-component vector of float)
-0:385 interpolateAtSample (global mediump 3-component vector of float)
-0:385 indirect index (smooth sample temp mediump 3-component vector of float)
-0:385 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:385 'i' (uniform mediump int)
-0:385 Constant:
-0:385 0 (const int)
-0:386 move second child to first child (temp mediump 2-component vector of float)
-0:386 'res2' (temp mediump 2-component vector of float)
-0:386 interpolateAtSample (global mediump 2-component vector of float)
-0:386 vector swizzle (temp mediump 2-component vector of float)
-0:386 direct index (smooth sample temp mediump 3-component vector of float)
-0:386 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:386 Constant:
-0:386 2 (const int)
-0:386 Sequence
-0:386 Constant:
-0:386 0 (const int)
-0:386 Constant:
-0:386 1 (const int)
-0:386 Constant:
-0:386 2 (const int)
-0:387 move second child to first child (temp mediump float)
-0:387 'res' (temp mediump float)
-0:387 interpolateAtSample (global mediump float)
-0:387 'scalarIn' (smooth in mediump float)
-0:387 Constant:
-0:387 1 (const int)
-0:389 'res3' (temp mediump 3-component vector of float)
-0:390 move second child to first child (temp mediump 3-component vector of float)
-0:390 'res3' (temp mediump 3-component vector of float)
-0:390 interpolateAtOffset (global mediump 3-component vector of float)
-0:390 direct index (smooth sample temp mediump 3-component vector of float)
-0:390 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:390 Constant:
-0:390 2 (const int)
-0:390 Constant:
-0:390 0.200000
-0:390 0.200000
-0:391 move second child to first child (temp mediump 2-component vector of float)
-0:391 'res2' (temp mediump 2-component vector of float)
-0:391 interpolateAtOffset (global mediump 2-component vector of float)
-0:391 vector swizzle (temp mediump 2-component vector of float)
-0:391 direct index (smooth sample temp mediump 3-component vector of float)
-0:391 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:391 Constant:
-0:391 2 (const int)
-0:391 Sequence
-0:391 Constant:
-0:391 0 (const int)
-0:391 Constant:
-0:391 1 (const int)
-0:391 Constant:
-0:391 0.200000
-0:391 0.200000
-0:392 move second child to first child (temp mediump float)
-0:392 'res' (temp mediump float)
-0:392 interpolateAtOffset (global mediump float)
-0:392 add (temp mediump float)
-0:392 'scalarIn' (smooth in mediump float)
-0:392 'scalarIn' (smooth in mediump float)
-0:392 Constant:
-0:392 0.200000
-0:392 0.200000
-0:393 move second child to first child (temp mediump float)
-0:393 'res' (temp mediump float)
-0:393 interpolateAtOffset (global mediump float)
-0:393 'scalarIn' (smooth in mediump float)
-0:393 Constant:
-0:393 0.200000
-0:393 0.200000
-0:396 move second child to first child (temp mediump float)
-0:396 'res' (temp mediump float)
-0:396 interpolateAtCentroid (global mediump float)
-0:396 'f' (temp mediump float)
-0:397 move second child to first child (temp mediump 4-component vector of float)
-0:397 'res4' (temp mediump 4-component vector of float)
-0:397 interpolateAtSample (global mediump 4-component vector of float)
-0:397 'outp' (out mediump 4-component vector of float)
-0:397 Constant:
-0:397 0 (const int)
-0:427 Function Definition: blendFoo( (temp void)
-0:427 Function Parameters:
-0:428 Function Definition: blendFoo(vf3; (global void)
-0:428 Function Parameters:
-0:428 'v' (in mediump 3-component vector of float)
-0:? Linker Objects
-0:? 'gl_FragCoord' (smooth in mediump 4-component vector of float)
-0:? 'v3' (layout(location=2 ) smooth in mediump 3-component vector of float)
-0:? 'yi' (layout(location=2 ) smooth in mediump 4X4 matrix of float)
-0:? 'arrayedSampler' (uniform 5-element array of highp sampler2D)
-0:? 'usamp2d' (uniform highp usampler2D)
-0:? 'samp2dr' (uniform mediump usampler2DRect)
-0:? 'isamp2DA' (uniform highp isampler2DArray)
-0:? 'c2D' (smooth in mediump 2-component vector of float)
-0:? 'i' (uniform mediump int)
-0:? 'outp' (out mediump 4-component vector of float)
-0:? 's1' (layout(binding=3 ) uniform highp sampler2D)
-0:? 's2' (layout(binding=3 ) uniform highp sampler2D)
-0:? 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
-0:? 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
-0:? 'iCube' (layout(binding=5 ) uniform lowp imageCube)
-0:? 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
-0:? 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform highp image2D)
-0:? 'bbi' (layout(binding=1 column_major shared ) uniform block{layout(column_major shared ) uniform mediump int foo, layout(binding=2 column_major shared ) uniform mediump float f})
-0:? 'centroidIn' (centroid smooth in mediump 4-component vector of float)
-0:? 'bigl' (uniform mediump 4-component vector of float)
-0:? 'bigout1' (layout(location=40 ) out mediump 4-component vector of float)
-0:? 'bigout2' (layout(location=40 ) out mediump 4-component vector of float)
-0:? 'neg' (out mediump 4-component vector of float)
-0:? 'b430i' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer mediump int i})
-0:? 'bshari' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int i})
-0:? 'smoothIn' (smooth in mediump 4-component vector of float)
-0:? 'flatIn' (flat in mediump int)
-0:? 's2dms' (uniform highp sampler2DMS)
-0:? 'bout' (out bool)
-0:? 'imageOut' (out highp image2D)
-0:? 'mout' (out mediump 2X3 matrix of float)
-0:? 'inb' (smooth in bool)
-0:? 'ino' (smooth in highp sampler2D)
-0:? 'ina' (smooth in 4-element array of mediump float)
-0:? 'inaa' (smooth in 4-element array of 2-element array of mediump float)
-0:? 'ins' (smooth in structure{global mediump float f})
-0:? 'inasa' (smooth in 4-element array of structure{global mediump float f})
-0:? 'insa' (smooth in 4-element array of structure{global mediump float f})
-0:? 'inSA' (smooth in structure{global 4-element array of mediump float f})
-0:? 'inSS' (smooth in structure{global mediump float f, global structure{global mediump float f} s})
-0:? 'outbinst' (out block{out mediump int a})
-0:? 'inbinst' (in block{in mediump int a, in mediump 4-component vector of float v, in structure{global mediump int b} s})
-0:? 'anon@0' (in block{layout(location=12 ) in mediump int aAnon, layout(location=13 ) centroid in mediump 4-component vector of float vAnon})
-0:? 'aliased' (layout(location=13 ) smooth in mediump 4-component vector of float)
-0:? 'arrayedInst' (in 4-element array of block{in mediump float f})
-0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
-0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
-0:? 'inf' (smooth in mediump 2-component vector of float)
-0:? 'ing' (smooth in mediump 2-component vector of float)
-0:? 'offsets' (uniform 4-element array of mediump 2-component vector of int)
-0:? 'sArray' (uniform 4-element array of highp sampler2D)
-0:? 'sIndex' (uniform mediump int)
-0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
-0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump int i})
-0:? 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer mediump int i})
-0:? 'iArray' (writeonly uniform 5-element array of highp image2D)
-0:? 'constOffsets' (const 4-element array of mediump 2-component vector of int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 'CA1' (writeonly uniform highp imageCubeArray)
-0:? 'CA2' (writeonly uniform highp iimageCubeArray)
-0:? 'CA3' (writeonly uniform highp uimageCubeArray)
-0:? 'CA4' (uniform highp samplerCubeArray)
-0:? 'CA5' (uniform highp samplerCubeArrayShadow)
-0:? 'CA6' (uniform highp isamplerCubeArray)
-0:? 'CA7' (uniform highp usamplerCubeArray)
-0:? 'gl_SampleMaskIn' (flat in 1-element array of highp int SampleMaskIn)
-0:? 'gl_SampleMask' (out 1-element array of highp int SampleMaskIn)
-0:? 'im2Df' (layout(r32f ) uniform highp image2D)
-0:? 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:? 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:? 'P' (uniform mediump 2-component vector of int)
-0:? 'badIm2Df' (layout(rgba32f ) uniform highp image2D)
-0:? 'badIm2Du' (layout(rgba8ui ) uniform highp uimage2D)
-0:? 'badIm2Di' (layout(rgba16i ) uniform highp iimage2D)
-0:? 'colorSampInBad' (smooth sample in mediump 4-component vector of float)
-0:? 'colorCentroidBad' (centroid out mediump 4-component vector of float)
-0:? 'colorBadFlat' (flat out mediump 4-component vector of float)
-0:? 'colorBadSmooth' (smooth out mediump 4-component vector of float)
-0:? 'colorBadNo' (noperspective out mediump 4-component vector of float)
-0:? 'colorfc' (centroid flat in mediump 2-component vector of float)
-0:? 'scalarIn' (smooth in mediump float)
-0:? 'colorSampIn' (smooth sample in mediump 4-component vector of float)
-0:? 'colorSampleBad' (sample out mediump 4-component vector of float)
-0:? 'colorfsi' (flat sample in mediump 4-component vector of float)
-0:? 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:? 'badout' (out mediump 4-component vector of float)
-0:? 'outAA' (out 2-element array of 2-element array of mediump 4-component vector of float)
-
+310.frag
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:2: 'float' : type requires declaration of default precision qualifier
+ERROR: 0:8: 'origin_upper_left' : not supported with this profile: es
+ERROR: 0:8: 'pixel_center_integer' : not supported with this profile: es
+ERROR: 0:8: 'gl_FragCoord' : identifiers starting with "gl_" are reserved
+ERROR: 0:11: 'location' : overlapping use of location 2
+ERROR: 0:15: 'usampler2DRect' : Reserved word.
+ERROR: 0:15: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:23: 'variable indexing sampler array' : not supported for this version or the enabled extensions
+ERROR: 0:27: 'textureGatherOffsets' : no matching overloaded function found
+ERROR: 0:27: '=' : cannot convert from 'const float' to 'temp mediump 4-component vector of uint'
+ERROR: 0:30: 'textureGatherOffset(...)' : must be a compile-time constant: component argument
+ERROR: 0:31: 'textureGatherOffset(...)' : must be 0, 1, 2, or 3: component argument
+ERROR: 0:34: 'non-constant offset argument' : not supported for this version or the enabled extensions
+ERROR: 0:42: 'texel offset' : argument must be compile-time constant
+ERROR: 0:44: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:44: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:45: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:45: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:66: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:66: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:67: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:68: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:68: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:69: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:73: 'binding' : requires block, or sampler/image, or atomic-counter type
+ERROR: 0:77: 'location' : location is too large
+ERROR: 0:81: 'location' : too large for fragment output
+ERROR: 0:82: 'location' : too large for fragment output
+ERROR: 0:82: 'location' : overlapping use of location 40
+ERROR: 0:83: 'non-literal layout-id value' : not supported with this profile: es
+ERROR: 0:83: 'layout-id value' : cannot be negative
+ERROR: 0:110: 'out' : cannot be bool
+ERROR: 0:111: 'image2D' : sampler/image types can only be used in uniform variables or function parameters: imageOut
+ERROR: 0:111: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:112: 'out' : cannot be a matrix
+ERROR: 0:114: 'in' : cannot be bool
+ERROR: 0:115: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: ino
+ERROR: 0:117: 'fragment-shader array-of-array input' : not supported with this profile: es
+ERROR: 0:120: 'fragment-shader array-of-struct input' : not supported with this profile: es
+ERROR: 0:121: 'fragment-shader array-of-struct input' : not supported with this profile: es
+ERROR: 0:123: 'fragment-shader struct input containing an array' : not supported with this profile: es
+ERROR: 0:125: 'fragment-shader struct input containing structure' : not supported with this profile: es
+ERROR: 0:133: 'output block' : not supported in this stage: fragment
+ERROR: 0:138: '' : cannot nest a structure definition inside a structure or block
+ERROR: 0:146: 'location' : overlapping use of location 13
+ERROR: 0:148: 'inbname2' : Cannot reuse block name within the same interface: in
+ERROR: 0:153: 'badmember' : nameless block contains a member that already has a name at global scope
+ERROR: 0:157: 'inbname' : redefinition
+ERROR: 0:159: 'vAnon' : redefinition
+ERROR: 0:173: 'origin_upper_left' : not supported with this profile: es
+ERROR: 0:173: 'pixel_center_integer' : not supported with this profile: es
+ERROR: 0:173: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
+ERROR: 0:177: 'depth layout qualifier' : not supported with this profile: es
+ERROR: 0:181: 'assign' : l-value required "gl_FragDepth" (can't modify gl_FragDepth if using early_fragment_tests)
+ERROR: 0:182: 'gl_Layer' : required extension not requested: Possible extensions include:
+GL_EXT_geometry_shader
+GL_OES_geometry_shader
+ERROR: 0:183: 'gl_PrimitiveID' : required extension not requested: Possible extensions include:
+GL_EXT_geometry_shader
+GL_OES_geometry_shader
+ERROR: 0:209: 'precise' : Reserved word.
+ERROR: 0:210: 'fma' : required extension not requested: Possible extensions include:
+GL_EXT_gpu_shader5
+GL_OES_gpu_shader5
+ERROR: 0:211: 'non-constant offset argument' : not supported for this version or the enabled extensions
+ERROR: 0:212: 'textureGatherOffsets' : required extension not requested: Possible extensions include:
+GL_EXT_gpu_shader5
+GL_OES_gpu_shader5
+ERROR: 0:223: 'textureGatherOffsets(...)' : must be a compile-time constant: offsets argument
+ERROR: 0:257: 'gl_SampleID' : required extension not requested: GL_OES_sample_variables
+ERROR: 0:258: 'gl_SamplePosition' : required extension not requested: GL_OES_sample_variables
+ERROR: 0:259: 'gl_SampleMaskIn' : required extension not requested: GL_OES_sample_variables
+ERROR: 0:260: 'gl_SampleMask' : required extension not requested: GL_OES_sample_variables
+ERROR: 0:261: 'gl_NumSamples' : required extension not requested: GL_OES_sample_variables
+ERROR: 0:289: 'imageAtomicAdd' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:290: 'imageAtomicAdd' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:291: 'imageAtomicMin' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:292: 'imageAtomicMin' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:293: 'imageAtomicMax' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:294: 'imageAtomicMax' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:295: 'imageAtomicAnd' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:296: 'imageAtomicAnd' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:297: 'imageAtomicOr' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:298: 'imageAtomicOr' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:299: 'imageAtomicXor' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:300: 'imageAtomicXor' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:301: 'imageAtomicExchange' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:302: 'imageAtomicExchange' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:303: 'imageAtomicExchange' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:304: 'imageAtomicCompSwap' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:305: 'imageAtomicCompSwap' : required extension not requested: GL_OES_shader_image_atomic
+ERROR: 0:312: 'rgba32f' : format requires readonly or writeonly memory qualifier
+ERROR: 0:313: 'rgba8ui' : format requires readonly or writeonly memory qualifier
+ERROR: 0:314: 'rgba16i' : format requires readonly or writeonly memory qualifier
+ERROR: 0:340: 'imageAtomicMax' : only supported on image with format r32i or r32ui
+ERROR: 0:341: 'imageAtomicMax' : only supported on image with format r32i or r32ui
+ERROR: 0:342: 'imageAtomicExchange' : only supported on image with format r32f
+ERROR: 0:345: 'sample' : Reserved word.
+ERROR: 0:346: 'centroid/sample/patch' : can't use auxiliary qualifier on a fragment output
+ERROR: 0:347: 'flat/smooth/noperspective' : can't use interpolation qualifier on a fragment output
+ERROR: 0:348: 'flat/smooth/noperspective' : can't use interpolation qualifier on a fragment output
+ERROR: 0:349: 'noperspective' : Reserved word.
+ERROR: 0:349: 'noperspective' : not supported with this profile: es
+ERROR: 0:349: 'flat/smooth/noperspective' : can't use interpolation qualifier on a fragment output
+ERROR: 0:355: 'interpolateAtCentroid' : required extension not requested: GL_OES_shader_multisample_interpolation
+ERROR: 0:356: 'interpolateAtSample' : required extension not requested: GL_OES_shader_multisample_interpolation
+ERROR: 0:357: 'interpolateAtOffset' : required extension not requested: GL_OES_shader_multisample_interpolation
+ERROR: 0:365: 'centroid/sample/patch' : can't use auxiliary qualifier on a fragment output
+ERROR: 0:380: 'interpolateAtCentroid' : no matching overloaded function found
+ERROR: 0:380: 'assign' : cannot convert from 'const float' to 'temp mediump 3-component vector of float'
+ERROR: 0:382: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:384: 'interpolateAtSample' : no matching overloaded function found
+ERROR: 0:384: 'assign' : cannot convert from 'const float' to 'temp mediump 3-component vector of float'
+ERROR: 0:386: 'interpolateAtSample' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:389: 'interpolateAtOffset' : no matching overloaded function found
+ERROR: 0:389: 'assign' : cannot convert from 'const float' to 'temp mediump 3-component vector of float'
+ERROR: 0:391: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:392: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:396: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:397: 'interpolateAtSample' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:400: 'blend equation' : required extension not requested: GL_KHR_blend_equation_advanced
+ERROR: 0:423: 'blend equation' : can only apply to 'out'
+ERROR: 0:424: 'blend equation' : can only apply to a standalone qualifier
+ERROR: 0:425: 'blend equation' : can only apply to a standalone qualifier
+ERROR: 0:426: 'blend equation' : can only apply to a standalone qualifier
+ERROR: 0:427: 'blend equation' : can only apply to a standalone qualifier
+ERROR: 0:428: 'blend equation' : can only apply to a standalone qualifier
+ERROR: 0:429: 'blend_support' : unknown blend equation
+ERROR: 0:431: 'fragment-shader array-of-array output' : not supported with this profile: es
+ERROR: 121 compilation errors. No code generated.
+
+
+Shader version: 310
+Requested GL_EXT_shader_io_blocks
+Requested GL_EXT_texture_cube_map_array
+Requested GL_KHR_blend_equation_advanced
+Requested GL_OES_geometry_shader
+Requested GL_OES_gpu_shader5
+Requested GL_OES_sample_variables
+Requested GL_OES_shader_image_atomic
+Requested GL_OES_shader_io_blocks
+Requested GL_OES_shader_multisample_interpolation
+gl_FragCoord pixel center is integer
+gl_FragCoord origin is upper left
+using early_fragment_tests
+using depth_any
+using blend_support_multiply blend_support_screen blend_support_overlay blend_support_darken blend_support_lighten blend_support_colordodge blend_support_colorburn blend_support_hardlight blend_support_softlight blend_support_difference blend_support_exclusion blend_support_hsl_hue blend_support_hsl_saturation blend_support_hsl_color blend_support_hsl_luminosity blend_support_all_equations
+ERROR: node is still EOpNull!
+0:21 Function Definition: main( (global void)
+0:21 Function Parameters:
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp highp 4-component vector of float)
+0:23 'v' (temp mediump 4-component vector of float)
+0:23 texture (global highp 4-component vector of float)
+0:23 indirect index (temp highp sampler2D)
+0:23 'arrayedSampler' (uniform 5-element array of highp sampler2D)
+0:23 'i' (uniform mediump int)
+0:23 'c2D' (smooth in mediump 2-component vector of float)
+0:28 Sequence
+0:28 move second child to first child (temp highp 4-component vector of float)
+0:28 'v4' (temp mediump 4-component vector of float)
+0:28 textureGather (global highp 4-component vector of float)
+0:28 direct index (temp highp sampler2D)
+0:28 'arrayedSampler' (uniform 5-element array of highp sampler2D)
+0:28 Constant:
+0:28 0 (const int)
+0:28 'c2D' (smooth in mediump 2-component vector of float)
+0:29 Sequence
+0:29 move second child to first child (temp mediump 4-component vector of int)
+0:29 'iv4' (temp mediump 4-component vector of int)
+0:29 textureGatherOffset (global mediump 4-component vector of int)
+0:29 'isamp2DA' (uniform highp isampler2DArray)
+0:29 Constant:
+0:29 0.100000
+0:29 0.100000
+0:29 0.100000
+0:29 Constant:
+0:29 1 (const int)
+0:29 1 (const int)
+0:29 Constant:
+0:29 3 (const int)
+0:30 move second child to first child (temp mediump 4-component vector of int)
+0:30 'iv4' (temp mediump 4-component vector of int)
+0:30 textureGatherOffset (global mediump 4-component vector of int)
+0:30 'isamp2DA' (uniform highp isampler2DArray)
+0:30 Constant:
+0:30 0.100000
+0:30 0.100000
+0:30 0.100000
+0:30 Constant:
+0:30 1 (const int)
+0:30 1 (const int)
+0:30 'i' (uniform mediump int)
+0:31 move second child to first child (temp mediump 4-component vector of int)
+0:31 'iv4' (temp mediump 4-component vector of int)
+0:31 textureGatherOffset (global mediump 4-component vector of int)
+0:31 'isamp2DA' (uniform highp isampler2DArray)
+0:31 Constant:
+0:31 0.100000
+0:31 0.100000
+0:31 0.100000
+0:31 Constant:
+0:31 1 (const int)
+0:31 1 (const int)
+0:31 Constant:
+0:31 4 (const int)
+0:32 move second child to first child (temp mediump 4-component vector of int)
+0:32 'iv4' (temp mediump 4-component vector of int)
+0:32 textureGatherOffset (global mediump 4-component vector of int)
+0:32 'isamp2DA' (uniform highp isampler2DArray)
+0:32 Constant:
+0:32 0.100000
+0:32 0.100000
+0:32 0.100000
+0:32 Constant:
+0:32 1 (const int)
+0:32 1 (const int)
+0:32 Constant:
+0:32 3 (const int)
+0:33 move second child to first child (temp mediump 4-component vector of int)
+0:33 'iv4' (temp mediump 4-component vector of int)
+0:33 textureGatherOffset (global mediump 4-component vector of int)
+0:33 'isamp2DA' (uniform highp isampler2DArray)
+0:33 Constant:
+0:33 0.100000
+0:33 0.100000
+0:33 0.100000
+0:33 Constant:
+0:33 0 (const int)
+0:33 0 (const int)
+0:34 move second child to first child (temp mediump 4-component vector of int)
+0:34 'iv4' (temp mediump 4-component vector of int)
+0:34 textureGatherOffset (global mediump 4-component vector of int)
+0:34 'isamp2DA' (uniform highp isampler2DArray)
+0:34 Constant:
+0:34 0.100000
+0:34 0.100000
+0:34 0.100000
+0:34 Construct ivec2 (temp mediump 2-component vector of int)
+0:34 'i' (uniform mediump int)
+0:38 Function Definition: foo23( (global void)
+0:38 Function Parameters:
+0:? Sequence
+0:42 textureProjGradOffset (global mediump 4-component vector of uint)
+0:42 'usamp2d' (uniform highp usampler2D)
+0:42 'outp' (out mediump 4-component vector of float)
+0:42 Constant:
+0:42 0.000000
+0:42 0.000000
+0:42 Constant:
+0:42 0.000000
+0:42 0.000000
+0:42 Convert float to int (temp mediump 2-component vector of int)
+0:42 'c2D' (smooth in mediump 2-component vector of float)
+0:43 textureProjGradOffset (global mediump 4-component vector of uint)
+0:43 'usamp2d' (uniform highp usampler2D)
+0:43 'outp' (out mediump 4-component vector of float)
+0:43 Constant:
+0:43 0.000000
+0:43 0.000000
+0:43 Constant:
+0:43 0.000000
+0:43 0.000000
+0:43 Constant:
+0:43 3 (const int)
+0:43 4 (const int)
+0:44 textureProjGradOffset (global mediump 4-component vector of uint)
+0:44 'usamp2d' (uniform highp usampler2D)
+0:44 'outp' (out mediump 4-component vector of float)
+0:44 Constant:
+0:44 0.000000
+0:44 0.000000
+0:44 Constant:
+0:44 0.000000
+0:44 0.000000
+0:44 Constant:
+0:44 15 (const int)
+0:44 16 (const int)
+0:45 textureProjGradOffset (global mediump 4-component vector of uint)
+0:45 'usamp2d' (uniform highp usampler2D)
+0:45 'outp' (out mediump 4-component vector of float)
+0:45 Constant:
+0:45 0.000000
+0:45 0.000000
+0:45 Constant:
+0:45 0.000000
+0:45 0.000000
+0:45 Constant:
+0:45 -10 (const int)
+0:45 20 (const int)
+0:47 Test condition and select (temp void)
+0:47 Condition
+0:47 'gl_HelperInvocation' (in bool HelperInvocation)
+0:47 true case
+0:48 Pre-Increment (temp mediump 4-component vector of float)
+0:48 'outp' (out mediump 4-component vector of float)
+0:50 Sequence
+0:50 move second child to first child (temp mediump int)
+0:50 'sum' (temp mediump int)
+0:50 Constant:
+0:50 32 (const int)
+0:58 move second child to first child (temp bool)
+0:58 'b1' (temp bool)
+0:58 mix (global bool)
+0:58 'b2' (temp bool)
+0:58 'b3' (temp bool)
+0:58 'b' (temp bool)
+0:59 Sequence
+0:59 move second child to first child (temp mediump 3-component vector of uint)
+0:59 'um3' (temp mediump 3-component vector of uint)
+0:59 mix (global mediump 3-component vector of uint)
+0:59 Construct uvec3 (temp mediump 3-component vector of uint)
+0:59 Convert int to uint (temp mediump uint)
+0:59 'i' (uniform mediump int)
+0:59 Construct uvec3 (temp mediump 3-component vector of uint)
+0:59 Convert int to uint (temp mediump uint)
+0:59 'i' (uniform mediump int)
+0:59 Construct bvec3 (temp 3-component vector of bool)
+0:59 'b' (temp bool)
+0:60 Sequence
+0:60 move second child to first child (temp mediump 4-component vector of int)
+0:60 'im4' (temp mediump 4-component vector of int)
+0:60 mix (global mediump 4-component vector of int)
+0:60 Construct ivec4 (temp mediump 4-component vector of int)
+0:60 'i' (uniform mediump int)
+0:60 Construct ivec4 (temp mediump 4-component vector of int)
+0:60 'i' (uniform mediump int)
+0:60 Construct bvec4 (temp 4-component vector of bool)
+0:60 'b' (temp bool)
+0:98 Function Definition: foots( (global void)
+0:98 Function Parameters:
+0:100 Sequence
+0:100 Sequence
+0:100 move second child to first child (temp highp 2-component vector of int)
+0:100 'v2' (temp highp 2-component vector of int)
+0:100 textureSize (global highp 2-component vector of int)
+0:100 's1' (layout(binding=3 ) uniform highp sampler2D)
+0:100 Constant:
+0:100 2 (const int)
+0:101 Sequence
+0:101 move second child to first child (temp highp 3-component vector of int)
+0:101 'v3' (temp highp 3-component vector of int)
+0:101 textureSize (global highp 3-component vector of int)
+0:101 'isamp2DA' (uniform highp isampler2DArray)
+0:101 Constant:
+0:101 3 (const int)
+0:102 move second child to first child (temp highp 2-component vector of int)
+0:102 'v2' (temp highp 2-component vector of int)
+0:102 textureSize (global highp 2-component vector of int)
+0:102 's2dms' (uniform highp sampler2DMS)
+0:103 move second child to first child (temp highp 2-component vector of int)
+0:103 'v2' (temp highp 2-component vector of int)
+0:103 imageQuerySize (global highp 2-component vector of int)
+0:103 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
+0:104 move second child to first child (temp highp 3-component vector of int)
+0:104 'v3' (temp highp 3-component vector of int)
+0:104 imageQuerySize (global highp 3-component vector of int)
+0:104 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
+0:105 move second child to first child (temp highp 2-component vector of int)
+0:105 'v2' (temp highp 2-component vector of int)
+0:105 imageQuerySize (global highp 2-component vector of int)
+0:105 'iCube' (layout(binding=5 ) uniform lowp imageCube)
+0:106 move second child to first child (temp highp 3-component vector of int)
+0:106 'v3' (temp highp 3-component vector of int)
+0:106 imageQuerySize (global highp 3-component vector of int)
+0:106 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
+0:107 move second child to first child (temp highp 2-component vector of int)
+0:107 'v2' (temp highp 2-component vector of int)
+0:107 imageQuerySize (global highp 2-component vector of int)
+0:107 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform highp image2D)
+0:165 Function Definition: fooIO( (global void)
+0:165 Function Parameters:
+0:167 Sequence
+0:167 Sequence
+0:167 move second child to first child (temp mediump 4-component vector of float)
+0:167 'v' (temp mediump 4-component vector of float)
+0:167 add (temp mediump 4-component vector of float)
+0:167 v: direct index for structure (in mediump 4-component vector of float)
+0:167 'inbinst' (in block{in mediump int a, in mediump 4-component vector of float v, in structure{global mediump int b} s})
+0:167 Constant:
+0:167 1 (const int)
+0:167 vAnon: direct index for structure (layout(location=13 ) centroid in mediump 4-component vector of float)
+0:167 'anon@0' (in block{layout(location=12 ) in mediump int aAnon, layout(location=13 ) centroid in mediump 4-component vector of float vAnon})
+0:167 Constant:
+0:167 1 (const uint)
+0:168 vector scale second child into first child (temp mediump 4-component vector of float)
+0:168 'v' (temp mediump 4-component vector of float)
+0:168 f: direct index for structure (in mediump float)
+0:168 direct index (temp block{in mediump float f})
+0:168 'arrayedInst' (in 4-element array of block{in mediump float f})
+0:168 Constant:
+0:168 2 (const int)
+0:168 Constant:
+0:168 0 (const int)
+0:169 vector scale second child into first child (temp mediump 4-component vector of float)
+0:169 'v' (temp mediump 4-component vector of float)
+0:169 f: direct index for structure (in mediump float)
+0:169 indirect index (temp block{in mediump float f})
+0:169 'arrayedInst' (in 4-element array of block{in mediump float f})
+0:169 'i' (uniform mediump int)
+0:169 Constant:
+0:169 0 (const int)
+0:179 Function Definition: foo_IO( (global void)
+0:179 Function Parameters:
+0:181 Sequence
+0:181 move second child to first child (temp highp float)
+0:181 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
+0:181 Constant:
+0:181 0.200000
+0:182 'gl_Layer' (flat in highp int Layer)
+0:183 'gl_PrimitiveID' (flat in highp int PrimitiveID)
+0:184 Sequence
+0:184 move second child to first child (temp bool)
+0:184 'f' (temp bool)
+0:184 'gl_FrontFacing' (gl_FrontFacing bool Face)
+0:191 Function Definition: foo_GS( (global void)
+0:191 Function Parameters:
+0:193 Sequence
+0:193 Sequence
+0:193 move second child to first child (temp highp int)
+0:193 'l' (temp highp int)
+0:193 'gl_Layer' (flat in highp int Layer)
+0:194 Sequence
+0:194 move second child to first child (temp highp int)
+0:194 'p' (temp highp int)
+0:194 'gl_PrimitiveID' (flat in highp int PrimitiveID)
+0:207 Function Definition: pfooBad( (global void)
+0:207 Function Parameters:
+0:? Sequence
+0:210 move second child to first child (temp mediump 2-component vector of float)
+0:210 'h' (temp mediump 2-component vector of float)
+0:210 fma (global mediump 2-component vector of float)
+0:210 'inf' (smooth in mediump 2-component vector of float)
+0:210 'ing' (smooth in mediump 2-component vector of float)
+0:210 'h' (temp mediump 2-component vector of float)
+0:211 textureGatherOffset (global highp 4-component vector of float)
+0:211 direct index (temp highp sampler2D)
+0:211 'sArray' (uniform 4-element array of highp sampler2D)
+0:211 Constant:
+0:211 0 (const int)
+0:211 Constant:
+0:211 0.100000
+0:211 0.100000
+0:211 Convert float to int (temp highp 2-component vector of int)
+0:211 'inf' (smooth in mediump 2-component vector of float)
+0:212 textureGatherOffsets (global highp 4-component vector of float)
+0:212 direct index (temp highp sampler2D)
+0:212 'sArray' (uniform 4-element array of highp sampler2D)
+0:212 Constant:
+0:212 0 (const int)
+0:212 Constant:
+0:212 0.100000
+0:212 0.100000
+0:212 Constant:
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:217 Function Definition: pfoo( (global void)
+0:217 Function Parameters:
+0:? Sequence
+0:220 move second child to first child (temp mediump 2-component vector of float)
+0:220 'h' (temp mediump 2-component vector of float)
+0:220 fma (global mediump 2-component vector of float)
+0:220 'inf' (smooth in mediump 2-component vector of float)
+0:220 'ing' (smooth in mediump 2-component vector of float)
+0:220 'h' (temp mediump 2-component vector of float)
+0:221 textureGatherOffset (global highp 4-component vector of float)
+0:221 direct index (temp highp sampler2D)
+0:221 'sArray' (uniform 4-element array of highp sampler2D)
+0:221 Constant:
+0:221 0 (const int)
+0:221 Constant:
+0:221 0.100000
+0:221 0.100000
+0:221 Convert float to int (temp highp 2-component vector of int)
+0:221 'inf' (smooth in mediump 2-component vector of float)
+0:222 textureGatherOffsets (global highp 4-component vector of float)
+0:222 direct index (temp highp sampler2D)
+0:222 'sArray' (uniform 4-element array of highp sampler2D)
+0:222 Constant:
+0:222 0 (const int)
+0:222 Constant:
+0:222 0.100000
+0:222 0.100000
+0:222 Constant:
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:223 textureGatherOffsets (global highp 4-component vector of float)
+0:223 direct index (temp highp sampler2D)
+0:223 'sArray' (uniform 4-element array of highp sampler2D)
+0:223 Constant:
+0:223 0 (const int)
+0:223 Constant:
+0:223 0.100000
+0:223 0.100000
+0:223 'offsets' (uniform 4-element array of mediump 2-component vector of int)
+0:248 Function Definition: CAT( (global void)
+0:248 Function Parameters:
+0:250 Sequence
+0:250 Sequence
+0:250 move second child to first child (temp highp 4-component vector of float)
+0:250 'b4' (temp highp 4-component vector of float)
+0:250 texture (global highp 4-component vector of float)
+0:250 'CA4' (uniform highp samplerCubeArray)
+0:250 Constant:
+0:250 0.500000
+0:250 0.500000
+0:250 0.500000
+0:250 0.500000
+0:250 Constant:
+0:250 0.240000
+0:251 Sequence
+0:251 move second child to first child (temp highp 4-component vector of int)
+0:251 'b6' (temp highp 4-component vector of int)
+0:251 texture (global mediump 4-component vector of int)
+0:251 'CA6' (uniform highp isamplerCubeArray)
+0:251 Constant:
+0:251 0.500000
+0:251 0.500000
+0:251 0.500000
+0:251 0.500000
+0:251 Constant:
+0:251 0.260000
+0:252 Sequence
+0:252 move second child to first child (temp highp 4-component vector of uint)
+0:252 'b7' (temp highp 4-component vector of uint)
+0:252 texture (global mediump 4-component vector of uint)
+0:252 'CA7' (uniform highp usamplerCubeArray)
+0:252 Constant:
+0:252 0.500000
+0:252 0.500000
+0:252 0.500000
+0:252 0.500000
+0:252 Constant:
+0:252 0.270000
+0:255 Function Definition: badSample( (global void)
+0:255 Function Parameters:
+0:257 Sequence
+0:257 Sequence
+0:257 move second child to first child (temp lowp int)
+0:257 'a1' (temp lowp int)
+0:257 'gl_SampleID' (flat in lowp int SampleId)
+0:258 Sequence
+0:258 move second child to first child (temp mediump 2-component vector of float)
+0:258 'a2' (temp mediump 2-component vector of float)
+0:258 'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition)
+0:259 Sequence
+0:259 move second child to first child (temp highp int)
+0:259 'a3' (temp highp int)
+0:259 direct index (flat temp highp int SampleMaskIn)
+0:259 'gl_SampleMaskIn' (flat in implicitly-sized array of highp int SampleMaskIn)
+0:259 Constant:
+0:259 0 (const int)
+0:260 move second child to first child (temp highp int)
+0:260 direct index (temp highp int SampleMaskIn)
+0:260 'gl_SampleMask' (out implicitly-sized array of highp int SampleMaskIn)
+0:260 Constant:
+0:260 0 (const int)
+0:260 'a3' (temp highp int)
+0:261 Sequence
+0:261 move second child to first child (temp mediump int)
+0:261 'n' (temp mediump int)
+0:261 'gl_NumSamples' (uniform lowp int)
+0:268 Function Definition: goodSample( (global void)
+0:268 Function Parameters:
+0:270 Sequence
+0:270 Sequence
+0:270 move second child to first child (temp lowp int)
+0:270 'a1' (temp lowp int)
+0:270 'gl_SampleID' (flat in lowp int SampleId)
+0:271 Sequence
+0:271 move second child to first child (temp mediump 2-component vector of float)
+0:271 'a2' (temp mediump 2-component vector of float)
+0:271 'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition)
+0:272 Sequence
+0:272 move second child to first child (temp highp int)
+0:272 'a3' (temp highp int)
+0:272 direct index (flat temp highp int SampleMaskIn)
+0:272 'gl_SampleMaskIn' (flat in implicitly-sized array of highp int SampleMaskIn)
+0:272 Constant:
+0:272 0 (const int)
+0:273 move second child to first child (temp highp int)
+0:273 direct index (temp highp int SampleMaskIn)
+0:273 'gl_SampleMask' (out implicitly-sized array of highp int SampleMaskIn)
+0:273 Constant:
+0:273 0 (const int)
+0:273 'a3' (temp highp int)
+0:274 Sequence
+0:274 move second child to first child (temp mediump int)
+0:274 'n1' (temp mediump int)
+0:274 Constant:
+0:274 4 (const int)
+0:275 Sequence
+0:275 move second child to first child (temp mediump int)
+0:275 'n2' (temp mediump int)
+0:275 'gl_NumSamples' (uniform lowp int)
+0:283 Function Definition: badImageAtom( (global void)
+0:283 Function Parameters:
+0:? Sequence
+0:289 imageAtomicAdd (global mediump int)
+0:289 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:289 'P' (uniform mediump 2-component vector of int)
+0:289 'dati' (temp mediump int)
+0:290 imageAtomicAdd (global mediump uint)
+0:290 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:290 'P' (uniform mediump 2-component vector of int)
+0:290 'datu' (temp mediump uint)
+0:291 imageAtomicMin (global mediump int)
+0:291 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:291 'P' (uniform mediump 2-component vector of int)
+0:291 'dati' (temp mediump int)
+0:292 imageAtomicMin (global mediump uint)
+0:292 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:292 'P' (uniform mediump 2-component vector of int)
+0:292 'datu' (temp mediump uint)
+0:293 imageAtomicMax (global mediump int)
+0:293 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:293 'P' (uniform mediump 2-component vector of int)
+0:293 'dati' (temp mediump int)
+0:294 imageAtomicMax (global mediump uint)
+0:294 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:294 'P' (uniform mediump 2-component vector of int)
+0:294 'datu' (temp mediump uint)
+0:295 imageAtomicAnd (global mediump int)
+0:295 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:295 'P' (uniform mediump 2-component vector of int)
+0:295 'dati' (temp mediump int)
+0:296 imageAtomicAnd (global mediump uint)
+0:296 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:296 'P' (uniform mediump 2-component vector of int)
+0:296 'datu' (temp mediump uint)
+0:297 imageAtomicOr (global mediump int)
+0:297 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:297 'P' (uniform mediump 2-component vector of int)
+0:297 'dati' (temp mediump int)
+0:298 imageAtomicOr (global mediump uint)
+0:298 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:298 'P' (uniform mediump 2-component vector of int)
+0:298 'datu' (temp mediump uint)
+0:299 imageAtomicXor (global mediump int)
+0:299 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:299 'P' (uniform mediump 2-component vector of int)
+0:299 'dati' (temp mediump int)
+0:300 imageAtomicXor (global mediump uint)
+0:300 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:300 'P' (uniform mediump 2-component vector of int)
+0:300 'datu' (temp mediump uint)
+0:301 imageAtomicExchange (global mediump int)
+0:301 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:301 'P' (uniform mediump 2-component vector of int)
+0:301 'dati' (temp mediump int)
+0:302 imageAtomicExchange (global mediump uint)
+0:302 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:302 'P' (uniform mediump 2-component vector of int)
+0:302 'datu' (temp mediump uint)
+0:303 imageAtomicExchange (global highp float)
+0:303 'im2Df' (layout(r32f ) uniform highp image2D)
+0:303 'P' (uniform mediump 2-component vector of int)
+0:303 'datf' (temp mediump float)
+0:304 imageAtomicCompSwap (global mediump int)
+0:304 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:304 'P' (uniform mediump 2-component vector of int)
+0:304 Constant:
+0:304 3 (const int)
+0:304 'dati' (temp mediump int)
+0:305 imageAtomicCompSwap (global mediump uint)
+0:305 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:305 'P' (uniform mediump 2-component vector of int)
+0:305 Constant:
+0:305 5 (const uint)
+0:305 'datu' (temp mediump uint)
+0:316 Function Definition: goodImageAtom( (global void)
+0:316 Function Parameters:
+0:? Sequence
+0:322 imageAtomicAdd (global mediump int)
+0:322 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:322 'P' (uniform mediump 2-component vector of int)
+0:322 'dati' (temp mediump int)
+0:323 imageAtomicAdd (global mediump uint)
+0:323 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:323 'P' (uniform mediump 2-component vector of int)
+0:323 'datu' (temp mediump uint)
+0:324 imageAtomicMin (global mediump int)
+0:324 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:324 'P' (uniform mediump 2-component vector of int)
+0:324 'dati' (temp mediump int)
+0:325 imageAtomicMin (global mediump uint)
+0:325 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:325 'P' (uniform mediump 2-component vector of int)
+0:325 'datu' (temp mediump uint)
+0:326 imageAtomicMax (global mediump int)
+0:326 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:326 'P' (uniform mediump 2-component vector of int)
+0:326 'dati' (temp mediump int)
+0:327 imageAtomicMax (global mediump uint)
+0:327 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:327 'P' (uniform mediump 2-component vector of int)
+0:327 'datu' (temp mediump uint)
+0:328 imageAtomicAnd (global mediump int)
+0:328 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:328 'P' (uniform mediump 2-component vector of int)
+0:328 'dati' (temp mediump int)
+0:329 imageAtomicAnd (global mediump uint)
+0:329 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:329 'P' (uniform mediump 2-component vector of int)
+0:329 'datu' (temp mediump uint)
+0:330 imageAtomicOr (global mediump int)
+0:330 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:330 'P' (uniform mediump 2-component vector of int)
+0:330 'dati' (temp mediump int)
+0:331 imageAtomicOr (global mediump uint)
+0:331 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:331 'P' (uniform mediump 2-component vector of int)
+0:331 'datu' (temp mediump uint)
+0:332 imageAtomicXor (global mediump int)
+0:332 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:332 'P' (uniform mediump 2-component vector of int)
+0:332 'dati' (temp mediump int)
+0:333 imageAtomicXor (global mediump uint)
+0:333 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:333 'P' (uniform mediump 2-component vector of int)
+0:333 'datu' (temp mediump uint)
+0:334 imageAtomicExchange (global mediump int)
+0:334 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:334 'P' (uniform mediump 2-component vector of int)
+0:334 'dati' (temp mediump int)
+0:335 imageAtomicExchange (global mediump uint)
+0:335 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:335 'P' (uniform mediump 2-component vector of int)
+0:335 'datu' (temp mediump uint)
+0:336 imageAtomicExchange (global highp float)
+0:336 'im2Df' (layout(r32f ) uniform highp image2D)
+0:336 'P' (uniform mediump 2-component vector of int)
+0:336 'datf' (temp mediump float)
+0:337 imageAtomicCompSwap (global mediump int)
+0:337 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:337 'P' (uniform mediump 2-component vector of int)
+0:337 Constant:
+0:337 3 (const int)
+0:337 'dati' (temp mediump int)
+0:338 imageAtomicCompSwap (global mediump uint)
+0:338 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:338 'P' (uniform mediump 2-component vector of int)
+0:338 Constant:
+0:338 5 (const uint)
+0:338 'datu' (temp mediump uint)
+0:340 imageAtomicMax (global mediump int)
+0:340 'badIm2Di' (layout(rgba16i ) uniform highp iimage2D)
+0:340 'P' (uniform mediump 2-component vector of int)
+0:340 'dati' (temp mediump int)
+0:341 imageAtomicMax (global mediump uint)
+0:341 'badIm2Du' (layout(rgba8ui ) uniform highp uimage2D)
+0:341 'P' (uniform mediump 2-component vector of int)
+0:341 'datu' (temp mediump uint)
+0:342 imageAtomicExchange (global highp float)
+0:342 'badIm2Df' (layout(rgba32f ) uniform highp image2D)
+0:342 'P' (uniform mediump 2-component vector of int)
+0:342 'datf' (temp mediump float)
+0:353 Function Definition: badInterp( (global void)
+0:353 Function Parameters:
+0:355 Sequence
+0:355 interpolateAtCentroid (global mediump 2-component vector of float)
+0:355 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:356 interpolateAtSample (global mediump 2-component vector of float)
+0:356 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:356 Constant:
+0:356 1 (const int)
+0:357 interpolateAtOffset (global mediump 2-component vector of float)
+0:357 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:357 Constant:
+0:357 0.200000
+0:357 0.200000
+0:369 Function Definition: interp( (global void)
+0:369 Function Parameters:
+0:? Sequence
+0:376 move second child to first child (temp mediump 2-component vector of float)
+0:376 'res2' (temp mediump 2-component vector of float)
+0:376 interpolateAtCentroid (global mediump 2-component vector of float)
+0:376 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:377 move second child to first child (temp mediump 4-component vector of float)
+0:377 'res4' (temp mediump 4-component vector of float)
+0:377 interpolateAtCentroid (global mediump 4-component vector of float)
+0:377 'colorSampIn' (smooth sample in mediump 4-component vector of float)
+0:378 move second child to first child (temp mediump 4-component vector of float)
+0:378 'res4' (temp mediump 4-component vector of float)
+0:378 interpolateAtCentroid (global mediump 4-component vector of float)
+0:378 'colorfsi' (flat sample in mediump 4-component vector of float)
+0:379 move second child to first child (temp mediump float)
+0:379 'res' (temp mediump float)
+0:379 interpolateAtCentroid (global mediump float)
+0:379 'scalarIn' (smooth in mediump float)
+0:380 'res3' (temp mediump 3-component vector of float)
+0:381 move second child to first child (temp mediump 3-component vector of float)
+0:381 'res3' (temp mediump 3-component vector of float)
+0:381 interpolateAtCentroid (global mediump 3-component vector of float)
+0:381 direct index (smooth sample temp mediump 3-component vector of float)
+0:381 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:381 Constant:
+0:381 2 (const int)
+0:382 move second child to first child (temp mediump 2-component vector of float)
+0:382 'res2' (temp mediump 2-component vector of float)
+0:382 interpolateAtCentroid (global mediump 2-component vector of float)
+0:382 vector swizzle (temp mediump 2-component vector of float)
+0:382 direct index (smooth sample temp mediump 3-component vector of float)
+0:382 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:382 Constant:
+0:382 2 (const int)
+0:382 Sequence
+0:382 Constant:
+0:382 0 (const int)
+0:382 Constant:
+0:382 1 (const int)
+0:384 'res3' (temp mediump 3-component vector of float)
+0:385 move second child to first child (temp mediump 3-component vector of float)
+0:385 'res3' (temp mediump 3-component vector of float)
+0:385 interpolateAtSample (global mediump 3-component vector of float)
+0:385 indirect index (smooth sample temp mediump 3-component vector of float)
+0:385 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:385 'i' (uniform mediump int)
+0:385 Constant:
+0:385 0 (const int)
+0:386 move second child to first child (temp mediump 2-component vector of float)
+0:386 'res2' (temp mediump 2-component vector of float)
+0:386 interpolateAtSample (global mediump 2-component vector of float)
+0:386 vector swizzle (temp mediump 2-component vector of float)
+0:386 direct index (smooth sample temp mediump 3-component vector of float)
+0:386 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:386 Constant:
+0:386 2 (const int)
+0:386 Sequence
+0:386 Constant:
+0:386 0 (const int)
+0:386 Constant:
+0:386 1 (const int)
+0:386 Constant:
+0:386 2 (const int)
+0:387 move second child to first child (temp mediump float)
+0:387 'res' (temp mediump float)
+0:387 interpolateAtSample (global mediump float)
+0:387 'scalarIn' (smooth in mediump float)
+0:387 Constant:
+0:387 1 (const int)
+0:389 'res3' (temp mediump 3-component vector of float)
+0:390 move second child to first child (temp mediump 3-component vector of float)
+0:390 'res3' (temp mediump 3-component vector of float)
+0:390 interpolateAtOffset (global mediump 3-component vector of float)
+0:390 direct index (smooth sample temp mediump 3-component vector of float)
+0:390 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:390 Constant:
+0:390 2 (const int)
+0:390 Constant:
+0:390 0.200000
+0:390 0.200000
+0:391 move second child to first child (temp mediump 2-component vector of float)
+0:391 'res2' (temp mediump 2-component vector of float)
+0:391 interpolateAtOffset (global mediump 2-component vector of float)
+0:391 vector swizzle (temp mediump 2-component vector of float)
+0:391 direct index (smooth sample temp mediump 3-component vector of float)
+0:391 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:391 Constant:
+0:391 2 (const int)
+0:391 Sequence
+0:391 Constant:
+0:391 0 (const int)
+0:391 Constant:
+0:391 1 (const int)
+0:391 Constant:
+0:391 0.200000
+0:391 0.200000
+0:392 move second child to first child (temp mediump float)
+0:392 'res' (temp mediump float)
+0:392 interpolateAtOffset (global mediump float)
+0:392 add (temp mediump float)
+0:392 'scalarIn' (smooth in mediump float)
+0:392 'scalarIn' (smooth in mediump float)
+0:392 Constant:
+0:392 0.200000
+0:392 0.200000
+0:393 move second child to first child (temp mediump float)
+0:393 'res' (temp mediump float)
+0:393 interpolateAtOffset (global mediump float)
+0:393 'scalarIn' (smooth in mediump float)
+0:393 Constant:
+0:393 0.200000
+0:393 0.200000
+0:396 move second child to first child (temp mediump float)
+0:396 'res' (temp mediump float)
+0:396 interpolateAtCentroid (global mediump float)
+0:396 'f' (temp mediump float)
+0:397 move second child to first child (temp mediump 4-component vector of float)
+0:397 'res4' (temp mediump 4-component vector of float)
+0:397 interpolateAtSample (global mediump 4-component vector of float)
+0:397 'outp' (out mediump 4-component vector of float)
+0:397 Constant:
+0:397 0 (const int)
+0:427 Function Definition: blendFoo( (temp void)
+0:427 Function Parameters:
+0:428 Function Definition: blendFoo(vf3; (global void)
+0:428 Function Parameters:
+0:428 'v' (in mediump 3-component vector of float)
+0:? Linker Objects
+0:? 'gl_FragCoord' (smooth in mediump 4-component vector of float)
+0:? 'v3' (layout(location=2 ) smooth in mediump 3-component vector of float)
+0:? 'yi' (layout(location=2 ) smooth in mediump 4X4 matrix of float)
+0:? 'arrayedSampler' (uniform 5-element array of highp sampler2D)
+0:? 'usamp2d' (uniform highp usampler2D)
+0:? 'samp2dr' (uniform mediump usampler2DRect)
+0:? 'isamp2DA' (uniform highp isampler2DArray)
+0:? 'c2D' (smooth in mediump 2-component vector of float)
+0:? 'i' (uniform mediump int)
+0:? 'outp' (out mediump 4-component vector of float)
+0:? 's1' (layout(binding=3 ) uniform highp sampler2D)
+0:? 's2' (layout(binding=3 ) uniform highp sampler2D)
+0:? 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
+0:? 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
+0:? 'iCube' (layout(binding=5 ) uniform lowp imageCube)
+0:? 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
+0:? 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform highp image2D)
+0:? 'bbi' (layout(binding=1 column_major shared ) uniform block{layout(column_major shared ) uniform mediump int foo, layout(binding=2 column_major shared ) uniform mediump float f})
+0:? 'centroidIn' (centroid smooth in mediump 4-component vector of float)
+0:? 'bigl' (uniform mediump 4-component vector of float)
+0:? 'bigout1' (layout(location=40 ) out mediump 4-component vector of float)
+0:? 'bigout2' (layout(location=40 ) out mediump 4-component vector of float)
+0:? 'neg' (out mediump 4-component vector of float)
+0:? 'b430i' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer mediump int i})
+0:? 'bshari' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int i})
+0:? 'smoothIn' (smooth in mediump 4-component vector of float)
+0:? 'flatIn' (flat in mediump int)
+0:? 's2dms' (uniform highp sampler2DMS)
+0:? 'bout' (out bool)
+0:? 'imageOut' (out highp image2D)
+0:? 'mout' (out mediump 2X3 matrix of float)
+0:? 'inb' (smooth in bool)
+0:? 'ino' (smooth in highp sampler2D)
+0:? 'ina' (smooth in 4-element array of mediump float)
+0:? 'inaa' (smooth in 4-element array of 2-element array of mediump float)
+0:? 'ins' (smooth in structure{global mediump float f})
+0:? 'inasa' (smooth in 4-element array of structure{global mediump float f})
+0:? 'insa' (smooth in 4-element array of structure{global mediump float f})
+0:? 'inSA' (smooth in structure{global 4-element array of mediump float f})
+0:? 'inSS' (smooth in structure{global mediump float f, global structure{global mediump float f} s})
+0:? 'outbinst' (out block{out mediump int a})
+0:? 'inbinst' (in block{in mediump int a, in mediump 4-component vector of float v, in structure{global mediump int b} s})
+0:? 'anon@0' (in block{layout(location=12 ) in mediump int aAnon, layout(location=13 ) centroid in mediump 4-component vector of float vAnon})
+0:? 'aliased' (layout(location=13 ) smooth in mediump 4-component vector of float)
+0:? 'arrayedInst' (in 4-element array of block{in mediump float f})
+0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
+0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
+0:? 'inf' (smooth in mediump 2-component vector of float)
+0:? 'ing' (smooth in mediump 2-component vector of float)
+0:? 'offsets' (uniform 4-element array of mediump 2-component vector of int)
+0:? 'sArray' (uniform 4-element array of highp sampler2D)
+0:? 'sIndex' (uniform mediump int)
+0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
+0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump int i})
+0:? 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer mediump int i})
+0:? 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:? 'constOffsets' (const 4-element array of mediump 2-component vector of int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 'CA1' (writeonly uniform highp imageCubeArray)
+0:? 'CA2' (writeonly uniform highp iimageCubeArray)
+0:? 'CA3' (writeonly uniform highp uimageCubeArray)
+0:? 'CA4' (uniform highp samplerCubeArray)
+0:? 'CA5' (uniform highp samplerCubeArrayShadow)
+0:? 'CA6' (uniform highp isamplerCubeArray)
+0:? 'CA7' (uniform highp usamplerCubeArray)
+0:? 'gl_SampleMaskIn' (flat in implicitly-sized array of highp int SampleMaskIn)
+0:? 'gl_SampleMask' (out implicitly-sized array of highp int SampleMaskIn)
+0:? 'im2Df' (layout(r32f ) uniform highp image2D)
+0:? 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:? 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:? 'P' (uniform mediump 2-component vector of int)
+0:? 'badIm2Df' (layout(rgba32f ) uniform highp image2D)
+0:? 'badIm2Du' (layout(rgba8ui ) uniform highp uimage2D)
+0:? 'badIm2Di' (layout(rgba16i ) uniform highp iimage2D)
+0:? 'colorSampInBad' (smooth sample in mediump 4-component vector of float)
+0:? 'colorCentroidBad' (centroid out mediump 4-component vector of float)
+0:? 'colorBadFlat' (flat out mediump 4-component vector of float)
+0:? 'colorBadSmooth' (smooth out mediump 4-component vector of float)
+0:? 'colorBadNo' (noperspective out mediump 4-component vector of float)
+0:? 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:? 'scalarIn' (smooth in mediump float)
+0:? 'colorSampIn' (smooth sample in mediump 4-component vector of float)
+0:? 'colorSampleBad' (sample out mediump 4-component vector of float)
+0:? 'colorfsi' (flat sample in mediump 4-component vector of float)
+0:? 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:? 'badout' (out mediump 4-component vector of float)
+0:? 'outAA' (out 2-element array of 2-element array of mediump 4-component vector of float)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers
+
+Shader version: 310
+Requested GL_EXT_shader_io_blocks
+Requested GL_EXT_texture_cube_map_array
+Requested GL_KHR_blend_equation_advanced
+Requested GL_OES_geometry_shader
+Requested GL_OES_gpu_shader5
+Requested GL_OES_sample_variables
+Requested GL_OES_shader_image_atomic
+Requested GL_OES_shader_io_blocks
+Requested GL_OES_shader_multisample_interpolation
+gl_FragCoord pixel center is integer
+gl_FragCoord origin is upper left
+using early_fragment_tests
+using depth_any
+using blend_support_multiply blend_support_screen blend_support_overlay blend_support_darken blend_support_lighten blend_support_colordodge blend_support_colorburn blend_support_hardlight blend_support_softlight blend_support_difference blend_support_exclusion blend_support_hsl_hue blend_support_hsl_saturation blend_support_hsl_color blend_support_hsl_luminosity blend_support_all_equations
+ERROR: node is still EOpNull!
+0:21 Function Definition: main( (global void)
+0:21 Function Parameters:
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp highp 4-component vector of float)
+0:23 'v' (temp mediump 4-component vector of float)
+0:23 texture (global highp 4-component vector of float)
+0:23 indirect index (temp highp sampler2D)
+0:23 'arrayedSampler' (uniform 5-element array of highp sampler2D)
+0:23 'i' (uniform mediump int)
+0:23 'c2D' (smooth in mediump 2-component vector of float)
+0:28 Sequence
+0:28 move second child to first child (temp highp 4-component vector of float)
+0:28 'v4' (temp mediump 4-component vector of float)
+0:28 textureGather (global highp 4-component vector of float)
+0:28 direct index (temp highp sampler2D)
+0:28 'arrayedSampler' (uniform 5-element array of highp sampler2D)
+0:28 Constant:
+0:28 0 (const int)
+0:28 'c2D' (smooth in mediump 2-component vector of float)
+0:29 Sequence
+0:29 move second child to first child (temp mediump 4-component vector of int)
+0:29 'iv4' (temp mediump 4-component vector of int)
+0:29 textureGatherOffset (global mediump 4-component vector of int)
+0:29 'isamp2DA' (uniform highp isampler2DArray)
+0:29 Constant:
+0:29 0.100000
+0:29 0.100000
+0:29 0.100000
+0:29 Constant:
+0:29 1 (const int)
+0:29 1 (const int)
+0:29 Constant:
+0:29 3 (const int)
+0:30 move second child to first child (temp mediump 4-component vector of int)
+0:30 'iv4' (temp mediump 4-component vector of int)
+0:30 textureGatherOffset (global mediump 4-component vector of int)
+0:30 'isamp2DA' (uniform highp isampler2DArray)
+0:30 Constant:
+0:30 0.100000
+0:30 0.100000
+0:30 0.100000
+0:30 Constant:
+0:30 1 (const int)
+0:30 1 (const int)
+0:30 'i' (uniform mediump int)
+0:31 move second child to first child (temp mediump 4-component vector of int)
+0:31 'iv4' (temp mediump 4-component vector of int)
+0:31 textureGatherOffset (global mediump 4-component vector of int)
+0:31 'isamp2DA' (uniform highp isampler2DArray)
+0:31 Constant:
+0:31 0.100000
+0:31 0.100000
+0:31 0.100000
+0:31 Constant:
+0:31 1 (const int)
+0:31 1 (const int)
+0:31 Constant:
+0:31 4 (const int)
+0:32 move second child to first child (temp mediump 4-component vector of int)
+0:32 'iv4' (temp mediump 4-component vector of int)
+0:32 textureGatherOffset (global mediump 4-component vector of int)
+0:32 'isamp2DA' (uniform highp isampler2DArray)
+0:32 Constant:
+0:32 0.100000
+0:32 0.100000
+0:32 0.100000
+0:32 Constant:
+0:32 1 (const int)
+0:32 1 (const int)
+0:32 Constant:
+0:32 3 (const int)
+0:33 move second child to first child (temp mediump 4-component vector of int)
+0:33 'iv4' (temp mediump 4-component vector of int)
+0:33 textureGatherOffset (global mediump 4-component vector of int)
+0:33 'isamp2DA' (uniform highp isampler2DArray)
+0:33 Constant:
+0:33 0.100000
+0:33 0.100000
+0:33 0.100000
+0:33 Constant:
+0:33 0 (const int)
+0:33 0 (const int)
+0:34 move second child to first child (temp mediump 4-component vector of int)
+0:34 'iv4' (temp mediump 4-component vector of int)
+0:34 textureGatherOffset (global mediump 4-component vector of int)
+0:34 'isamp2DA' (uniform highp isampler2DArray)
+0:34 Constant:
+0:34 0.100000
+0:34 0.100000
+0:34 0.100000
+0:34 Construct ivec2 (temp mediump 2-component vector of int)
+0:34 'i' (uniform mediump int)
+0:38 Function Definition: foo23( (global void)
+0:38 Function Parameters:
+0:? Sequence
+0:42 textureProjGradOffset (global mediump 4-component vector of uint)
+0:42 'usamp2d' (uniform highp usampler2D)
+0:42 'outp' (out mediump 4-component vector of float)
+0:42 Constant:
+0:42 0.000000
+0:42 0.000000
+0:42 Constant:
+0:42 0.000000
+0:42 0.000000
+0:42 Convert float to int (temp mediump 2-component vector of int)
+0:42 'c2D' (smooth in mediump 2-component vector of float)
+0:43 textureProjGradOffset (global mediump 4-component vector of uint)
+0:43 'usamp2d' (uniform highp usampler2D)
+0:43 'outp' (out mediump 4-component vector of float)
+0:43 Constant:
+0:43 0.000000
+0:43 0.000000
+0:43 Constant:
+0:43 0.000000
+0:43 0.000000
+0:43 Constant:
+0:43 3 (const int)
+0:43 4 (const int)
+0:44 textureProjGradOffset (global mediump 4-component vector of uint)
+0:44 'usamp2d' (uniform highp usampler2D)
+0:44 'outp' (out mediump 4-component vector of float)
+0:44 Constant:
+0:44 0.000000
+0:44 0.000000
+0:44 Constant:
+0:44 0.000000
+0:44 0.000000
+0:44 Constant:
+0:44 15 (const int)
+0:44 16 (const int)
+0:45 textureProjGradOffset (global mediump 4-component vector of uint)
+0:45 'usamp2d' (uniform highp usampler2D)
+0:45 'outp' (out mediump 4-component vector of float)
+0:45 Constant:
+0:45 0.000000
+0:45 0.000000
+0:45 Constant:
+0:45 0.000000
+0:45 0.000000
+0:45 Constant:
+0:45 -10 (const int)
+0:45 20 (const int)
+0:47 Test condition and select (temp void)
+0:47 Condition
+0:47 'gl_HelperInvocation' (in bool HelperInvocation)
+0:47 true case
+0:48 Pre-Increment (temp mediump 4-component vector of float)
+0:48 'outp' (out mediump 4-component vector of float)
+0:50 Sequence
+0:50 move second child to first child (temp mediump int)
+0:50 'sum' (temp mediump int)
+0:50 Constant:
+0:50 32 (const int)
+0:58 move second child to first child (temp bool)
+0:58 'b1' (temp bool)
+0:58 mix (global bool)
+0:58 'b2' (temp bool)
+0:58 'b3' (temp bool)
+0:58 'b' (temp bool)
+0:59 Sequence
+0:59 move second child to first child (temp mediump 3-component vector of uint)
+0:59 'um3' (temp mediump 3-component vector of uint)
+0:59 mix (global mediump 3-component vector of uint)
+0:59 Construct uvec3 (temp mediump 3-component vector of uint)
+0:59 Convert int to uint (temp mediump uint)
+0:59 'i' (uniform mediump int)
+0:59 Construct uvec3 (temp mediump 3-component vector of uint)
+0:59 Convert int to uint (temp mediump uint)
+0:59 'i' (uniform mediump int)
+0:59 Construct bvec3 (temp 3-component vector of bool)
+0:59 'b' (temp bool)
+0:60 Sequence
+0:60 move second child to first child (temp mediump 4-component vector of int)
+0:60 'im4' (temp mediump 4-component vector of int)
+0:60 mix (global mediump 4-component vector of int)
+0:60 Construct ivec4 (temp mediump 4-component vector of int)
+0:60 'i' (uniform mediump int)
+0:60 Construct ivec4 (temp mediump 4-component vector of int)
+0:60 'i' (uniform mediump int)
+0:60 Construct bvec4 (temp 4-component vector of bool)
+0:60 'b' (temp bool)
+0:98 Function Definition: foots( (global void)
+0:98 Function Parameters:
+0:100 Sequence
+0:100 Sequence
+0:100 move second child to first child (temp highp 2-component vector of int)
+0:100 'v2' (temp highp 2-component vector of int)
+0:100 textureSize (global highp 2-component vector of int)
+0:100 's1' (layout(binding=3 ) uniform highp sampler2D)
+0:100 Constant:
+0:100 2 (const int)
+0:101 Sequence
+0:101 move second child to first child (temp highp 3-component vector of int)
+0:101 'v3' (temp highp 3-component vector of int)
+0:101 textureSize (global highp 3-component vector of int)
+0:101 'isamp2DA' (uniform highp isampler2DArray)
+0:101 Constant:
+0:101 3 (const int)
+0:102 move second child to first child (temp highp 2-component vector of int)
+0:102 'v2' (temp highp 2-component vector of int)
+0:102 textureSize (global highp 2-component vector of int)
+0:102 's2dms' (uniform highp sampler2DMS)
+0:103 move second child to first child (temp highp 2-component vector of int)
+0:103 'v2' (temp highp 2-component vector of int)
+0:103 imageQuerySize (global highp 2-component vector of int)
+0:103 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
+0:104 move second child to first child (temp highp 3-component vector of int)
+0:104 'v3' (temp highp 3-component vector of int)
+0:104 imageQuerySize (global highp 3-component vector of int)
+0:104 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
+0:105 move second child to first child (temp highp 2-component vector of int)
+0:105 'v2' (temp highp 2-component vector of int)
+0:105 imageQuerySize (global highp 2-component vector of int)
+0:105 'iCube' (layout(binding=5 ) uniform lowp imageCube)
+0:106 move second child to first child (temp highp 3-component vector of int)
+0:106 'v3' (temp highp 3-component vector of int)
+0:106 imageQuerySize (global highp 3-component vector of int)
+0:106 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
+0:107 move second child to first child (temp highp 2-component vector of int)
+0:107 'v2' (temp highp 2-component vector of int)
+0:107 imageQuerySize (global highp 2-component vector of int)
+0:107 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform highp image2D)
+0:165 Function Definition: fooIO( (global void)
+0:165 Function Parameters:
+0:167 Sequence
+0:167 Sequence
+0:167 move second child to first child (temp mediump 4-component vector of float)
+0:167 'v' (temp mediump 4-component vector of float)
+0:167 add (temp mediump 4-component vector of float)
+0:167 v: direct index for structure (in mediump 4-component vector of float)
+0:167 'inbinst' (in block{in mediump int a, in mediump 4-component vector of float v, in structure{global mediump int b} s})
+0:167 Constant:
+0:167 1 (const int)
+0:167 vAnon: direct index for structure (layout(location=13 ) centroid in mediump 4-component vector of float)
+0:167 'anon@0' (in block{layout(location=12 ) in mediump int aAnon, layout(location=13 ) centroid in mediump 4-component vector of float vAnon})
+0:167 Constant:
+0:167 1 (const uint)
+0:168 vector scale second child into first child (temp mediump 4-component vector of float)
+0:168 'v' (temp mediump 4-component vector of float)
+0:168 f: direct index for structure (in mediump float)
+0:168 direct index (temp block{in mediump float f})
+0:168 'arrayedInst' (in 4-element array of block{in mediump float f})
+0:168 Constant:
+0:168 2 (const int)
+0:168 Constant:
+0:168 0 (const int)
+0:169 vector scale second child into first child (temp mediump 4-component vector of float)
+0:169 'v' (temp mediump 4-component vector of float)
+0:169 f: direct index for structure (in mediump float)
+0:169 indirect index (temp block{in mediump float f})
+0:169 'arrayedInst' (in 4-element array of block{in mediump float f})
+0:169 'i' (uniform mediump int)
+0:169 Constant:
+0:169 0 (const int)
+0:179 Function Definition: foo_IO( (global void)
+0:179 Function Parameters:
+0:181 Sequence
+0:181 move second child to first child (temp highp float)
+0:181 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
+0:181 Constant:
+0:181 0.200000
+0:182 'gl_Layer' (flat in highp int Layer)
+0:183 'gl_PrimitiveID' (flat in highp int PrimitiveID)
+0:184 Sequence
+0:184 move second child to first child (temp bool)
+0:184 'f' (temp bool)
+0:184 'gl_FrontFacing' (gl_FrontFacing bool Face)
+0:191 Function Definition: foo_GS( (global void)
+0:191 Function Parameters:
+0:193 Sequence
+0:193 Sequence
+0:193 move second child to first child (temp highp int)
+0:193 'l' (temp highp int)
+0:193 'gl_Layer' (flat in highp int Layer)
+0:194 Sequence
+0:194 move second child to first child (temp highp int)
+0:194 'p' (temp highp int)
+0:194 'gl_PrimitiveID' (flat in highp int PrimitiveID)
+0:207 Function Definition: pfooBad( (global void)
+0:207 Function Parameters:
+0:? Sequence
+0:210 move second child to first child (temp mediump 2-component vector of float)
+0:210 'h' (temp mediump 2-component vector of float)
+0:210 fma (global mediump 2-component vector of float)
+0:210 'inf' (smooth in mediump 2-component vector of float)
+0:210 'ing' (smooth in mediump 2-component vector of float)
+0:210 'h' (temp mediump 2-component vector of float)
+0:211 textureGatherOffset (global highp 4-component vector of float)
+0:211 direct index (temp highp sampler2D)
+0:211 'sArray' (uniform 4-element array of highp sampler2D)
+0:211 Constant:
+0:211 0 (const int)
+0:211 Constant:
+0:211 0.100000
+0:211 0.100000
+0:211 Convert float to int (temp highp 2-component vector of int)
+0:211 'inf' (smooth in mediump 2-component vector of float)
+0:212 textureGatherOffsets (global highp 4-component vector of float)
+0:212 direct index (temp highp sampler2D)
+0:212 'sArray' (uniform 4-element array of highp sampler2D)
+0:212 Constant:
+0:212 0 (const int)
+0:212 Constant:
+0:212 0.100000
+0:212 0.100000
+0:212 Constant:
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:212 0 (const int)
+0:217 Function Definition: pfoo( (global void)
+0:217 Function Parameters:
+0:? Sequence
+0:220 move second child to first child (temp mediump 2-component vector of float)
+0:220 'h' (temp mediump 2-component vector of float)
+0:220 fma (global mediump 2-component vector of float)
+0:220 'inf' (smooth in mediump 2-component vector of float)
+0:220 'ing' (smooth in mediump 2-component vector of float)
+0:220 'h' (temp mediump 2-component vector of float)
+0:221 textureGatherOffset (global highp 4-component vector of float)
+0:221 direct index (temp highp sampler2D)
+0:221 'sArray' (uniform 4-element array of highp sampler2D)
+0:221 Constant:
+0:221 0 (const int)
+0:221 Constant:
+0:221 0.100000
+0:221 0.100000
+0:221 Convert float to int (temp highp 2-component vector of int)
+0:221 'inf' (smooth in mediump 2-component vector of float)
+0:222 textureGatherOffsets (global highp 4-component vector of float)
+0:222 direct index (temp highp sampler2D)
+0:222 'sArray' (uniform 4-element array of highp sampler2D)
+0:222 Constant:
+0:222 0 (const int)
+0:222 Constant:
+0:222 0.100000
+0:222 0.100000
+0:222 Constant:
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:222 0 (const int)
+0:223 textureGatherOffsets (global highp 4-component vector of float)
+0:223 direct index (temp highp sampler2D)
+0:223 'sArray' (uniform 4-element array of highp sampler2D)
+0:223 Constant:
+0:223 0 (const int)
+0:223 Constant:
+0:223 0.100000
+0:223 0.100000
+0:223 'offsets' (uniform 4-element array of mediump 2-component vector of int)
+0:248 Function Definition: CAT( (global void)
+0:248 Function Parameters:
+0:250 Sequence
+0:250 Sequence
+0:250 move second child to first child (temp highp 4-component vector of float)
+0:250 'b4' (temp highp 4-component vector of float)
+0:250 texture (global highp 4-component vector of float)
+0:250 'CA4' (uniform highp samplerCubeArray)
+0:250 Constant:
+0:250 0.500000
+0:250 0.500000
+0:250 0.500000
+0:250 0.500000
+0:250 Constant:
+0:250 0.240000
+0:251 Sequence
+0:251 move second child to first child (temp highp 4-component vector of int)
+0:251 'b6' (temp highp 4-component vector of int)
+0:251 texture (global mediump 4-component vector of int)
+0:251 'CA6' (uniform highp isamplerCubeArray)
+0:251 Constant:
+0:251 0.500000
+0:251 0.500000
+0:251 0.500000
+0:251 0.500000
+0:251 Constant:
+0:251 0.260000
+0:252 Sequence
+0:252 move second child to first child (temp highp 4-component vector of uint)
+0:252 'b7' (temp highp 4-component vector of uint)
+0:252 texture (global mediump 4-component vector of uint)
+0:252 'CA7' (uniform highp usamplerCubeArray)
+0:252 Constant:
+0:252 0.500000
+0:252 0.500000
+0:252 0.500000
+0:252 0.500000
+0:252 Constant:
+0:252 0.270000
+0:255 Function Definition: badSample( (global void)
+0:255 Function Parameters:
+0:257 Sequence
+0:257 Sequence
+0:257 move second child to first child (temp lowp int)
+0:257 'a1' (temp lowp int)
+0:257 'gl_SampleID' (flat in lowp int SampleId)
+0:258 Sequence
+0:258 move second child to first child (temp mediump 2-component vector of float)
+0:258 'a2' (temp mediump 2-component vector of float)
+0:258 'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition)
+0:259 Sequence
+0:259 move second child to first child (temp highp int)
+0:259 'a3' (temp highp int)
+0:259 direct index (flat temp highp int SampleMaskIn)
+0:259 'gl_SampleMaskIn' (flat in 1-element array of highp int SampleMaskIn)
+0:259 Constant:
+0:259 0 (const int)
+0:260 move second child to first child (temp highp int)
+0:260 direct index (temp highp int SampleMaskIn)
+0:260 'gl_SampleMask' (out 1-element array of highp int SampleMaskIn)
+0:260 Constant:
+0:260 0 (const int)
+0:260 'a3' (temp highp int)
+0:261 Sequence
+0:261 move second child to first child (temp mediump int)
+0:261 'n' (temp mediump int)
+0:261 'gl_NumSamples' (uniform lowp int)
+0:268 Function Definition: goodSample( (global void)
+0:268 Function Parameters:
+0:270 Sequence
+0:270 Sequence
+0:270 move second child to first child (temp lowp int)
+0:270 'a1' (temp lowp int)
+0:270 'gl_SampleID' (flat in lowp int SampleId)
+0:271 Sequence
+0:271 move second child to first child (temp mediump 2-component vector of float)
+0:271 'a2' (temp mediump 2-component vector of float)
+0:271 'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition)
+0:272 Sequence
+0:272 move second child to first child (temp highp int)
+0:272 'a3' (temp highp int)
+0:272 direct index (flat temp highp int SampleMaskIn)
+0:272 'gl_SampleMaskIn' (flat in 1-element array of highp int SampleMaskIn)
+0:272 Constant:
+0:272 0 (const int)
+0:273 move second child to first child (temp highp int)
+0:273 direct index (temp highp int SampleMaskIn)
+0:273 'gl_SampleMask' (out 1-element array of highp int SampleMaskIn)
+0:273 Constant:
+0:273 0 (const int)
+0:273 'a3' (temp highp int)
+0:274 Sequence
+0:274 move second child to first child (temp mediump int)
+0:274 'n1' (temp mediump int)
+0:274 Constant:
+0:274 4 (const int)
+0:275 Sequence
+0:275 move second child to first child (temp mediump int)
+0:275 'n2' (temp mediump int)
+0:275 'gl_NumSamples' (uniform lowp int)
+0:283 Function Definition: badImageAtom( (global void)
+0:283 Function Parameters:
+0:? Sequence
+0:289 imageAtomicAdd (global mediump int)
+0:289 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:289 'P' (uniform mediump 2-component vector of int)
+0:289 'dati' (temp mediump int)
+0:290 imageAtomicAdd (global mediump uint)
+0:290 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:290 'P' (uniform mediump 2-component vector of int)
+0:290 'datu' (temp mediump uint)
+0:291 imageAtomicMin (global mediump int)
+0:291 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:291 'P' (uniform mediump 2-component vector of int)
+0:291 'dati' (temp mediump int)
+0:292 imageAtomicMin (global mediump uint)
+0:292 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:292 'P' (uniform mediump 2-component vector of int)
+0:292 'datu' (temp mediump uint)
+0:293 imageAtomicMax (global mediump int)
+0:293 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:293 'P' (uniform mediump 2-component vector of int)
+0:293 'dati' (temp mediump int)
+0:294 imageAtomicMax (global mediump uint)
+0:294 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:294 'P' (uniform mediump 2-component vector of int)
+0:294 'datu' (temp mediump uint)
+0:295 imageAtomicAnd (global mediump int)
+0:295 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:295 'P' (uniform mediump 2-component vector of int)
+0:295 'dati' (temp mediump int)
+0:296 imageAtomicAnd (global mediump uint)
+0:296 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:296 'P' (uniform mediump 2-component vector of int)
+0:296 'datu' (temp mediump uint)
+0:297 imageAtomicOr (global mediump int)
+0:297 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:297 'P' (uniform mediump 2-component vector of int)
+0:297 'dati' (temp mediump int)
+0:298 imageAtomicOr (global mediump uint)
+0:298 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:298 'P' (uniform mediump 2-component vector of int)
+0:298 'datu' (temp mediump uint)
+0:299 imageAtomicXor (global mediump int)
+0:299 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:299 'P' (uniform mediump 2-component vector of int)
+0:299 'dati' (temp mediump int)
+0:300 imageAtomicXor (global mediump uint)
+0:300 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:300 'P' (uniform mediump 2-component vector of int)
+0:300 'datu' (temp mediump uint)
+0:301 imageAtomicExchange (global mediump int)
+0:301 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:301 'P' (uniform mediump 2-component vector of int)
+0:301 'dati' (temp mediump int)
+0:302 imageAtomicExchange (global mediump uint)
+0:302 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:302 'P' (uniform mediump 2-component vector of int)
+0:302 'datu' (temp mediump uint)
+0:303 imageAtomicExchange (global highp float)
+0:303 'im2Df' (layout(r32f ) uniform highp image2D)
+0:303 'P' (uniform mediump 2-component vector of int)
+0:303 'datf' (temp mediump float)
+0:304 imageAtomicCompSwap (global mediump int)
+0:304 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:304 'P' (uniform mediump 2-component vector of int)
+0:304 Constant:
+0:304 3 (const int)
+0:304 'dati' (temp mediump int)
+0:305 imageAtomicCompSwap (global mediump uint)
+0:305 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:305 'P' (uniform mediump 2-component vector of int)
+0:305 Constant:
+0:305 5 (const uint)
+0:305 'datu' (temp mediump uint)
+0:316 Function Definition: goodImageAtom( (global void)
+0:316 Function Parameters:
+0:? Sequence
+0:322 imageAtomicAdd (global mediump int)
+0:322 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:322 'P' (uniform mediump 2-component vector of int)
+0:322 'dati' (temp mediump int)
+0:323 imageAtomicAdd (global mediump uint)
+0:323 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:323 'P' (uniform mediump 2-component vector of int)
+0:323 'datu' (temp mediump uint)
+0:324 imageAtomicMin (global mediump int)
+0:324 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:324 'P' (uniform mediump 2-component vector of int)
+0:324 'dati' (temp mediump int)
+0:325 imageAtomicMin (global mediump uint)
+0:325 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:325 'P' (uniform mediump 2-component vector of int)
+0:325 'datu' (temp mediump uint)
+0:326 imageAtomicMax (global mediump int)
+0:326 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:326 'P' (uniform mediump 2-component vector of int)
+0:326 'dati' (temp mediump int)
+0:327 imageAtomicMax (global mediump uint)
+0:327 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:327 'P' (uniform mediump 2-component vector of int)
+0:327 'datu' (temp mediump uint)
+0:328 imageAtomicAnd (global mediump int)
+0:328 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:328 'P' (uniform mediump 2-component vector of int)
+0:328 'dati' (temp mediump int)
+0:329 imageAtomicAnd (global mediump uint)
+0:329 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:329 'P' (uniform mediump 2-component vector of int)
+0:329 'datu' (temp mediump uint)
+0:330 imageAtomicOr (global mediump int)
+0:330 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:330 'P' (uniform mediump 2-component vector of int)
+0:330 'dati' (temp mediump int)
+0:331 imageAtomicOr (global mediump uint)
+0:331 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:331 'P' (uniform mediump 2-component vector of int)
+0:331 'datu' (temp mediump uint)
+0:332 imageAtomicXor (global mediump int)
+0:332 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:332 'P' (uniform mediump 2-component vector of int)
+0:332 'dati' (temp mediump int)
+0:333 imageAtomicXor (global mediump uint)
+0:333 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:333 'P' (uniform mediump 2-component vector of int)
+0:333 'datu' (temp mediump uint)
+0:334 imageAtomicExchange (global mediump int)
+0:334 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:334 'P' (uniform mediump 2-component vector of int)
+0:334 'dati' (temp mediump int)
+0:335 imageAtomicExchange (global mediump uint)
+0:335 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:335 'P' (uniform mediump 2-component vector of int)
+0:335 'datu' (temp mediump uint)
+0:336 imageAtomicExchange (global highp float)
+0:336 'im2Df' (layout(r32f ) uniform highp image2D)
+0:336 'P' (uniform mediump 2-component vector of int)
+0:336 'datf' (temp mediump float)
+0:337 imageAtomicCompSwap (global mediump int)
+0:337 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:337 'P' (uniform mediump 2-component vector of int)
+0:337 Constant:
+0:337 3 (const int)
+0:337 'dati' (temp mediump int)
+0:338 imageAtomicCompSwap (global mediump uint)
+0:338 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:338 'P' (uniform mediump 2-component vector of int)
+0:338 Constant:
+0:338 5 (const uint)
+0:338 'datu' (temp mediump uint)
+0:340 imageAtomicMax (global mediump int)
+0:340 'badIm2Di' (layout(rgba16i ) uniform highp iimage2D)
+0:340 'P' (uniform mediump 2-component vector of int)
+0:340 'dati' (temp mediump int)
+0:341 imageAtomicMax (global mediump uint)
+0:341 'badIm2Du' (layout(rgba8ui ) uniform highp uimage2D)
+0:341 'P' (uniform mediump 2-component vector of int)
+0:341 'datu' (temp mediump uint)
+0:342 imageAtomicExchange (global highp float)
+0:342 'badIm2Df' (layout(rgba32f ) uniform highp image2D)
+0:342 'P' (uniform mediump 2-component vector of int)
+0:342 'datf' (temp mediump float)
+0:353 Function Definition: badInterp( (global void)
+0:353 Function Parameters:
+0:355 Sequence
+0:355 interpolateAtCentroid (global mediump 2-component vector of float)
+0:355 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:356 interpolateAtSample (global mediump 2-component vector of float)
+0:356 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:356 Constant:
+0:356 1 (const int)
+0:357 interpolateAtOffset (global mediump 2-component vector of float)
+0:357 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:357 Constant:
+0:357 0.200000
+0:357 0.200000
+0:369 Function Definition: interp( (global void)
+0:369 Function Parameters:
+0:? Sequence
+0:376 move second child to first child (temp mediump 2-component vector of float)
+0:376 'res2' (temp mediump 2-component vector of float)
+0:376 interpolateAtCentroid (global mediump 2-component vector of float)
+0:376 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:377 move second child to first child (temp mediump 4-component vector of float)
+0:377 'res4' (temp mediump 4-component vector of float)
+0:377 interpolateAtCentroid (global mediump 4-component vector of float)
+0:377 'colorSampIn' (smooth sample in mediump 4-component vector of float)
+0:378 move second child to first child (temp mediump 4-component vector of float)
+0:378 'res4' (temp mediump 4-component vector of float)
+0:378 interpolateAtCentroid (global mediump 4-component vector of float)
+0:378 'colorfsi' (flat sample in mediump 4-component vector of float)
+0:379 move second child to first child (temp mediump float)
+0:379 'res' (temp mediump float)
+0:379 interpolateAtCentroid (global mediump float)
+0:379 'scalarIn' (smooth in mediump float)
+0:380 'res3' (temp mediump 3-component vector of float)
+0:381 move second child to first child (temp mediump 3-component vector of float)
+0:381 'res3' (temp mediump 3-component vector of float)
+0:381 interpolateAtCentroid (global mediump 3-component vector of float)
+0:381 direct index (smooth sample temp mediump 3-component vector of float)
+0:381 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:381 Constant:
+0:381 2 (const int)
+0:382 move second child to first child (temp mediump 2-component vector of float)
+0:382 'res2' (temp mediump 2-component vector of float)
+0:382 interpolateAtCentroid (global mediump 2-component vector of float)
+0:382 vector swizzle (temp mediump 2-component vector of float)
+0:382 direct index (smooth sample temp mediump 3-component vector of float)
+0:382 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:382 Constant:
+0:382 2 (const int)
+0:382 Sequence
+0:382 Constant:
+0:382 0 (const int)
+0:382 Constant:
+0:382 1 (const int)
+0:384 'res3' (temp mediump 3-component vector of float)
+0:385 move second child to first child (temp mediump 3-component vector of float)
+0:385 'res3' (temp mediump 3-component vector of float)
+0:385 interpolateAtSample (global mediump 3-component vector of float)
+0:385 indirect index (smooth sample temp mediump 3-component vector of float)
+0:385 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:385 'i' (uniform mediump int)
+0:385 Constant:
+0:385 0 (const int)
+0:386 move second child to first child (temp mediump 2-component vector of float)
+0:386 'res2' (temp mediump 2-component vector of float)
+0:386 interpolateAtSample (global mediump 2-component vector of float)
+0:386 vector swizzle (temp mediump 2-component vector of float)
+0:386 direct index (smooth sample temp mediump 3-component vector of float)
+0:386 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:386 Constant:
+0:386 2 (const int)
+0:386 Sequence
+0:386 Constant:
+0:386 0 (const int)
+0:386 Constant:
+0:386 1 (const int)
+0:386 Constant:
+0:386 2 (const int)
+0:387 move second child to first child (temp mediump float)
+0:387 'res' (temp mediump float)
+0:387 interpolateAtSample (global mediump float)
+0:387 'scalarIn' (smooth in mediump float)
+0:387 Constant:
+0:387 1 (const int)
+0:389 'res3' (temp mediump 3-component vector of float)
+0:390 move second child to first child (temp mediump 3-component vector of float)
+0:390 'res3' (temp mediump 3-component vector of float)
+0:390 interpolateAtOffset (global mediump 3-component vector of float)
+0:390 direct index (smooth sample temp mediump 3-component vector of float)
+0:390 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:390 Constant:
+0:390 2 (const int)
+0:390 Constant:
+0:390 0.200000
+0:390 0.200000
+0:391 move second child to first child (temp mediump 2-component vector of float)
+0:391 'res2' (temp mediump 2-component vector of float)
+0:391 interpolateAtOffset (global mediump 2-component vector of float)
+0:391 vector swizzle (temp mediump 2-component vector of float)
+0:391 direct index (smooth sample temp mediump 3-component vector of float)
+0:391 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:391 Constant:
+0:391 2 (const int)
+0:391 Sequence
+0:391 Constant:
+0:391 0 (const int)
+0:391 Constant:
+0:391 1 (const int)
+0:391 Constant:
+0:391 0.200000
+0:391 0.200000
+0:392 move second child to first child (temp mediump float)
+0:392 'res' (temp mediump float)
+0:392 interpolateAtOffset (global mediump float)
+0:392 add (temp mediump float)
+0:392 'scalarIn' (smooth in mediump float)
+0:392 'scalarIn' (smooth in mediump float)
+0:392 Constant:
+0:392 0.200000
+0:392 0.200000
+0:393 move second child to first child (temp mediump float)
+0:393 'res' (temp mediump float)
+0:393 interpolateAtOffset (global mediump float)
+0:393 'scalarIn' (smooth in mediump float)
+0:393 Constant:
+0:393 0.200000
+0:393 0.200000
+0:396 move second child to first child (temp mediump float)
+0:396 'res' (temp mediump float)
+0:396 interpolateAtCentroid (global mediump float)
+0:396 'f' (temp mediump float)
+0:397 move second child to first child (temp mediump 4-component vector of float)
+0:397 'res4' (temp mediump 4-component vector of float)
+0:397 interpolateAtSample (global mediump 4-component vector of float)
+0:397 'outp' (out mediump 4-component vector of float)
+0:397 Constant:
+0:397 0 (const int)
+0:427 Function Definition: blendFoo( (temp void)
+0:427 Function Parameters:
+0:428 Function Definition: blendFoo(vf3; (global void)
+0:428 Function Parameters:
+0:428 'v' (in mediump 3-component vector of float)
+0:? Linker Objects
+0:? 'gl_FragCoord' (smooth in mediump 4-component vector of float)
+0:? 'v3' (layout(location=2 ) smooth in mediump 3-component vector of float)
+0:? 'yi' (layout(location=2 ) smooth in mediump 4X4 matrix of float)
+0:? 'arrayedSampler' (uniform 5-element array of highp sampler2D)
+0:? 'usamp2d' (uniform highp usampler2D)
+0:? 'samp2dr' (uniform mediump usampler2DRect)
+0:? 'isamp2DA' (uniform highp isampler2DArray)
+0:? 'c2D' (smooth in mediump 2-component vector of float)
+0:? 'i' (uniform mediump int)
+0:? 'outp' (out mediump 4-component vector of float)
+0:? 's1' (layout(binding=3 ) uniform highp sampler2D)
+0:? 's2' (layout(binding=3 ) uniform highp sampler2D)
+0:? 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
+0:? 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
+0:? 'iCube' (layout(binding=5 ) uniform lowp imageCube)
+0:? 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
+0:? 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform highp image2D)
+0:? 'bbi' (layout(binding=1 column_major shared ) uniform block{layout(column_major shared ) uniform mediump int foo, layout(binding=2 column_major shared ) uniform mediump float f})
+0:? 'centroidIn' (centroid smooth in mediump 4-component vector of float)
+0:? 'bigl' (uniform mediump 4-component vector of float)
+0:? 'bigout1' (layout(location=40 ) out mediump 4-component vector of float)
+0:? 'bigout2' (layout(location=40 ) out mediump 4-component vector of float)
+0:? 'neg' (out mediump 4-component vector of float)
+0:? 'b430i' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer mediump int i})
+0:? 'bshari' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int i})
+0:? 'smoothIn' (smooth in mediump 4-component vector of float)
+0:? 'flatIn' (flat in mediump int)
+0:? 's2dms' (uniform highp sampler2DMS)
+0:? 'bout' (out bool)
+0:? 'imageOut' (out highp image2D)
+0:? 'mout' (out mediump 2X3 matrix of float)
+0:? 'inb' (smooth in bool)
+0:? 'ino' (smooth in highp sampler2D)
+0:? 'ina' (smooth in 4-element array of mediump float)
+0:? 'inaa' (smooth in 4-element array of 2-element array of mediump float)
+0:? 'ins' (smooth in structure{global mediump float f})
+0:? 'inasa' (smooth in 4-element array of structure{global mediump float f})
+0:? 'insa' (smooth in 4-element array of structure{global mediump float f})
+0:? 'inSA' (smooth in structure{global 4-element array of mediump float f})
+0:? 'inSS' (smooth in structure{global mediump float f, global structure{global mediump float f} s})
+0:? 'outbinst' (out block{out mediump int a})
+0:? 'inbinst' (in block{in mediump int a, in mediump 4-component vector of float v, in structure{global mediump int b} s})
+0:? 'anon@0' (in block{layout(location=12 ) in mediump int aAnon, layout(location=13 ) centroid in mediump 4-component vector of float vAnon})
+0:? 'aliased' (layout(location=13 ) smooth in mediump 4-component vector of float)
+0:? 'arrayedInst' (in 4-element array of block{in mediump float f})
+0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
+0:? 'gl_FragDepth' (gl_FragDepth highp float FragDepth)
+0:? 'inf' (smooth in mediump 2-component vector of float)
+0:? 'ing' (smooth in mediump 2-component vector of float)
+0:? 'offsets' (uniform 4-element array of mediump 2-component vector of int)
+0:? 'sArray' (uniform 4-element array of highp sampler2D)
+0:? 'sIndex' (uniform mediump int)
+0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
+0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump int i})
+0:? 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer mediump int i})
+0:? 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:? 'constOffsets' (const 4-element array of mediump 2-component vector of int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 'CA1' (writeonly uniform highp imageCubeArray)
+0:? 'CA2' (writeonly uniform highp iimageCubeArray)
+0:? 'CA3' (writeonly uniform highp uimageCubeArray)
+0:? 'CA4' (uniform highp samplerCubeArray)
+0:? 'CA5' (uniform highp samplerCubeArrayShadow)
+0:? 'CA6' (uniform highp isamplerCubeArray)
+0:? 'CA7' (uniform highp usamplerCubeArray)
+0:? 'gl_SampleMaskIn' (flat in 1-element array of highp int SampleMaskIn)
+0:? 'gl_SampleMask' (out 1-element array of highp int SampleMaskIn)
+0:? 'im2Df' (layout(r32f ) uniform highp image2D)
+0:? 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:? 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:? 'P' (uniform mediump 2-component vector of int)
+0:? 'badIm2Df' (layout(rgba32f ) uniform highp image2D)
+0:? 'badIm2Du' (layout(rgba8ui ) uniform highp uimage2D)
+0:? 'badIm2Di' (layout(rgba16i ) uniform highp iimage2D)
+0:? 'colorSampInBad' (smooth sample in mediump 4-component vector of float)
+0:? 'colorCentroidBad' (centroid out mediump 4-component vector of float)
+0:? 'colorBadFlat' (flat out mediump 4-component vector of float)
+0:? 'colorBadSmooth' (smooth out mediump 4-component vector of float)
+0:? 'colorBadNo' (noperspective out mediump 4-component vector of float)
+0:? 'colorfc' (centroid flat in mediump 2-component vector of float)
+0:? 'scalarIn' (smooth in mediump float)
+0:? 'colorSampIn' (smooth sample in mediump 4-component vector of float)
+0:? 'colorSampleBad' (sample out mediump 4-component vector of float)
+0:? 'colorfsi' (flat sample in mediump 4-component vector of float)
+0:? 'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
+0:? 'badout' (out mediump 4-component vector of float)
+0:? 'outAA' (out 2-element array of 2-element array of mediump 4-component vector of float)
+
diff --git a/Test/baseResults/310.geom.out b/Test/baseResults/310.geom.out
index 7b26547..888c142 100644
--- a/Test/baseResults/310.geom.out
+++ b/Test/baseResults/310.geom.out
@@ -1,346 +1,346 @@
-310.geom
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:29: 'fromVertex' : block instance name redefinition
-ERROR: 0:33: 'fromVertex' : redefinition
-ERROR: 0:35: 'fooC' : block instance name redefinition
-ERROR: 0:43: 'EmitStreamVertex' : no matching overloaded function found
-ERROR: 0:44: 'EndStreamPrimitive' : no matching overloaded function found
-ERROR: 0:47: 'gl_ClipDistance' : undeclared identifier
-ERROR: 0:47: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector
-ERROR: 0:48: 'gl_ClipDistance' : no such field in structure
-ERROR: 0:48: 'expression' : left of '[' is not of type array, matrix, or vector
-ERROR: 0:47: 'assign' : l-value required (can't modify a const)
-ERROR: 0:55: 'selecting output stream' : not supported with this profile: es
-ERROR: 0:62: 'max_vertices' : too large, must be less than gl_MaxGeometryOutputVertices
-ERROR: 0:62: 'max_vertices' : cannot change previously set layout value
-ERROR: 0:63: 'max_vertices' : can only apply to a standalone qualifier
-ERROR: 0:68: 'points' : cannot change previously set output primitive
-ERROR: 0:69: 'points' : cannot change previously set output primitive
-ERROR: 0:70: 'triangle_strip' : cannot apply to input
-ERROR: 0:71: 'triangle_strip' : cannot apply to: uniform
-ERROR: 0:72: 'triangle_strip' : can only apply to a standalone qualifier
-ERROR: 0:73: 'triangle_strip' : can only apply to a standalone qualifier
-ERROR: 0:74: 'invocations' : can only apply to a standalone qualifier
-ERROR: 0:76: 'invocations' : can only apply to a standalone qualifier
-ERROR: 0:77: 'max_vertices' : can only apply to a standalone qualifier
-ERROR: 0:78: 'triangle_strip' : can only apply to a standalone qualifier
-ERROR: 0:81: 'lines' : cannot apply to 'out'
-ERROR: 0:83: 'triangles' : cannot change previously set input primitive
-ERROR: 0:84: 'triangles_adjacency' : cannot change previously set input primitive
-ERROR: 0:116: 'gl_ViewportIndex' : undeclared identifier
-ERROR: 0:117: 'gl_MaxViewports' : undeclared identifier
-ERROR: 0:123: 'lines_adjacency' : inconsistent input primitive for array size of explArrayBad
-ERROR: 0:124: 'in' : type must be an array: nonArrayed
-ERROR: 0:128: 'sample' : Reserved word.
-ERROR: 0:132: 'component' : not supported with this profile: es
-ERROR: 0:136: 'gl_MaxGeometryVaryingComponents' : undeclared identifier
-ERROR: 0:137: 'gl_VerticesIn' : undeclared identifier
-ERROR: 0:142: 'gl_PointSize' : required extension not requested: Possible extensions include:
-GL_EXT_geometry_point_size
-GL_OES_geometry_point_size
-ERROR: 0:143: 'gl_PointSize' : required extension not requested: Possible extensions include:
-GL_EXT_geometry_point_size
-GL_OES_geometry_point_size
-ERROR: 37 compilation errors. No code generated.
-
-
-Shader version: 310
-Requested GL_EXT_geometry_shader
-Requested GL_EXT_shader_io_blocks
-Requested GL_OES_geometry_point_size
-invocations = 4
-max_vertices = 200
-input primitive = lines_adjacency
-output primitive = triangle_strip
-ERROR: node is still EOpNull!
-0:39 Function Definition: main( (global void)
-0:39 Function Parameters:
-0:41 Sequence
-0:41 EmitVertex (global void)
-0:42 EndPrimitive (global void)
-0:43 Constant:
-0:43 0.000000
-0:44 Constant:
-0:44 0.000000
-0:46 move second child to first child (temp mediump 3-component vector of float)
-0:46 color: direct index for structure (layout(stream=0 ) out mediump 3-component vector of float)
-0:46 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
-0:46 Constant:
-0:46 0 (const uint)
-0:46 color: direct index for structure (in mediump 3-component vector of float)
-0:46 direct index (temp block{in mediump 3-component vector of float color})
-0:46 'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
-0:46 Constant:
-0:46 0 (const int)
-0:46 Constant:
-0:46 0 (const int)
-0:47 move second child to first child (temp float)
-0:47 Constant:
-0:47 0.000000
-0:48 Constant:
-0:48 0.000000
-0:49 move second child to first child (temp highp 4-component vector of float)
-0:49 gl_Position: direct index for structure (layout(stream=0 ) gl_Position highp 4-component vector of float Position)
-0:49 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
-0:49 Constant:
-0:49 0 (const uint)
-0:49 gl_Position: direct index for structure (in highp 4-component vector of float Position)
-0:49 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:49 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:49 Constant:
-0:49 0 (const int)
-0:49 Constant:
-0:49 0 (const int)
-0:51 move second child to first child (temp highp int)
-0:51 'gl_PrimitiveID' (layout(stream=0 ) out highp int PrimitiveID)
-0:51 'gl_PrimitiveIDIn' (in highp int PrimitiveID)
-0:52 move second child to first child (temp highp int)
-0:52 'gl_Layer' (layout(stream=0 ) out highp int Layer)
-0:52 Constant:
-0:52 2 (const int)
-0:63 Function Definition: foo(i1; (global void)
-0:63 Function Parameters:
-0:63 'a' (in highp int)
-0:65 Sequence
-0:65 move second child to first child (temp mediump 4-component vector of float)
-0:65 a: direct index for structure (layout(stream=0 ) out mediump 4-component vector of float)
-0:65 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
-0:65 Constant:
-0:65 0 (const int)
-0:65 Constant:
-0:65 1.000000
-0:65 1.000000
-0:65 1.000000
-0:65 1.000000
-0:114 Function Definition: fooe1( (global void)
-0:114 Function Parameters:
-0:116 Sequence
-0:116 'gl_ViewportIndex' (temp float)
-0:117 'gl_MaxViewports' (temp float)
-0:118 Constant:
-0:118 4 (const int)
-0:119 Sequence
-0:119 move second child to first child (temp highp int)
-0:119 'inv' (temp highp int)
-0:119 'gl_InvocationID' (in highp int InvocationID)
-0:134 Function Definition: notHere( (global void)
-0:134 Function Parameters:
-0:136 Sequence
-0:136 'gl_MaxGeometryVaryingComponents' (temp float)
-0:137 'gl_VerticesIn' (temp float)
-0:140 Function Definition: pointSize1( (global void)
-0:140 Function Parameters:
-0:142 Sequence
-0:142 Sequence
-0:142 move second child to first child (temp highp float)
-0:142 'ps' (temp highp float)
-0:142 gl_PointSize: direct index for structure (in highp float PointSize)
-0:142 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:142 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:142 Constant:
-0:142 3 (const int)
-0:142 Constant:
-0:142 1 (const int)
-0:143 move second child to first child (temp highp float)
-0:143 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
-0:143 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
-0:143 Constant:
-0:143 1 (const uint)
-0:143 'ps' (temp highp float)
-0:148 Function Definition: pointSize2( (global void)
-0:148 Function Parameters:
-0:150 Sequence
-0:150 Sequence
-0:150 move second child to first child (temp highp float)
-0:150 'ps' (temp highp float)
-0:150 gl_PointSize: direct index for structure (in highp float PointSize)
-0:150 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:150 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:150 Constant:
-0:150 3 (const int)
-0:150 Constant:
-0:150 1 (const int)
-0:151 move second child to first child (temp highp float)
-0:151 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
-0:151 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
-0:151 Constant:
-0:151 1 (const uint)
-0:151 'ps' (temp highp float)
-0:? Linker Objects
-0:? 'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
-0:? 'nonBlockUnsized' (in 4-element array of mediump 4-component vector of float)
-0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
-0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
-0:? 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:? 'ov4' (layout(stream=4 ) out mediump 4-component vector of float)
-0:? 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
-0:? 'badv4' (layout(stream=0 ) out mediump 4-component vector of float)
-0:? 'bad2v4' (in 4-element array of mediump 4-component vector of float)
-0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a})
-0:? 'outbi' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a, layout(stream=0 ) out highp int b, layout(stream=0 ) out highp int c})
-0:? 'insn' (in 4-element array of block{in highp int a15})
-0:? 'anon@2' (layout(stream=0 ) out block{layout(stream=0 ) out mediump float f15})
-0:? 'anon@3' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})
-0:? 'summ' (const highp int)
-0:? 2752 (const int)
-0:? 'explArray' (in 4-element array of mediump 4-component vector of float)
-0:? 'explArrayBad' (in 5-element array of mediump 4-component vector of float)
-0:? 'nonArrayed' (in mediump 4-component vector of float)
-0:? 'myColor1' (layout(stream=0 ) flat out mediump 3-component vector of float)
-0:? 'myColor2' (layout(stream=0 ) centroid out mediump 3-component vector of float)
-0:? 'centr' (centroid in 4-element array of mediump 3-component vector of float)
-0:? 'perSampleColor' (layout(stream=0 ) sample out mediump 4-component vector of float)
-0:? 'comp' (layout(location=7 component=2 ) in 4-element array of mediump float)
-
-
-Linked geometry stage:
-
-
-Shader version: 310
-Requested GL_EXT_geometry_shader
-Requested GL_EXT_shader_io_blocks
-Requested GL_OES_geometry_point_size
-invocations = 4
-max_vertices = 200
-input primitive = lines_adjacency
-output primitive = triangle_strip
-ERROR: node is still EOpNull!
-0:39 Function Definition: main( (global void)
-0:39 Function Parameters:
-0:41 Sequence
-0:41 EmitVertex (global void)
-0:42 EndPrimitive (global void)
-0:43 Constant:
-0:43 0.000000
-0:44 Constant:
-0:44 0.000000
-0:46 move second child to first child (temp mediump 3-component vector of float)
-0:46 color: direct index for structure (layout(stream=0 ) out mediump 3-component vector of float)
-0:46 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
-0:46 Constant:
-0:46 0 (const uint)
-0:46 color: direct index for structure (in mediump 3-component vector of float)
-0:46 direct index (temp block{in mediump 3-component vector of float color})
-0:46 'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
-0:46 Constant:
-0:46 0 (const int)
-0:46 Constant:
-0:46 0 (const int)
-0:47 move second child to first child (temp float)
-0:47 Constant:
-0:47 0.000000
-0:48 Constant:
-0:48 0.000000
-0:49 move second child to first child (temp highp 4-component vector of float)
-0:49 gl_Position: direct index for structure (layout(stream=0 ) gl_Position highp 4-component vector of float Position)
-0:49 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
-0:49 Constant:
-0:49 0 (const uint)
-0:49 gl_Position: direct index for structure (in highp 4-component vector of float Position)
-0:49 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:49 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:49 Constant:
-0:49 0 (const int)
-0:49 Constant:
-0:49 0 (const int)
-0:51 move second child to first child (temp highp int)
-0:51 'gl_PrimitiveID' (layout(stream=0 ) out highp int PrimitiveID)
-0:51 'gl_PrimitiveIDIn' (in highp int PrimitiveID)
-0:52 move second child to first child (temp highp int)
-0:52 'gl_Layer' (layout(stream=0 ) out highp int Layer)
-0:52 Constant:
-0:52 2 (const int)
-0:63 Function Definition: foo(i1; (global void)
-0:63 Function Parameters:
-0:63 'a' (in highp int)
-0:65 Sequence
-0:65 move second child to first child (temp mediump 4-component vector of float)
-0:65 a: direct index for structure (layout(stream=0 ) out mediump 4-component vector of float)
-0:65 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
-0:65 Constant:
-0:65 0 (const int)
-0:65 Constant:
-0:65 1.000000
-0:65 1.000000
-0:65 1.000000
-0:65 1.000000
-0:114 Function Definition: fooe1( (global void)
-0:114 Function Parameters:
-0:116 Sequence
-0:116 'gl_ViewportIndex' (temp float)
-0:117 'gl_MaxViewports' (temp float)
-0:118 Constant:
-0:118 4 (const int)
-0:119 Sequence
-0:119 move second child to first child (temp highp int)
-0:119 'inv' (temp highp int)
-0:119 'gl_InvocationID' (in highp int InvocationID)
-0:134 Function Definition: notHere( (global void)
-0:134 Function Parameters:
-0:136 Sequence
-0:136 'gl_MaxGeometryVaryingComponents' (temp float)
-0:137 'gl_VerticesIn' (temp float)
-0:140 Function Definition: pointSize1( (global void)
-0:140 Function Parameters:
-0:142 Sequence
-0:142 Sequence
-0:142 move second child to first child (temp highp float)
-0:142 'ps' (temp highp float)
-0:142 gl_PointSize: direct index for structure (in highp float PointSize)
-0:142 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:142 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:142 Constant:
-0:142 3 (const int)
-0:142 Constant:
-0:142 1 (const int)
-0:143 move second child to first child (temp highp float)
-0:143 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
-0:143 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
-0:143 Constant:
-0:143 1 (const uint)
-0:143 'ps' (temp highp float)
-0:148 Function Definition: pointSize2( (global void)
-0:148 Function Parameters:
-0:150 Sequence
-0:150 Sequence
-0:150 move second child to first child (temp highp float)
-0:150 'ps' (temp highp float)
-0:150 gl_PointSize: direct index for structure (in highp float PointSize)
-0:150 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:150 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:150 Constant:
-0:150 3 (const int)
-0:150 Constant:
-0:150 1 (const int)
-0:151 move second child to first child (temp highp float)
-0:151 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
-0:151 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
-0:151 Constant:
-0:151 1 (const uint)
-0:151 'ps' (temp highp float)
-0:? Linker Objects
-0:? 'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
-0:? 'nonBlockUnsized' (in 4-element array of mediump 4-component vector of float)
-0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
-0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
-0:? 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:? 'ov4' (layout(stream=4 ) out mediump 4-component vector of float)
-0:? 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
-0:? 'badv4' (layout(stream=0 ) out mediump 4-component vector of float)
-0:? 'bad2v4' (in 4-element array of mediump 4-component vector of float)
-0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a})
-0:? 'outbi' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a, layout(stream=0 ) out highp int b, layout(stream=0 ) out highp int c})
-0:? 'insn' (in 4-element array of block{in highp int a15})
-0:? 'anon@2' (layout(stream=0 ) out block{layout(stream=0 ) out mediump float f15})
-0:? 'anon@3' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})
-0:? 'summ' (const highp int)
-0:? 2752 (const int)
-0:? 'explArray' (in 4-element array of mediump 4-component vector of float)
-0:? 'explArrayBad' (in 5-element array of mediump 4-component vector of float)
-0:? 'nonArrayed' (in mediump 4-component vector of float)
-0:? 'myColor1' (layout(stream=0 ) flat out mediump 3-component vector of float)
-0:? 'myColor2' (layout(stream=0 ) centroid out mediump 3-component vector of float)
-0:? 'centr' (centroid in 4-element array of mediump 3-component vector of float)
-0:? 'perSampleColor' (layout(stream=0 ) sample out mediump 4-component vector of float)
-0:? 'comp' (layout(location=7 component=2 ) in 4-element array of mediump float)
-
+310.geom
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:29: 'fromVertex' : block instance name redefinition
+ERROR: 0:33: 'fromVertex' : redefinition
+ERROR: 0:35: 'fooC' : block instance name redefinition
+ERROR: 0:43: 'EmitStreamVertex' : no matching overloaded function found
+ERROR: 0:44: 'EndStreamPrimitive' : no matching overloaded function found
+ERROR: 0:47: 'gl_ClipDistance' : undeclared identifier
+ERROR: 0:47: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:48: 'gl_ClipDistance' : no such field in structure
+ERROR: 0:48: 'expression' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:47: 'assign' : l-value required (can't modify a const)
+ERROR: 0:55: 'selecting output stream' : not supported with this profile: es
+ERROR: 0:62: 'max_vertices' : too large, must be less than gl_MaxGeometryOutputVertices
+ERROR: 0:62: 'max_vertices' : cannot change previously set layout value
+ERROR: 0:63: 'max_vertices' : can only apply to a standalone qualifier
+ERROR: 0:68: 'points' : cannot change previously set output primitive
+ERROR: 0:69: 'points' : cannot change previously set output primitive
+ERROR: 0:70: 'triangle_strip' : cannot apply to input
+ERROR: 0:71: 'triangle_strip' : cannot apply to: uniform
+ERROR: 0:72: 'triangle_strip' : can only apply to a standalone qualifier
+ERROR: 0:73: 'triangle_strip' : can only apply to a standalone qualifier
+ERROR: 0:74: 'invocations' : can only apply to a standalone qualifier
+ERROR: 0:76: 'invocations' : can only apply to a standalone qualifier
+ERROR: 0:77: 'max_vertices' : can only apply to a standalone qualifier
+ERROR: 0:78: 'triangle_strip' : can only apply to a standalone qualifier
+ERROR: 0:81: 'lines' : cannot apply to 'out'
+ERROR: 0:83: 'triangles' : cannot change previously set input primitive
+ERROR: 0:84: 'triangles_adjacency' : cannot change previously set input primitive
+ERROR: 0:116: 'gl_ViewportIndex' : undeclared identifier
+ERROR: 0:117: 'gl_MaxViewports' : undeclared identifier
+ERROR: 0:123: 'lines_adjacency' : inconsistent input primitive for array size of explArrayBad
+ERROR: 0:124: 'in' : type must be an array: nonArrayed
+ERROR: 0:128: 'sample' : Reserved word.
+ERROR: 0:132: 'component' : not supported with this profile: es
+ERROR: 0:136: 'gl_MaxGeometryVaryingComponents' : undeclared identifier
+ERROR: 0:137: 'gl_VerticesIn' : undeclared identifier
+ERROR: 0:142: 'gl_PointSize' : required extension not requested: Possible extensions include:
+GL_EXT_geometry_point_size
+GL_OES_geometry_point_size
+ERROR: 0:143: 'gl_PointSize' : required extension not requested: Possible extensions include:
+GL_EXT_geometry_point_size
+GL_OES_geometry_point_size
+ERROR: 37 compilation errors. No code generated.
+
+
+Shader version: 310
+Requested GL_EXT_geometry_shader
+Requested GL_EXT_shader_io_blocks
+Requested GL_OES_geometry_point_size
+invocations = 4
+max_vertices = 200
+input primitive = lines_adjacency
+output primitive = triangle_strip
+ERROR: node is still EOpNull!
+0:39 Function Definition: main( (global void)
+0:39 Function Parameters:
+0:41 Sequence
+0:41 EmitVertex (global void)
+0:42 EndPrimitive (global void)
+0:43 Constant:
+0:43 0.000000
+0:44 Constant:
+0:44 0.000000
+0:46 move second child to first child (temp mediump 3-component vector of float)
+0:46 color: direct index for structure (layout(stream=0 ) out mediump 3-component vector of float)
+0:46 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
+0:46 Constant:
+0:46 0 (const uint)
+0:46 color: direct index for structure (in mediump 3-component vector of float)
+0:46 direct index (temp block{in mediump 3-component vector of float color})
+0:46 'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 0 (const int)
+0:47 move second child to first child (temp float)
+0:47 Constant:
+0:47 0.000000
+0:48 Constant:
+0:48 0.000000
+0:49 move second child to first child (temp highp 4-component vector of float)
+0:49 gl_Position: direct index for structure (layout(stream=0 ) gl_Position highp 4-component vector of float Position)
+0:49 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
+0:49 Constant:
+0:49 0 (const uint)
+0:49 gl_Position: direct index for structure (in highp 4-component vector of float Position)
+0:49 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:49 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:49 Constant:
+0:49 0 (const int)
+0:49 Constant:
+0:49 0 (const int)
+0:51 move second child to first child (temp highp int)
+0:51 'gl_PrimitiveID' (layout(stream=0 ) out highp int PrimitiveID)
+0:51 'gl_PrimitiveIDIn' (in highp int PrimitiveID)
+0:52 move second child to first child (temp highp int)
+0:52 'gl_Layer' (layout(stream=0 ) out highp int Layer)
+0:52 Constant:
+0:52 2 (const int)
+0:63 Function Definition: foo(i1; (global void)
+0:63 Function Parameters:
+0:63 'a' (in highp int)
+0:65 Sequence
+0:65 move second child to first child (temp mediump 4-component vector of float)
+0:65 a: direct index for structure (layout(stream=0 ) out mediump 4-component vector of float)
+0:65 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
+0:65 Constant:
+0:65 0 (const int)
+0:65 Constant:
+0:65 1.000000
+0:65 1.000000
+0:65 1.000000
+0:65 1.000000
+0:114 Function Definition: fooe1( (global void)
+0:114 Function Parameters:
+0:116 Sequence
+0:116 'gl_ViewportIndex' (temp float)
+0:117 'gl_MaxViewports' (temp float)
+0:118 Constant:
+0:118 4 (const int)
+0:119 Sequence
+0:119 move second child to first child (temp highp int)
+0:119 'inv' (temp highp int)
+0:119 'gl_InvocationID' (in highp int InvocationID)
+0:134 Function Definition: notHere( (global void)
+0:134 Function Parameters:
+0:136 Sequence
+0:136 'gl_MaxGeometryVaryingComponents' (temp float)
+0:137 'gl_VerticesIn' (temp float)
+0:140 Function Definition: pointSize1( (global void)
+0:140 Function Parameters:
+0:142 Sequence
+0:142 Sequence
+0:142 move second child to first child (temp highp float)
+0:142 'ps' (temp highp float)
+0:142 gl_PointSize: direct index for structure (in highp float PointSize)
+0:142 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:142 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:142 Constant:
+0:142 3 (const int)
+0:142 Constant:
+0:142 1 (const int)
+0:143 move second child to first child (temp highp float)
+0:143 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
+0:143 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
+0:143 Constant:
+0:143 1 (const uint)
+0:143 'ps' (temp highp float)
+0:148 Function Definition: pointSize2( (global void)
+0:148 Function Parameters:
+0:150 Sequence
+0:150 Sequence
+0:150 move second child to first child (temp highp float)
+0:150 'ps' (temp highp float)
+0:150 gl_PointSize: direct index for structure (in highp float PointSize)
+0:150 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:150 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:150 Constant:
+0:150 3 (const int)
+0:150 Constant:
+0:150 1 (const int)
+0:151 move second child to first child (temp highp float)
+0:151 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
+0:151 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
+0:151 Constant:
+0:151 1 (const uint)
+0:151 'ps' (temp highp float)
+0:? Linker Objects
+0:? 'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
+0:? 'nonBlockUnsized' (in 4-element array of mediump 4-component vector of float)
+0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
+0:? 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:? 'ov4' (layout(stream=4 ) out mediump 4-component vector of float)
+0:? 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
+0:? 'badv4' (layout(stream=0 ) out mediump 4-component vector of float)
+0:? 'bad2v4' (in 4-element array of mediump 4-component vector of float)
+0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a})
+0:? 'outbi' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a, layout(stream=0 ) out highp int b, layout(stream=0 ) out highp int c})
+0:? 'insn' (in 4-element array of block{in highp int a15})
+0:? 'anon@2' (layout(stream=0 ) out block{layout(stream=0 ) out mediump float f15})
+0:? 'anon@3' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})
+0:? 'summ' (const highp int)
+0:? 2752 (const int)
+0:? 'explArray' (in 4-element array of mediump 4-component vector of float)
+0:? 'explArrayBad' (in 5-element array of mediump 4-component vector of float)
+0:? 'nonArrayed' (in mediump 4-component vector of float)
+0:? 'myColor1' (layout(stream=0 ) flat out mediump 3-component vector of float)
+0:? 'myColor2' (layout(stream=0 ) centroid out mediump 3-component vector of float)
+0:? 'centr' (centroid in 4-element array of mediump 3-component vector of float)
+0:? 'perSampleColor' (layout(stream=0 ) sample out mediump 4-component vector of float)
+0:? 'comp' (layout(location=7 component=2 ) in 4-element array of mediump float)
+
+
+Linked geometry stage:
+
+
+Shader version: 310
+Requested GL_EXT_geometry_shader
+Requested GL_EXT_shader_io_blocks
+Requested GL_OES_geometry_point_size
+invocations = 4
+max_vertices = 200
+input primitive = lines_adjacency
+output primitive = triangle_strip
+ERROR: node is still EOpNull!
+0:39 Function Definition: main( (global void)
+0:39 Function Parameters:
+0:41 Sequence
+0:41 EmitVertex (global void)
+0:42 EndPrimitive (global void)
+0:43 Constant:
+0:43 0.000000
+0:44 Constant:
+0:44 0.000000
+0:46 move second child to first child (temp mediump 3-component vector of float)
+0:46 color: direct index for structure (layout(stream=0 ) out mediump 3-component vector of float)
+0:46 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
+0:46 Constant:
+0:46 0 (const uint)
+0:46 color: direct index for structure (in mediump 3-component vector of float)
+0:46 direct index (temp block{in mediump 3-component vector of float color})
+0:46 'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 0 (const int)
+0:47 move second child to first child (temp float)
+0:47 Constant:
+0:47 0.000000
+0:48 Constant:
+0:48 0.000000
+0:49 move second child to first child (temp highp 4-component vector of float)
+0:49 gl_Position: direct index for structure (layout(stream=0 ) gl_Position highp 4-component vector of float Position)
+0:49 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
+0:49 Constant:
+0:49 0 (const uint)
+0:49 gl_Position: direct index for structure (in highp 4-component vector of float Position)
+0:49 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:49 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:49 Constant:
+0:49 0 (const int)
+0:49 Constant:
+0:49 0 (const int)
+0:51 move second child to first child (temp highp int)
+0:51 'gl_PrimitiveID' (layout(stream=0 ) out highp int PrimitiveID)
+0:51 'gl_PrimitiveIDIn' (in highp int PrimitiveID)
+0:52 move second child to first child (temp highp int)
+0:52 'gl_Layer' (layout(stream=0 ) out highp int Layer)
+0:52 Constant:
+0:52 2 (const int)
+0:63 Function Definition: foo(i1; (global void)
+0:63 Function Parameters:
+0:63 'a' (in highp int)
+0:65 Sequence
+0:65 move second child to first child (temp mediump 4-component vector of float)
+0:65 a: direct index for structure (layout(stream=0 ) out mediump 4-component vector of float)
+0:65 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
+0:65 Constant:
+0:65 0 (const int)
+0:65 Constant:
+0:65 1.000000
+0:65 1.000000
+0:65 1.000000
+0:65 1.000000
+0:114 Function Definition: fooe1( (global void)
+0:114 Function Parameters:
+0:116 Sequence
+0:116 'gl_ViewportIndex' (temp float)
+0:117 'gl_MaxViewports' (temp float)
+0:118 Constant:
+0:118 4 (const int)
+0:119 Sequence
+0:119 move second child to first child (temp highp int)
+0:119 'inv' (temp highp int)
+0:119 'gl_InvocationID' (in highp int InvocationID)
+0:134 Function Definition: notHere( (global void)
+0:134 Function Parameters:
+0:136 Sequence
+0:136 'gl_MaxGeometryVaryingComponents' (temp float)
+0:137 'gl_VerticesIn' (temp float)
+0:140 Function Definition: pointSize1( (global void)
+0:140 Function Parameters:
+0:142 Sequence
+0:142 Sequence
+0:142 move second child to first child (temp highp float)
+0:142 'ps' (temp highp float)
+0:142 gl_PointSize: direct index for structure (in highp float PointSize)
+0:142 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:142 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:142 Constant:
+0:142 3 (const int)
+0:142 Constant:
+0:142 1 (const int)
+0:143 move second child to first child (temp highp float)
+0:143 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
+0:143 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
+0:143 Constant:
+0:143 1 (const uint)
+0:143 'ps' (temp highp float)
+0:148 Function Definition: pointSize2( (global void)
+0:148 Function Parameters:
+0:150 Sequence
+0:150 Sequence
+0:150 move second child to first child (temp highp float)
+0:150 'ps' (temp highp float)
+0:150 gl_PointSize: direct index for structure (in highp float PointSize)
+0:150 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:150 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:150 Constant:
+0:150 3 (const int)
+0:150 Constant:
+0:150 1 (const int)
+0:151 move second child to first child (temp highp float)
+0:151 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
+0:151 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
+0:151 Constant:
+0:151 1 (const uint)
+0:151 'ps' (temp highp float)
+0:? Linker Objects
+0:? 'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
+0:? 'nonBlockUnsized' (in 4-element array of mediump 4-component vector of float)
+0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
+0:? 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:? 'ov4' (layout(stream=4 ) out mediump 4-component vector of float)
+0:? 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
+0:? 'badv4' (layout(stream=0 ) out mediump 4-component vector of float)
+0:? 'bad2v4' (in 4-element array of mediump 4-component vector of float)
+0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a})
+0:? 'outbi' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a, layout(stream=0 ) out highp int b, layout(stream=0 ) out highp int c})
+0:? 'insn' (in 4-element array of block{in highp int a15})
+0:? 'anon@2' (layout(stream=0 ) out block{layout(stream=0 ) out mediump float f15})
+0:? 'anon@3' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})
+0:? 'summ' (const highp int)
+0:? 2752 (const int)
+0:? 'explArray' (in 4-element array of mediump 4-component vector of float)
+0:? 'explArrayBad' (in 5-element array of mediump 4-component vector of float)
+0:? 'nonArrayed' (in mediump 4-component vector of float)
+0:? 'myColor1' (layout(stream=0 ) flat out mediump 3-component vector of float)
+0:? 'myColor2' (layout(stream=0 ) centroid out mediump 3-component vector of float)
+0:? 'centr' (centroid in 4-element array of mediump 3-component vector of float)
+0:? 'perSampleColor' (layout(stream=0 ) sample out mediump 4-component vector of float)
+0:? 'comp' (layout(location=7 component=2 ) in 4-element array of mediump float)
+
diff --git a/Test/baseResults/310.tesc.out b/Test/baseResults/310.tesc.out
index a498674..c572c09 100644
--- a/Test/baseResults/310.tesc.out
+++ b/Test/baseResults/310.tesc.out
@@ -1,708 +1,708 @@
-310.tesc
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:8: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
-ERROR: 0:9: 'ccw' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
-ERROR: 0:10: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
-ERROR: 0:12: 'patch' : can only use on output in tessellation-control shader
-ERROR: 0:26: 'gl_PointSize' : required extension not requested: Possible extensions include:
-GL_EXT_tessellation_point_size
-GL_OES_tessellation_point_size
-ERROR: 0:27: 'gl_ClipDistance' : no such field in structure
-ERROR: 0:27: 'expression' : left of '[' is not of type array, matrix, or vector
-ERROR: 0:34: 'gl_PointSize' : required extension not requested: Possible extensions include:
-GL_EXT_tessellation_point_size
-GL_OES_tessellation_point_size
-ERROR: 0:35: 'gl_ClipDistance' : no such field in structure
-ERROR: 0:35: 'expression' : left of '[' is not of type array, matrix, or vector
-ERROR: 0:35: 'assign' : l-value required (can't modify a const)
-ERROR: 0:41: '' : tessellation control barrier() cannot be placed within flow control
-ERROR: 0:43: '' : tessellation control barrier() cannot be placed within flow control
-ERROR: 0:48: '' : tessellation control barrier() cannot be placed within flow control
-ERROR: 0:53: '' : tessellation control barrier() cannot be placed within flow control
-ERROR: 0:56: '' : tessellation control barrier() cannot be placed within flow control
-ERROR: 0:63: '' : tessellation control barrier() cannot be placed after a return from main()
-ERROR: 0:66: 'vertices' : can only apply to 'out'
-ERROR: 0:67: 'vertices' : cannot change previously set layout value
-ERROR: 0:71: '[' : array index out of range '4'
-ERROR: 0:73: '' : tessellation control barrier() must be in main()
-ERROR: 0:76: 'in' : type must be an array: ina
-ERROR: 0:78: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
-ERROR: 0:80: '' : array size required
-ERROR: 0:86: 'location' : overlapping use of location 4
-ERROR: 0:90: 'location' : overlapping use of location 4
-ERROR: 0:94: 'precise' : Reserved word.
-ERROR: 0:95: 'fma' : required extension not requested: Possible extensions include:
-GL_EXT_gpu_shader5
-GL_OES_gpu_shader5
-ERROR: 0:104: 'sample' : Reserved word.
-ERROR: 0:106: 'vertices' : can only apply to a standalone qualifier
-ERROR: 0:107: 'vertices' : inconsistent output number of vertices for array size of misSized
-ERROR: 0:133: 'gl_BoundingBoxOES' : required extension not requested: Possible extensions include:
-GL_EXT_primitive_bounding_box
-GL_OES_primitive_bounding_box
-ERROR: 0:142: '[' : array index out of range '2'
-ERROR: 0:145: '' : array size required
-ERROR: 0:161: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID
-ERROR: 0:162: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID
-ERROR: 0:165: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID
-ERROR: 37 compilation errors. No code generated.
-
-
-Shader version: 310
-Requested GL_ARB_separate_shader_objects
-Requested GL_OES_gpu_shader5
-Requested GL_OES_primitive_bounding_box
-Requested GL_OES_shader_io_blocks
-Requested GL_OES_tessellation_point_size
-Requested GL_OES_tessellation_shader
-vertices = 4
-ERROR: node is still EOpNull!
-0:15 Function Definition: main( (global void)
-0:15 Function Parameters:
-0:17 Sequence
-0:17 Barrier (global void)
-0:19 Sequence
-0:19 move second child to first child (temp highp int)
-0:19 'a' (temp highp int)
-0:19 Constant:
-0:19 5392 (const int)
-0:25 Sequence
-0:25 move second child to first child (temp highp 4-component vector of float)
-0:25 'p' (temp highp 4-component vector of float)
-0:25 gl_Position: direct index for structure (in highp 4-component vector of float Position)
-0:25 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:25 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:25 Constant:
-0:25 1 (const int)
-0:25 Constant:
-0:25 0 (const int)
-0:26 Sequence
-0:26 move second child to first child (temp highp float)
-0:26 'ps' (temp highp float)
-0:26 gl_PointSize: direct index for structure (in highp float PointSize)
-0:26 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:26 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:26 Constant:
-0:26 1 (const int)
-0:26 Constant:
-0:26 1 (const int)
-0:27 Sequence
-0:27 move second child to first child (temp highp float)
-0:27 'cd' (temp highp float)
-0:27 Constant:
-0:27 0.000000
-0:29 Sequence
-0:29 move second child to first child (temp highp int)
-0:29 'pvi' (temp highp int)
-0:29 'gl_PatchVerticesIn' (in highp int PatchVertices)
-0:30 Sequence
-0:30 move second child to first child (temp highp int)
-0:30 'pid' (temp highp int)
-0:30 'gl_PrimitiveID' (in highp int PrimitiveID)
-0:31 Sequence
-0:31 move second child to first child (temp highp int)
-0:31 'iid' (temp highp int)
-0:31 'gl_InvocationID' (in highp int InvocationID)
-0:33 move second child to first child (temp highp 4-component vector of float)
-0:33 gl_Position: direct index for structure (out highp 4-component vector of float Position)
-0:33 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:33 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:33 'gl_InvocationID' (in highp int InvocationID)
-0:33 Constant:
-0:33 0 (const int)
-0:33 'p' (temp highp 4-component vector of float)
-0:34 move second child to first child (temp highp float)
-0:34 gl_PointSize: direct index for structure (out highp float PointSize)
-0:34 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:34 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:34 'gl_InvocationID' (in highp int InvocationID)
-0:34 Constant:
-0:34 1 (const int)
-0:34 'ps' (temp highp float)
-0:35 move second child to first child (temp highp float)
-0:35 Constant:
-0:35 0.000000
-0:35 'cd' (temp highp float)
-0:37 move second child to first child (temp highp float)
-0:37 direct index (patch temp highp float TessLevelOuter)
-0:37 'gl_TessLevelOuter' (patch out 4-element array of highp float TessLevelOuter)
-0:37 Constant:
-0:37 3 (const int)
-0:37 Constant:
-0:37 3.200000
-0:38 move second child to first child (temp highp float)
-0:38 direct index (patch temp highp float TessLevelInner)
-0:38 'gl_TessLevelInner' (patch out 2-element array of highp float TessLevelInner)
-0:38 Constant:
-0:38 1 (const int)
-0:38 Constant:
-0:38 1.300000
-0:40 Test condition and select (temp void)
-0:40 Condition
-0:40 Compare Greater Than (temp bool)
-0:40 'a' (temp highp int)
-0:40 Constant:
-0:40 10 (const int)
-0:40 true case
-0:41 Barrier (global void)
-0:40 false case
-0:43 Barrier (global void)
-0:45 Barrier (global void)
-0:49 Loop with condition not tested first
-0:49 Loop Condition
-0:49 Compare Greater Than (temp bool)
-0:49 'a' (temp highp int)
-0:49 Constant:
-0:49 10 (const int)
-0:49 Loop Body
-0:48 Sequence
-0:48 Barrier (global void)
-0:51 switch
-0:51 condition
-0:51 'a' (temp highp int)
-0:51 body
-0:51 Sequence
-0:52 default:
-0:? Sequence
-0:53 Barrier (global void)
-0:54 Branch: Break
-0:56 Test condition and select (temp highp int)
-0:56 Condition
-0:56 Compare Less Than (temp bool)
-0:56 'a' (temp highp int)
-0:56 Constant:
-0:56 12 (const int)
-0:56 true case
-0:56 'a' (temp highp int)
-0:56 false case
-0:56 Comma (temp highp int)
-0:56 Barrier (global void)
-0:56 'a' (temp highp int)
-0:58 Sequence
-0:58 Barrier (global void)
-0:61 Branch: Return
-0:63 Barrier (global void)
-0:69 Function Definition: foo( (global void)
-0:69 Function Parameters:
-0:71 Sequence
-0:71 gl_Position: direct index for structure (out highp 4-component vector of float Position)
-0:71 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:71 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:71 Constant:
-0:71 4 (const int)
-0:71 Constant:
-0:71 0 (const int)
-0:73 Barrier (global void)
-0:92 Function Definition: foop( (global void)
-0:92 Function Parameters:
-0:? Sequence
-0:95 move second child to first child (temp highp float)
-0:95 'd' (temp highp float)
-0:95 fma (global highp float)
-0:95 'd' (temp highp float)
-0:95 'd' (temp highp float)
-0:95 'd' (temp highp float)
-0:112 Function Definition: pointSize2( (global void)
-0:112 Function Parameters:
-0:114 Sequence
-0:114 Sequence
-0:114 move second child to first child (temp highp float)
-0:114 'ps' (temp highp float)
-0:114 gl_PointSize: direct index for structure (in highp float PointSize)
-0:114 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:114 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:114 Constant:
-0:114 1 (const int)
-0:114 Constant:
-0:114 1 (const int)
-0:115 move second child to first child (temp highp float)
-0:115 gl_PointSize: direct index for structure (out highp float PointSize)
-0:115 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:115 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:115 'gl_InvocationID' (in highp int InvocationID)
-0:115 Constant:
-0:115 1 (const int)
-0:115 'ps' (temp highp float)
-0:122 Function Definition: goodfoop( (global void)
-0:122 Function Parameters:
-0:? Sequence
-0:126 multiply second child into first child (temp highp 3-component vector of float)
-0:126 'pv3' (temp highp 3-component vector of float)
-0:126 'pv3' (temp highp 3-component vector of float)
-0:127 move second child to first child (temp highp 3-component vector of float)
-0:127 'pv3' (temp highp 3-component vector of float)
-0:127 fma (global highp 3-component vector of float)
-0:127 'pv3' (temp highp 3-component vector of float)
-0:127 'pv3' (temp highp 3-component vector of float)
-0:127 'pv3' (temp highp 3-component vector of float)
-0:128 move second child to first child (temp highp float)
-0:128 'd' (temp highp float)
-0:128 fma (global highp float)
-0:128 'd' (temp highp float)
-0:128 'd' (temp highp float)
-0:128 'd' (temp highp float)
-0:131 Function Definition: bbBad( (global void)
-0:131 Function Parameters:
-0:133 Sequence
-0:133 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
-0:138 Function Definition: bb( (global void)
-0:138 Function Parameters:
-0:140 Sequence
-0:140 move second child to first child (temp highp 4-component vector of float)
-0:140 direct index (patch temp highp 4-component vector of float BoundingBox)
-0:140 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
-0:140 Constant:
-0:140 0 (const int)
-0:140 Constant:
-0:140 0.000000
-0:140 0.000000
-0:140 0.000000
-0:140 0.000000
-0:141 move second child to first child (temp highp 4-component vector of float)
-0:141 direct index (patch temp highp 4-component vector of float BoundingBox)
-0:141 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
-0:141 Constant:
-0:141 1 (const int)
-0:141 Constant:
-0:141 1.000000
-0:141 1.000000
-0:141 1.000000
-0:141 1.000000
-0:142 move second child to first child (temp highp 4-component vector of float)
-0:142 direct index (patch temp highp 4-component vector of float BoundingBox)
-0:142 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
-0:142 Constant:
-0:142 2 (const int)
-0:142 Constant:
-0:142 2.000000
-0:142 2.000000
-0:142 2.000000
-0:142 2.000000
-0:153 Function Definition: outputtingOutparam(i1; (global void)
-0:153 Function Parameters:
-0:153 'a' (out highp int)
-0:155 Sequence
-0:155 move second child to first child (temp highp int)
-0:155 'a' (out highp int)
-0:155 Constant:
-0:155 2 (const int)
-0:158 Function Definition: outputting( (global void)
-0:158 Function Parameters:
-0:160 Sequence
-0:160 move second child to first child (temp highp int)
-0:160 indirect index (temp highp int)
-0:160 'outa' (out 4-element array of highp int)
-0:160 'gl_InvocationID' (in highp int InvocationID)
-0:160 Constant:
-0:160 2 (const int)
-0:161 move second child to first child (temp highp int)
-0:161 direct index (temp highp int)
-0:161 'outa' (out 4-element array of highp int)
-0:161 Constant:
-0:161 1 (const int)
-0:161 Constant:
-0:161 2 (const int)
-0:162 move second child to first child (temp highp 4-component vector of float)
-0:162 gl_Position: direct index for structure (out highp 4-component vector of float Position)
-0:162 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:162 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:162 Constant:
-0:162 0 (const int)
-0:162 Constant:
-0:162 0 (const int)
-0:162 Constant:
-0:162 1.000000
-0:162 1.000000
-0:162 1.000000
-0:162 1.000000
-0:163 direct index (temp highp int)
-0:163 'outa' (out 4-element array of highp int)
-0:163 Constant:
-0:163 1 (const int)
-0:164 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:164 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:164 Constant:
-0:164 0 (const int)
-0:165 Function Call: outputtingOutparam(i1; (global void)
-0:165 direct index (temp highp int)
-0:165 'outa' (out 4-element array of highp int)
-0:165 Constant:
-0:165 0 (const int)
-0:166 Function Call: outputtingOutparam(i1; (global void)
-0:166 indirect index (temp highp int)
-0:166 'outa' (out 4-element array of highp int)
-0:166 'gl_InvocationID' (in highp int InvocationID)
-0:167 move second child to first child (temp highp float)
-0:167 f: direct index for structure (out highp float)
-0:167 direct index (patch temp block{out highp float f})
-0:167 'patchIName' (patch out 4-element array of block{out highp float f})
-0:167 Constant:
-0:167 1 (const int)
-0:167 Constant:
-0:167 0 (const int)
-0:167 Constant:
-0:167 3.140000
-0:168 move second child to first child (temp highp int)
-0:168 indirect index (temp highp int)
-0:168 'outa' (out 4-element array of highp int)
-0:168 'gl_InvocationID' (in highp int InvocationID)
-0:168 Constant:
-0:168 2 (const int)
-0:? Linker Objects
-0:? 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:? 'outa' (out 4-element array of highp int)
-0:? 'patchIn' (patch in highp 4-component vector of float)
-0:? 'patchOut' (patch out highp 4-component vector of float)
-0:? 'ina' (in highp 2-component vector of float)
-0:? 'inb' (in 32-element array of highp 2-component vector of float)
-0:? 'inc' (in 32-element array of highp 2-component vector of float)
-0:? 'ind' (in 32-element array of highp 2-component vector of float)
-0:? 'implA' (patch out implicitly-sized array of highp float)
-0:? 'ivla' (layout(location=3 ) in 32-element array of highp 4-component vector of float)
-0:? 'ivlb' (layout(location=4 ) in 32-element array of highp 4-component vector of float)
-0:? 'ivlc' (layout(location=4 ) in 32-element array of highp 4-component vector of float)
-0:? 'ovla' (layout(location=3 ) out 4-element array of highp 4-component vector of float)
-0:? 'ovlb' (layout(location=4 ) out 4-element array of highp 4-component vector of float)
-0:? 'ovlc' (layout(location=4 ) out 4-element array of highp 4-component vector of float)
-0:? 'pinbi' (patch out block{out highp int a})
-0:? 'myColor2' (centroid out 4-element array of highp 3-component vector of float)
-0:? 'centr' (centroid in 32-element array of highp 3-component vector of float)
-0:? 'perSampleColor' (sample out 4-element array of highp 4-component vector of float)
-0:? 'badlay' (out 4-element array of highp float)
-0:? 'misSized' (out 5-element array of highp float)
-0:? 'okaySize' (out 4-element array of highp float)
-0:? 'pv3' (temp highp 3-component vector of float)
-0:? 'badpatchIName' (patch out implicitly-sized array of block{out highp float f})
-0:? 'patchIName' (patch out 4-element array of block{out highp float f})
-
-
-Linked tessellation control stage:
-
-
-Shader version: 310
-Requested GL_ARB_separate_shader_objects
-Requested GL_OES_gpu_shader5
-Requested GL_OES_primitive_bounding_box
-Requested GL_OES_shader_io_blocks
-Requested GL_OES_tessellation_point_size
-Requested GL_OES_tessellation_shader
-vertices = 4
-ERROR: node is still EOpNull!
-0:15 Function Definition: main( (global void)
-0:15 Function Parameters:
-0:17 Sequence
-0:17 Barrier (global void)
-0:19 Sequence
-0:19 move second child to first child (temp highp int)
-0:19 'a' (temp highp int)
-0:19 Constant:
-0:19 5392 (const int)
-0:25 Sequence
-0:25 move second child to first child (temp highp 4-component vector of float)
-0:25 'p' (temp highp 4-component vector of float)
-0:25 gl_Position: direct index for structure (in highp 4-component vector of float Position)
-0:25 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:25 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:25 Constant:
-0:25 1 (const int)
-0:25 Constant:
-0:25 0 (const int)
-0:26 Sequence
-0:26 move second child to first child (temp highp float)
-0:26 'ps' (temp highp float)
-0:26 gl_PointSize: direct index for structure (in highp float PointSize)
-0:26 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:26 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:26 Constant:
-0:26 1 (const int)
-0:26 Constant:
-0:26 1 (const int)
-0:27 Sequence
-0:27 move second child to first child (temp highp float)
-0:27 'cd' (temp highp float)
-0:27 Constant:
-0:27 0.000000
-0:29 Sequence
-0:29 move second child to first child (temp highp int)
-0:29 'pvi' (temp highp int)
-0:29 'gl_PatchVerticesIn' (in highp int PatchVertices)
-0:30 Sequence
-0:30 move second child to first child (temp highp int)
-0:30 'pid' (temp highp int)
-0:30 'gl_PrimitiveID' (in highp int PrimitiveID)
-0:31 Sequence
-0:31 move second child to first child (temp highp int)
-0:31 'iid' (temp highp int)
-0:31 'gl_InvocationID' (in highp int InvocationID)
-0:33 move second child to first child (temp highp 4-component vector of float)
-0:33 gl_Position: direct index for structure (out highp 4-component vector of float Position)
-0:33 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:33 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:33 'gl_InvocationID' (in highp int InvocationID)
-0:33 Constant:
-0:33 0 (const int)
-0:33 'p' (temp highp 4-component vector of float)
-0:34 move second child to first child (temp highp float)
-0:34 gl_PointSize: direct index for structure (out highp float PointSize)
-0:34 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:34 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:34 'gl_InvocationID' (in highp int InvocationID)
-0:34 Constant:
-0:34 1 (const int)
-0:34 'ps' (temp highp float)
-0:35 move second child to first child (temp highp float)
-0:35 Constant:
-0:35 0.000000
-0:35 'cd' (temp highp float)
-0:37 move second child to first child (temp highp float)
-0:37 direct index (patch temp highp float TessLevelOuter)
-0:37 'gl_TessLevelOuter' (patch out 4-element array of highp float TessLevelOuter)
-0:37 Constant:
-0:37 3 (const int)
-0:37 Constant:
-0:37 3.200000
-0:38 move second child to first child (temp highp float)
-0:38 direct index (patch temp highp float TessLevelInner)
-0:38 'gl_TessLevelInner' (patch out 2-element array of highp float TessLevelInner)
-0:38 Constant:
-0:38 1 (const int)
-0:38 Constant:
-0:38 1.300000
-0:40 Test condition and select (temp void)
-0:40 Condition
-0:40 Compare Greater Than (temp bool)
-0:40 'a' (temp highp int)
-0:40 Constant:
-0:40 10 (const int)
-0:40 true case
-0:41 Barrier (global void)
-0:40 false case
-0:43 Barrier (global void)
-0:45 Barrier (global void)
-0:49 Loop with condition not tested first
-0:49 Loop Condition
-0:49 Compare Greater Than (temp bool)
-0:49 'a' (temp highp int)
-0:49 Constant:
-0:49 10 (const int)
-0:49 Loop Body
-0:48 Sequence
-0:48 Barrier (global void)
-0:51 switch
-0:51 condition
-0:51 'a' (temp highp int)
-0:51 body
-0:51 Sequence
-0:52 default:
-0:? Sequence
-0:53 Barrier (global void)
-0:54 Branch: Break
-0:56 Test condition and select (temp highp int)
-0:56 Condition
-0:56 Compare Less Than (temp bool)
-0:56 'a' (temp highp int)
-0:56 Constant:
-0:56 12 (const int)
-0:56 true case
-0:56 'a' (temp highp int)
-0:56 false case
-0:56 Comma (temp highp int)
-0:56 Barrier (global void)
-0:56 'a' (temp highp int)
-0:58 Sequence
-0:58 Barrier (global void)
-0:61 Branch: Return
-0:63 Barrier (global void)
-0:69 Function Definition: foo( (global void)
-0:69 Function Parameters:
-0:71 Sequence
-0:71 gl_Position: direct index for structure (out highp 4-component vector of float Position)
-0:71 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:71 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:71 Constant:
-0:71 4 (const int)
-0:71 Constant:
-0:71 0 (const int)
-0:73 Barrier (global void)
-0:92 Function Definition: foop( (global void)
-0:92 Function Parameters:
-0:? Sequence
-0:95 move second child to first child (temp highp float)
-0:95 'd' (temp highp float)
-0:95 fma (global highp float)
-0:95 'd' (temp highp float)
-0:95 'd' (temp highp float)
-0:95 'd' (temp highp float)
-0:112 Function Definition: pointSize2( (global void)
-0:112 Function Parameters:
-0:114 Sequence
-0:114 Sequence
-0:114 move second child to first child (temp highp float)
-0:114 'ps' (temp highp float)
-0:114 gl_PointSize: direct index for structure (in highp float PointSize)
-0:114 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:114 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:114 Constant:
-0:114 1 (const int)
-0:114 Constant:
-0:114 1 (const int)
-0:115 move second child to first child (temp highp float)
-0:115 gl_PointSize: direct index for structure (out highp float PointSize)
-0:115 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:115 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:115 'gl_InvocationID' (in highp int InvocationID)
-0:115 Constant:
-0:115 1 (const int)
-0:115 'ps' (temp highp float)
-0:122 Function Definition: goodfoop( (global void)
-0:122 Function Parameters:
-0:? Sequence
-0:126 multiply second child into first child (temp highp 3-component vector of float)
-0:126 'pv3' (temp highp 3-component vector of float)
-0:126 'pv3' (temp highp 3-component vector of float)
-0:127 move second child to first child (temp highp 3-component vector of float)
-0:127 'pv3' (temp highp 3-component vector of float)
-0:127 fma (global highp 3-component vector of float)
-0:127 'pv3' (temp highp 3-component vector of float)
-0:127 'pv3' (temp highp 3-component vector of float)
-0:127 'pv3' (temp highp 3-component vector of float)
-0:128 move second child to first child (temp highp float)
-0:128 'd' (temp highp float)
-0:128 fma (global highp float)
-0:128 'd' (temp highp float)
-0:128 'd' (temp highp float)
-0:128 'd' (temp highp float)
-0:131 Function Definition: bbBad( (global void)
-0:131 Function Parameters:
-0:133 Sequence
-0:133 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
-0:138 Function Definition: bb( (global void)
-0:138 Function Parameters:
-0:140 Sequence
-0:140 move second child to first child (temp highp 4-component vector of float)
-0:140 direct index (patch temp highp 4-component vector of float BoundingBox)
-0:140 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
-0:140 Constant:
-0:140 0 (const int)
-0:140 Constant:
-0:140 0.000000
-0:140 0.000000
-0:140 0.000000
-0:140 0.000000
-0:141 move second child to first child (temp highp 4-component vector of float)
-0:141 direct index (patch temp highp 4-component vector of float BoundingBox)
-0:141 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
-0:141 Constant:
-0:141 1 (const int)
-0:141 Constant:
-0:141 1.000000
-0:141 1.000000
-0:141 1.000000
-0:141 1.000000
-0:142 move second child to first child (temp highp 4-component vector of float)
-0:142 direct index (patch temp highp 4-component vector of float BoundingBox)
-0:142 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
-0:142 Constant:
-0:142 2 (const int)
-0:142 Constant:
-0:142 2.000000
-0:142 2.000000
-0:142 2.000000
-0:142 2.000000
-0:153 Function Definition: outputtingOutparam(i1; (global void)
-0:153 Function Parameters:
-0:153 'a' (out highp int)
-0:155 Sequence
-0:155 move second child to first child (temp highp int)
-0:155 'a' (out highp int)
-0:155 Constant:
-0:155 2 (const int)
-0:158 Function Definition: outputting( (global void)
-0:158 Function Parameters:
-0:160 Sequence
-0:160 move second child to first child (temp highp int)
-0:160 indirect index (temp highp int)
-0:160 'outa' (out 4-element array of highp int)
-0:160 'gl_InvocationID' (in highp int InvocationID)
-0:160 Constant:
-0:160 2 (const int)
-0:161 move second child to first child (temp highp int)
-0:161 direct index (temp highp int)
-0:161 'outa' (out 4-element array of highp int)
-0:161 Constant:
-0:161 1 (const int)
-0:161 Constant:
-0:161 2 (const int)
-0:162 move second child to first child (temp highp 4-component vector of float)
-0:162 gl_Position: direct index for structure (out highp 4-component vector of float Position)
-0:162 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:162 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:162 Constant:
-0:162 0 (const int)
-0:162 Constant:
-0:162 0 (const int)
-0:162 Constant:
-0:162 1.000000
-0:162 1.000000
-0:162 1.000000
-0:162 1.000000
-0:163 direct index (temp highp int)
-0:163 'outa' (out 4-element array of highp int)
-0:163 Constant:
-0:163 1 (const int)
-0:164 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:164 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:164 Constant:
-0:164 0 (const int)
-0:165 Function Call: outputtingOutparam(i1; (global void)
-0:165 direct index (temp highp int)
-0:165 'outa' (out 4-element array of highp int)
-0:165 Constant:
-0:165 0 (const int)
-0:166 Function Call: outputtingOutparam(i1; (global void)
-0:166 indirect index (temp highp int)
-0:166 'outa' (out 4-element array of highp int)
-0:166 'gl_InvocationID' (in highp int InvocationID)
-0:167 move second child to first child (temp highp float)
-0:167 f: direct index for structure (out highp float)
-0:167 direct index (patch temp block{out highp float f})
-0:167 'patchIName' (patch out 4-element array of block{out highp float f})
-0:167 Constant:
-0:167 1 (const int)
-0:167 Constant:
-0:167 0 (const int)
-0:167 Constant:
-0:167 3.140000
-0:168 move second child to first child (temp highp int)
-0:168 indirect index (temp highp int)
-0:168 'outa' (out 4-element array of highp int)
-0:168 'gl_InvocationID' (in highp int InvocationID)
-0:168 Constant:
-0:168 2 (const int)
-0:? Linker Objects
-0:? 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:? 'outa' (out 4-element array of highp int)
-0:? 'patchIn' (patch in highp 4-component vector of float)
-0:? 'patchOut' (patch out highp 4-component vector of float)
-0:? 'ina' (in highp 2-component vector of float)
-0:? 'inb' (in 32-element array of highp 2-component vector of float)
-0:? 'inc' (in 32-element array of highp 2-component vector of float)
-0:? 'ind' (in 32-element array of highp 2-component vector of float)
-0:? 'implA' (patch out 1-element array of highp float)
-0:? 'ivla' (layout(location=3 ) in 32-element array of highp 4-component vector of float)
-0:? 'ivlb' (layout(location=4 ) in 32-element array of highp 4-component vector of float)
-0:? 'ivlc' (layout(location=4 ) in 32-element array of highp 4-component vector of float)
-0:? 'ovla' (layout(location=3 ) out 4-element array of highp 4-component vector of float)
-0:? 'ovlb' (layout(location=4 ) out 4-element array of highp 4-component vector of float)
-0:? 'ovlc' (layout(location=4 ) out 4-element array of highp 4-component vector of float)
-0:? 'pinbi' (patch out block{out highp int a})
-0:? 'myColor2' (centroid out 4-element array of highp 3-component vector of float)
-0:? 'centr' (centroid in 32-element array of highp 3-component vector of float)
-0:? 'perSampleColor' (sample out 4-element array of highp 4-component vector of float)
-0:? 'badlay' (out 4-element array of highp float)
-0:? 'misSized' (out 5-element array of highp float)
-0:? 'okaySize' (out 4-element array of highp float)
-0:? 'pv3' (temp highp 3-component vector of float)
-0:? 'badpatchIName' (patch out 1-element array of block{out highp float f})
-0:? 'patchIName' (patch out 4-element array of block{out highp float f})
-
+310.tesc
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:8: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:9: 'ccw' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:10: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:12: 'patch' : can only use on output in tessellation-control shader
+ERROR: 0:26: 'gl_PointSize' : required extension not requested: Possible extensions include:
+GL_EXT_tessellation_point_size
+GL_OES_tessellation_point_size
+ERROR: 0:27: 'gl_ClipDistance' : no such field in structure
+ERROR: 0:27: 'expression' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:34: 'gl_PointSize' : required extension not requested: Possible extensions include:
+GL_EXT_tessellation_point_size
+GL_OES_tessellation_point_size
+ERROR: 0:35: 'gl_ClipDistance' : no such field in structure
+ERROR: 0:35: 'expression' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:35: 'assign' : l-value required (can't modify a const)
+ERROR: 0:41: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:43: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:48: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:53: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:56: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:63: '' : tessellation control barrier() cannot be placed after a return from main()
+ERROR: 0:66: 'vertices' : can only apply to 'out'
+ERROR: 0:67: 'vertices' : cannot change previously set layout value
+ERROR: 0:71: '[' : array index out of range '4'
+ERROR: 0:73: '' : tessellation control barrier() must be in main()
+ERROR: 0:76: 'in' : type must be an array: ina
+ERROR: 0:78: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:80: '' : array size required
+ERROR: 0:86: 'location' : overlapping use of location 4
+ERROR: 0:90: 'location' : overlapping use of location 4
+ERROR: 0:94: 'precise' : Reserved word.
+ERROR: 0:95: 'fma' : required extension not requested: Possible extensions include:
+GL_EXT_gpu_shader5
+GL_OES_gpu_shader5
+ERROR: 0:104: 'sample' : Reserved word.
+ERROR: 0:106: 'vertices' : can only apply to a standalone qualifier
+ERROR: 0:107: 'vertices' : inconsistent output number of vertices for array size of misSized
+ERROR: 0:133: 'gl_BoundingBoxOES' : required extension not requested: Possible extensions include:
+GL_EXT_primitive_bounding_box
+GL_OES_primitive_bounding_box
+ERROR: 0:142: '[' : array index out of range '2'
+ERROR: 0:145: '' : array size required
+ERROR: 0:161: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID
+ERROR: 0:162: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID
+ERROR: 0:165: '[]' : tessellation-control per-vertex output l-value must be indexed with gl_InvocationID
+ERROR: 37 compilation errors. No code generated.
+
+
+Shader version: 310
+Requested GL_ARB_separate_shader_objects
+Requested GL_OES_gpu_shader5
+Requested GL_OES_primitive_bounding_box
+Requested GL_OES_shader_io_blocks
+Requested GL_OES_tessellation_point_size
+Requested GL_OES_tessellation_shader
+vertices = 4
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Barrier (global void)
+0:19 Sequence
+0:19 move second child to first child (temp highp int)
+0:19 'a' (temp highp int)
+0:19 Constant:
+0:19 5392 (const int)
+0:25 Sequence
+0:25 move second child to first child (temp highp 4-component vector of float)
+0:25 'p' (temp highp 4-component vector of float)
+0:25 gl_Position: direct index for structure (in highp 4-component vector of float Position)
+0:25 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:25 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:25 Constant:
+0:25 1 (const int)
+0:25 Constant:
+0:25 0 (const int)
+0:26 Sequence
+0:26 move second child to first child (temp highp float)
+0:26 'ps' (temp highp float)
+0:26 gl_PointSize: direct index for structure (in highp float PointSize)
+0:26 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:26 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:26 Constant:
+0:26 1 (const int)
+0:26 Constant:
+0:26 1 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp highp float)
+0:27 'cd' (temp highp float)
+0:27 Constant:
+0:27 0.000000
+0:29 Sequence
+0:29 move second child to first child (temp highp int)
+0:29 'pvi' (temp highp int)
+0:29 'gl_PatchVerticesIn' (in highp int PatchVertices)
+0:30 Sequence
+0:30 move second child to first child (temp highp int)
+0:30 'pid' (temp highp int)
+0:30 'gl_PrimitiveID' (in highp int PrimitiveID)
+0:31 Sequence
+0:31 move second child to first child (temp highp int)
+0:31 'iid' (temp highp int)
+0:31 'gl_InvocationID' (in highp int InvocationID)
+0:33 move second child to first child (temp highp 4-component vector of float)
+0:33 gl_Position: direct index for structure (out highp 4-component vector of float Position)
+0:33 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:33 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:33 'gl_InvocationID' (in highp int InvocationID)
+0:33 Constant:
+0:33 0 (const int)
+0:33 'p' (temp highp 4-component vector of float)
+0:34 move second child to first child (temp highp float)
+0:34 gl_PointSize: direct index for structure (out highp float PointSize)
+0:34 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:34 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:34 'gl_InvocationID' (in highp int InvocationID)
+0:34 Constant:
+0:34 1 (const int)
+0:34 'ps' (temp highp float)
+0:35 move second child to first child (temp highp float)
+0:35 Constant:
+0:35 0.000000
+0:35 'cd' (temp highp float)
+0:37 move second child to first child (temp highp float)
+0:37 direct index (patch temp highp float TessLevelOuter)
+0:37 'gl_TessLevelOuter' (patch out 4-element array of highp float TessLevelOuter)
+0:37 Constant:
+0:37 3 (const int)
+0:37 Constant:
+0:37 3.200000
+0:38 move second child to first child (temp highp float)
+0:38 direct index (patch temp highp float TessLevelInner)
+0:38 'gl_TessLevelInner' (patch out 2-element array of highp float TessLevelInner)
+0:38 Constant:
+0:38 1 (const int)
+0:38 Constant:
+0:38 1.300000
+0:40 Test condition and select (temp void)
+0:40 Condition
+0:40 Compare Greater Than (temp bool)
+0:40 'a' (temp highp int)
+0:40 Constant:
+0:40 10 (const int)
+0:40 true case
+0:41 Barrier (global void)
+0:40 false case
+0:43 Barrier (global void)
+0:45 Barrier (global void)
+0:49 Loop with condition not tested first
+0:49 Loop Condition
+0:49 Compare Greater Than (temp bool)
+0:49 'a' (temp highp int)
+0:49 Constant:
+0:49 10 (const int)
+0:49 Loop Body
+0:48 Sequence
+0:48 Barrier (global void)
+0:51 switch
+0:51 condition
+0:51 'a' (temp highp int)
+0:51 body
+0:51 Sequence
+0:52 default:
+0:? Sequence
+0:53 Barrier (global void)
+0:54 Branch: Break
+0:56 Test condition and select (temp highp int)
+0:56 Condition
+0:56 Compare Less Than (temp bool)
+0:56 'a' (temp highp int)
+0:56 Constant:
+0:56 12 (const int)
+0:56 true case
+0:56 'a' (temp highp int)
+0:56 false case
+0:56 Comma (temp highp int)
+0:56 Barrier (global void)
+0:56 'a' (temp highp int)
+0:58 Sequence
+0:58 Barrier (global void)
+0:61 Branch: Return
+0:63 Barrier (global void)
+0:69 Function Definition: foo( (global void)
+0:69 Function Parameters:
+0:71 Sequence
+0:71 gl_Position: direct index for structure (out highp 4-component vector of float Position)
+0:71 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:71 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:71 Constant:
+0:71 4 (const int)
+0:71 Constant:
+0:71 0 (const int)
+0:73 Barrier (global void)
+0:92 Function Definition: foop( (global void)
+0:92 Function Parameters:
+0:? Sequence
+0:95 move second child to first child (temp highp float)
+0:95 'd' (temp highp float)
+0:95 fma (global highp float)
+0:95 'd' (temp highp float)
+0:95 'd' (temp highp float)
+0:95 'd' (temp highp float)
+0:112 Function Definition: pointSize2( (global void)
+0:112 Function Parameters:
+0:114 Sequence
+0:114 Sequence
+0:114 move second child to first child (temp highp float)
+0:114 'ps' (temp highp float)
+0:114 gl_PointSize: direct index for structure (in highp float PointSize)
+0:114 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:114 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:114 Constant:
+0:114 1 (const int)
+0:114 Constant:
+0:114 1 (const int)
+0:115 move second child to first child (temp highp float)
+0:115 gl_PointSize: direct index for structure (out highp float PointSize)
+0:115 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:115 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:115 'gl_InvocationID' (in highp int InvocationID)
+0:115 Constant:
+0:115 1 (const int)
+0:115 'ps' (temp highp float)
+0:122 Function Definition: goodfoop( (global void)
+0:122 Function Parameters:
+0:? Sequence
+0:126 multiply second child into first child (temp highp 3-component vector of float)
+0:126 'pv3' (temp highp 3-component vector of float)
+0:126 'pv3' (temp highp 3-component vector of float)
+0:127 move second child to first child (temp highp 3-component vector of float)
+0:127 'pv3' (temp highp 3-component vector of float)
+0:127 fma (global highp 3-component vector of float)
+0:127 'pv3' (temp highp 3-component vector of float)
+0:127 'pv3' (temp highp 3-component vector of float)
+0:127 'pv3' (temp highp 3-component vector of float)
+0:128 move second child to first child (temp highp float)
+0:128 'd' (temp highp float)
+0:128 fma (global highp float)
+0:128 'd' (temp highp float)
+0:128 'd' (temp highp float)
+0:128 'd' (temp highp float)
+0:131 Function Definition: bbBad( (global void)
+0:131 Function Parameters:
+0:133 Sequence
+0:133 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:138 Function Definition: bb( (global void)
+0:138 Function Parameters:
+0:140 Sequence
+0:140 move second child to first child (temp highp 4-component vector of float)
+0:140 direct index (patch temp highp 4-component vector of float BoundingBox)
+0:140 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:140 Constant:
+0:140 0 (const int)
+0:140 Constant:
+0:140 0.000000
+0:140 0.000000
+0:140 0.000000
+0:140 0.000000
+0:141 move second child to first child (temp highp 4-component vector of float)
+0:141 direct index (patch temp highp 4-component vector of float BoundingBox)
+0:141 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:141 Constant:
+0:141 1 (const int)
+0:141 Constant:
+0:141 1.000000
+0:141 1.000000
+0:141 1.000000
+0:141 1.000000
+0:142 move second child to first child (temp highp 4-component vector of float)
+0:142 direct index (patch temp highp 4-component vector of float BoundingBox)
+0:142 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:142 Constant:
+0:142 2 (const int)
+0:142 Constant:
+0:142 2.000000
+0:142 2.000000
+0:142 2.000000
+0:142 2.000000
+0:153 Function Definition: outputtingOutparam(i1; (global void)
+0:153 Function Parameters:
+0:153 'a' (out highp int)
+0:155 Sequence
+0:155 move second child to first child (temp highp int)
+0:155 'a' (out highp int)
+0:155 Constant:
+0:155 2 (const int)
+0:158 Function Definition: outputting( (global void)
+0:158 Function Parameters:
+0:160 Sequence
+0:160 move second child to first child (temp highp int)
+0:160 indirect index (temp highp int)
+0:160 'outa' (out 4-element array of highp int)
+0:160 'gl_InvocationID' (in highp int InvocationID)
+0:160 Constant:
+0:160 2 (const int)
+0:161 move second child to first child (temp highp int)
+0:161 direct index (temp highp int)
+0:161 'outa' (out 4-element array of highp int)
+0:161 Constant:
+0:161 1 (const int)
+0:161 Constant:
+0:161 2 (const int)
+0:162 move second child to first child (temp highp 4-component vector of float)
+0:162 gl_Position: direct index for structure (out highp 4-component vector of float Position)
+0:162 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:162 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:162 Constant:
+0:162 0 (const int)
+0:162 Constant:
+0:162 0 (const int)
+0:162 Constant:
+0:162 1.000000
+0:162 1.000000
+0:162 1.000000
+0:162 1.000000
+0:163 direct index (temp highp int)
+0:163 'outa' (out 4-element array of highp int)
+0:163 Constant:
+0:163 1 (const int)
+0:164 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:164 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:164 Constant:
+0:164 0 (const int)
+0:165 Function Call: outputtingOutparam(i1; (global void)
+0:165 direct index (temp highp int)
+0:165 'outa' (out 4-element array of highp int)
+0:165 Constant:
+0:165 0 (const int)
+0:166 Function Call: outputtingOutparam(i1; (global void)
+0:166 indirect index (temp highp int)
+0:166 'outa' (out 4-element array of highp int)
+0:166 'gl_InvocationID' (in highp int InvocationID)
+0:167 move second child to first child (temp highp float)
+0:167 f: direct index for structure (out highp float)
+0:167 direct index (patch temp block{out highp float f})
+0:167 'patchIName' (patch out 4-element array of block{out highp float f})
+0:167 Constant:
+0:167 1 (const int)
+0:167 Constant:
+0:167 0 (const int)
+0:167 Constant:
+0:167 3.140000
+0:168 move second child to first child (temp highp int)
+0:168 indirect index (temp highp int)
+0:168 'outa' (out 4-element array of highp int)
+0:168 'gl_InvocationID' (in highp int InvocationID)
+0:168 Constant:
+0:168 2 (const int)
+0:? Linker Objects
+0:? 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:? 'outa' (out 4-element array of highp int)
+0:? 'patchIn' (patch in highp 4-component vector of float)
+0:? 'patchOut' (patch out highp 4-component vector of float)
+0:? 'ina' (in highp 2-component vector of float)
+0:? 'inb' (in 32-element array of highp 2-component vector of float)
+0:? 'inc' (in 32-element array of highp 2-component vector of float)
+0:? 'ind' (in 32-element array of highp 2-component vector of float)
+0:? 'implA' (patch out implicitly-sized array of highp float)
+0:? 'ivla' (layout(location=3 ) in 32-element array of highp 4-component vector of float)
+0:? 'ivlb' (layout(location=4 ) in 32-element array of highp 4-component vector of float)
+0:? 'ivlc' (layout(location=4 ) in 32-element array of highp 4-component vector of float)
+0:? 'ovla' (layout(location=3 ) out 4-element array of highp 4-component vector of float)
+0:? 'ovlb' (layout(location=4 ) out 4-element array of highp 4-component vector of float)
+0:? 'ovlc' (layout(location=4 ) out 4-element array of highp 4-component vector of float)
+0:? 'pinbi' (patch out block{out highp int a})
+0:? 'myColor2' (centroid out 4-element array of highp 3-component vector of float)
+0:? 'centr' (centroid in 32-element array of highp 3-component vector of float)
+0:? 'perSampleColor' (sample out 4-element array of highp 4-component vector of float)
+0:? 'badlay' (out 4-element array of highp float)
+0:? 'misSized' (out 5-element array of highp float)
+0:? 'okaySize' (out 4-element array of highp float)
+0:? 'pv3' (temp highp 3-component vector of float)
+0:? 'badpatchIName' (patch out implicitly-sized array of block{out highp float f})
+0:? 'patchIName' (patch out 4-element array of block{out highp float f})
+
+
+Linked tessellation control stage:
+
+
+Shader version: 310
+Requested GL_ARB_separate_shader_objects
+Requested GL_OES_gpu_shader5
+Requested GL_OES_primitive_bounding_box
+Requested GL_OES_shader_io_blocks
+Requested GL_OES_tessellation_point_size
+Requested GL_OES_tessellation_shader
+vertices = 4
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Barrier (global void)
+0:19 Sequence
+0:19 move second child to first child (temp highp int)
+0:19 'a' (temp highp int)
+0:19 Constant:
+0:19 5392 (const int)
+0:25 Sequence
+0:25 move second child to first child (temp highp 4-component vector of float)
+0:25 'p' (temp highp 4-component vector of float)
+0:25 gl_Position: direct index for structure (in highp 4-component vector of float Position)
+0:25 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:25 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:25 Constant:
+0:25 1 (const int)
+0:25 Constant:
+0:25 0 (const int)
+0:26 Sequence
+0:26 move second child to first child (temp highp float)
+0:26 'ps' (temp highp float)
+0:26 gl_PointSize: direct index for structure (in highp float PointSize)
+0:26 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:26 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:26 Constant:
+0:26 1 (const int)
+0:26 Constant:
+0:26 1 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp highp float)
+0:27 'cd' (temp highp float)
+0:27 Constant:
+0:27 0.000000
+0:29 Sequence
+0:29 move second child to first child (temp highp int)
+0:29 'pvi' (temp highp int)
+0:29 'gl_PatchVerticesIn' (in highp int PatchVertices)
+0:30 Sequence
+0:30 move second child to first child (temp highp int)
+0:30 'pid' (temp highp int)
+0:30 'gl_PrimitiveID' (in highp int PrimitiveID)
+0:31 Sequence
+0:31 move second child to first child (temp highp int)
+0:31 'iid' (temp highp int)
+0:31 'gl_InvocationID' (in highp int InvocationID)
+0:33 move second child to first child (temp highp 4-component vector of float)
+0:33 gl_Position: direct index for structure (out highp 4-component vector of float Position)
+0:33 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:33 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:33 'gl_InvocationID' (in highp int InvocationID)
+0:33 Constant:
+0:33 0 (const int)
+0:33 'p' (temp highp 4-component vector of float)
+0:34 move second child to first child (temp highp float)
+0:34 gl_PointSize: direct index for structure (out highp float PointSize)
+0:34 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:34 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:34 'gl_InvocationID' (in highp int InvocationID)
+0:34 Constant:
+0:34 1 (const int)
+0:34 'ps' (temp highp float)
+0:35 move second child to first child (temp highp float)
+0:35 Constant:
+0:35 0.000000
+0:35 'cd' (temp highp float)
+0:37 move second child to first child (temp highp float)
+0:37 direct index (patch temp highp float TessLevelOuter)
+0:37 'gl_TessLevelOuter' (patch out 4-element array of highp float TessLevelOuter)
+0:37 Constant:
+0:37 3 (const int)
+0:37 Constant:
+0:37 3.200000
+0:38 move second child to first child (temp highp float)
+0:38 direct index (patch temp highp float TessLevelInner)
+0:38 'gl_TessLevelInner' (patch out 2-element array of highp float TessLevelInner)
+0:38 Constant:
+0:38 1 (const int)
+0:38 Constant:
+0:38 1.300000
+0:40 Test condition and select (temp void)
+0:40 Condition
+0:40 Compare Greater Than (temp bool)
+0:40 'a' (temp highp int)
+0:40 Constant:
+0:40 10 (const int)
+0:40 true case
+0:41 Barrier (global void)
+0:40 false case
+0:43 Barrier (global void)
+0:45 Barrier (global void)
+0:49 Loop with condition not tested first
+0:49 Loop Condition
+0:49 Compare Greater Than (temp bool)
+0:49 'a' (temp highp int)
+0:49 Constant:
+0:49 10 (const int)
+0:49 Loop Body
+0:48 Sequence
+0:48 Barrier (global void)
+0:51 switch
+0:51 condition
+0:51 'a' (temp highp int)
+0:51 body
+0:51 Sequence
+0:52 default:
+0:? Sequence
+0:53 Barrier (global void)
+0:54 Branch: Break
+0:56 Test condition and select (temp highp int)
+0:56 Condition
+0:56 Compare Less Than (temp bool)
+0:56 'a' (temp highp int)
+0:56 Constant:
+0:56 12 (const int)
+0:56 true case
+0:56 'a' (temp highp int)
+0:56 false case
+0:56 Comma (temp highp int)
+0:56 Barrier (global void)
+0:56 'a' (temp highp int)
+0:58 Sequence
+0:58 Barrier (global void)
+0:61 Branch: Return
+0:63 Barrier (global void)
+0:69 Function Definition: foo( (global void)
+0:69 Function Parameters:
+0:71 Sequence
+0:71 gl_Position: direct index for structure (out highp 4-component vector of float Position)
+0:71 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:71 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:71 Constant:
+0:71 4 (const int)
+0:71 Constant:
+0:71 0 (const int)
+0:73 Barrier (global void)
+0:92 Function Definition: foop( (global void)
+0:92 Function Parameters:
+0:? Sequence
+0:95 move second child to first child (temp highp float)
+0:95 'd' (temp highp float)
+0:95 fma (global highp float)
+0:95 'd' (temp highp float)
+0:95 'd' (temp highp float)
+0:95 'd' (temp highp float)
+0:112 Function Definition: pointSize2( (global void)
+0:112 Function Parameters:
+0:114 Sequence
+0:114 Sequence
+0:114 move second child to first child (temp highp float)
+0:114 'ps' (temp highp float)
+0:114 gl_PointSize: direct index for structure (in highp float PointSize)
+0:114 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:114 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:114 Constant:
+0:114 1 (const int)
+0:114 Constant:
+0:114 1 (const int)
+0:115 move second child to first child (temp highp float)
+0:115 gl_PointSize: direct index for structure (out highp float PointSize)
+0:115 indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:115 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:115 'gl_InvocationID' (in highp int InvocationID)
+0:115 Constant:
+0:115 1 (const int)
+0:115 'ps' (temp highp float)
+0:122 Function Definition: goodfoop( (global void)
+0:122 Function Parameters:
+0:? Sequence
+0:126 multiply second child into first child (temp highp 3-component vector of float)
+0:126 'pv3' (temp highp 3-component vector of float)
+0:126 'pv3' (temp highp 3-component vector of float)
+0:127 move second child to first child (temp highp 3-component vector of float)
+0:127 'pv3' (temp highp 3-component vector of float)
+0:127 fma (global highp 3-component vector of float)
+0:127 'pv3' (temp highp 3-component vector of float)
+0:127 'pv3' (temp highp 3-component vector of float)
+0:127 'pv3' (temp highp 3-component vector of float)
+0:128 move second child to first child (temp highp float)
+0:128 'd' (temp highp float)
+0:128 fma (global highp float)
+0:128 'd' (temp highp float)
+0:128 'd' (temp highp float)
+0:128 'd' (temp highp float)
+0:131 Function Definition: bbBad( (global void)
+0:131 Function Parameters:
+0:133 Sequence
+0:133 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:138 Function Definition: bb( (global void)
+0:138 Function Parameters:
+0:140 Sequence
+0:140 move second child to first child (temp highp 4-component vector of float)
+0:140 direct index (patch temp highp 4-component vector of float BoundingBox)
+0:140 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:140 Constant:
+0:140 0 (const int)
+0:140 Constant:
+0:140 0.000000
+0:140 0.000000
+0:140 0.000000
+0:140 0.000000
+0:141 move second child to first child (temp highp 4-component vector of float)
+0:141 direct index (patch temp highp 4-component vector of float BoundingBox)
+0:141 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:141 Constant:
+0:141 1 (const int)
+0:141 Constant:
+0:141 1.000000
+0:141 1.000000
+0:141 1.000000
+0:141 1.000000
+0:142 move second child to first child (temp highp 4-component vector of float)
+0:142 direct index (patch temp highp 4-component vector of float BoundingBox)
+0:142 'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
+0:142 Constant:
+0:142 2 (const int)
+0:142 Constant:
+0:142 2.000000
+0:142 2.000000
+0:142 2.000000
+0:142 2.000000
+0:153 Function Definition: outputtingOutparam(i1; (global void)
+0:153 Function Parameters:
+0:153 'a' (out highp int)
+0:155 Sequence
+0:155 move second child to first child (temp highp int)
+0:155 'a' (out highp int)
+0:155 Constant:
+0:155 2 (const int)
+0:158 Function Definition: outputting( (global void)
+0:158 Function Parameters:
+0:160 Sequence
+0:160 move second child to first child (temp highp int)
+0:160 indirect index (temp highp int)
+0:160 'outa' (out 4-element array of highp int)
+0:160 'gl_InvocationID' (in highp int InvocationID)
+0:160 Constant:
+0:160 2 (const int)
+0:161 move second child to first child (temp highp int)
+0:161 direct index (temp highp int)
+0:161 'outa' (out 4-element array of highp int)
+0:161 Constant:
+0:161 1 (const int)
+0:161 Constant:
+0:161 2 (const int)
+0:162 move second child to first child (temp highp 4-component vector of float)
+0:162 gl_Position: direct index for structure (out highp 4-component vector of float Position)
+0:162 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:162 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:162 Constant:
+0:162 0 (const int)
+0:162 Constant:
+0:162 0 (const int)
+0:162 Constant:
+0:162 1.000000
+0:162 1.000000
+0:162 1.000000
+0:162 1.000000
+0:163 direct index (temp highp int)
+0:163 'outa' (out 4-element array of highp int)
+0:163 Constant:
+0:163 1 (const int)
+0:164 direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:164 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:164 Constant:
+0:164 0 (const int)
+0:165 Function Call: outputtingOutparam(i1; (global void)
+0:165 direct index (temp highp int)
+0:165 'outa' (out 4-element array of highp int)
+0:165 Constant:
+0:165 0 (const int)
+0:166 Function Call: outputtingOutparam(i1; (global void)
+0:166 indirect index (temp highp int)
+0:166 'outa' (out 4-element array of highp int)
+0:166 'gl_InvocationID' (in highp int InvocationID)
+0:167 move second child to first child (temp highp float)
+0:167 f: direct index for structure (out highp float)
+0:167 direct index (patch temp block{out highp float f})
+0:167 'patchIName' (patch out 4-element array of block{out highp float f})
+0:167 Constant:
+0:167 1 (const int)
+0:167 Constant:
+0:167 0 (const int)
+0:167 Constant:
+0:167 3.140000
+0:168 move second child to first child (temp highp int)
+0:168 indirect index (temp highp int)
+0:168 'outa' (out 4-element array of highp int)
+0:168 'gl_InvocationID' (in highp int InvocationID)
+0:168 Constant:
+0:168 2 (const int)
+0:? Linker Objects
+0:? 'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
+0:? 'outa' (out 4-element array of highp int)
+0:? 'patchIn' (patch in highp 4-component vector of float)
+0:? 'patchOut' (patch out highp 4-component vector of float)
+0:? 'ina' (in highp 2-component vector of float)
+0:? 'inb' (in 32-element array of highp 2-component vector of float)
+0:? 'inc' (in 32-element array of highp 2-component vector of float)
+0:? 'ind' (in 32-element array of highp 2-component vector of float)
+0:? 'implA' (patch out 1-element array of highp float)
+0:? 'ivla' (layout(location=3 ) in 32-element array of highp 4-component vector of float)
+0:? 'ivlb' (layout(location=4 ) in 32-element array of highp 4-component vector of float)
+0:? 'ivlc' (layout(location=4 ) in 32-element array of highp 4-component vector of float)
+0:? 'ovla' (layout(location=3 ) out 4-element array of highp 4-component vector of float)
+0:? 'ovlb' (layout(location=4 ) out 4-element array of highp 4-component vector of float)
+0:? 'ovlc' (layout(location=4 ) out 4-element array of highp 4-component vector of float)
+0:? 'pinbi' (patch out block{out highp int a})
+0:? 'myColor2' (centroid out 4-element array of highp 3-component vector of float)
+0:? 'centr' (centroid in 32-element array of highp 3-component vector of float)
+0:? 'perSampleColor' (sample out 4-element array of highp 4-component vector of float)
+0:? 'badlay' (out 4-element array of highp float)
+0:? 'misSized' (out 5-element array of highp float)
+0:? 'okaySize' (out 4-element array of highp float)
+0:? 'pv3' (temp highp 3-component vector of float)
+0:? 'badpatchIName' (patch out 1-element array of block{out highp float f})
+0:? 'patchIName' (patch out 4-element array of block{out highp float f})
+
diff --git a/Test/baseResults/310.tese.out b/Test/baseResults/310.tese.out
index 877e082..aacfedb 100644
--- a/Test/baseResults/310.tese.out
+++ b/Test/baseResults/310.tese.out
@@ -1,315 +1,315 @@
-310.tese
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:7: 'vertices' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:9: 'triangles' : cannot change previously set input primitive
-ERROR: 0:10: 'isolines' : cannot change previously set input primitive
-ERROR: 0:12: 'ccw' : cannot change previously set vertex order
-ERROR: 0:16: 'equal_spacing' : cannot change previously set vertex spacing
-ERROR: 0:17: 'fractional_even_spacing' : cannot change previously set vertex spacing
-ERROR: 0:22: 'patch' : can only use on input in tessellation-evaluation shader
-ERROR: 0:26: 'barrier' : no matching overloaded function found
-ERROR: 0:37: 'gl_PointSize' : required extension not requested: Possible extensions include:
-GL_EXT_tessellation_point_size
-GL_OES_tessellation_point_size
-ERROR: 0:38: 'gl_ClipDistance' : no such field in structure
-ERROR: 0:38: 'expression' : left of '[' is not of type array, matrix, or vector
-ERROR: 0:47: 'gl_PointSize' : required extension not requested: Possible extensions include:
-GL_EXT_tessellation_point_size
-GL_OES_tessellation_point_size
-ERROR: 0:48: 'gl_ClipDistance' : undeclared identifier
-ERROR: 0:48: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector
-ERROR: 0:48: 'assign' : l-value required (can't modify a const)
-ERROR: 0:51: 'patch' : cannot use interpolation qualifiers with patch
-ERROR: 0:52: 'patch' : cannot use interpolation qualifiers with patch
-ERROR: 0:53: 'noperspective' : Reserved word.
-ERROR: 0:53: 'noperspective' : not supported with this profile: es
-ERROR: 0:53: 'patch' : cannot use interpolation qualifiers with patch
-ERROR: 0:54: 'sample' : Reserved word.
-ERROR: 0:54: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
-ERROR: 0:58: 'gl_PerVertex' : block already declared with size, can't redeclare as implicitly-sized
-ERROR: 0:63: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
-ERROR: 0:68: 'quads' : cannot apply to 'out'
-ERROR: 0:68: 'cw' : can only apply to 'in'
-ERROR: 0:69: 'triangles' : cannot apply to 'out'
-ERROR: 0:70: 'isolines' : cannot apply to 'out'
-ERROR: 0:71: 'cw' : can only apply to 'in'
-ERROR: 0:72: 'fractional_odd_spacing' : can only apply to 'in'
-ERROR: 0:73: 'equal_spacing' : can only apply to 'in'
-ERROR: 0:74: 'fractional_even_spacing' : can only apply to 'in'
-ERROR: 0:75: 'point_mode' : can only apply to 'in'
-ERROR: 0:77: 'in' : type must be an array: ina
-ERROR: 0:79: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
-ERROR: 0:82: 'in' : type must be an array: bla
-ERROR: 0:90: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
-ERROR: 0:100: 'location' : overlapping use of location 24
-ERROR: 0:103: 'location' : overlapping use of location 24
-ERROR: 0:105: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved
-ERROR: 0:113: 'sample' : Reserved word.
-ERROR: 0:119: 'gl_PointSize' : no such field in structure
-ERROR: 0:119: '=' : cannot convert from 'temp block{in highp 4-component vector of float Position gl_Position}' to 'temp highp float'
-ERROR: 0:127: 'gl_BoundingBoxOES' : undeclared identifier
-ERROR: 44 compilation errors. No code generated.
-
-
-Shader version: 310
-Requested GL_ARB_separate_shader_objects
-Requested GL_EXT_primitive_bounding_box
-Requested GL_EXT_shader_io_blocks
-Requested GL_EXT_tessellation_shader
-Requested GL_OES_shader_io_blocks
-Requested GL_OES_tessellation_point_size
-Requested GL_OES_tessellation_shader
-input primitive = quads
-vertex spacing = fractional_odd_spacing
-triangle order = cw
-using point mode
-ERROR: node is still EOpNull!
-0:24 Function Definition: main( (global void)
-0:24 Function Parameters:
-0:26 Sequence
-0:26 Constant:
-0:26 0.000000
-0:28 Sequence
-0:28 move second child to first child (temp highp int)
-0:28 'a' (temp highp int)
-0:28 Constant:
-0:28 1512 (const int)
-0:36 Sequence
-0:36 move second child to first child (temp highp 4-component vector of float)
-0:36 'p' (temp highp 4-component vector of float)
-0:36 gl_Position: direct index for structure (in highp 4-component vector of float Position)
-0:36 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:36 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:36 Constant:
-0:36 1 (const int)
-0:36 Constant:
-0:36 0 (const int)
-0:37 Sequence
-0:37 move second child to first child (temp highp float)
-0:37 'ps' (temp highp float)
-0:37 gl_PointSize: direct index for structure (in highp float PointSize)
-0:37 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:37 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:37 Constant:
-0:37 1 (const int)
-0:37 Constant:
-0:37 1 (const int)
-0:38 Sequence
-0:38 move second child to first child (temp highp float)
-0:38 'cd' (temp highp float)
-0:38 Constant:
-0:38 0.000000
-0:40 Sequence
-0:40 move second child to first child (temp highp int)
-0:40 'pvi' (temp highp int)
-0:40 'gl_PatchVerticesIn' (in highp int PatchVertices)
-0:41 Sequence
-0:41 move second child to first child (temp highp int)
-0:41 'pid' (temp highp int)
-0:41 'gl_PrimitiveID' (in highp int PrimitiveID)
-0:42 Sequence
-0:42 move second child to first child (temp highp 3-component vector of float)
-0:42 'tc' (temp highp 3-component vector of float)
-0:42 'gl_TessCoord' (in highp 3-component vector of float TessCoord)
-0:43 Sequence
-0:43 move second child to first child (temp highp float)
-0:43 'tlo' (temp highp float)
-0:43 direct index (patch temp highp float TessLevelOuter)
-0:43 'gl_TessLevelOuter' (patch in 4-element array of highp float TessLevelOuter)
-0:43 Constant:
-0:43 3 (const int)
-0:44 Sequence
-0:44 move second child to first child (temp highp float)
-0:44 'tli' (temp highp float)
-0:44 direct index (patch temp highp float TessLevelInner)
-0:44 'gl_TessLevelInner' (patch in 2-element array of highp float TessLevelInner)
-0:44 Constant:
-0:44 1 (const int)
-0:46 move second child to first child (temp highp 4-component vector of float)
-0:46 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position)
-0:46 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
-0:46 Constant:
-0:46 0 (const uint)
-0:46 'p' (temp highp 4-component vector of float)
-0:47 move second child to first child (temp highp float)
-0:47 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize)
-0:47 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
-0:47 Constant:
-0:47 1 (const uint)
-0:47 'ps' (temp highp float)
-0:48 move second child to first child (temp highp float)
-0:48 Constant:
-0:48 0.000000
-0:48 'cd' (temp highp float)
-0:117 Function Definition: pointSize2( (global void)
-0:117 Function Parameters:
-0:? Sequence
-0:120 move second child to first child (temp highp float)
-0:120 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize)
-0:120 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
-0:120 Constant:
-0:120 1 (const uint)
-0:120 'ps' (temp highp float)
-0:125 Function Definition: bbbad( (global void)
-0:125 Function Parameters:
-0:127 Sequence
-0:127 'gl_BoundingBoxOES' (temp float)
-0:? Linker Objects
-0:? 'patchIn' (patch in highp 4-component vector of float)
-0:? 'patchOut' (patch out highp 4-component vector of float)
-0:? 'badp1' (smooth patch in highp 4-component vector of float)
-0:? 'badp2' (flat patch in highp 4-component vector of float)
-0:? 'badp3' (noperspective patch in highp 4-component vector of float)
-0:? 'badp4' (patch sample in highp 3-component vector of float)
-0:? 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position})
-0:? 'ina' (in highp 2-component vector of float)
-0:? 'inb' (in 32-element array of highp 2-component vector of float)
-0:? 'inc' (in 32-element array of highp 2-component vector of float)
-0:? 'ind' (in 32-element array of highp 2-component vector of float)
-0:? 'bla' (in block{in highp int f})
-0:? 'blb' (in 32-element array of block{in highp int f})
-0:? 'blc' (in 32-element array of block{in highp int f})
-0:? 'bld' (in 32-element array of block{in highp int f})
-0:? 'ivla' (layout(location=23 ) in 32-element array of highp 4-component vector of float)
-0:? 'ivlb' (layout(location=24 ) in 32-element array of highp 4-component vector of float)
-0:? 'ivlc' (layout(location=24 ) in 32-element array of highp 4-component vector of float)
-0:? 'ovla' (layout(location=23 ) out 2-element array of highp 4-component vector of float)
-0:? 'ovlb' (layout(location=24 ) out 2-element array of highp 4-component vector of float)
-0:? 'pinbi' (patch in block{in highp int a})
-0:? 'myColor2' (centroid out highp 3-component vector of float)
-0:? 'centr' (centroid in 32-element array of highp 3-component vector of float)
-0:? 'perSampleColor' (sample out highp 4-component vector of float)
-
-
-Linked tessellation evaluation stage:
-
-
-Shader version: 310
-Requested GL_ARB_separate_shader_objects
-Requested GL_EXT_primitive_bounding_box
-Requested GL_EXT_shader_io_blocks
-Requested GL_EXT_tessellation_shader
-Requested GL_OES_shader_io_blocks
-Requested GL_OES_tessellation_point_size
-Requested GL_OES_tessellation_shader
-input primitive = quads
-vertex spacing = fractional_odd_spacing
-triangle order = cw
-using point mode
-ERROR: node is still EOpNull!
-0:24 Function Definition: main( (global void)
-0:24 Function Parameters:
-0:26 Sequence
-0:26 Constant:
-0:26 0.000000
-0:28 Sequence
-0:28 move second child to first child (temp highp int)
-0:28 'a' (temp highp int)
-0:28 Constant:
-0:28 1512 (const int)
-0:36 Sequence
-0:36 move second child to first child (temp highp 4-component vector of float)
-0:36 'p' (temp highp 4-component vector of float)
-0:36 gl_Position: direct index for structure (in highp 4-component vector of float Position)
-0:36 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:36 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:36 Constant:
-0:36 1 (const int)
-0:36 Constant:
-0:36 0 (const int)
-0:37 Sequence
-0:37 move second child to first child (temp highp float)
-0:37 'ps' (temp highp float)
-0:37 gl_PointSize: direct index for structure (in highp float PointSize)
-0:37 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:37 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:37 Constant:
-0:37 1 (const int)
-0:37 Constant:
-0:37 1 (const int)
-0:38 Sequence
-0:38 move second child to first child (temp highp float)
-0:38 'cd' (temp highp float)
-0:38 Constant:
-0:38 0.000000
-0:40 Sequence
-0:40 move second child to first child (temp highp int)
-0:40 'pvi' (temp highp int)
-0:40 'gl_PatchVerticesIn' (in highp int PatchVertices)
-0:41 Sequence
-0:41 move second child to first child (temp highp int)
-0:41 'pid' (temp highp int)
-0:41 'gl_PrimitiveID' (in highp int PrimitiveID)
-0:42 Sequence
-0:42 move second child to first child (temp highp 3-component vector of float)
-0:42 'tc' (temp highp 3-component vector of float)
-0:42 'gl_TessCoord' (in highp 3-component vector of float TessCoord)
-0:43 Sequence
-0:43 move second child to first child (temp highp float)
-0:43 'tlo' (temp highp float)
-0:43 direct index (patch temp highp float TessLevelOuter)
-0:43 'gl_TessLevelOuter' (patch in 4-element array of highp float TessLevelOuter)
-0:43 Constant:
-0:43 3 (const int)
-0:44 Sequence
-0:44 move second child to first child (temp highp float)
-0:44 'tli' (temp highp float)
-0:44 direct index (patch temp highp float TessLevelInner)
-0:44 'gl_TessLevelInner' (patch in 2-element array of highp float TessLevelInner)
-0:44 Constant:
-0:44 1 (const int)
-0:46 move second child to first child (temp highp 4-component vector of float)
-0:46 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position)
-0:46 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
-0:46 Constant:
-0:46 0 (const uint)
-0:46 'p' (temp highp 4-component vector of float)
-0:47 move second child to first child (temp highp float)
-0:47 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize)
-0:47 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
-0:47 Constant:
-0:47 1 (const uint)
-0:47 'ps' (temp highp float)
-0:48 move second child to first child (temp highp float)
-0:48 Constant:
-0:48 0.000000
-0:48 'cd' (temp highp float)
-0:117 Function Definition: pointSize2( (global void)
-0:117 Function Parameters:
-0:? Sequence
-0:120 move second child to first child (temp highp float)
-0:120 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize)
-0:120 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
-0:120 Constant:
-0:120 1 (const uint)
-0:120 'ps' (temp highp float)
-0:125 Function Definition: bbbad( (global void)
-0:125 Function Parameters:
-0:127 Sequence
-0:127 'gl_BoundingBoxOES' (temp float)
-0:? Linker Objects
-0:? 'patchIn' (patch in highp 4-component vector of float)
-0:? 'patchOut' (patch out highp 4-component vector of float)
-0:? 'badp1' (smooth patch in highp 4-component vector of float)
-0:? 'badp2' (flat patch in highp 4-component vector of float)
-0:? 'badp3' (noperspective patch in highp 4-component vector of float)
-0:? 'badp4' (patch sample in highp 3-component vector of float)
-0:? 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position})
-0:? 'ina' (in highp 2-component vector of float)
-0:? 'inb' (in 32-element array of highp 2-component vector of float)
-0:? 'inc' (in 32-element array of highp 2-component vector of float)
-0:? 'ind' (in 32-element array of highp 2-component vector of float)
-0:? 'bla' (in block{in highp int f})
-0:? 'blb' (in 32-element array of block{in highp int f})
-0:? 'blc' (in 32-element array of block{in highp int f})
-0:? 'bld' (in 32-element array of block{in highp int f})
-0:? 'ivla' (layout(location=23 ) in 32-element array of highp 4-component vector of float)
-0:? 'ivlb' (layout(location=24 ) in 32-element array of highp 4-component vector of float)
-0:? 'ivlc' (layout(location=24 ) in 32-element array of highp 4-component vector of float)
-0:? 'ovla' (layout(location=23 ) out 2-element array of highp 4-component vector of float)
-0:? 'ovlb' (layout(location=24 ) out 2-element array of highp 4-component vector of float)
-0:? 'pinbi' (patch in block{in highp int a})
-0:? 'myColor2' (centroid out highp 3-component vector of float)
-0:? 'centr' (centroid in 32-element array of highp 3-component vector of float)
-0:? 'perSampleColor' (sample out highp 4-component vector of float)
-
+310.tese
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:7: 'vertices' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:9: 'triangles' : cannot change previously set input primitive
+ERROR: 0:10: 'isolines' : cannot change previously set input primitive
+ERROR: 0:12: 'ccw' : cannot change previously set vertex order
+ERROR: 0:16: 'equal_spacing' : cannot change previously set vertex spacing
+ERROR: 0:17: 'fractional_even_spacing' : cannot change previously set vertex spacing
+ERROR: 0:22: 'patch' : can only use on input in tessellation-evaluation shader
+ERROR: 0:26: 'barrier' : no matching overloaded function found
+ERROR: 0:37: 'gl_PointSize' : required extension not requested: Possible extensions include:
+GL_EXT_tessellation_point_size
+GL_OES_tessellation_point_size
+ERROR: 0:38: 'gl_ClipDistance' : no such field in structure
+ERROR: 0:38: 'expression' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:47: 'gl_PointSize' : required extension not requested: Possible extensions include:
+GL_EXT_tessellation_point_size
+GL_OES_tessellation_point_size
+ERROR: 0:48: 'gl_ClipDistance' : undeclared identifier
+ERROR: 0:48: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:48: 'assign' : l-value required (can't modify a const)
+ERROR: 0:51: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:52: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:53: 'noperspective' : Reserved word.
+ERROR: 0:53: 'noperspective' : not supported with this profile: es
+ERROR: 0:53: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:54: 'sample' : Reserved word.
+ERROR: 0:54: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
+ERROR: 0:58: 'gl_PerVertex' : block already declared with size, can't redeclare as implicitly-sized
+ERROR: 0:63: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
+ERROR: 0:68: 'quads' : cannot apply to 'out'
+ERROR: 0:68: 'cw' : can only apply to 'in'
+ERROR: 0:69: 'triangles' : cannot apply to 'out'
+ERROR: 0:70: 'isolines' : cannot apply to 'out'
+ERROR: 0:71: 'cw' : can only apply to 'in'
+ERROR: 0:72: 'fractional_odd_spacing' : can only apply to 'in'
+ERROR: 0:73: 'equal_spacing' : can only apply to 'in'
+ERROR: 0:74: 'fractional_even_spacing' : can only apply to 'in'
+ERROR: 0:75: 'point_mode' : can only apply to 'in'
+ERROR: 0:77: 'in' : type must be an array: ina
+ERROR: 0:79: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:82: 'in' : type must be an array: bla
+ERROR: 0:90: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:100: 'location' : overlapping use of location 24
+ERROR: 0:103: 'location' : overlapping use of location 24
+ERROR: 0:105: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved
+ERROR: 0:113: 'sample' : Reserved word.
+ERROR: 0:119: 'gl_PointSize' : no such field in structure
+ERROR: 0:119: '=' : cannot convert from 'temp block{in highp 4-component vector of float Position gl_Position}' to 'temp highp float'
+ERROR: 0:127: 'gl_BoundingBoxOES' : undeclared identifier
+ERROR: 44 compilation errors. No code generated.
+
+
+Shader version: 310
+Requested GL_ARB_separate_shader_objects
+Requested GL_EXT_primitive_bounding_box
+Requested GL_EXT_shader_io_blocks
+Requested GL_EXT_tessellation_shader
+Requested GL_OES_shader_io_blocks
+Requested GL_OES_tessellation_point_size
+Requested GL_OES_tessellation_shader
+input primitive = quads
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+using point mode
+ERROR: node is still EOpNull!
+0:24 Function Definition: main( (global void)
+0:24 Function Parameters:
+0:26 Sequence
+0:26 Constant:
+0:26 0.000000
+0:28 Sequence
+0:28 move second child to first child (temp highp int)
+0:28 'a' (temp highp int)
+0:28 Constant:
+0:28 1512 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp highp 4-component vector of float)
+0:36 'p' (temp highp 4-component vector of float)
+0:36 gl_Position: direct index for structure (in highp 4-component vector of float Position)
+0:36 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:36 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:36 Constant:
+0:36 1 (const int)
+0:36 Constant:
+0:36 0 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp highp float)
+0:37 'ps' (temp highp float)
+0:37 gl_PointSize: direct index for structure (in highp float PointSize)
+0:37 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:37 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:37 Constant:
+0:37 1 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:38 Sequence
+0:38 move second child to first child (temp highp float)
+0:38 'cd' (temp highp float)
+0:38 Constant:
+0:38 0.000000
+0:40 Sequence
+0:40 move second child to first child (temp highp int)
+0:40 'pvi' (temp highp int)
+0:40 'gl_PatchVerticesIn' (in highp int PatchVertices)
+0:41 Sequence
+0:41 move second child to first child (temp highp int)
+0:41 'pid' (temp highp int)
+0:41 'gl_PrimitiveID' (in highp int PrimitiveID)
+0:42 Sequence
+0:42 move second child to first child (temp highp 3-component vector of float)
+0:42 'tc' (temp highp 3-component vector of float)
+0:42 'gl_TessCoord' (in highp 3-component vector of float TessCoord)
+0:43 Sequence
+0:43 move second child to first child (temp highp float)
+0:43 'tlo' (temp highp float)
+0:43 direct index (patch temp highp float TessLevelOuter)
+0:43 'gl_TessLevelOuter' (patch in 4-element array of highp float TessLevelOuter)
+0:43 Constant:
+0:43 3 (const int)
+0:44 Sequence
+0:44 move second child to first child (temp highp float)
+0:44 'tli' (temp highp float)
+0:44 direct index (patch temp highp float TessLevelInner)
+0:44 'gl_TessLevelInner' (patch in 2-element array of highp float TessLevelInner)
+0:44 Constant:
+0:44 1 (const int)
+0:46 move second child to first child (temp highp 4-component vector of float)
+0:46 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position)
+0:46 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
+0:46 Constant:
+0:46 0 (const uint)
+0:46 'p' (temp highp 4-component vector of float)
+0:47 move second child to first child (temp highp float)
+0:47 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize)
+0:47 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
+0:47 Constant:
+0:47 1 (const uint)
+0:47 'ps' (temp highp float)
+0:48 move second child to first child (temp highp float)
+0:48 Constant:
+0:48 0.000000
+0:48 'cd' (temp highp float)
+0:117 Function Definition: pointSize2( (global void)
+0:117 Function Parameters:
+0:? Sequence
+0:120 move second child to first child (temp highp float)
+0:120 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize)
+0:120 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
+0:120 Constant:
+0:120 1 (const uint)
+0:120 'ps' (temp highp float)
+0:125 Function Definition: bbbad( (global void)
+0:125 Function Parameters:
+0:127 Sequence
+0:127 'gl_BoundingBoxOES' (temp float)
+0:? Linker Objects
+0:? 'patchIn' (patch in highp 4-component vector of float)
+0:? 'patchOut' (patch out highp 4-component vector of float)
+0:? 'badp1' (smooth patch in highp 4-component vector of float)
+0:? 'badp2' (flat patch in highp 4-component vector of float)
+0:? 'badp3' (noperspective patch in highp 4-component vector of float)
+0:? 'badp4' (patch sample in highp 3-component vector of float)
+0:? 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position})
+0:? 'ina' (in highp 2-component vector of float)
+0:? 'inb' (in 32-element array of highp 2-component vector of float)
+0:? 'inc' (in 32-element array of highp 2-component vector of float)
+0:? 'ind' (in 32-element array of highp 2-component vector of float)
+0:? 'bla' (in block{in highp int f})
+0:? 'blb' (in 32-element array of block{in highp int f})
+0:? 'blc' (in 32-element array of block{in highp int f})
+0:? 'bld' (in 32-element array of block{in highp int f})
+0:? 'ivla' (layout(location=23 ) in 32-element array of highp 4-component vector of float)
+0:? 'ivlb' (layout(location=24 ) in 32-element array of highp 4-component vector of float)
+0:? 'ivlc' (layout(location=24 ) in 32-element array of highp 4-component vector of float)
+0:? 'ovla' (layout(location=23 ) out 2-element array of highp 4-component vector of float)
+0:? 'ovlb' (layout(location=24 ) out 2-element array of highp 4-component vector of float)
+0:? 'pinbi' (patch in block{in highp int a})
+0:? 'myColor2' (centroid out highp 3-component vector of float)
+0:? 'centr' (centroid in 32-element array of highp 3-component vector of float)
+0:? 'perSampleColor' (sample out highp 4-component vector of float)
+
+
+Linked tessellation evaluation stage:
+
+
+Shader version: 310
+Requested GL_ARB_separate_shader_objects
+Requested GL_EXT_primitive_bounding_box
+Requested GL_EXT_shader_io_blocks
+Requested GL_EXT_tessellation_shader
+Requested GL_OES_shader_io_blocks
+Requested GL_OES_tessellation_point_size
+Requested GL_OES_tessellation_shader
+input primitive = quads
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+using point mode
+ERROR: node is still EOpNull!
+0:24 Function Definition: main( (global void)
+0:24 Function Parameters:
+0:26 Sequence
+0:26 Constant:
+0:26 0.000000
+0:28 Sequence
+0:28 move second child to first child (temp highp int)
+0:28 'a' (temp highp int)
+0:28 Constant:
+0:28 1512 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp highp 4-component vector of float)
+0:36 'p' (temp highp 4-component vector of float)
+0:36 gl_Position: direct index for structure (in highp 4-component vector of float Position)
+0:36 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:36 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:36 Constant:
+0:36 1 (const int)
+0:36 Constant:
+0:36 0 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp highp float)
+0:37 'ps' (temp highp float)
+0:37 gl_PointSize: direct index for structure (in highp float PointSize)
+0:37 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:37 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
+0:37 Constant:
+0:37 1 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:38 Sequence
+0:38 move second child to first child (temp highp float)
+0:38 'cd' (temp highp float)
+0:38 Constant:
+0:38 0.000000
+0:40 Sequence
+0:40 move second child to first child (temp highp int)
+0:40 'pvi' (temp highp int)
+0:40 'gl_PatchVerticesIn' (in highp int PatchVertices)
+0:41 Sequence
+0:41 move second child to first child (temp highp int)
+0:41 'pid' (temp highp int)
+0:41 'gl_PrimitiveID' (in highp int PrimitiveID)
+0:42 Sequence
+0:42 move second child to first child (temp highp 3-component vector of float)
+0:42 'tc' (temp highp 3-component vector of float)
+0:42 'gl_TessCoord' (in highp 3-component vector of float TessCoord)
+0:43 Sequence
+0:43 move second child to first child (temp highp float)
+0:43 'tlo' (temp highp float)
+0:43 direct index (patch temp highp float TessLevelOuter)
+0:43 'gl_TessLevelOuter' (patch in 4-element array of highp float TessLevelOuter)
+0:43 Constant:
+0:43 3 (const int)
+0:44 Sequence
+0:44 move second child to first child (temp highp float)
+0:44 'tli' (temp highp float)
+0:44 direct index (patch temp highp float TessLevelInner)
+0:44 'gl_TessLevelInner' (patch in 2-element array of highp float TessLevelInner)
+0:44 Constant:
+0:44 1 (const int)
+0:46 move second child to first child (temp highp 4-component vector of float)
+0:46 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position)
+0:46 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
+0:46 Constant:
+0:46 0 (const uint)
+0:46 'p' (temp highp 4-component vector of float)
+0:47 move second child to first child (temp highp float)
+0:47 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize)
+0:47 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
+0:47 Constant:
+0:47 1 (const uint)
+0:47 'ps' (temp highp float)
+0:48 move second child to first child (temp highp float)
+0:48 Constant:
+0:48 0.000000
+0:48 'cd' (temp highp float)
+0:117 Function Definition: pointSize2( (global void)
+0:117 Function Parameters:
+0:? Sequence
+0:120 move second child to first child (temp highp float)
+0:120 gl_PointSize: direct index for structure (gl_PointSize highp float PointSize)
+0:120 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
+0:120 Constant:
+0:120 1 (const uint)
+0:120 'ps' (temp highp float)
+0:125 Function Definition: bbbad( (global void)
+0:125 Function Parameters:
+0:127 Sequence
+0:127 'gl_BoundingBoxOES' (temp float)
+0:? Linker Objects
+0:? 'patchIn' (patch in highp 4-component vector of float)
+0:? 'patchOut' (patch out highp 4-component vector of float)
+0:? 'badp1' (smooth patch in highp 4-component vector of float)
+0:? 'badp2' (flat patch in highp 4-component vector of float)
+0:? 'badp3' (noperspective patch in highp 4-component vector of float)
+0:? 'badp4' (patch sample in highp 3-component vector of float)
+0:? 'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position})
+0:? 'ina' (in highp 2-component vector of float)
+0:? 'inb' (in 32-element array of highp 2-component vector of float)
+0:? 'inc' (in 32-element array of highp 2-component vector of float)
+0:? 'ind' (in 32-element array of highp 2-component vector of float)
+0:? 'bla' (in block{in highp int f})
+0:? 'blb' (in 32-element array of block{in highp int f})
+0:? 'blc' (in 32-element array of block{in highp int f})
+0:? 'bld' (in 32-element array of block{in highp int f})
+0:? 'ivla' (layout(location=23 ) in 32-element array of highp 4-component vector of float)
+0:? 'ivlb' (layout(location=24 ) in 32-element array of highp 4-component vector of float)
+0:? 'ivlc' (layout(location=24 ) in 32-element array of highp 4-component vector of float)
+0:? 'ovla' (layout(location=23 ) out 2-element array of highp 4-component vector of float)
+0:? 'ovlb' (layout(location=24 ) out 2-element array of highp 4-component vector of float)
+0:? 'pinbi' (patch in block{in highp int a})
+0:? 'myColor2' (centroid out highp 3-component vector of float)
+0:? 'centr' (centroid in 32-element array of highp 3-component vector of float)
+0:? 'perSampleColor' (sample out highp 4-component vector of float)
+
diff --git a/Test/baseResults/310.vert.out b/Test/baseResults/310.vert.out
index 1430c61..73a33c4 100644
--- a/Test/baseResults/310.vert.out
+++ b/Test/baseResults/310.vert.out
@@ -1,1959 +1,1959 @@
-310.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:3: 'shared' : not supported in this stage: vertex
-ERROR: 0:4: 'local_size_x' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:5: 'buffer' : buffers can be declared only as blocks
-ERROR: 0:10: 'location' : overlapping use of location 3
-ERROR: 0:58: 'usampler2DMSArray' : Reserved word.
-ERROR: 0:58: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:67: 'textureSamples' : no matching overloaded function found
-ERROR: 0:69: 'assign' : l-value required "ini" (can't modify shader input)
-ERROR: 0:69: 'out' : Non-L-value cannot be passed for 'out' or 'inout' parameters.
-ERROR: 0:72: 'out' : cannot be bool
-ERROR: 0:73: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: outo
-ERROR: 0:75: 'vertex-shader array-of-array output' : not supported with this profile: es
-ERROR: 0:78: 'vertex-shader array-of-struct output' : not supported with this profile: es
-ERROR: 0:79: 'vertex-shader array-of-struct output' : not supported with this profile: es
-ERROR: 0:81: 'vertex-shader struct output containing an array' : not supported with this profile: es
-ERROR: 0:83: 'vertex-shader struct output containing structure' : not supported with this profile: es
-ERROR: 0:85: 'std430' : requires the 'buffer' storage qualifier
-ERROR: 0:97: 's' : member of block cannot be or contain a sampler, image, or atomic_uint type
-ERROR: 0:105: 'location' : overlapping use of location 12
-ERROR: 0:107: 'input block' : not supported in this stage: vertex
-ERROR: 0:109: 'gl_PerVertex' : block redeclaration has extra members
-ERROR: 0:119: 'gl_PointSize' : member of nameless block was not redeclared
-ERROR: 0:119: 'assign' : cannot convert from 'const float' to 'gl_PointSize highp void PointSize'
-ERROR: 0:122: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
-ERROR: 0:127: 'flat/smooth/noperspective' : cannot use interpolation qualifiers on an interface block
-ERROR: 0:131: 'flat/smooth/noperspective' : cannot use interpolation qualifiers on an interface block
-ERROR: 0:135: 'centroid' : cannot use centroid qualifier on an interface block
-ERROR: 0:139: 'invariant' : cannot use invariant qualifier on an interface block
-ERROR: 0:155: 'precise' : Reserved word.
-ERROR: 0:156: 'fma' : required extension not requested: Possible extensions include:
-GL_EXT_gpu_shader5
-GL_OES_gpu_shader5
-ERROR: 0:157: 'variable indexing sampler array' : not supported for this version or the enabled extensions
-ERROR: 0:161: 'variable indexing uniform block array' : not supported for this version or the enabled extensions
-ERROR: 0:162: 'variable indexing buffer block array' : not supported with this profile: es
-ERROR: 0:164: 'variable indexing sampler array' : not supported for this version or the enabled extensions
-ERROR: 0:165: 'non-constant offset argument' : not supported for this version or the enabled extensions
-ERROR: 0:166: 'textureGatherOffsets' : required extension not requested: Possible extensions include:
-GL_EXT_gpu_shader5
-GL_OES_gpu_shader5
-ERROR: 0:177: 'variable indexing buffer block array' : not supported with this profile: es
-ERROR: 0:182: 'textureGatherOffsets(...)' : must be a compile-time constant: offsets argument
-ERROR: 0:185: 'samplerBuffer' : Reserved word.
-ERROR: 0:185: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:186: 'isamplerBuffer' : Reserved word.
-ERROR: 0:186: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:187: 'usamplerBuffer' : Reserved word.
-ERROR: 0:187: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:188: 'imageBuffer' : Reserved word.
-ERROR: 0:188: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:189: 'iimageBuffer' : Reserved word.
-ERROR: 0:189: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:190: 'uimageBuffer' : Reserved word.
-ERROR: 0:190: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:195: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:196: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:197: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:198: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:199: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:200: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:235: 'imageCubeArray' : Reserved word.
-ERROR: 0:235: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:236: 'iimageCubeArray' : Reserved word.
-ERROR: 0:236: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:237: 'uimageCubeArray' : Reserved word.
-ERROR: 0:237: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:239: 'samplerCubeArray' : Reserved word.
-ERROR: 0:239: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:240: 'samplerCubeArrayShadow' : Reserved word.
-ERROR: 0:240: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:241: 'isamplerCubeArray' : Reserved word.
-ERROR: 0:241: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:242: 'usamplerCubeArray' : Reserved word.
-ERROR: 0:242: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:246: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:247: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:248: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:250: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:251: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:252: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:253: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:321: 'sampler2DMSArray' : Reserved word.
-ERROR: 0:321: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:322: 'isampler2DMSArray' : Reserved word.
-ERROR: 0:322: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:323: 'usampler2DMSArray' : Reserved word.
-ERROR: 0:323: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:329: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:330: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:331: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:351: 'textureSize' : no matching overloaded function found
-ERROR: 0:351: '=' : cannot convert from 'const float' to 'temp highp 3-component vector of int'
-ERROR: 0:389: 'sample' : Reserved word.
-ERROR: 0:400: 'interpolateAtCentroid' : no matching overloaded function found
-ERROR: 0:401: 'interpolateAtSample' : no matching overloaded function found
-ERROR: 0:402: 'interpolateAtOffset' : no matching overloaded function found
-ERROR: 92 compilation errors. No code generated.
-
-
-Shader version: 310
-Requested GL_EXT_texture_buffer
-Requested GL_OES_gpu_shader5
-Requested GL_OES_shader_image_atomic
-Requested GL_OES_shader_io_blocks
-Requested GL_OES_shader_multisample_interpolation
-Requested GL_OES_texture_buffer
-Requested GL_OES_texture_cube_map_array
-Requested GL_OES_texture_storage_multisample_2d_array
-ERROR: node is still EOpNull!
-0:12 Function Definition: main( (global void)
-0:12 Function Parameters:
-0:? Sequence
-0:15 move second child to first child (temp highp 2-component vector of uint)
-0:15 'u2' (temp highp 2-component vector of uint)
-0:15 addCarry (global highp 2-component vector of uint)
-0:15 'u2' (temp highp 2-component vector of uint)
-0:15 'u2' (temp highp 2-component vector of uint)
-0:15 'u2' (temp highp 2-component vector of uint)
-0:17 move second child to first child (temp highp uint)
-0:17 'u1' (temp highp uint)
-0:17 subBorrow (global highp uint)
-0:17 'u1' (temp highp uint)
-0:17 'u1' (temp highp uint)
-0:17 'u1' (temp highp uint)
-0:19 uMulExtended (global void)
-0:19 'u4' (temp highp 4-component vector of uint)
-0:19 'u4' (temp highp 4-component vector of uint)
-0:19 'u4' (temp highp 4-component vector of uint)
-0:19 'u4' (temp highp 4-component vector of uint)
-0:21 iMulExtended (global void)
-0:21 'i4' (temp highp 4-component vector of int)
-0:21 'i4' (temp highp 4-component vector of int)
-0:21 'i4' (temp highp 4-component vector of int)
-0:21 'i4' (temp highp 4-component vector of int)
-0:23 move second child to first child (temp highp int)
-0:23 'i1' (temp highp int)
-0:23 bitfieldExtract (global highp int)
-0:23 'i1' (temp highp int)
-0:23 Constant:
-0:23 4 (const int)
-0:23 Constant:
-0:23 5 (const int)
-0:25 move second child to first child (temp highp 3-component vector of uint)
-0:25 'u3' (temp highp 3-component vector of uint)
-0:25 bitfieldExtract (global highp 3-component vector of uint)
-0:25 'u3' (temp highp 3-component vector of uint)
-0:25 Constant:
-0:25 4 (const int)
-0:25 Constant:
-0:25 5 (const int)
-0:27 move second child to first child (temp highp 3-component vector of int)
-0:27 'i3' (temp highp 3-component vector of int)
-0:27 bitfieldInsert (global highp 3-component vector of int)
-0:27 'i3' (temp highp 3-component vector of int)
-0:27 'i3' (temp highp 3-component vector of int)
-0:27 Constant:
-0:27 4 (const int)
-0:27 Constant:
-0:27 5 (const int)
-0:28 move second child to first child (temp highp uint)
-0:28 'u1' (temp highp uint)
-0:28 bitfieldInsert (global highp uint)
-0:28 'u1' (temp highp uint)
-0:28 'u1' (temp highp uint)
-0:28 Constant:
-0:28 4 (const int)
-0:28 Constant:
-0:28 5 (const int)
-0:30 move second child to first child (temp highp 2-component vector of int)
-0:30 'i2' (temp highp 2-component vector of int)
-0:30 bitFieldReverse (global highp 2-component vector of int)
-0:30 'i2' (temp highp 2-component vector of int)
-0:31 move second child to first child (temp highp 4-component vector of uint)
-0:31 'u4' (temp highp 4-component vector of uint)
-0:31 bitFieldReverse (global highp 4-component vector of uint)
-0:31 'u4' (temp highp 4-component vector of uint)
-0:32 move second child to first child (temp highp int)
-0:32 'i1' (temp highp int)
-0:32 bitCount (global highp int)
-0:32 'i1' (temp highp int)
-0:33 move second child to first child (temp highp 3-component vector of int)
-0:33 'i3' (temp highp 3-component vector of int)
-0:33 bitCount (global highp 3-component vector of int)
-0:33 'u3' (temp highp 3-component vector of uint)
-0:34 move second child to first child (temp highp 2-component vector of int)
-0:34 'i2' (temp highp 2-component vector of int)
-0:34 findLSB (global highp 2-component vector of int)
-0:34 'i2' (temp highp 2-component vector of int)
-0:35 move second child to first child (temp highp 4-component vector of int)
-0:35 'i4' (temp highp 4-component vector of int)
-0:35 findLSB (global highp 4-component vector of int)
-0:35 'u4' (temp highp 4-component vector of uint)
-0:36 move second child to first child (temp highp int)
-0:36 'i1' (temp highp int)
-0:36 findMSB (global highp int)
-0:36 'i1' (temp highp int)
-0:37 move second child to first child (temp highp 2-component vector of int)
-0:37 'i2' (temp highp 2-component vector of int)
-0:37 findMSB (global highp 2-component vector of int)
-0:37 'u2' (temp highp 2-component vector of uint)
-0:40 move second child to first child (temp highp 3-component vector of float)
-0:40 'v3' (temp highp 3-component vector of float)
-0:40 frexp (global highp 3-component vector of float)
-0:40 'v3' (temp highp 3-component vector of float)
-0:40 'i3' (temp highp 3-component vector of int)
-0:42 move second child to first child (temp highp 2-component vector of float)
-0:42 'v2' (temp highp 2-component vector of float)
-0:42 ldexp (global highp 2-component vector of float)
-0:42 'v2' (temp highp 2-component vector of float)
-0:42 'i2' (temp highp 2-component vector of int)
-0:45 move second child to first child (temp highp uint)
-0:45 'u1' (temp highp uint)
-0:45 PackUnorm4x8 (global highp uint)
-0:45 'v4' (temp mediump 4-component vector of float)
-0:46 move second child to first child (temp highp uint)
-0:46 'u1' (temp highp uint)
-0:46 PackSnorm4x8 (global highp uint)
-0:46 'v4' (temp mediump 4-component vector of float)
-0:47 move second child to first child (temp mediump 4-component vector of float)
-0:47 'v4' (temp mediump 4-component vector of float)
-0:47 UnpackUnorm4x8 (global mediump 4-component vector of float)
-0:47 'u1' (temp highp uint)
-0:48 move second child to first child (temp mediump 4-component vector of float)
-0:48 'v4' (temp mediump 4-component vector of float)
-0:48 UnpackSnorm4x8 (global mediump 4-component vector of float)
-0:48 'u1' (temp highp uint)
-0:60 Function Definition: foo( (global void)
-0:60 Function Parameters:
-0:? Sequence
-0:63 move second child to first child (temp highp 2-component vector of int)
-0:63 'v2' (temp highp 2-component vector of int)
-0:63 textureSize (global highp 2-component vector of int)
-0:63 's2dms' (uniform highp sampler2DMS)
-0:64 move second child to first child (temp highp 2-component vector of int)
-0:64 'v2' (temp highp 2-component vector of int)
-0:64 textureSize (global highp 2-component vector of int)
-0:64 'us2dms' (uniform highp usampler2DMS)
-0:65 Sequence
-0:65 move second child to first child (temp highp 4-component vector of float)
-0:65 'v4' (temp highp 4-component vector of float)
-0:65 textureFetch (global highp 4-component vector of float)
-0:65 's2dms' (uniform highp sampler2DMS)
-0:65 'v2' (temp highp 2-component vector of int)
-0:65 Constant:
-0:65 2 (const int)
-0:66 Sequence
-0:66 move second child to first child (temp highp 4-component vector of int)
-0:66 'iv4' (temp highp 4-component vector of int)
-0:66 textureFetch (global highp 4-component vector of int)
-0:66 'is2dms' (uniform highp isampler2DMS)
-0:66 'v2' (temp highp 2-component vector of int)
-0:66 Constant:
-0:66 2 (const int)
-0:67 Constant:
-0:67 0.000000
-0:69 frexp (global highp float)
-0:69 'f' (temp highp float)
-0:69 'ini' (in highp int)
-0:114 Function Definition: foo_IO( (global void)
-0:114 Function Parameters:
-0:116 Sequence
-0:116 Sequence
-0:116 move second child to first child (temp highp int)
-0:116 'sum' (temp highp int)
-0:116 add (temp highp int)
-0:116 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:117 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-0:118 move second child to first child (temp highp 4-component vector of float)
-0:118 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position)
-0:118 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
-0:118 Constant:
-0:118 0 (const uint)
-0:118 Constant:
-0:118 1.000000
-0:118 1.000000
-0:118 1.000000
-0:118 1.000000
-0:119 gl_PointSize: direct index for structure (gl_PointSize highp void PointSize)
-0:119 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
-0:119 Constant:
-0:119 1 (const uint)
-0:153 Function Definition: pfooBad( (global void)
-0:153 Function Parameters:
-0:? Sequence
-0:156 move second child to first child (temp highp 2-component vector of float)
-0:156 'h' (temp highp 2-component vector of float)
-0:156 fma (global highp 2-component vector of float)
-0:156 'inf' (in highp 2-component vector of float)
-0:156 'ing' (in highp 2-component vector of float)
-0:156 'h' (temp highp 2-component vector of float)
-0:157 indirect index (temp highp sampler2D)
-0:157 'sArray' (uniform 4-element array of highp sampler2D)
-0:157 add (temp highp int)
-0:157 'sIndex' (uniform highp int)
-0:157 Constant:
-0:157 1 (const int)
-0:158 indirect index (layout(binding=0 offset=0 ) temp highp atomic_uint)
-0:158 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
-0:158 add (temp highp int)
-0:158 'sIndex' (uniform highp int)
-0:158 Constant:
-0:158 1 (const int)
-0:159 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
-0:159 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
-0:159 Constant:
-0:159 1 (const int)
-0:160 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
-0:160 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
-0:160 Constant:
-0:160 2 (const int)
-0:161 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
-0:161 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
-0:161 add (temp highp int)
-0:161 'sIndex' (uniform highp int)
-0:161 Constant:
-0:161 1 (const int)
-0:162 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
-0:162 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
-0:162 'sIndex' (uniform highp int)
-0:163 direct index (writeonly temp highp image2D)
-0:163 'iArray' (writeonly uniform 5-element array of highp image2D)
-0:163 Constant:
-0:163 2 (const int)
-0:164 indirect index (writeonly temp highp image2D)
-0:164 'iArray' (writeonly uniform 5-element array of highp image2D)
-0:164 component-wise multiply (temp highp int)
-0:164 'sIndex' (uniform highp int)
-0:164 Constant:
-0:164 2 (const int)
-0:165 textureGatherOffset (global highp 4-component vector of float)
-0:165 direct index (temp highp sampler2D)
-0:165 'sArray' (uniform 4-element array of highp sampler2D)
-0:165 Constant:
-0:165 0 (const int)
-0:165 Constant:
-0:165 0.100000
-0:165 0.100000
-0:165 Convert float to int (temp highp 2-component vector of int)
-0:165 'inf' (in highp 2-component vector of float)
-0:166 textureGatherOffsets (global highp 4-component vector of float)
-0:166 direct index (temp highp sampler2D)
-0:166 'sArray' (uniform 4-element array of highp sampler2D)
-0:166 Constant:
-0:166 0 (const int)
-0:166 Constant:
-0:166 0.100000
-0:166 0.100000
-0:166 Constant:
-0:166 0 (const int)
-0:166 0 (const int)
-0:166 0 (const int)
-0:166 0 (const int)
-0:166 0 (const int)
-0:166 0 (const int)
-0:166 0 (const int)
-0:166 0 (const int)
-0:171 Function Definition: pfoo( (global void)
-0:171 Function Parameters:
-0:? Sequence
-0:174 move second child to first child (temp highp 2-component vector of float)
-0:174 'h' (temp highp 2-component vector of float)
-0:174 fma (global highp 2-component vector of float)
-0:174 'inf' (in highp 2-component vector of float)
-0:174 'ing' (in highp 2-component vector of float)
-0:174 'h' (temp highp 2-component vector of float)
-0:175 indirect index (temp highp sampler2D)
-0:175 'sArray' (uniform 4-element array of highp sampler2D)
-0:175 add (temp highp int)
-0:175 'sIndex' (uniform highp int)
-0:175 Constant:
-0:175 1 (const int)
-0:176 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
-0:176 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
-0:176 add (temp highp int)
-0:176 'sIndex' (uniform highp int)
-0:176 Constant:
-0:176 1 (const int)
-0:177 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
-0:177 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
-0:177 subtract (temp highp int)
-0:177 'sIndex' (uniform highp int)
-0:177 Constant:
-0:177 2 (const int)
-0:178 direct index (writeonly temp highp image2D)
-0:178 'iArray' (writeonly uniform 5-element array of highp image2D)
-0:178 Constant:
-0:178 2 (const int)
-0:179 indirect index (writeonly temp highp image2D)
-0:179 'iArray' (writeonly uniform 5-element array of highp image2D)
-0:179 subtract (temp highp int)
-0:179 'sIndex' (uniform highp int)
-0:179 Constant:
-0:179 2 (const int)
-0:180 textureGatherOffset (global highp 4-component vector of float)
-0:180 direct index (temp highp sampler2D)
-0:180 'sArray' (uniform 4-element array of highp sampler2D)
-0:180 Constant:
-0:180 0 (const int)
-0:180 Constant:
-0:180 0.100000
-0:180 0.100000
-0:180 Convert float to int (temp highp 2-component vector of int)
-0:180 'inf' (in highp 2-component vector of float)
-0:181 textureGatherOffsets (global highp 4-component vector of float)
-0:181 direct index (temp highp sampler2D)
-0:181 'sArray' (uniform 4-element array of highp sampler2D)
-0:181 Constant:
-0:181 0 (const int)
-0:181 Constant:
-0:181 0.100000
-0:181 0.100000
-0:181 Constant:
-0:181 0 (const int)
-0:181 0 (const int)
-0:181 0 (const int)
-0:181 0 (const int)
-0:181 0 (const int)
-0:181 0 (const int)
-0:181 0 (const int)
-0:181 0 (const int)
-0:182 textureGatherOffsets (global highp 4-component vector of float)
-0:182 direct index (temp highp sampler2D)
-0:182 'sArray' (uniform 4-element array of highp sampler2D)
-0:182 Constant:
-0:182 0 (const int)
-0:182 Constant:
-0:182 0.100000
-0:182 0.100000
-0:182 'offsets' (uniform 4-element array of highp 2-component vector of int)
-0:220 Function Definition: bufferT( (global void)
-0:220 Function Parameters:
-0:222 Sequence
-0:222 Sequence
-0:222 move second child to first child (temp highp int)
-0:222 's1' (temp highp int)
-0:222 textureSize (global highp int)
-0:222 'bufSamp1' (uniform highp samplerBuffer)
-0:223 Sequence
-0:223 move second child to first child (temp highp int)
-0:223 's2' (temp highp int)
-0:223 textureSize (global highp int)
-0:223 'bufSamp2' (uniform highp isamplerBuffer)
-0:224 Sequence
-0:224 move second child to first child (temp highp int)
-0:224 's3' (temp highp int)
-0:224 textureSize (global highp int)
-0:224 'bufSamp3' (uniform highp usamplerBuffer)
-0:226 Sequence
-0:226 move second child to first child (temp highp int)
-0:226 's4' (temp highp int)
-0:226 imageQuerySize (global highp int)
-0:226 'bufSamp4' (writeonly uniform highp imageBuffer)
-0:227 Sequence
-0:227 move second child to first child (temp highp int)
-0:227 's5' (temp highp int)
-0:227 imageQuerySize (global highp int)
-0:227 'bufSamp5' (writeonly uniform highp iimageBuffer)
-0:228 Sequence
-0:228 move second child to first child (temp highp int)
-0:228 's6' (temp highp int)
-0:228 imageQuerySize (global highp int)
-0:228 'bufSamp6' (writeonly uniform highp uimageBuffer)
-0:230 Sequence
-0:230 move second child to first child (temp highp 4-component vector of float)
-0:230 'f1' (temp highp 4-component vector of float)
-0:230 textureFetch (global highp 4-component vector of float)
-0:230 'bufSamp1' (uniform highp samplerBuffer)
-0:230 's1' (temp highp int)
-0:231 Sequence
-0:231 move second child to first child (temp highp 4-component vector of int)
-0:231 'f2' (temp highp 4-component vector of int)
-0:231 textureFetch (global highp 4-component vector of int)
-0:231 'bufSamp2' (uniform highp isamplerBuffer)
-0:231 's2' (temp highp int)
-0:232 Sequence
-0:232 move second child to first child (temp highp 4-component vector of uint)
-0:232 'f3' (temp highp 4-component vector of uint)
-0:232 textureFetch (global highp 4-component vector of uint)
-0:232 'bufSamp3' (uniform highp usamplerBuffer)
-0:232 's3' (temp highp int)
-0:279 Function Definition: CAT( (global void)
-0:279 Function Parameters:
-0:281 Sequence
-0:281 Sequence
-0:281 move second child to first child (temp highp 3-component vector of int)
-0:281 's4' (temp highp 3-component vector of int)
-0:281 textureSize (global highp 3-component vector of int)
-0:281 'CA4' (uniform highp samplerCubeArray)
-0:281 Constant:
-0:281 1 (const int)
-0:282 Sequence
-0:282 move second child to first child (temp highp 3-component vector of int)
-0:282 's5' (temp highp 3-component vector of int)
-0:282 textureSize (global highp 3-component vector of int)
-0:282 'CA5' (uniform highp samplerCubeArrayShadow)
-0:282 Constant:
-0:282 1 (const int)
-0:283 Sequence
-0:283 move second child to first child (temp highp 3-component vector of int)
-0:283 's6' (temp highp 3-component vector of int)
-0:283 textureSize (global highp 3-component vector of int)
-0:283 'CA6' (uniform highp isamplerCubeArray)
-0:283 Constant:
-0:283 1 (const int)
-0:284 Sequence
-0:284 move second child to first child (temp highp 3-component vector of int)
-0:284 's7' (temp highp 3-component vector of int)
-0:284 textureSize (global highp 3-component vector of int)
-0:284 'CA7' (uniform highp usamplerCubeArray)
-0:284 Constant:
-0:284 1 (const int)
-0:286 Sequence
-0:286 move second child to first child (temp highp 4-component vector of float)
-0:286 't4' (temp highp 4-component vector of float)
-0:286 texture (global highp 4-component vector of float)
-0:286 'CA4' (uniform highp samplerCubeArray)
-0:286 Constant:
-0:286 0.500000
-0:286 0.500000
-0:286 0.500000
-0:286 0.500000
-0:287 Sequence
-0:287 move second child to first child (temp highp float)
-0:287 't5' (temp highp float)
-0:287 texture (global highp float)
-0:287 'CA5' (uniform highp samplerCubeArrayShadow)
-0:287 Constant:
-0:287 0.500000
-0:287 0.500000
-0:287 0.500000
-0:287 0.500000
-0:287 Constant:
-0:287 3.000000
-0:288 Sequence
-0:288 move second child to first child (temp highp 4-component vector of int)
-0:288 't6' (temp highp 4-component vector of int)
-0:288 texture (global highp 4-component vector of int)
-0:288 'CA6' (uniform highp isamplerCubeArray)
-0:288 Constant:
-0:288 0.500000
-0:288 0.500000
-0:288 0.500000
-0:288 0.500000
-0:289 Sequence
-0:289 move second child to first child (temp highp 4-component vector of uint)
-0:289 't7' (temp highp 4-component vector of uint)
-0:289 texture (global highp 4-component vector of uint)
-0:289 'CA7' (uniform highp usamplerCubeArray)
-0:289 Constant:
-0:289 0.500000
-0:289 0.500000
-0:289 0.500000
-0:289 0.500000
-0:291 Sequence
-0:291 move second child to first child (temp highp 4-component vector of float)
-0:291 'L4' (temp highp 4-component vector of float)
-0:291 textureLod (global highp 4-component vector of float)
-0:291 'CA4' (uniform highp samplerCubeArray)
-0:291 Constant:
-0:291 0.500000
-0:291 0.500000
-0:291 0.500000
-0:291 0.500000
-0:291 Constant:
-0:291 0.240000
-0:292 Sequence
-0:292 move second child to first child (temp highp 4-component vector of int)
-0:292 'L6' (temp highp 4-component vector of int)
-0:292 textureLod (global highp 4-component vector of int)
-0:292 'CA6' (uniform highp isamplerCubeArray)
-0:292 Constant:
-0:292 0.500000
-0:292 0.500000
-0:292 0.500000
-0:292 0.500000
-0:292 Constant:
-0:292 0.260000
-0:293 Sequence
-0:293 move second child to first child (temp highp 4-component vector of uint)
-0:293 'L7' (temp highp 4-component vector of uint)
-0:293 textureLod (global highp 4-component vector of uint)
-0:293 'CA7' (uniform highp usamplerCubeArray)
-0:293 Constant:
-0:293 0.500000
-0:293 0.500000
-0:293 0.500000
-0:293 0.500000
-0:293 Constant:
-0:293 0.270000
-0:295 Sequence
-0:295 move second child to first child (temp highp 4-component vector of float)
-0:295 'g4' (temp highp 4-component vector of float)
-0:295 textureGrad (global highp 4-component vector of float)
-0:295 'CA4' (uniform highp samplerCubeArray)
-0:295 Constant:
-0:295 0.500000
-0:295 0.500000
-0:295 0.500000
-0:295 0.500000
-0:295 Constant:
-0:295 0.100000
-0:295 0.100000
-0:295 0.100000
-0:295 Constant:
-0:295 0.200000
-0:295 0.200000
-0:295 0.200000
-0:296 Sequence
-0:296 move second child to first child (temp highp 4-component vector of int)
-0:296 'g6' (temp highp 4-component vector of int)
-0:296 textureGrad (global highp 4-component vector of int)
-0:296 'CA6' (uniform highp isamplerCubeArray)
-0:296 Constant:
-0:296 0.500000
-0:296 0.500000
-0:296 0.500000
-0:296 0.500000
-0:296 Constant:
-0:296 0.100000
-0:296 0.100000
-0:296 0.100000
-0:296 Constant:
-0:296 0.200000
-0:296 0.200000
-0:296 0.200000
-0:297 Sequence
-0:297 move second child to first child (temp highp 4-component vector of uint)
-0:297 'g7' (temp highp 4-component vector of uint)
-0:297 textureGrad (global highp 4-component vector of uint)
-0:297 'CA7' (uniform highp usamplerCubeArray)
-0:297 Constant:
-0:297 0.500000
-0:297 0.500000
-0:297 0.500000
-0:297 0.500000
-0:297 Constant:
-0:297 0.100000
-0:297 0.100000
-0:297 0.100000
-0:297 Constant:
-0:297 0.200000
-0:297 0.200000
-0:297 0.200000
-0:299 Sequence
-0:299 move second child to first child (temp highp 4-component vector of float)
-0:299 'gath4' (temp highp 4-component vector of float)
-0:299 textureGather (global highp 4-component vector of float)
-0:299 'CA4' (uniform highp samplerCubeArray)
-0:299 Constant:
-0:299 0.500000
-0:299 0.500000
-0:299 0.500000
-0:299 0.500000
-0:300 Sequence
-0:300 move second child to first child (temp highp 4-component vector of float)
-0:300 'gathC4' (temp highp 4-component vector of float)
-0:300 textureGather (global highp 4-component vector of float)
-0:300 'CA4' (uniform highp samplerCubeArray)
-0:300 Constant:
-0:300 0.500000
-0:300 0.500000
-0:300 0.500000
-0:300 0.500000
-0:300 Constant:
-0:300 2 (const int)
-0:301 Sequence
-0:301 move second child to first child (temp highp 4-component vector of int)
-0:301 'gath6' (temp highp 4-component vector of int)
-0:301 textureGather (global highp 4-component vector of int)
-0:301 'CA6' (uniform highp isamplerCubeArray)
-0:301 Constant:
-0:301 0.500000
-0:301 0.500000
-0:301 0.500000
-0:301 0.500000
-0:302 Sequence
-0:302 move second child to first child (temp highp 4-component vector of int)
-0:302 'gathC6' (temp highp 4-component vector of int)
-0:302 textureGather (global highp 4-component vector of int)
-0:302 'CA6' (uniform highp isamplerCubeArray)
-0:302 Constant:
-0:302 0.500000
-0:302 0.500000
-0:302 0.500000
-0:302 0.500000
-0:302 Constant:
-0:302 1 (const int)
-0:303 Sequence
-0:303 move second child to first child (temp highp 4-component vector of uint)
-0:303 'gath7' (temp highp 4-component vector of uint)
-0:303 textureGather (global highp 4-component vector of uint)
-0:303 'CA7' (uniform highp usamplerCubeArray)
-0:303 Constant:
-0:303 0.500000
-0:303 0.500000
-0:303 0.500000
-0:303 0.500000
-0:304 Sequence
-0:304 move second child to first child (temp highp 4-component vector of uint)
-0:304 'gathC7' (temp highp 4-component vector of uint)
-0:304 textureGather (global highp 4-component vector of uint)
-0:304 'CA7' (uniform highp usamplerCubeArray)
-0:304 Constant:
-0:304 0.500000
-0:304 0.500000
-0:304 0.500000
-0:304 0.500000
-0:304 Constant:
-0:304 0 (const int)
-0:306 Sequence
-0:306 move second child to first child (temp highp 4-component vector of float)
-0:306 'gath5' (temp highp 4-component vector of float)
-0:306 textureGather (global highp 4-component vector of float)
-0:306 'CA5' (uniform highp samplerCubeArrayShadow)
-0:306 Constant:
-0:306 0.500000
-0:306 0.500000
-0:306 0.500000
-0:306 0.500000
-0:306 Constant:
-0:306 2.500000
-0:308 Sequence
-0:308 move second child to first child (temp highp 3-component vector of int)
-0:308 's1' (temp highp 3-component vector of int)
-0:308 imageQuerySize (global highp 3-component vector of int)
-0:308 'CA1' (writeonly uniform highp imageCubeArray)
-0:309 Sequence
-0:309 move second child to first child (temp highp 3-component vector of int)
-0:309 's2' (temp highp 3-component vector of int)
-0:309 imageQuerySize (global highp 3-component vector of int)
-0:309 'CA2' (writeonly uniform highp iimageCubeArray)
-0:310 Sequence
-0:310 move second child to first child (temp highp 3-component vector of int)
-0:310 's3' (temp highp 3-component vector of int)
-0:310 imageQuerySize (global highp 3-component vector of int)
-0:310 'CA3' (writeonly uniform highp uimageCubeArray)
-0:312 imageStore (global highp void)
-0:312 'CA1' (writeonly uniform highp imageCubeArray)
-0:312 's3' (temp highp 3-component vector of int)
-0:312 Constant:
-0:312 1.000000
-0:312 1.000000
-0:312 1.000000
-0:312 1.000000
-0:313 imageStore (global highp void)
-0:313 'CA2' (writeonly uniform highp iimageCubeArray)
-0:313 's3' (temp highp 3-component vector of int)
-0:313 Constant:
-0:313 1 (const int)
-0:313 1 (const int)
-0:313 1 (const int)
-0:313 1 (const int)
-0:314 imageStore (global highp void)
-0:314 'CA3' (writeonly uniform highp uimageCubeArray)
-0:314 's3' (temp highp 3-component vector of int)
-0:314 Constant:
-0:314 1 (const uint)
-0:314 1 (const uint)
-0:314 1 (const uint)
-0:314 1 (const uint)
-0:316 Sequence
-0:316 move second child to first child (temp highp 4-component vector of float)
-0:316 'cl1' (temp highp 4-component vector of float)
-0:316 imageLoad (global highp 4-component vector of float)
-0:316 'rCA1' (layout(rgba16f ) readonly uniform highp imageCubeArray)
-0:316 's3' (temp highp 3-component vector of int)
-0:317 Sequence
-0:317 move second child to first child (temp highp 4-component vector of int)
-0:317 'cl2' (temp highp 4-component vector of int)
-0:317 imageLoad (global highp 4-component vector of int)
-0:317 'rCA2' (layout(rgba32i ) readonly uniform highp iimageCubeArray)
-0:317 's3' (temp highp 3-component vector of int)
-0:318 Sequence
-0:318 move second child to first child (temp highp 4-component vector of uint)
-0:318 'cl3' (temp highp 4-component vector of uint)
-0:318 imageLoad (global highp 4-component vector of uint)
-0:318 'rCA3' (layout(r32ui ) readonly uniform highp uimageCubeArray)
-0:318 's3' (temp highp 3-component vector of int)
-0:343 Function Definition: MSA( (global void)
-0:343 Function Parameters:
-0:345 Sequence
-0:345 Sequence
-0:345 move second child to first child (temp highp 4-component vector of float)
-0:345 'tf' (temp highp 4-component vector of float)
-0:345 textureFetch (global highp 4-component vector of float)
-0:345 'samp2DMSA' (uniform highp sampler2DMSArray)
-0:345 Constant:
-0:345 5 (const int)
-0:345 5 (const int)
-0:345 5 (const int)
-0:345 Constant:
-0:345 2 (const int)
-0:346 Sequence
-0:346 move second child to first child (temp highp 4-component vector of int)
-0:346 'tfi' (temp highp 4-component vector of int)
-0:346 textureFetch (global highp 4-component vector of int)
-0:346 'samp2DMSAi' (uniform highp isampler2DMSArray)
-0:346 Constant:
-0:346 5 (const int)
-0:346 5 (const int)
-0:346 5 (const int)
-0:346 Constant:
-0:346 2 (const int)
-0:347 Sequence
-0:347 move second child to first child (temp highp 4-component vector of uint)
-0:347 'tfu' (temp highp 4-component vector of uint)
-0:347 textureFetch (global highp 4-component vector of uint)
-0:347 'samp2DMSAu' (uniform highp usampler2DMSArray)
-0:347 Constant:
-0:347 5 (const int)
-0:347 5 (const int)
-0:347 5 (const int)
-0:347 Constant:
-0:347 2 (const int)
-0:349 Sequence
-0:349 move second child to first child (temp highp 3-component vector of int)
-0:349 'tfs' (temp highp 3-component vector of int)
-0:349 textureSize (global highp 3-component vector of int)
-0:349 'samp2DMSA' (uniform highp sampler2DMSArray)
-0:350 Sequence
-0:350 move second child to first child (temp highp 3-component vector of int)
-0:350 'tfsi' (temp highp 3-component vector of int)
-0:350 textureSize (global highp 3-component vector of int)
-0:350 'samp2DMSAi' (uniform highp isampler2DMSArray)
-0:352 Sequence
-0:352 move second child to first child (temp highp 3-component vector of int)
-0:352 'tfsu' (temp highp 3-component vector of int)
-0:352 textureSize (global highp 3-component vector of int)
-0:352 'samp2DMSAu' (uniform highp usampler2DMSArray)
-0:364 Function Definition: goodImageAtom( (global void)
-0:364 Function Parameters:
-0:? Sequence
-0:370 imageAtomicAdd (global highp int)
-0:370 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:370 'P' (uniform highp 2-component vector of int)
-0:370 'dati' (temp highp int)
-0:371 imageAtomicAdd (global highp uint)
-0:371 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:371 'P' (uniform highp 2-component vector of int)
-0:371 'datu' (temp highp uint)
-0:372 imageAtomicMin (global highp int)
-0:372 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:372 'P' (uniform highp 2-component vector of int)
-0:372 'dati' (temp highp int)
-0:373 imageAtomicMin (global highp uint)
-0:373 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:373 'P' (uniform highp 2-component vector of int)
-0:373 'datu' (temp highp uint)
-0:374 imageAtomicMax (global highp int)
-0:374 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:374 'P' (uniform highp 2-component vector of int)
-0:374 'dati' (temp highp int)
-0:375 imageAtomicMax (global highp uint)
-0:375 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:375 'P' (uniform highp 2-component vector of int)
-0:375 'datu' (temp highp uint)
-0:376 imageAtomicAnd (global highp int)
-0:376 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:376 'P' (uniform highp 2-component vector of int)
-0:376 'dati' (temp highp int)
-0:377 imageAtomicAnd (global highp uint)
-0:377 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:377 'P' (uniform highp 2-component vector of int)
-0:377 'datu' (temp highp uint)
-0:378 imageAtomicOr (global highp int)
-0:378 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:378 'P' (uniform highp 2-component vector of int)
-0:378 'dati' (temp highp int)
-0:379 imageAtomicOr (global highp uint)
-0:379 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:379 'P' (uniform highp 2-component vector of int)
-0:379 'datu' (temp highp uint)
-0:380 imageAtomicXor (global highp int)
-0:380 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:380 'P' (uniform highp 2-component vector of int)
-0:380 'dati' (temp highp int)
-0:381 imageAtomicXor (global highp uint)
-0:381 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:381 'P' (uniform highp 2-component vector of int)
-0:381 'datu' (temp highp uint)
-0:382 imageAtomicExchange (global highp int)
-0:382 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:382 'P' (uniform highp 2-component vector of int)
-0:382 'dati' (temp highp int)
-0:383 imageAtomicExchange (global highp uint)
-0:383 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:383 'P' (uniform highp 2-component vector of int)
-0:383 'datu' (temp highp uint)
-0:384 imageAtomicExchange (global highp float)
-0:384 'im2Df' (layout(r32f ) uniform highp image2D)
-0:384 'P' (uniform highp 2-component vector of int)
-0:384 'datf' (temp highp float)
-0:385 imageAtomicCompSwap (global highp int)
-0:385 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:385 'P' (uniform highp 2-component vector of int)
-0:385 Constant:
-0:385 3 (const int)
-0:385 'dati' (temp highp int)
-0:386 imageAtomicCompSwap (global highp uint)
-0:386 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:386 'P' (uniform highp 2-component vector of int)
-0:386 Constant:
-0:386 5 (const uint)
-0:386 'datu' (temp highp uint)
-0:398 Function Definition: badInterp( (global void)
-0:398 Function Parameters:
-0:400 Sequence
-0:400 Constant:
-0:400 0.000000
-0:401 Constant:
-0:401 0.000000
-0:402 Constant:
-0:402 0.000000
-0:? Linker Objects
-0:? 's' (shared highp 4-component vector of float)
-0:? 'v' (buffer highp 4-component vector of float)
-0:? 'ini' (in highp int)
-0:? 'x' (layout(location=2 ) uniform highp 4X4 matrix of float)
-0:? 'y' (layout(location=3 ) uniform highp 4X4 matrix of float)
-0:? 'xi' (layout(location=2 ) smooth out highp 4X4 matrix of float)
-0:? 'yi' (layout(location=3 ) smooth out highp 4X4 matrix of float)
-0:? 's2dms' (uniform highp sampler2DMS)
-0:? 'is2dms' (uniform highp isampler2DMS)
-0:? 'us2dms' (uniform highp usampler2DMS)
-0:? 'us2dmsa' (uniform mediump usampler2DMSArray)
-0:? 'outb' (smooth out bool)
-0:? 'outo' (smooth out highp sampler2D)
-0:? 'outa' (smooth out 4-element array of highp float)
-0:? 'outaa' (smooth out 4-element array of 2-element array of highp float)
-0:? 'outs' (smooth out structure{global highp float f})
-0:? 'outasa' (smooth out 4-element array of structure{global highp float f})
-0:? 'outsa' (smooth out 4-element array of structure{global highp float f})
-0:? 'outSA' (smooth out structure{global 4-element array of highp float f})
-0:? 'outSS' (smooth out structure{global highp float f, global structure{global highp float f} s})
-0:? 'U430i' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform highp int a})
-0:? 'B430i' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer highp int a})
-0:? 'outbinst' (out block{out highp int a, out highp 4-component vector of float v, out highp sampler2D s})
-0:? 'anon@0' (out block{layout(location=12 ) out highp int aAnon, layout(location=13 ) out highp 4-component vector of float vAnon})
-0:? 'aliased' (layout(location=12 ) smooth out highp int)
-0:? 'inbinst' (in block{in highp int a})
-0:? 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
-0:? 'smon' (smooth out block{out highp int i})
-0:? 'fmon' (flat out block{out highp int i})
-0:? 'cmon' (centroid out block{out highp int i})
-0:? 'imon' (invariant out block{out highp int i})
-0:? 'inf' (in highp 2-component vector of float)
-0:? 'ing' (in highp 2-component vector of float)
-0:? 'offsets' (uniform 4-element array of highp 2-component vector of int)
-0:? 'sArray' (uniform 4-element array of highp sampler2D)
-0:? 'sIndex' (uniform highp int)
-0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
-0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
-0:? 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
-0:? 'iArray' (writeonly uniform 5-element array of highp image2D)
-0:? 'constOffsets' (const 4-element array of highp 2-component vector of int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 'badSamp1' (uniform mediump samplerBuffer)
-0:? 'badSamp2' (uniform mediump isamplerBuffer)
-0:? 'badSamp3' (uniform mediump usamplerBuffer)
-0:? 'badSamp4' (writeonly uniform mediump imageBuffer)
-0:? 'badSamp5' (writeonly uniform mediump iimageBuffer)
-0:? 'badSamp6' (writeonly uniform mediump uimageBuffer)
-0:? 'noPreSamp1' (uniform mediump samplerBuffer)
-0:? 'noPreSamp2' (uniform mediump isamplerBuffer)
-0:? 'noPreSamp3' (uniform mediump usamplerBuffer)
-0:? 'noPreSamp4' (writeonly uniform mediump imageBuffer)
-0:? 'noPreSamp5' (writeonly uniform mediump iimageBuffer)
-0:? 'noPreSamp6' (writeonly uniform mediump uimageBuffer)
-0:? 'bufSamp1' (uniform highp samplerBuffer)
-0:? 'bufSamp2' (uniform highp isamplerBuffer)
-0:? 'bufSamp3' (uniform highp usamplerBuffer)
-0:? 'bufSamp4' (writeonly uniform highp imageBuffer)
-0:? 'bufSamp5' (writeonly uniform highp iimageBuffer)
-0:? 'bufSamp6' (writeonly uniform highp uimageBuffer)
-0:? 'badCA1' (writeonly uniform mediump imageCubeArray)
-0:? 'badCA2' (writeonly uniform mediump iimageCubeArray)
-0:? 'badCA3' (writeonly uniform mediump uimageCubeArray)
-0:? 'badCA4' (uniform mediump samplerCubeArray)
-0:? 'badCA5' (uniform mediump samplerCubeArrayShadow)
-0:? 'badCA6' (uniform mediump isamplerCubeArray)
-0:? 'badCA7' (uniform mediump usamplerCubeArray)
-0:? 'noPreCA1' (writeonly uniform mediump imageCubeArray)
-0:? 'noPreCA2' (writeonly uniform mediump iimageCubeArray)
-0:? 'noPreCA3' (writeonly uniform mediump uimageCubeArray)
-0:? 'noPreCA4' (uniform mediump samplerCubeArray)
-0:? 'noPreCA5' (uniform mediump samplerCubeArrayShadow)
-0:? 'noPreCA6' (uniform mediump isamplerCubeArray)
-0:? 'noPreCA7' (uniform mediump usamplerCubeArray)
-0:? 'CA1' (writeonly uniform highp imageCubeArray)
-0:? 'CA2' (writeonly uniform highp iimageCubeArray)
-0:? 'CA3' (writeonly uniform highp uimageCubeArray)
-0:? 'rCA1' (layout(rgba16f ) readonly uniform highp imageCubeArray)
-0:? 'rCA2' (layout(rgba32i ) readonly uniform highp iimageCubeArray)
-0:? 'rCA3' (layout(r32ui ) readonly uniform highp uimageCubeArray)
-0:? 'CA4' (uniform highp samplerCubeArray)
-0:? 'CA5' (uniform highp samplerCubeArrayShadow)
-0:? 'CA6' (uniform highp isamplerCubeArray)
-0:? 'CA7' (uniform highp usamplerCubeArray)
-0:? 'bad2DMS' (uniform mediump sampler2DMSArray)
-0:? 'bad2DMSi' (uniform mediump isampler2DMSArray)
-0:? 'bad2DMSu' (uniform mediump usampler2DMSArray)
-0:? 'noPrec2DMS' (uniform mediump sampler2DMSArray)
-0:? 'noPrec2DMSi' (uniform mediump isampler2DMSArray)
-0:? 'noPrec2DMSu' (uniform mediump usampler2DMSArray)
-0:? 'samp2DMSA' (uniform highp sampler2DMSArray)
-0:? 'samp2DMSAi' (uniform highp isampler2DMSArray)
-0:? 'samp2DMSAu' (uniform highp usampler2DMSArray)
-0:? 'im2Df' (layout(r32f ) uniform highp image2D)
-0:? 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:? 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:? 'P' (uniform highp 2-component vector of int)
-0:? 'colorSampInBad' (smooth sample out highp 4-component vector of float)
-0:? 'colorSample' (smooth sample out highp 4-component vector of float)
-0:? 'colorfsi' (flat sample out highp 4-component vector of float)
-0:? 'sampInArray' (smooth sample out 4-element array of highp 3-component vector of float)
-0:? 'inv4' (in highp 4-component vector of float)
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 310
-Requested GL_EXT_texture_buffer
-Requested GL_OES_gpu_shader5
-Requested GL_OES_shader_image_atomic
-Requested GL_OES_shader_io_blocks
-Requested GL_OES_shader_multisample_interpolation
-Requested GL_OES_texture_buffer
-Requested GL_OES_texture_cube_map_array
-Requested GL_OES_texture_storage_multisample_2d_array
-ERROR: node is still EOpNull!
-0:12 Function Definition: main( (global void)
-0:12 Function Parameters:
-0:? Sequence
-0:15 move second child to first child (temp highp 2-component vector of uint)
-0:15 'u2' (temp highp 2-component vector of uint)
-0:15 addCarry (global highp 2-component vector of uint)
-0:15 'u2' (temp highp 2-component vector of uint)
-0:15 'u2' (temp highp 2-component vector of uint)
-0:15 'u2' (temp highp 2-component vector of uint)
-0:17 move second child to first child (temp highp uint)
-0:17 'u1' (temp highp uint)
-0:17 subBorrow (global highp uint)
-0:17 'u1' (temp highp uint)
-0:17 'u1' (temp highp uint)
-0:17 'u1' (temp highp uint)
-0:19 uMulExtended (global void)
-0:19 'u4' (temp highp 4-component vector of uint)
-0:19 'u4' (temp highp 4-component vector of uint)
-0:19 'u4' (temp highp 4-component vector of uint)
-0:19 'u4' (temp highp 4-component vector of uint)
-0:21 iMulExtended (global void)
-0:21 'i4' (temp highp 4-component vector of int)
-0:21 'i4' (temp highp 4-component vector of int)
-0:21 'i4' (temp highp 4-component vector of int)
-0:21 'i4' (temp highp 4-component vector of int)
-0:23 move second child to first child (temp highp int)
-0:23 'i1' (temp highp int)
-0:23 bitfieldExtract (global highp int)
-0:23 'i1' (temp highp int)
-0:23 Constant:
-0:23 4 (const int)
-0:23 Constant:
-0:23 5 (const int)
-0:25 move second child to first child (temp highp 3-component vector of uint)
-0:25 'u3' (temp highp 3-component vector of uint)
-0:25 bitfieldExtract (global highp 3-component vector of uint)
-0:25 'u3' (temp highp 3-component vector of uint)
-0:25 Constant:
-0:25 4 (const int)
-0:25 Constant:
-0:25 5 (const int)
-0:27 move second child to first child (temp highp 3-component vector of int)
-0:27 'i3' (temp highp 3-component vector of int)
-0:27 bitfieldInsert (global highp 3-component vector of int)
-0:27 'i3' (temp highp 3-component vector of int)
-0:27 'i3' (temp highp 3-component vector of int)
-0:27 Constant:
-0:27 4 (const int)
-0:27 Constant:
-0:27 5 (const int)
-0:28 move second child to first child (temp highp uint)
-0:28 'u1' (temp highp uint)
-0:28 bitfieldInsert (global highp uint)
-0:28 'u1' (temp highp uint)
-0:28 'u1' (temp highp uint)
-0:28 Constant:
-0:28 4 (const int)
-0:28 Constant:
-0:28 5 (const int)
-0:30 move second child to first child (temp highp 2-component vector of int)
-0:30 'i2' (temp highp 2-component vector of int)
-0:30 bitFieldReverse (global highp 2-component vector of int)
-0:30 'i2' (temp highp 2-component vector of int)
-0:31 move second child to first child (temp highp 4-component vector of uint)
-0:31 'u4' (temp highp 4-component vector of uint)
-0:31 bitFieldReverse (global highp 4-component vector of uint)
-0:31 'u4' (temp highp 4-component vector of uint)
-0:32 move second child to first child (temp highp int)
-0:32 'i1' (temp highp int)
-0:32 bitCount (global highp int)
-0:32 'i1' (temp highp int)
-0:33 move second child to first child (temp highp 3-component vector of int)
-0:33 'i3' (temp highp 3-component vector of int)
-0:33 bitCount (global highp 3-component vector of int)
-0:33 'u3' (temp highp 3-component vector of uint)
-0:34 move second child to first child (temp highp 2-component vector of int)
-0:34 'i2' (temp highp 2-component vector of int)
-0:34 findLSB (global highp 2-component vector of int)
-0:34 'i2' (temp highp 2-component vector of int)
-0:35 move second child to first child (temp highp 4-component vector of int)
-0:35 'i4' (temp highp 4-component vector of int)
-0:35 findLSB (global highp 4-component vector of int)
-0:35 'u4' (temp highp 4-component vector of uint)
-0:36 move second child to first child (temp highp int)
-0:36 'i1' (temp highp int)
-0:36 findMSB (global highp int)
-0:36 'i1' (temp highp int)
-0:37 move second child to first child (temp highp 2-component vector of int)
-0:37 'i2' (temp highp 2-component vector of int)
-0:37 findMSB (global highp 2-component vector of int)
-0:37 'u2' (temp highp 2-component vector of uint)
-0:40 move second child to first child (temp highp 3-component vector of float)
-0:40 'v3' (temp highp 3-component vector of float)
-0:40 frexp (global highp 3-component vector of float)
-0:40 'v3' (temp highp 3-component vector of float)
-0:40 'i3' (temp highp 3-component vector of int)
-0:42 move second child to first child (temp highp 2-component vector of float)
-0:42 'v2' (temp highp 2-component vector of float)
-0:42 ldexp (global highp 2-component vector of float)
-0:42 'v2' (temp highp 2-component vector of float)
-0:42 'i2' (temp highp 2-component vector of int)
-0:45 move second child to first child (temp highp uint)
-0:45 'u1' (temp highp uint)
-0:45 PackUnorm4x8 (global highp uint)
-0:45 'v4' (temp mediump 4-component vector of float)
-0:46 move second child to first child (temp highp uint)
-0:46 'u1' (temp highp uint)
-0:46 PackSnorm4x8 (global highp uint)
-0:46 'v4' (temp mediump 4-component vector of float)
-0:47 move second child to first child (temp mediump 4-component vector of float)
-0:47 'v4' (temp mediump 4-component vector of float)
-0:47 UnpackUnorm4x8 (global mediump 4-component vector of float)
-0:47 'u1' (temp highp uint)
-0:48 move second child to first child (temp mediump 4-component vector of float)
-0:48 'v4' (temp mediump 4-component vector of float)
-0:48 UnpackSnorm4x8 (global mediump 4-component vector of float)
-0:48 'u1' (temp highp uint)
-0:60 Function Definition: foo( (global void)
-0:60 Function Parameters:
-0:? Sequence
-0:63 move second child to first child (temp highp 2-component vector of int)
-0:63 'v2' (temp highp 2-component vector of int)
-0:63 textureSize (global highp 2-component vector of int)
-0:63 's2dms' (uniform highp sampler2DMS)
-0:64 move second child to first child (temp highp 2-component vector of int)
-0:64 'v2' (temp highp 2-component vector of int)
-0:64 textureSize (global highp 2-component vector of int)
-0:64 'us2dms' (uniform highp usampler2DMS)
-0:65 Sequence
-0:65 move second child to first child (temp highp 4-component vector of float)
-0:65 'v4' (temp highp 4-component vector of float)
-0:65 textureFetch (global highp 4-component vector of float)
-0:65 's2dms' (uniform highp sampler2DMS)
-0:65 'v2' (temp highp 2-component vector of int)
-0:65 Constant:
-0:65 2 (const int)
-0:66 Sequence
-0:66 move second child to first child (temp highp 4-component vector of int)
-0:66 'iv4' (temp highp 4-component vector of int)
-0:66 textureFetch (global highp 4-component vector of int)
-0:66 'is2dms' (uniform highp isampler2DMS)
-0:66 'v2' (temp highp 2-component vector of int)
-0:66 Constant:
-0:66 2 (const int)
-0:67 Constant:
-0:67 0.000000
-0:69 frexp (global highp float)
-0:69 'f' (temp highp float)
-0:69 'ini' (in highp int)
-0:114 Function Definition: foo_IO( (global void)
-0:114 Function Parameters:
-0:116 Sequence
-0:116 Sequence
-0:116 move second child to first child (temp highp int)
-0:116 'sum' (temp highp int)
-0:116 add (temp highp int)
-0:116 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:117 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-0:118 move second child to first child (temp highp 4-component vector of float)
-0:118 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position)
-0:118 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
-0:118 Constant:
-0:118 0 (const uint)
-0:118 Constant:
-0:118 1.000000
-0:118 1.000000
-0:118 1.000000
-0:118 1.000000
-0:119 gl_PointSize: direct index for structure (gl_PointSize highp void PointSize)
-0:119 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
-0:119 Constant:
-0:119 1 (const uint)
-0:153 Function Definition: pfooBad( (global void)
-0:153 Function Parameters:
-0:? Sequence
-0:156 move second child to first child (temp highp 2-component vector of float)
-0:156 'h' (temp highp 2-component vector of float)
-0:156 fma (global highp 2-component vector of float)
-0:156 'inf' (in highp 2-component vector of float)
-0:156 'ing' (in highp 2-component vector of float)
-0:156 'h' (temp highp 2-component vector of float)
-0:157 indirect index (temp highp sampler2D)
-0:157 'sArray' (uniform 4-element array of highp sampler2D)
-0:157 add (temp highp int)
-0:157 'sIndex' (uniform highp int)
-0:157 Constant:
-0:157 1 (const int)
-0:158 indirect index (layout(binding=0 offset=0 ) temp highp atomic_uint)
-0:158 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
-0:158 add (temp highp int)
-0:158 'sIndex' (uniform highp int)
-0:158 Constant:
-0:158 1 (const int)
-0:159 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
-0:159 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
-0:159 Constant:
-0:159 1 (const int)
-0:160 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
-0:160 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
-0:160 Constant:
-0:160 2 (const int)
-0:161 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
-0:161 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
-0:161 add (temp highp int)
-0:161 'sIndex' (uniform highp int)
-0:161 Constant:
-0:161 1 (const int)
-0:162 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
-0:162 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
-0:162 'sIndex' (uniform highp int)
-0:163 direct index (writeonly temp highp image2D)
-0:163 'iArray' (writeonly uniform 5-element array of highp image2D)
-0:163 Constant:
-0:163 2 (const int)
-0:164 indirect index (writeonly temp highp image2D)
-0:164 'iArray' (writeonly uniform 5-element array of highp image2D)
-0:164 component-wise multiply (temp highp int)
-0:164 'sIndex' (uniform highp int)
-0:164 Constant:
-0:164 2 (const int)
-0:165 textureGatherOffset (global highp 4-component vector of float)
-0:165 direct index (temp highp sampler2D)
-0:165 'sArray' (uniform 4-element array of highp sampler2D)
-0:165 Constant:
-0:165 0 (const int)
-0:165 Constant:
-0:165 0.100000
-0:165 0.100000
-0:165 Convert float to int (temp highp 2-component vector of int)
-0:165 'inf' (in highp 2-component vector of float)
-0:166 textureGatherOffsets (global highp 4-component vector of float)
-0:166 direct index (temp highp sampler2D)
-0:166 'sArray' (uniform 4-element array of highp sampler2D)
-0:166 Constant:
-0:166 0 (const int)
-0:166 Constant:
-0:166 0.100000
-0:166 0.100000
-0:166 Constant:
-0:166 0 (const int)
-0:166 0 (const int)
-0:166 0 (const int)
-0:166 0 (const int)
-0:166 0 (const int)
-0:166 0 (const int)
-0:166 0 (const int)
-0:166 0 (const int)
-0:171 Function Definition: pfoo( (global void)
-0:171 Function Parameters:
-0:? Sequence
-0:174 move second child to first child (temp highp 2-component vector of float)
-0:174 'h' (temp highp 2-component vector of float)
-0:174 fma (global highp 2-component vector of float)
-0:174 'inf' (in highp 2-component vector of float)
-0:174 'ing' (in highp 2-component vector of float)
-0:174 'h' (temp highp 2-component vector of float)
-0:175 indirect index (temp highp sampler2D)
-0:175 'sArray' (uniform 4-element array of highp sampler2D)
-0:175 add (temp highp int)
-0:175 'sIndex' (uniform highp int)
-0:175 Constant:
-0:175 1 (const int)
-0:176 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
-0:176 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
-0:176 add (temp highp int)
-0:176 'sIndex' (uniform highp int)
-0:176 Constant:
-0:176 1 (const int)
-0:177 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
-0:177 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
-0:177 subtract (temp highp int)
-0:177 'sIndex' (uniform highp int)
-0:177 Constant:
-0:177 2 (const int)
-0:178 direct index (writeonly temp highp image2D)
-0:178 'iArray' (writeonly uniform 5-element array of highp image2D)
-0:178 Constant:
-0:178 2 (const int)
-0:179 indirect index (writeonly temp highp image2D)
-0:179 'iArray' (writeonly uniform 5-element array of highp image2D)
-0:179 subtract (temp highp int)
-0:179 'sIndex' (uniform highp int)
-0:179 Constant:
-0:179 2 (const int)
-0:180 textureGatherOffset (global highp 4-component vector of float)
-0:180 direct index (temp highp sampler2D)
-0:180 'sArray' (uniform 4-element array of highp sampler2D)
-0:180 Constant:
-0:180 0 (const int)
-0:180 Constant:
-0:180 0.100000
-0:180 0.100000
-0:180 Convert float to int (temp highp 2-component vector of int)
-0:180 'inf' (in highp 2-component vector of float)
-0:181 textureGatherOffsets (global highp 4-component vector of float)
-0:181 direct index (temp highp sampler2D)
-0:181 'sArray' (uniform 4-element array of highp sampler2D)
-0:181 Constant:
-0:181 0 (const int)
-0:181 Constant:
-0:181 0.100000
-0:181 0.100000
-0:181 Constant:
-0:181 0 (const int)
-0:181 0 (const int)
-0:181 0 (const int)
-0:181 0 (const int)
-0:181 0 (const int)
-0:181 0 (const int)
-0:181 0 (const int)
-0:181 0 (const int)
-0:182 textureGatherOffsets (global highp 4-component vector of float)
-0:182 direct index (temp highp sampler2D)
-0:182 'sArray' (uniform 4-element array of highp sampler2D)
-0:182 Constant:
-0:182 0 (const int)
-0:182 Constant:
-0:182 0.100000
-0:182 0.100000
-0:182 'offsets' (uniform 4-element array of highp 2-component vector of int)
-0:220 Function Definition: bufferT( (global void)
-0:220 Function Parameters:
-0:222 Sequence
-0:222 Sequence
-0:222 move second child to first child (temp highp int)
-0:222 's1' (temp highp int)
-0:222 textureSize (global highp int)
-0:222 'bufSamp1' (uniform highp samplerBuffer)
-0:223 Sequence
-0:223 move second child to first child (temp highp int)
-0:223 's2' (temp highp int)
-0:223 textureSize (global highp int)
-0:223 'bufSamp2' (uniform highp isamplerBuffer)
-0:224 Sequence
-0:224 move second child to first child (temp highp int)
-0:224 's3' (temp highp int)
-0:224 textureSize (global highp int)
-0:224 'bufSamp3' (uniform highp usamplerBuffer)
-0:226 Sequence
-0:226 move second child to first child (temp highp int)
-0:226 's4' (temp highp int)
-0:226 imageQuerySize (global highp int)
-0:226 'bufSamp4' (writeonly uniform highp imageBuffer)
-0:227 Sequence
-0:227 move second child to first child (temp highp int)
-0:227 's5' (temp highp int)
-0:227 imageQuerySize (global highp int)
-0:227 'bufSamp5' (writeonly uniform highp iimageBuffer)
-0:228 Sequence
-0:228 move second child to first child (temp highp int)
-0:228 's6' (temp highp int)
-0:228 imageQuerySize (global highp int)
-0:228 'bufSamp6' (writeonly uniform highp uimageBuffer)
-0:230 Sequence
-0:230 move second child to first child (temp highp 4-component vector of float)
-0:230 'f1' (temp highp 4-component vector of float)
-0:230 textureFetch (global highp 4-component vector of float)
-0:230 'bufSamp1' (uniform highp samplerBuffer)
-0:230 's1' (temp highp int)
-0:231 Sequence
-0:231 move second child to first child (temp highp 4-component vector of int)
-0:231 'f2' (temp highp 4-component vector of int)
-0:231 textureFetch (global highp 4-component vector of int)
-0:231 'bufSamp2' (uniform highp isamplerBuffer)
-0:231 's2' (temp highp int)
-0:232 Sequence
-0:232 move second child to first child (temp highp 4-component vector of uint)
-0:232 'f3' (temp highp 4-component vector of uint)
-0:232 textureFetch (global highp 4-component vector of uint)
-0:232 'bufSamp3' (uniform highp usamplerBuffer)
-0:232 's3' (temp highp int)
-0:279 Function Definition: CAT( (global void)
-0:279 Function Parameters:
-0:281 Sequence
-0:281 Sequence
-0:281 move second child to first child (temp highp 3-component vector of int)
-0:281 's4' (temp highp 3-component vector of int)
-0:281 textureSize (global highp 3-component vector of int)
-0:281 'CA4' (uniform highp samplerCubeArray)
-0:281 Constant:
-0:281 1 (const int)
-0:282 Sequence
-0:282 move second child to first child (temp highp 3-component vector of int)
-0:282 's5' (temp highp 3-component vector of int)
-0:282 textureSize (global highp 3-component vector of int)
-0:282 'CA5' (uniform highp samplerCubeArrayShadow)
-0:282 Constant:
-0:282 1 (const int)
-0:283 Sequence
-0:283 move second child to first child (temp highp 3-component vector of int)
-0:283 's6' (temp highp 3-component vector of int)
-0:283 textureSize (global highp 3-component vector of int)
-0:283 'CA6' (uniform highp isamplerCubeArray)
-0:283 Constant:
-0:283 1 (const int)
-0:284 Sequence
-0:284 move second child to first child (temp highp 3-component vector of int)
-0:284 's7' (temp highp 3-component vector of int)
-0:284 textureSize (global highp 3-component vector of int)
-0:284 'CA7' (uniform highp usamplerCubeArray)
-0:284 Constant:
-0:284 1 (const int)
-0:286 Sequence
-0:286 move second child to first child (temp highp 4-component vector of float)
-0:286 't4' (temp highp 4-component vector of float)
-0:286 texture (global highp 4-component vector of float)
-0:286 'CA4' (uniform highp samplerCubeArray)
-0:286 Constant:
-0:286 0.500000
-0:286 0.500000
-0:286 0.500000
-0:286 0.500000
-0:287 Sequence
-0:287 move second child to first child (temp highp float)
-0:287 't5' (temp highp float)
-0:287 texture (global highp float)
-0:287 'CA5' (uniform highp samplerCubeArrayShadow)
-0:287 Constant:
-0:287 0.500000
-0:287 0.500000
-0:287 0.500000
-0:287 0.500000
-0:287 Constant:
-0:287 3.000000
-0:288 Sequence
-0:288 move second child to first child (temp highp 4-component vector of int)
-0:288 't6' (temp highp 4-component vector of int)
-0:288 texture (global highp 4-component vector of int)
-0:288 'CA6' (uniform highp isamplerCubeArray)
-0:288 Constant:
-0:288 0.500000
-0:288 0.500000
-0:288 0.500000
-0:288 0.500000
-0:289 Sequence
-0:289 move second child to first child (temp highp 4-component vector of uint)
-0:289 't7' (temp highp 4-component vector of uint)
-0:289 texture (global highp 4-component vector of uint)
-0:289 'CA7' (uniform highp usamplerCubeArray)
-0:289 Constant:
-0:289 0.500000
-0:289 0.500000
-0:289 0.500000
-0:289 0.500000
-0:291 Sequence
-0:291 move second child to first child (temp highp 4-component vector of float)
-0:291 'L4' (temp highp 4-component vector of float)
-0:291 textureLod (global highp 4-component vector of float)
-0:291 'CA4' (uniform highp samplerCubeArray)
-0:291 Constant:
-0:291 0.500000
-0:291 0.500000
-0:291 0.500000
-0:291 0.500000
-0:291 Constant:
-0:291 0.240000
-0:292 Sequence
-0:292 move second child to first child (temp highp 4-component vector of int)
-0:292 'L6' (temp highp 4-component vector of int)
-0:292 textureLod (global highp 4-component vector of int)
-0:292 'CA6' (uniform highp isamplerCubeArray)
-0:292 Constant:
-0:292 0.500000
-0:292 0.500000
-0:292 0.500000
-0:292 0.500000
-0:292 Constant:
-0:292 0.260000
-0:293 Sequence
-0:293 move second child to first child (temp highp 4-component vector of uint)
-0:293 'L7' (temp highp 4-component vector of uint)
-0:293 textureLod (global highp 4-component vector of uint)
-0:293 'CA7' (uniform highp usamplerCubeArray)
-0:293 Constant:
-0:293 0.500000
-0:293 0.500000
-0:293 0.500000
-0:293 0.500000
-0:293 Constant:
-0:293 0.270000
-0:295 Sequence
-0:295 move second child to first child (temp highp 4-component vector of float)
-0:295 'g4' (temp highp 4-component vector of float)
-0:295 textureGrad (global highp 4-component vector of float)
-0:295 'CA4' (uniform highp samplerCubeArray)
-0:295 Constant:
-0:295 0.500000
-0:295 0.500000
-0:295 0.500000
-0:295 0.500000
-0:295 Constant:
-0:295 0.100000
-0:295 0.100000
-0:295 0.100000
-0:295 Constant:
-0:295 0.200000
-0:295 0.200000
-0:295 0.200000
-0:296 Sequence
-0:296 move second child to first child (temp highp 4-component vector of int)
-0:296 'g6' (temp highp 4-component vector of int)
-0:296 textureGrad (global highp 4-component vector of int)
-0:296 'CA6' (uniform highp isamplerCubeArray)
-0:296 Constant:
-0:296 0.500000
-0:296 0.500000
-0:296 0.500000
-0:296 0.500000
-0:296 Constant:
-0:296 0.100000
-0:296 0.100000
-0:296 0.100000
-0:296 Constant:
-0:296 0.200000
-0:296 0.200000
-0:296 0.200000
-0:297 Sequence
-0:297 move second child to first child (temp highp 4-component vector of uint)
-0:297 'g7' (temp highp 4-component vector of uint)
-0:297 textureGrad (global highp 4-component vector of uint)
-0:297 'CA7' (uniform highp usamplerCubeArray)
-0:297 Constant:
-0:297 0.500000
-0:297 0.500000
-0:297 0.500000
-0:297 0.500000
-0:297 Constant:
-0:297 0.100000
-0:297 0.100000
-0:297 0.100000
-0:297 Constant:
-0:297 0.200000
-0:297 0.200000
-0:297 0.200000
-0:299 Sequence
-0:299 move second child to first child (temp highp 4-component vector of float)
-0:299 'gath4' (temp highp 4-component vector of float)
-0:299 textureGather (global highp 4-component vector of float)
-0:299 'CA4' (uniform highp samplerCubeArray)
-0:299 Constant:
-0:299 0.500000
-0:299 0.500000
-0:299 0.500000
-0:299 0.500000
-0:300 Sequence
-0:300 move second child to first child (temp highp 4-component vector of float)
-0:300 'gathC4' (temp highp 4-component vector of float)
-0:300 textureGather (global highp 4-component vector of float)
-0:300 'CA4' (uniform highp samplerCubeArray)
-0:300 Constant:
-0:300 0.500000
-0:300 0.500000
-0:300 0.500000
-0:300 0.500000
-0:300 Constant:
-0:300 2 (const int)
-0:301 Sequence
-0:301 move second child to first child (temp highp 4-component vector of int)
-0:301 'gath6' (temp highp 4-component vector of int)
-0:301 textureGather (global highp 4-component vector of int)
-0:301 'CA6' (uniform highp isamplerCubeArray)
-0:301 Constant:
-0:301 0.500000
-0:301 0.500000
-0:301 0.500000
-0:301 0.500000
-0:302 Sequence
-0:302 move second child to first child (temp highp 4-component vector of int)
-0:302 'gathC6' (temp highp 4-component vector of int)
-0:302 textureGather (global highp 4-component vector of int)
-0:302 'CA6' (uniform highp isamplerCubeArray)
-0:302 Constant:
-0:302 0.500000
-0:302 0.500000
-0:302 0.500000
-0:302 0.500000
-0:302 Constant:
-0:302 1 (const int)
-0:303 Sequence
-0:303 move second child to first child (temp highp 4-component vector of uint)
-0:303 'gath7' (temp highp 4-component vector of uint)
-0:303 textureGather (global highp 4-component vector of uint)
-0:303 'CA7' (uniform highp usamplerCubeArray)
-0:303 Constant:
-0:303 0.500000
-0:303 0.500000
-0:303 0.500000
-0:303 0.500000
-0:304 Sequence
-0:304 move second child to first child (temp highp 4-component vector of uint)
-0:304 'gathC7' (temp highp 4-component vector of uint)
-0:304 textureGather (global highp 4-component vector of uint)
-0:304 'CA7' (uniform highp usamplerCubeArray)
-0:304 Constant:
-0:304 0.500000
-0:304 0.500000
-0:304 0.500000
-0:304 0.500000
-0:304 Constant:
-0:304 0 (const int)
-0:306 Sequence
-0:306 move second child to first child (temp highp 4-component vector of float)
-0:306 'gath5' (temp highp 4-component vector of float)
-0:306 textureGather (global highp 4-component vector of float)
-0:306 'CA5' (uniform highp samplerCubeArrayShadow)
-0:306 Constant:
-0:306 0.500000
-0:306 0.500000
-0:306 0.500000
-0:306 0.500000
-0:306 Constant:
-0:306 2.500000
-0:308 Sequence
-0:308 move second child to first child (temp highp 3-component vector of int)
-0:308 's1' (temp highp 3-component vector of int)
-0:308 imageQuerySize (global highp 3-component vector of int)
-0:308 'CA1' (writeonly uniform highp imageCubeArray)
-0:309 Sequence
-0:309 move second child to first child (temp highp 3-component vector of int)
-0:309 's2' (temp highp 3-component vector of int)
-0:309 imageQuerySize (global highp 3-component vector of int)
-0:309 'CA2' (writeonly uniform highp iimageCubeArray)
-0:310 Sequence
-0:310 move second child to first child (temp highp 3-component vector of int)
-0:310 's3' (temp highp 3-component vector of int)
-0:310 imageQuerySize (global highp 3-component vector of int)
-0:310 'CA3' (writeonly uniform highp uimageCubeArray)
-0:312 imageStore (global highp void)
-0:312 'CA1' (writeonly uniform highp imageCubeArray)
-0:312 's3' (temp highp 3-component vector of int)
-0:312 Constant:
-0:312 1.000000
-0:312 1.000000
-0:312 1.000000
-0:312 1.000000
-0:313 imageStore (global highp void)
-0:313 'CA2' (writeonly uniform highp iimageCubeArray)
-0:313 's3' (temp highp 3-component vector of int)
-0:313 Constant:
-0:313 1 (const int)
-0:313 1 (const int)
-0:313 1 (const int)
-0:313 1 (const int)
-0:314 imageStore (global highp void)
-0:314 'CA3' (writeonly uniform highp uimageCubeArray)
-0:314 's3' (temp highp 3-component vector of int)
-0:314 Constant:
-0:314 1 (const uint)
-0:314 1 (const uint)
-0:314 1 (const uint)
-0:314 1 (const uint)
-0:316 Sequence
-0:316 move second child to first child (temp highp 4-component vector of float)
-0:316 'cl1' (temp highp 4-component vector of float)
-0:316 imageLoad (global highp 4-component vector of float)
-0:316 'rCA1' (layout(rgba16f ) readonly uniform highp imageCubeArray)
-0:316 's3' (temp highp 3-component vector of int)
-0:317 Sequence
-0:317 move second child to first child (temp highp 4-component vector of int)
-0:317 'cl2' (temp highp 4-component vector of int)
-0:317 imageLoad (global highp 4-component vector of int)
-0:317 'rCA2' (layout(rgba32i ) readonly uniform highp iimageCubeArray)
-0:317 's3' (temp highp 3-component vector of int)
-0:318 Sequence
-0:318 move second child to first child (temp highp 4-component vector of uint)
-0:318 'cl3' (temp highp 4-component vector of uint)
-0:318 imageLoad (global highp 4-component vector of uint)
-0:318 'rCA3' (layout(r32ui ) readonly uniform highp uimageCubeArray)
-0:318 's3' (temp highp 3-component vector of int)
-0:343 Function Definition: MSA( (global void)
-0:343 Function Parameters:
-0:345 Sequence
-0:345 Sequence
-0:345 move second child to first child (temp highp 4-component vector of float)
-0:345 'tf' (temp highp 4-component vector of float)
-0:345 textureFetch (global highp 4-component vector of float)
-0:345 'samp2DMSA' (uniform highp sampler2DMSArray)
-0:345 Constant:
-0:345 5 (const int)
-0:345 5 (const int)
-0:345 5 (const int)
-0:345 Constant:
-0:345 2 (const int)
-0:346 Sequence
-0:346 move second child to first child (temp highp 4-component vector of int)
-0:346 'tfi' (temp highp 4-component vector of int)
-0:346 textureFetch (global highp 4-component vector of int)
-0:346 'samp2DMSAi' (uniform highp isampler2DMSArray)
-0:346 Constant:
-0:346 5 (const int)
-0:346 5 (const int)
-0:346 5 (const int)
-0:346 Constant:
-0:346 2 (const int)
-0:347 Sequence
-0:347 move second child to first child (temp highp 4-component vector of uint)
-0:347 'tfu' (temp highp 4-component vector of uint)
-0:347 textureFetch (global highp 4-component vector of uint)
-0:347 'samp2DMSAu' (uniform highp usampler2DMSArray)
-0:347 Constant:
-0:347 5 (const int)
-0:347 5 (const int)
-0:347 5 (const int)
-0:347 Constant:
-0:347 2 (const int)
-0:349 Sequence
-0:349 move second child to first child (temp highp 3-component vector of int)
-0:349 'tfs' (temp highp 3-component vector of int)
-0:349 textureSize (global highp 3-component vector of int)
-0:349 'samp2DMSA' (uniform highp sampler2DMSArray)
-0:350 Sequence
-0:350 move second child to first child (temp highp 3-component vector of int)
-0:350 'tfsi' (temp highp 3-component vector of int)
-0:350 textureSize (global highp 3-component vector of int)
-0:350 'samp2DMSAi' (uniform highp isampler2DMSArray)
-0:352 Sequence
-0:352 move second child to first child (temp highp 3-component vector of int)
-0:352 'tfsu' (temp highp 3-component vector of int)
-0:352 textureSize (global highp 3-component vector of int)
-0:352 'samp2DMSAu' (uniform highp usampler2DMSArray)
-0:364 Function Definition: goodImageAtom( (global void)
-0:364 Function Parameters:
-0:? Sequence
-0:370 imageAtomicAdd (global highp int)
-0:370 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:370 'P' (uniform highp 2-component vector of int)
-0:370 'dati' (temp highp int)
-0:371 imageAtomicAdd (global highp uint)
-0:371 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:371 'P' (uniform highp 2-component vector of int)
-0:371 'datu' (temp highp uint)
-0:372 imageAtomicMin (global highp int)
-0:372 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:372 'P' (uniform highp 2-component vector of int)
-0:372 'dati' (temp highp int)
-0:373 imageAtomicMin (global highp uint)
-0:373 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:373 'P' (uniform highp 2-component vector of int)
-0:373 'datu' (temp highp uint)
-0:374 imageAtomicMax (global highp int)
-0:374 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:374 'P' (uniform highp 2-component vector of int)
-0:374 'dati' (temp highp int)
-0:375 imageAtomicMax (global highp uint)
-0:375 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:375 'P' (uniform highp 2-component vector of int)
-0:375 'datu' (temp highp uint)
-0:376 imageAtomicAnd (global highp int)
-0:376 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:376 'P' (uniform highp 2-component vector of int)
-0:376 'dati' (temp highp int)
-0:377 imageAtomicAnd (global highp uint)
-0:377 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:377 'P' (uniform highp 2-component vector of int)
-0:377 'datu' (temp highp uint)
-0:378 imageAtomicOr (global highp int)
-0:378 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:378 'P' (uniform highp 2-component vector of int)
-0:378 'dati' (temp highp int)
-0:379 imageAtomicOr (global highp uint)
-0:379 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:379 'P' (uniform highp 2-component vector of int)
-0:379 'datu' (temp highp uint)
-0:380 imageAtomicXor (global highp int)
-0:380 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:380 'P' (uniform highp 2-component vector of int)
-0:380 'dati' (temp highp int)
-0:381 imageAtomicXor (global highp uint)
-0:381 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:381 'P' (uniform highp 2-component vector of int)
-0:381 'datu' (temp highp uint)
-0:382 imageAtomicExchange (global highp int)
-0:382 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:382 'P' (uniform highp 2-component vector of int)
-0:382 'dati' (temp highp int)
-0:383 imageAtomicExchange (global highp uint)
-0:383 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:383 'P' (uniform highp 2-component vector of int)
-0:383 'datu' (temp highp uint)
-0:384 imageAtomicExchange (global highp float)
-0:384 'im2Df' (layout(r32f ) uniform highp image2D)
-0:384 'P' (uniform highp 2-component vector of int)
-0:384 'datf' (temp highp float)
-0:385 imageAtomicCompSwap (global highp int)
-0:385 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:385 'P' (uniform highp 2-component vector of int)
-0:385 Constant:
-0:385 3 (const int)
-0:385 'dati' (temp highp int)
-0:386 imageAtomicCompSwap (global highp uint)
-0:386 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:386 'P' (uniform highp 2-component vector of int)
-0:386 Constant:
-0:386 5 (const uint)
-0:386 'datu' (temp highp uint)
-0:398 Function Definition: badInterp( (global void)
-0:398 Function Parameters:
-0:400 Sequence
-0:400 Constant:
-0:400 0.000000
-0:401 Constant:
-0:401 0.000000
-0:402 Constant:
-0:402 0.000000
-0:? Linker Objects
-0:? 's' (shared highp 4-component vector of float)
-0:? 'v' (buffer highp 4-component vector of float)
-0:? 'ini' (in highp int)
-0:? 'x' (layout(location=2 ) uniform highp 4X4 matrix of float)
-0:? 'y' (layout(location=3 ) uniform highp 4X4 matrix of float)
-0:? 'xi' (layout(location=2 ) smooth out highp 4X4 matrix of float)
-0:? 'yi' (layout(location=3 ) smooth out highp 4X4 matrix of float)
-0:? 's2dms' (uniform highp sampler2DMS)
-0:? 'is2dms' (uniform highp isampler2DMS)
-0:? 'us2dms' (uniform highp usampler2DMS)
-0:? 'us2dmsa' (uniform mediump usampler2DMSArray)
-0:? 'outb' (smooth out bool)
-0:? 'outo' (smooth out highp sampler2D)
-0:? 'outa' (smooth out 4-element array of highp float)
-0:? 'outaa' (smooth out 4-element array of 2-element array of highp float)
-0:? 'outs' (smooth out structure{global highp float f})
-0:? 'outasa' (smooth out 4-element array of structure{global highp float f})
-0:? 'outsa' (smooth out 4-element array of structure{global highp float f})
-0:? 'outSA' (smooth out structure{global 4-element array of highp float f})
-0:? 'outSS' (smooth out structure{global highp float f, global structure{global highp float f} s})
-0:? 'U430i' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform highp int a})
-0:? 'B430i' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer highp int a})
-0:? 'outbinst' (out block{out highp int a, out highp 4-component vector of float v, out highp sampler2D s})
-0:? 'anon@0' (out block{layout(location=12 ) out highp int aAnon, layout(location=13 ) out highp 4-component vector of float vAnon})
-0:? 'aliased' (layout(location=12 ) smooth out highp int)
-0:? 'inbinst' (in block{in highp int a})
-0:? 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
-0:? 'smon' (smooth out block{out highp int i})
-0:? 'fmon' (flat out block{out highp int i})
-0:? 'cmon' (centroid out block{out highp int i})
-0:? 'imon' (invariant out block{out highp int i})
-0:? 'inf' (in highp 2-component vector of float)
-0:? 'ing' (in highp 2-component vector of float)
-0:? 'offsets' (uniform 4-element array of highp 2-component vector of int)
-0:? 'sArray' (uniform 4-element array of highp sampler2D)
-0:? 'sIndex' (uniform highp int)
-0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
-0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
-0:? 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
-0:? 'iArray' (writeonly uniform 5-element array of highp image2D)
-0:? 'constOffsets' (const 4-element array of highp 2-component vector of int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 0 (const int)
-0:? 'badSamp1' (uniform mediump samplerBuffer)
-0:? 'badSamp2' (uniform mediump isamplerBuffer)
-0:? 'badSamp3' (uniform mediump usamplerBuffer)
-0:? 'badSamp4' (writeonly uniform mediump imageBuffer)
-0:? 'badSamp5' (writeonly uniform mediump iimageBuffer)
-0:? 'badSamp6' (writeonly uniform mediump uimageBuffer)
-0:? 'noPreSamp1' (uniform mediump samplerBuffer)
-0:? 'noPreSamp2' (uniform mediump isamplerBuffer)
-0:? 'noPreSamp3' (uniform mediump usamplerBuffer)
-0:? 'noPreSamp4' (writeonly uniform mediump imageBuffer)
-0:? 'noPreSamp5' (writeonly uniform mediump iimageBuffer)
-0:? 'noPreSamp6' (writeonly uniform mediump uimageBuffer)
-0:? 'bufSamp1' (uniform highp samplerBuffer)
-0:? 'bufSamp2' (uniform highp isamplerBuffer)
-0:? 'bufSamp3' (uniform highp usamplerBuffer)
-0:? 'bufSamp4' (writeonly uniform highp imageBuffer)
-0:? 'bufSamp5' (writeonly uniform highp iimageBuffer)
-0:? 'bufSamp6' (writeonly uniform highp uimageBuffer)
-0:? 'badCA1' (writeonly uniform mediump imageCubeArray)
-0:? 'badCA2' (writeonly uniform mediump iimageCubeArray)
-0:? 'badCA3' (writeonly uniform mediump uimageCubeArray)
-0:? 'badCA4' (uniform mediump samplerCubeArray)
-0:? 'badCA5' (uniform mediump samplerCubeArrayShadow)
-0:? 'badCA6' (uniform mediump isamplerCubeArray)
-0:? 'badCA7' (uniform mediump usamplerCubeArray)
-0:? 'noPreCA1' (writeonly uniform mediump imageCubeArray)
-0:? 'noPreCA2' (writeonly uniform mediump iimageCubeArray)
-0:? 'noPreCA3' (writeonly uniform mediump uimageCubeArray)
-0:? 'noPreCA4' (uniform mediump samplerCubeArray)
-0:? 'noPreCA5' (uniform mediump samplerCubeArrayShadow)
-0:? 'noPreCA6' (uniform mediump isamplerCubeArray)
-0:? 'noPreCA7' (uniform mediump usamplerCubeArray)
-0:? 'CA1' (writeonly uniform highp imageCubeArray)
-0:? 'CA2' (writeonly uniform highp iimageCubeArray)
-0:? 'CA3' (writeonly uniform highp uimageCubeArray)
-0:? 'rCA1' (layout(rgba16f ) readonly uniform highp imageCubeArray)
-0:? 'rCA2' (layout(rgba32i ) readonly uniform highp iimageCubeArray)
-0:? 'rCA3' (layout(r32ui ) readonly uniform highp uimageCubeArray)
-0:? 'CA4' (uniform highp samplerCubeArray)
-0:? 'CA5' (uniform highp samplerCubeArrayShadow)
-0:? 'CA6' (uniform highp isamplerCubeArray)
-0:? 'CA7' (uniform highp usamplerCubeArray)
-0:? 'bad2DMS' (uniform mediump sampler2DMSArray)
-0:? 'bad2DMSi' (uniform mediump isampler2DMSArray)
-0:? 'bad2DMSu' (uniform mediump usampler2DMSArray)
-0:? 'noPrec2DMS' (uniform mediump sampler2DMSArray)
-0:? 'noPrec2DMSi' (uniform mediump isampler2DMSArray)
-0:? 'noPrec2DMSu' (uniform mediump usampler2DMSArray)
-0:? 'samp2DMSA' (uniform highp sampler2DMSArray)
-0:? 'samp2DMSAi' (uniform highp isampler2DMSArray)
-0:? 'samp2DMSAu' (uniform highp usampler2DMSArray)
-0:? 'im2Df' (layout(r32f ) uniform highp image2D)
-0:? 'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:? 'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:? 'P' (uniform highp 2-component vector of int)
-0:? 'colorSampInBad' (smooth sample out highp 4-component vector of float)
-0:? 'colorSample' (smooth sample out highp 4-component vector of float)
-0:? 'colorfsi' (flat sample out highp 4-component vector of float)
-0:? 'sampInArray' (smooth sample out 4-element array of highp 3-component vector of float)
-0:? 'inv4' (in highp 4-component vector of float)
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
+310.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:3: 'shared' : not supported in this stage: vertex
+ERROR: 0:4: 'local_size_x' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:5: 'buffer' : buffers can be declared only as blocks
+ERROR: 0:10: 'location' : overlapping use of location 3
+ERROR: 0:58: 'usampler2DMSArray' : Reserved word.
+ERROR: 0:58: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:67: 'textureSamples' : no matching overloaded function found
+ERROR: 0:69: 'assign' : l-value required "ini" (can't modify shader input)
+ERROR: 0:69: 'out' : Non-L-value cannot be passed for 'out' or 'inout' parameters.
+ERROR: 0:72: 'out' : cannot be bool
+ERROR: 0:73: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: outo
+ERROR: 0:75: 'vertex-shader array-of-array output' : not supported with this profile: es
+ERROR: 0:78: 'vertex-shader array-of-struct output' : not supported with this profile: es
+ERROR: 0:79: 'vertex-shader array-of-struct output' : not supported with this profile: es
+ERROR: 0:81: 'vertex-shader struct output containing an array' : not supported with this profile: es
+ERROR: 0:83: 'vertex-shader struct output containing structure' : not supported with this profile: es
+ERROR: 0:85: 'std430' : requires the 'buffer' storage qualifier
+ERROR: 0:97: 's' : member of block cannot be or contain a sampler, image, or atomic_uint type
+ERROR: 0:105: 'location' : overlapping use of location 12
+ERROR: 0:107: 'input block' : not supported in this stage: vertex
+ERROR: 0:109: 'gl_PerVertex' : block redeclaration has extra members
+ERROR: 0:119: 'gl_PointSize' : member of nameless block was not redeclared
+ERROR: 0:119: 'assign' : cannot convert from 'const float' to 'gl_PointSize highp void PointSize'
+ERROR: 0:122: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
+ERROR: 0:127: 'flat/smooth/noperspective' : cannot use interpolation qualifiers on an interface block
+ERROR: 0:131: 'flat/smooth/noperspective' : cannot use interpolation qualifiers on an interface block
+ERROR: 0:135: 'centroid' : cannot use centroid qualifier on an interface block
+ERROR: 0:139: 'invariant' : cannot use invariant qualifier on an interface block
+ERROR: 0:155: 'precise' : Reserved word.
+ERROR: 0:156: 'fma' : required extension not requested: Possible extensions include:
+GL_EXT_gpu_shader5
+GL_OES_gpu_shader5
+ERROR: 0:157: 'variable indexing sampler array' : not supported for this version or the enabled extensions
+ERROR: 0:161: 'variable indexing uniform block array' : not supported for this version or the enabled extensions
+ERROR: 0:162: 'variable indexing buffer block array' : not supported with this profile: es
+ERROR: 0:164: 'variable indexing sampler array' : not supported for this version or the enabled extensions
+ERROR: 0:165: 'non-constant offset argument' : not supported for this version or the enabled extensions
+ERROR: 0:166: 'textureGatherOffsets' : required extension not requested: Possible extensions include:
+GL_EXT_gpu_shader5
+GL_OES_gpu_shader5
+ERROR: 0:177: 'variable indexing buffer block array' : not supported with this profile: es
+ERROR: 0:182: 'textureGatherOffsets(...)' : must be a compile-time constant: offsets argument
+ERROR: 0:185: 'samplerBuffer' : Reserved word.
+ERROR: 0:185: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:186: 'isamplerBuffer' : Reserved word.
+ERROR: 0:186: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:187: 'usamplerBuffer' : Reserved word.
+ERROR: 0:187: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:188: 'imageBuffer' : Reserved word.
+ERROR: 0:188: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:189: 'iimageBuffer' : Reserved word.
+ERROR: 0:189: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:190: 'uimageBuffer' : Reserved word.
+ERROR: 0:190: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:195: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:196: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:197: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:198: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:199: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:200: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:235: 'imageCubeArray' : Reserved word.
+ERROR: 0:235: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:236: 'iimageCubeArray' : Reserved word.
+ERROR: 0:236: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:237: 'uimageCubeArray' : Reserved word.
+ERROR: 0:237: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:239: 'samplerCubeArray' : Reserved word.
+ERROR: 0:239: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:240: 'samplerCubeArrayShadow' : Reserved word.
+ERROR: 0:240: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:241: 'isamplerCubeArray' : Reserved word.
+ERROR: 0:241: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:242: 'usamplerCubeArray' : Reserved word.
+ERROR: 0:242: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:246: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:247: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:248: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:250: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:251: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:252: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:253: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:321: 'sampler2DMSArray' : Reserved word.
+ERROR: 0:321: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:322: 'isampler2DMSArray' : Reserved word.
+ERROR: 0:322: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:323: 'usampler2DMSArray' : Reserved word.
+ERROR: 0:323: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:329: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:330: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:331: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:351: 'textureSize' : no matching overloaded function found
+ERROR: 0:351: '=' : cannot convert from 'const float' to 'temp highp 3-component vector of int'
+ERROR: 0:389: 'sample' : Reserved word.
+ERROR: 0:400: 'interpolateAtCentroid' : no matching overloaded function found
+ERROR: 0:401: 'interpolateAtSample' : no matching overloaded function found
+ERROR: 0:402: 'interpolateAtOffset' : no matching overloaded function found
+ERROR: 92 compilation errors. No code generated.
+
+
+Shader version: 310
+Requested GL_EXT_texture_buffer
+Requested GL_OES_gpu_shader5
+Requested GL_OES_shader_image_atomic
+Requested GL_OES_shader_io_blocks
+Requested GL_OES_shader_multisample_interpolation
+Requested GL_OES_texture_buffer
+Requested GL_OES_texture_cube_map_array
+Requested GL_OES_texture_storage_multisample_2d_array
+ERROR: node is still EOpNull!
+0:12 Function Definition: main( (global void)
+0:12 Function Parameters:
+0:? Sequence
+0:15 move second child to first child (temp highp 2-component vector of uint)
+0:15 'u2' (temp highp 2-component vector of uint)
+0:15 addCarry (global highp 2-component vector of uint)
+0:15 'u2' (temp highp 2-component vector of uint)
+0:15 'u2' (temp highp 2-component vector of uint)
+0:15 'u2' (temp highp 2-component vector of uint)
+0:17 move second child to first child (temp highp uint)
+0:17 'u1' (temp highp uint)
+0:17 subBorrow (global highp uint)
+0:17 'u1' (temp highp uint)
+0:17 'u1' (temp highp uint)
+0:17 'u1' (temp highp uint)
+0:19 uMulExtended (global void)
+0:19 'u4' (temp highp 4-component vector of uint)
+0:19 'u4' (temp highp 4-component vector of uint)
+0:19 'u4' (temp highp 4-component vector of uint)
+0:19 'u4' (temp highp 4-component vector of uint)
+0:21 iMulExtended (global void)
+0:21 'i4' (temp highp 4-component vector of int)
+0:21 'i4' (temp highp 4-component vector of int)
+0:21 'i4' (temp highp 4-component vector of int)
+0:21 'i4' (temp highp 4-component vector of int)
+0:23 move second child to first child (temp highp int)
+0:23 'i1' (temp highp int)
+0:23 bitfieldExtract (global highp int)
+0:23 'i1' (temp highp int)
+0:23 Constant:
+0:23 4 (const int)
+0:23 Constant:
+0:23 5 (const int)
+0:25 move second child to first child (temp highp 3-component vector of uint)
+0:25 'u3' (temp highp 3-component vector of uint)
+0:25 bitfieldExtract (global highp 3-component vector of uint)
+0:25 'u3' (temp highp 3-component vector of uint)
+0:25 Constant:
+0:25 4 (const int)
+0:25 Constant:
+0:25 5 (const int)
+0:27 move second child to first child (temp highp 3-component vector of int)
+0:27 'i3' (temp highp 3-component vector of int)
+0:27 bitfieldInsert (global highp 3-component vector of int)
+0:27 'i3' (temp highp 3-component vector of int)
+0:27 'i3' (temp highp 3-component vector of int)
+0:27 Constant:
+0:27 4 (const int)
+0:27 Constant:
+0:27 5 (const int)
+0:28 move second child to first child (temp highp uint)
+0:28 'u1' (temp highp uint)
+0:28 bitfieldInsert (global highp uint)
+0:28 'u1' (temp highp uint)
+0:28 'u1' (temp highp uint)
+0:28 Constant:
+0:28 4 (const int)
+0:28 Constant:
+0:28 5 (const int)
+0:30 move second child to first child (temp highp 2-component vector of int)
+0:30 'i2' (temp highp 2-component vector of int)
+0:30 bitFieldReverse (global highp 2-component vector of int)
+0:30 'i2' (temp highp 2-component vector of int)
+0:31 move second child to first child (temp highp 4-component vector of uint)
+0:31 'u4' (temp highp 4-component vector of uint)
+0:31 bitFieldReverse (global highp 4-component vector of uint)
+0:31 'u4' (temp highp 4-component vector of uint)
+0:32 move second child to first child (temp highp int)
+0:32 'i1' (temp highp int)
+0:32 bitCount (global highp int)
+0:32 'i1' (temp highp int)
+0:33 move second child to first child (temp highp 3-component vector of int)
+0:33 'i3' (temp highp 3-component vector of int)
+0:33 bitCount (global highp 3-component vector of int)
+0:33 'u3' (temp highp 3-component vector of uint)
+0:34 move second child to first child (temp highp 2-component vector of int)
+0:34 'i2' (temp highp 2-component vector of int)
+0:34 findLSB (global highp 2-component vector of int)
+0:34 'i2' (temp highp 2-component vector of int)
+0:35 move second child to first child (temp highp 4-component vector of int)
+0:35 'i4' (temp highp 4-component vector of int)
+0:35 findLSB (global highp 4-component vector of int)
+0:35 'u4' (temp highp 4-component vector of uint)
+0:36 move second child to first child (temp highp int)
+0:36 'i1' (temp highp int)
+0:36 findMSB (global highp int)
+0:36 'i1' (temp highp int)
+0:37 move second child to first child (temp highp 2-component vector of int)
+0:37 'i2' (temp highp 2-component vector of int)
+0:37 findMSB (global highp 2-component vector of int)
+0:37 'u2' (temp highp 2-component vector of uint)
+0:40 move second child to first child (temp highp 3-component vector of float)
+0:40 'v3' (temp highp 3-component vector of float)
+0:40 frexp (global highp 3-component vector of float)
+0:40 'v3' (temp highp 3-component vector of float)
+0:40 'i3' (temp highp 3-component vector of int)
+0:42 move second child to first child (temp highp 2-component vector of float)
+0:42 'v2' (temp highp 2-component vector of float)
+0:42 ldexp (global highp 2-component vector of float)
+0:42 'v2' (temp highp 2-component vector of float)
+0:42 'i2' (temp highp 2-component vector of int)
+0:45 move second child to first child (temp highp uint)
+0:45 'u1' (temp highp uint)
+0:45 PackUnorm4x8 (global highp uint)
+0:45 'v4' (temp mediump 4-component vector of float)
+0:46 move second child to first child (temp highp uint)
+0:46 'u1' (temp highp uint)
+0:46 PackSnorm4x8 (global highp uint)
+0:46 'v4' (temp mediump 4-component vector of float)
+0:47 move second child to first child (temp mediump 4-component vector of float)
+0:47 'v4' (temp mediump 4-component vector of float)
+0:47 UnpackUnorm4x8 (global mediump 4-component vector of float)
+0:47 'u1' (temp highp uint)
+0:48 move second child to first child (temp mediump 4-component vector of float)
+0:48 'v4' (temp mediump 4-component vector of float)
+0:48 UnpackSnorm4x8 (global mediump 4-component vector of float)
+0:48 'u1' (temp highp uint)
+0:60 Function Definition: foo( (global void)
+0:60 Function Parameters:
+0:? Sequence
+0:63 move second child to first child (temp highp 2-component vector of int)
+0:63 'v2' (temp highp 2-component vector of int)
+0:63 textureSize (global highp 2-component vector of int)
+0:63 's2dms' (uniform highp sampler2DMS)
+0:64 move second child to first child (temp highp 2-component vector of int)
+0:64 'v2' (temp highp 2-component vector of int)
+0:64 textureSize (global highp 2-component vector of int)
+0:64 'us2dms' (uniform highp usampler2DMS)
+0:65 Sequence
+0:65 move second child to first child (temp highp 4-component vector of float)
+0:65 'v4' (temp highp 4-component vector of float)
+0:65 textureFetch (global highp 4-component vector of float)
+0:65 's2dms' (uniform highp sampler2DMS)
+0:65 'v2' (temp highp 2-component vector of int)
+0:65 Constant:
+0:65 2 (const int)
+0:66 Sequence
+0:66 move second child to first child (temp highp 4-component vector of int)
+0:66 'iv4' (temp highp 4-component vector of int)
+0:66 textureFetch (global highp 4-component vector of int)
+0:66 'is2dms' (uniform highp isampler2DMS)
+0:66 'v2' (temp highp 2-component vector of int)
+0:66 Constant:
+0:66 2 (const int)
+0:67 Constant:
+0:67 0.000000
+0:69 frexp (global highp float)
+0:69 'f' (temp highp float)
+0:69 'ini' (in highp int)
+0:114 Function Definition: foo_IO( (global void)
+0:114 Function Parameters:
+0:116 Sequence
+0:116 Sequence
+0:116 move second child to first child (temp highp int)
+0:116 'sum' (temp highp int)
+0:116 add (temp highp int)
+0:116 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:117 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+0:118 move second child to first child (temp highp 4-component vector of float)
+0:118 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position)
+0:118 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
+0:118 Constant:
+0:118 0 (const uint)
+0:118 Constant:
+0:118 1.000000
+0:118 1.000000
+0:118 1.000000
+0:118 1.000000
+0:119 gl_PointSize: direct index for structure (gl_PointSize highp void PointSize)
+0:119 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
+0:119 Constant:
+0:119 1 (const uint)
+0:153 Function Definition: pfooBad( (global void)
+0:153 Function Parameters:
+0:? Sequence
+0:156 move second child to first child (temp highp 2-component vector of float)
+0:156 'h' (temp highp 2-component vector of float)
+0:156 fma (global highp 2-component vector of float)
+0:156 'inf' (in highp 2-component vector of float)
+0:156 'ing' (in highp 2-component vector of float)
+0:156 'h' (temp highp 2-component vector of float)
+0:157 indirect index (temp highp sampler2D)
+0:157 'sArray' (uniform 4-element array of highp sampler2D)
+0:157 add (temp highp int)
+0:157 'sIndex' (uniform highp int)
+0:157 Constant:
+0:157 1 (const int)
+0:158 indirect index (layout(binding=0 offset=0 ) temp highp atomic_uint)
+0:158 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
+0:158 add (temp highp int)
+0:158 'sIndex' (uniform highp int)
+0:158 Constant:
+0:158 1 (const int)
+0:159 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
+0:159 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
+0:159 Constant:
+0:159 1 (const int)
+0:160 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
+0:160 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
+0:160 Constant:
+0:160 2 (const int)
+0:161 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
+0:161 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
+0:161 add (temp highp int)
+0:161 'sIndex' (uniform highp int)
+0:161 Constant:
+0:161 1 (const int)
+0:162 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
+0:162 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
+0:162 'sIndex' (uniform highp int)
+0:163 direct index (writeonly temp highp image2D)
+0:163 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:163 Constant:
+0:163 2 (const int)
+0:164 indirect index (writeonly temp highp image2D)
+0:164 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:164 component-wise multiply (temp highp int)
+0:164 'sIndex' (uniform highp int)
+0:164 Constant:
+0:164 2 (const int)
+0:165 textureGatherOffset (global highp 4-component vector of float)
+0:165 direct index (temp highp sampler2D)
+0:165 'sArray' (uniform 4-element array of highp sampler2D)
+0:165 Constant:
+0:165 0 (const int)
+0:165 Constant:
+0:165 0.100000
+0:165 0.100000
+0:165 Convert float to int (temp highp 2-component vector of int)
+0:165 'inf' (in highp 2-component vector of float)
+0:166 textureGatherOffsets (global highp 4-component vector of float)
+0:166 direct index (temp highp sampler2D)
+0:166 'sArray' (uniform 4-element array of highp sampler2D)
+0:166 Constant:
+0:166 0 (const int)
+0:166 Constant:
+0:166 0.100000
+0:166 0.100000
+0:166 Constant:
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:171 Function Definition: pfoo( (global void)
+0:171 Function Parameters:
+0:? Sequence
+0:174 move second child to first child (temp highp 2-component vector of float)
+0:174 'h' (temp highp 2-component vector of float)
+0:174 fma (global highp 2-component vector of float)
+0:174 'inf' (in highp 2-component vector of float)
+0:174 'ing' (in highp 2-component vector of float)
+0:174 'h' (temp highp 2-component vector of float)
+0:175 indirect index (temp highp sampler2D)
+0:175 'sArray' (uniform 4-element array of highp sampler2D)
+0:175 add (temp highp int)
+0:175 'sIndex' (uniform highp int)
+0:175 Constant:
+0:175 1 (const int)
+0:176 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
+0:176 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
+0:176 add (temp highp int)
+0:176 'sIndex' (uniform highp int)
+0:176 Constant:
+0:176 1 (const int)
+0:177 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
+0:177 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
+0:177 subtract (temp highp int)
+0:177 'sIndex' (uniform highp int)
+0:177 Constant:
+0:177 2 (const int)
+0:178 direct index (writeonly temp highp image2D)
+0:178 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:178 Constant:
+0:178 2 (const int)
+0:179 indirect index (writeonly temp highp image2D)
+0:179 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:179 subtract (temp highp int)
+0:179 'sIndex' (uniform highp int)
+0:179 Constant:
+0:179 2 (const int)
+0:180 textureGatherOffset (global highp 4-component vector of float)
+0:180 direct index (temp highp sampler2D)
+0:180 'sArray' (uniform 4-element array of highp sampler2D)
+0:180 Constant:
+0:180 0 (const int)
+0:180 Constant:
+0:180 0.100000
+0:180 0.100000
+0:180 Convert float to int (temp highp 2-component vector of int)
+0:180 'inf' (in highp 2-component vector of float)
+0:181 textureGatherOffsets (global highp 4-component vector of float)
+0:181 direct index (temp highp sampler2D)
+0:181 'sArray' (uniform 4-element array of highp sampler2D)
+0:181 Constant:
+0:181 0 (const int)
+0:181 Constant:
+0:181 0.100000
+0:181 0.100000
+0:181 Constant:
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:182 textureGatherOffsets (global highp 4-component vector of float)
+0:182 direct index (temp highp sampler2D)
+0:182 'sArray' (uniform 4-element array of highp sampler2D)
+0:182 Constant:
+0:182 0 (const int)
+0:182 Constant:
+0:182 0.100000
+0:182 0.100000
+0:182 'offsets' (uniform 4-element array of highp 2-component vector of int)
+0:220 Function Definition: bufferT( (global void)
+0:220 Function Parameters:
+0:222 Sequence
+0:222 Sequence
+0:222 move second child to first child (temp highp int)
+0:222 's1' (temp highp int)
+0:222 textureSize (global highp int)
+0:222 'bufSamp1' (uniform highp samplerBuffer)
+0:223 Sequence
+0:223 move second child to first child (temp highp int)
+0:223 's2' (temp highp int)
+0:223 textureSize (global highp int)
+0:223 'bufSamp2' (uniform highp isamplerBuffer)
+0:224 Sequence
+0:224 move second child to first child (temp highp int)
+0:224 's3' (temp highp int)
+0:224 textureSize (global highp int)
+0:224 'bufSamp3' (uniform highp usamplerBuffer)
+0:226 Sequence
+0:226 move second child to first child (temp highp int)
+0:226 's4' (temp highp int)
+0:226 imageQuerySize (global highp int)
+0:226 'bufSamp4' (writeonly uniform highp imageBuffer)
+0:227 Sequence
+0:227 move second child to first child (temp highp int)
+0:227 's5' (temp highp int)
+0:227 imageQuerySize (global highp int)
+0:227 'bufSamp5' (writeonly uniform highp iimageBuffer)
+0:228 Sequence
+0:228 move second child to first child (temp highp int)
+0:228 's6' (temp highp int)
+0:228 imageQuerySize (global highp int)
+0:228 'bufSamp6' (writeonly uniform highp uimageBuffer)
+0:230 Sequence
+0:230 move second child to first child (temp highp 4-component vector of float)
+0:230 'f1' (temp highp 4-component vector of float)
+0:230 textureFetch (global highp 4-component vector of float)
+0:230 'bufSamp1' (uniform highp samplerBuffer)
+0:230 's1' (temp highp int)
+0:231 Sequence
+0:231 move second child to first child (temp highp 4-component vector of int)
+0:231 'f2' (temp highp 4-component vector of int)
+0:231 textureFetch (global highp 4-component vector of int)
+0:231 'bufSamp2' (uniform highp isamplerBuffer)
+0:231 's2' (temp highp int)
+0:232 Sequence
+0:232 move second child to first child (temp highp 4-component vector of uint)
+0:232 'f3' (temp highp 4-component vector of uint)
+0:232 textureFetch (global highp 4-component vector of uint)
+0:232 'bufSamp3' (uniform highp usamplerBuffer)
+0:232 's3' (temp highp int)
+0:279 Function Definition: CAT( (global void)
+0:279 Function Parameters:
+0:281 Sequence
+0:281 Sequence
+0:281 move second child to first child (temp highp 3-component vector of int)
+0:281 's4' (temp highp 3-component vector of int)
+0:281 textureSize (global highp 3-component vector of int)
+0:281 'CA4' (uniform highp samplerCubeArray)
+0:281 Constant:
+0:281 1 (const int)
+0:282 Sequence
+0:282 move second child to first child (temp highp 3-component vector of int)
+0:282 's5' (temp highp 3-component vector of int)
+0:282 textureSize (global highp 3-component vector of int)
+0:282 'CA5' (uniform highp samplerCubeArrayShadow)
+0:282 Constant:
+0:282 1 (const int)
+0:283 Sequence
+0:283 move second child to first child (temp highp 3-component vector of int)
+0:283 's6' (temp highp 3-component vector of int)
+0:283 textureSize (global highp 3-component vector of int)
+0:283 'CA6' (uniform highp isamplerCubeArray)
+0:283 Constant:
+0:283 1 (const int)
+0:284 Sequence
+0:284 move second child to first child (temp highp 3-component vector of int)
+0:284 's7' (temp highp 3-component vector of int)
+0:284 textureSize (global highp 3-component vector of int)
+0:284 'CA7' (uniform highp usamplerCubeArray)
+0:284 Constant:
+0:284 1 (const int)
+0:286 Sequence
+0:286 move second child to first child (temp highp 4-component vector of float)
+0:286 't4' (temp highp 4-component vector of float)
+0:286 texture (global highp 4-component vector of float)
+0:286 'CA4' (uniform highp samplerCubeArray)
+0:286 Constant:
+0:286 0.500000
+0:286 0.500000
+0:286 0.500000
+0:286 0.500000
+0:287 Sequence
+0:287 move second child to first child (temp highp float)
+0:287 't5' (temp highp float)
+0:287 texture (global highp float)
+0:287 'CA5' (uniform highp samplerCubeArrayShadow)
+0:287 Constant:
+0:287 0.500000
+0:287 0.500000
+0:287 0.500000
+0:287 0.500000
+0:287 Constant:
+0:287 3.000000
+0:288 Sequence
+0:288 move second child to first child (temp highp 4-component vector of int)
+0:288 't6' (temp highp 4-component vector of int)
+0:288 texture (global highp 4-component vector of int)
+0:288 'CA6' (uniform highp isamplerCubeArray)
+0:288 Constant:
+0:288 0.500000
+0:288 0.500000
+0:288 0.500000
+0:288 0.500000
+0:289 Sequence
+0:289 move second child to first child (temp highp 4-component vector of uint)
+0:289 't7' (temp highp 4-component vector of uint)
+0:289 texture (global highp 4-component vector of uint)
+0:289 'CA7' (uniform highp usamplerCubeArray)
+0:289 Constant:
+0:289 0.500000
+0:289 0.500000
+0:289 0.500000
+0:289 0.500000
+0:291 Sequence
+0:291 move second child to first child (temp highp 4-component vector of float)
+0:291 'L4' (temp highp 4-component vector of float)
+0:291 textureLod (global highp 4-component vector of float)
+0:291 'CA4' (uniform highp samplerCubeArray)
+0:291 Constant:
+0:291 0.500000
+0:291 0.500000
+0:291 0.500000
+0:291 0.500000
+0:291 Constant:
+0:291 0.240000
+0:292 Sequence
+0:292 move second child to first child (temp highp 4-component vector of int)
+0:292 'L6' (temp highp 4-component vector of int)
+0:292 textureLod (global highp 4-component vector of int)
+0:292 'CA6' (uniform highp isamplerCubeArray)
+0:292 Constant:
+0:292 0.500000
+0:292 0.500000
+0:292 0.500000
+0:292 0.500000
+0:292 Constant:
+0:292 0.260000
+0:293 Sequence
+0:293 move second child to first child (temp highp 4-component vector of uint)
+0:293 'L7' (temp highp 4-component vector of uint)
+0:293 textureLod (global highp 4-component vector of uint)
+0:293 'CA7' (uniform highp usamplerCubeArray)
+0:293 Constant:
+0:293 0.500000
+0:293 0.500000
+0:293 0.500000
+0:293 0.500000
+0:293 Constant:
+0:293 0.270000
+0:295 Sequence
+0:295 move second child to first child (temp highp 4-component vector of float)
+0:295 'g4' (temp highp 4-component vector of float)
+0:295 textureGrad (global highp 4-component vector of float)
+0:295 'CA4' (uniform highp samplerCubeArray)
+0:295 Constant:
+0:295 0.500000
+0:295 0.500000
+0:295 0.500000
+0:295 0.500000
+0:295 Constant:
+0:295 0.100000
+0:295 0.100000
+0:295 0.100000
+0:295 Constant:
+0:295 0.200000
+0:295 0.200000
+0:295 0.200000
+0:296 Sequence
+0:296 move second child to first child (temp highp 4-component vector of int)
+0:296 'g6' (temp highp 4-component vector of int)
+0:296 textureGrad (global highp 4-component vector of int)
+0:296 'CA6' (uniform highp isamplerCubeArray)
+0:296 Constant:
+0:296 0.500000
+0:296 0.500000
+0:296 0.500000
+0:296 0.500000
+0:296 Constant:
+0:296 0.100000
+0:296 0.100000
+0:296 0.100000
+0:296 Constant:
+0:296 0.200000
+0:296 0.200000
+0:296 0.200000
+0:297 Sequence
+0:297 move second child to first child (temp highp 4-component vector of uint)
+0:297 'g7' (temp highp 4-component vector of uint)
+0:297 textureGrad (global highp 4-component vector of uint)
+0:297 'CA7' (uniform highp usamplerCubeArray)
+0:297 Constant:
+0:297 0.500000
+0:297 0.500000
+0:297 0.500000
+0:297 0.500000
+0:297 Constant:
+0:297 0.100000
+0:297 0.100000
+0:297 0.100000
+0:297 Constant:
+0:297 0.200000
+0:297 0.200000
+0:297 0.200000
+0:299 Sequence
+0:299 move second child to first child (temp highp 4-component vector of float)
+0:299 'gath4' (temp highp 4-component vector of float)
+0:299 textureGather (global highp 4-component vector of float)
+0:299 'CA4' (uniform highp samplerCubeArray)
+0:299 Constant:
+0:299 0.500000
+0:299 0.500000
+0:299 0.500000
+0:299 0.500000
+0:300 Sequence
+0:300 move second child to first child (temp highp 4-component vector of float)
+0:300 'gathC4' (temp highp 4-component vector of float)
+0:300 textureGather (global highp 4-component vector of float)
+0:300 'CA4' (uniform highp samplerCubeArray)
+0:300 Constant:
+0:300 0.500000
+0:300 0.500000
+0:300 0.500000
+0:300 0.500000
+0:300 Constant:
+0:300 2 (const int)
+0:301 Sequence
+0:301 move second child to first child (temp highp 4-component vector of int)
+0:301 'gath6' (temp highp 4-component vector of int)
+0:301 textureGather (global highp 4-component vector of int)
+0:301 'CA6' (uniform highp isamplerCubeArray)
+0:301 Constant:
+0:301 0.500000
+0:301 0.500000
+0:301 0.500000
+0:301 0.500000
+0:302 Sequence
+0:302 move second child to first child (temp highp 4-component vector of int)
+0:302 'gathC6' (temp highp 4-component vector of int)
+0:302 textureGather (global highp 4-component vector of int)
+0:302 'CA6' (uniform highp isamplerCubeArray)
+0:302 Constant:
+0:302 0.500000
+0:302 0.500000
+0:302 0.500000
+0:302 0.500000
+0:302 Constant:
+0:302 1 (const int)
+0:303 Sequence
+0:303 move second child to first child (temp highp 4-component vector of uint)
+0:303 'gath7' (temp highp 4-component vector of uint)
+0:303 textureGather (global highp 4-component vector of uint)
+0:303 'CA7' (uniform highp usamplerCubeArray)
+0:303 Constant:
+0:303 0.500000
+0:303 0.500000
+0:303 0.500000
+0:303 0.500000
+0:304 Sequence
+0:304 move second child to first child (temp highp 4-component vector of uint)
+0:304 'gathC7' (temp highp 4-component vector of uint)
+0:304 textureGather (global highp 4-component vector of uint)
+0:304 'CA7' (uniform highp usamplerCubeArray)
+0:304 Constant:
+0:304 0.500000
+0:304 0.500000
+0:304 0.500000
+0:304 0.500000
+0:304 Constant:
+0:304 0 (const int)
+0:306 Sequence
+0:306 move second child to first child (temp highp 4-component vector of float)
+0:306 'gath5' (temp highp 4-component vector of float)
+0:306 textureGather (global highp 4-component vector of float)
+0:306 'CA5' (uniform highp samplerCubeArrayShadow)
+0:306 Constant:
+0:306 0.500000
+0:306 0.500000
+0:306 0.500000
+0:306 0.500000
+0:306 Constant:
+0:306 2.500000
+0:308 Sequence
+0:308 move second child to first child (temp highp 3-component vector of int)
+0:308 's1' (temp highp 3-component vector of int)
+0:308 imageQuerySize (global highp 3-component vector of int)
+0:308 'CA1' (writeonly uniform highp imageCubeArray)
+0:309 Sequence
+0:309 move second child to first child (temp highp 3-component vector of int)
+0:309 's2' (temp highp 3-component vector of int)
+0:309 imageQuerySize (global highp 3-component vector of int)
+0:309 'CA2' (writeonly uniform highp iimageCubeArray)
+0:310 Sequence
+0:310 move second child to first child (temp highp 3-component vector of int)
+0:310 's3' (temp highp 3-component vector of int)
+0:310 imageQuerySize (global highp 3-component vector of int)
+0:310 'CA3' (writeonly uniform highp uimageCubeArray)
+0:312 imageStore (global highp void)
+0:312 'CA1' (writeonly uniform highp imageCubeArray)
+0:312 's3' (temp highp 3-component vector of int)
+0:312 Constant:
+0:312 1.000000
+0:312 1.000000
+0:312 1.000000
+0:312 1.000000
+0:313 imageStore (global highp void)
+0:313 'CA2' (writeonly uniform highp iimageCubeArray)
+0:313 's3' (temp highp 3-component vector of int)
+0:313 Constant:
+0:313 1 (const int)
+0:313 1 (const int)
+0:313 1 (const int)
+0:313 1 (const int)
+0:314 imageStore (global highp void)
+0:314 'CA3' (writeonly uniform highp uimageCubeArray)
+0:314 's3' (temp highp 3-component vector of int)
+0:314 Constant:
+0:314 1 (const uint)
+0:314 1 (const uint)
+0:314 1 (const uint)
+0:314 1 (const uint)
+0:316 Sequence
+0:316 move second child to first child (temp highp 4-component vector of float)
+0:316 'cl1' (temp highp 4-component vector of float)
+0:316 imageLoad (global highp 4-component vector of float)
+0:316 'rCA1' (layout(rgba16f ) readonly uniform highp imageCubeArray)
+0:316 's3' (temp highp 3-component vector of int)
+0:317 Sequence
+0:317 move second child to first child (temp highp 4-component vector of int)
+0:317 'cl2' (temp highp 4-component vector of int)
+0:317 imageLoad (global highp 4-component vector of int)
+0:317 'rCA2' (layout(rgba32i ) readonly uniform highp iimageCubeArray)
+0:317 's3' (temp highp 3-component vector of int)
+0:318 Sequence
+0:318 move second child to first child (temp highp 4-component vector of uint)
+0:318 'cl3' (temp highp 4-component vector of uint)
+0:318 imageLoad (global highp 4-component vector of uint)
+0:318 'rCA3' (layout(r32ui ) readonly uniform highp uimageCubeArray)
+0:318 's3' (temp highp 3-component vector of int)
+0:343 Function Definition: MSA( (global void)
+0:343 Function Parameters:
+0:345 Sequence
+0:345 Sequence
+0:345 move second child to first child (temp highp 4-component vector of float)
+0:345 'tf' (temp highp 4-component vector of float)
+0:345 textureFetch (global highp 4-component vector of float)
+0:345 'samp2DMSA' (uniform highp sampler2DMSArray)
+0:345 Constant:
+0:345 5 (const int)
+0:345 5 (const int)
+0:345 5 (const int)
+0:345 Constant:
+0:345 2 (const int)
+0:346 Sequence
+0:346 move second child to first child (temp highp 4-component vector of int)
+0:346 'tfi' (temp highp 4-component vector of int)
+0:346 textureFetch (global highp 4-component vector of int)
+0:346 'samp2DMSAi' (uniform highp isampler2DMSArray)
+0:346 Constant:
+0:346 5 (const int)
+0:346 5 (const int)
+0:346 5 (const int)
+0:346 Constant:
+0:346 2 (const int)
+0:347 Sequence
+0:347 move second child to first child (temp highp 4-component vector of uint)
+0:347 'tfu' (temp highp 4-component vector of uint)
+0:347 textureFetch (global highp 4-component vector of uint)
+0:347 'samp2DMSAu' (uniform highp usampler2DMSArray)
+0:347 Constant:
+0:347 5 (const int)
+0:347 5 (const int)
+0:347 5 (const int)
+0:347 Constant:
+0:347 2 (const int)
+0:349 Sequence
+0:349 move second child to first child (temp highp 3-component vector of int)
+0:349 'tfs' (temp highp 3-component vector of int)
+0:349 textureSize (global highp 3-component vector of int)
+0:349 'samp2DMSA' (uniform highp sampler2DMSArray)
+0:350 Sequence
+0:350 move second child to first child (temp highp 3-component vector of int)
+0:350 'tfsi' (temp highp 3-component vector of int)
+0:350 textureSize (global highp 3-component vector of int)
+0:350 'samp2DMSAi' (uniform highp isampler2DMSArray)
+0:352 Sequence
+0:352 move second child to first child (temp highp 3-component vector of int)
+0:352 'tfsu' (temp highp 3-component vector of int)
+0:352 textureSize (global highp 3-component vector of int)
+0:352 'samp2DMSAu' (uniform highp usampler2DMSArray)
+0:364 Function Definition: goodImageAtom( (global void)
+0:364 Function Parameters:
+0:? Sequence
+0:370 imageAtomicAdd (global highp int)
+0:370 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:370 'P' (uniform highp 2-component vector of int)
+0:370 'dati' (temp highp int)
+0:371 imageAtomicAdd (global highp uint)
+0:371 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:371 'P' (uniform highp 2-component vector of int)
+0:371 'datu' (temp highp uint)
+0:372 imageAtomicMin (global highp int)
+0:372 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:372 'P' (uniform highp 2-component vector of int)
+0:372 'dati' (temp highp int)
+0:373 imageAtomicMin (global highp uint)
+0:373 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:373 'P' (uniform highp 2-component vector of int)
+0:373 'datu' (temp highp uint)
+0:374 imageAtomicMax (global highp int)
+0:374 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:374 'P' (uniform highp 2-component vector of int)
+0:374 'dati' (temp highp int)
+0:375 imageAtomicMax (global highp uint)
+0:375 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:375 'P' (uniform highp 2-component vector of int)
+0:375 'datu' (temp highp uint)
+0:376 imageAtomicAnd (global highp int)
+0:376 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:376 'P' (uniform highp 2-component vector of int)
+0:376 'dati' (temp highp int)
+0:377 imageAtomicAnd (global highp uint)
+0:377 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:377 'P' (uniform highp 2-component vector of int)
+0:377 'datu' (temp highp uint)
+0:378 imageAtomicOr (global highp int)
+0:378 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:378 'P' (uniform highp 2-component vector of int)
+0:378 'dati' (temp highp int)
+0:379 imageAtomicOr (global highp uint)
+0:379 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:379 'P' (uniform highp 2-component vector of int)
+0:379 'datu' (temp highp uint)
+0:380 imageAtomicXor (global highp int)
+0:380 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:380 'P' (uniform highp 2-component vector of int)
+0:380 'dati' (temp highp int)
+0:381 imageAtomicXor (global highp uint)
+0:381 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:381 'P' (uniform highp 2-component vector of int)
+0:381 'datu' (temp highp uint)
+0:382 imageAtomicExchange (global highp int)
+0:382 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:382 'P' (uniform highp 2-component vector of int)
+0:382 'dati' (temp highp int)
+0:383 imageAtomicExchange (global highp uint)
+0:383 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:383 'P' (uniform highp 2-component vector of int)
+0:383 'datu' (temp highp uint)
+0:384 imageAtomicExchange (global highp float)
+0:384 'im2Df' (layout(r32f ) uniform highp image2D)
+0:384 'P' (uniform highp 2-component vector of int)
+0:384 'datf' (temp highp float)
+0:385 imageAtomicCompSwap (global highp int)
+0:385 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:385 'P' (uniform highp 2-component vector of int)
+0:385 Constant:
+0:385 3 (const int)
+0:385 'dati' (temp highp int)
+0:386 imageAtomicCompSwap (global highp uint)
+0:386 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:386 'P' (uniform highp 2-component vector of int)
+0:386 Constant:
+0:386 5 (const uint)
+0:386 'datu' (temp highp uint)
+0:398 Function Definition: badInterp( (global void)
+0:398 Function Parameters:
+0:400 Sequence
+0:400 Constant:
+0:400 0.000000
+0:401 Constant:
+0:401 0.000000
+0:402 Constant:
+0:402 0.000000
+0:? Linker Objects
+0:? 's' (shared highp 4-component vector of float)
+0:? 'v' (buffer highp 4-component vector of float)
+0:? 'ini' (in highp int)
+0:? 'x' (layout(location=2 ) uniform highp 4X4 matrix of float)
+0:? 'y' (layout(location=3 ) uniform highp 4X4 matrix of float)
+0:? 'xi' (layout(location=2 ) smooth out highp 4X4 matrix of float)
+0:? 'yi' (layout(location=3 ) smooth out highp 4X4 matrix of float)
+0:? 's2dms' (uniform highp sampler2DMS)
+0:? 'is2dms' (uniform highp isampler2DMS)
+0:? 'us2dms' (uniform highp usampler2DMS)
+0:? 'us2dmsa' (uniform mediump usampler2DMSArray)
+0:? 'outb' (smooth out bool)
+0:? 'outo' (smooth out highp sampler2D)
+0:? 'outa' (smooth out 4-element array of highp float)
+0:? 'outaa' (smooth out 4-element array of 2-element array of highp float)
+0:? 'outs' (smooth out structure{global highp float f})
+0:? 'outasa' (smooth out 4-element array of structure{global highp float f})
+0:? 'outsa' (smooth out 4-element array of structure{global highp float f})
+0:? 'outSA' (smooth out structure{global 4-element array of highp float f})
+0:? 'outSS' (smooth out structure{global highp float f, global structure{global highp float f} s})
+0:? 'U430i' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform highp int a})
+0:? 'B430i' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer highp int a})
+0:? 'outbinst' (out block{out highp int a, out highp 4-component vector of float v, out highp sampler2D s})
+0:? 'anon@0' (out block{layout(location=12 ) out highp int aAnon, layout(location=13 ) out highp 4-component vector of float vAnon})
+0:? 'aliased' (layout(location=12 ) smooth out highp int)
+0:? 'inbinst' (in block{in highp int a})
+0:? 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
+0:? 'smon' (smooth out block{out highp int i})
+0:? 'fmon' (flat out block{out highp int i})
+0:? 'cmon' (centroid out block{out highp int i})
+0:? 'imon' (invariant out block{out highp int i})
+0:? 'inf' (in highp 2-component vector of float)
+0:? 'ing' (in highp 2-component vector of float)
+0:? 'offsets' (uniform 4-element array of highp 2-component vector of int)
+0:? 'sArray' (uniform 4-element array of highp sampler2D)
+0:? 'sIndex' (uniform highp int)
+0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
+0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
+0:? 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
+0:? 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:? 'constOffsets' (const 4-element array of highp 2-component vector of int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 'badSamp1' (uniform mediump samplerBuffer)
+0:? 'badSamp2' (uniform mediump isamplerBuffer)
+0:? 'badSamp3' (uniform mediump usamplerBuffer)
+0:? 'badSamp4' (writeonly uniform mediump imageBuffer)
+0:? 'badSamp5' (writeonly uniform mediump iimageBuffer)
+0:? 'badSamp6' (writeonly uniform mediump uimageBuffer)
+0:? 'noPreSamp1' (uniform mediump samplerBuffer)
+0:? 'noPreSamp2' (uniform mediump isamplerBuffer)
+0:? 'noPreSamp3' (uniform mediump usamplerBuffer)
+0:? 'noPreSamp4' (writeonly uniform mediump imageBuffer)
+0:? 'noPreSamp5' (writeonly uniform mediump iimageBuffer)
+0:? 'noPreSamp6' (writeonly uniform mediump uimageBuffer)
+0:? 'bufSamp1' (uniform highp samplerBuffer)
+0:? 'bufSamp2' (uniform highp isamplerBuffer)
+0:? 'bufSamp3' (uniform highp usamplerBuffer)
+0:? 'bufSamp4' (writeonly uniform highp imageBuffer)
+0:? 'bufSamp5' (writeonly uniform highp iimageBuffer)
+0:? 'bufSamp6' (writeonly uniform highp uimageBuffer)
+0:? 'badCA1' (writeonly uniform mediump imageCubeArray)
+0:? 'badCA2' (writeonly uniform mediump iimageCubeArray)
+0:? 'badCA3' (writeonly uniform mediump uimageCubeArray)
+0:? 'badCA4' (uniform mediump samplerCubeArray)
+0:? 'badCA5' (uniform mediump samplerCubeArrayShadow)
+0:? 'badCA6' (uniform mediump isamplerCubeArray)
+0:? 'badCA7' (uniform mediump usamplerCubeArray)
+0:? 'noPreCA1' (writeonly uniform mediump imageCubeArray)
+0:? 'noPreCA2' (writeonly uniform mediump iimageCubeArray)
+0:? 'noPreCA3' (writeonly uniform mediump uimageCubeArray)
+0:? 'noPreCA4' (uniform mediump samplerCubeArray)
+0:? 'noPreCA5' (uniform mediump samplerCubeArrayShadow)
+0:? 'noPreCA6' (uniform mediump isamplerCubeArray)
+0:? 'noPreCA7' (uniform mediump usamplerCubeArray)
+0:? 'CA1' (writeonly uniform highp imageCubeArray)
+0:? 'CA2' (writeonly uniform highp iimageCubeArray)
+0:? 'CA3' (writeonly uniform highp uimageCubeArray)
+0:? 'rCA1' (layout(rgba16f ) readonly uniform highp imageCubeArray)
+0:? 'rCA2' (layout(rgba32i ) readonly uniform highp iimageCubeArray)
+0:? 'rCA3' (layout(r32ui ) readonly uniform highp uimageCubeArray)
+0:? 'CA4' (uniform highp samplerCubeArray)
+0:? 'CA5' (uniform highp samplerCubeArrayShadow)
+0:? 'CA6' (uniform highp isamplerCubeArray)
+0:? 'CA7' (uniform highp usamplerCubeArray)
+0:? 'bad2DMS' (uniform mediump sampler2DMSArray)
+0:? 'bad2DMSi' (uniform mediump isampler2DMSArray)
+0:? 'bad2DMSu' (uniform mediump usampler2DMSArray)
+0:? 'noPrec2DMS' (uniform mediump sampler2DMSArray)
+0:? 'noPrec2DMSi' (uniform mediump isampler2DMSArray)
+0:? 'noPrec2DMSu' (uniform mediump usampler2DMSArray)
+0:? 'samp2DMSA' (uniform highp sampler2DMSArray)
+0:? 'samp2DMSAi' (uniform highp isampler2DMSArray)
+0:? 'samp2DMSAu' (uniform highp usampler2DMSArray)
+0:? 'im2Df' (layout(r32f ) uniform highp image2D)
+0:? 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:? 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:? 'P' (uniform highp 2-component vector of int)
+0:? 'colorSampInBad' (smooth sample out highp 4-component vector of float)
+0:? 'colorSample' (smooth sample out highp 4-component vector of float)
+0:? 'colorfsi' (flat sample out highp 4-component vector of float)
+0:? 'sampInArray' (smooth sample out 4-element array of highp 3-component vector of float)
+0:? 'inv4' (in highp 4-component vector of float)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 310
+Requested GL_EXT_texture_buffer
+Requested GL_OES_gpu_shader5
+Requested GL_OES_shader_image_atomic
+Requested GL_OES_shader_io_blocks
+Requested GL_OES_shader_multisample_interpolation
+Requested GL_OES_texture_buffer
+Requested GL_OES_texture_cube_map_array
+Requested GL_OES_texture_storage_multisample_2d_array
+ERROR: node is still EOpNull!
+0:12 Function Definition: main( (global void)
+0:12 Function Parameters:
+0:? Sequence
+0:15 move second child to first child (temp highp 2-component vector of uint)
+0:15 'u2' (temp highp 2-component vector of uint)
+0:15 addCarry (global highp 2-component vector of uint)
+0:15 'u2' (temp highp 2-component vector of uint)
+0:15 'u2' (temp highp 2-component vector of uint)
+0:15 'u2' (temp highp 2-component vector of uint)
+0:17 move second child to first child (temp highp uint)
+0:17 'u1' (temp highp uint)
+0:17 subBorrow (global highp uint)
+0:17 'u1' (temp highp uint)
+0:17 'u1' (temp highp uint)
+0:17 'u1' (temp highp uint)
+0:19 uMulExtended (global void)
+0:19 'u4' (temp highp 4-component vector of uint)
+0:19 'u4' (temp highp 4-component vector of uint)
+0:19 'u4' (temp highp 4-component vector of uint)
+0:19 'u4' (temp highp 4-component vector of uint)
+0:21 iMulExtended (global void)
+0:21 'i4' (temp highp 4-component vector of int)
+0:21 'i4' (temp highp 4-component vector of int)
+0:21 'i4' (temp highp 4-component vector of int)
+0:21 'i4' (temp highp 4-component vector of int)
+0:23 move second child to first child (temp highp int)
+0:23 'i1' (temp highp int)
+0:23 bitfieldExtract (global highp int)
+0:23 'i1' (temp highp int)
+0:23 Constant:
+0:23 4 (const int)
+0:23 Constant:
+0:23 5 (const int)
+0:25 move second child to first child (temp highp 3-component vector of uint)
+0:25 'u3' (temp highp 3-component vector of uint)
+0:25 bitfieldExtract (global highp 3-component vector of uint)
+0:25 'u3' (temp highp 3-component vector of uint)
+0:25 Constant:
+0:25 4 (const int)
+0:25 Constant:
+0:25 5 (const int)
+0:27 move second child to first child (temp highp 3-component vector of int)
+0:27 'i3' (temp highp 3-component vector of int)
+0:27 bitfieldInsert (global highp 3-component vector of int)
+0:27 'i3' (temp highp 3-component vector of int)
+0:27 'i3' (temp highp 3-component vector of int)
+0:27 Constant:
+0:27 4 (const int)
+0:27 Constant:
+0:27 5 (const int)
+0:28 move second child to first child (temp highp uint)
+0:28 'u1' (temp highp uint)
+0:28 bitfieldInsert (global highp uint)
+0:28 'u1' (temp highp uint)
+0:28 'u1' (temp highp uint)
+0:28 Constant:
+0:28 4 (const int)
+0:28 Constant:
+0:28 5 (const int)
+0:30 move second child to first child (temp highp 2-component vector of int)
+0:30 'i2' (temp highp 2-component vector of int)
+0:30 bitFieldReverse (global highp 2-component vector of int)
+0:30 'i2' (temp highp 2-component vector of int)
+0:31 move second child to first child (temp highp 4-component vector of uint)
+0:31 'u4' (temp highp 4-component vector of uint)
+0:31 bitFieldReverse (global highp 4-component vector of uint)
+0:31 'u4' (temp highp 4-component vector of uint)
+0:32 move second child to first child (temp highp int)
+0:32 'i1' (temp highp int)
+0:32 bitCount (global highp int)
+0:32 'i1' (temp highp int)
+0:33 move second child to first child (temp highp 3-component vector of int)
+0:33 'i3' (temp highp 3-component vector of int)
+0:33 bitCount (global highp 3-component vector of int)
+0:33 'u3' (temp highp 3-component vector of uint)
+0:34 move second child to first child (temp highp 2-component vector of int)
+0:34 'i2' (temp highp 2-component vector of int)
+0:34 findLSB (global highp 2-component vector of int)
+0:34 'i2' (temp highp 2-component vector of int)
+0:35 move second child to first child (temp highp 4-component vector of int)
+0:35 'i4' (temp highp 4-component vector of int)
+0:35 findLSB (global highp 4-component vector of int)
+0:35 'u4' (temp highp 4-component vector of uint)
+0:36 move second child to first child (temp highp int)
+0:36 'i1' (temp highp int)
+0:36 findMSB (global highp int)
+0:36 'i1' (temp highp int)
+0:37 move second child to first child (temp highp 2-component vector of int)
+0:37 'i2' (temp highp 2-component vector of int)
+0:37 findMSB (global highp 2-component vector of int)
+0:37 'u2' (temp highp 2-component vector of uint)
+0:40 move second child to first child (temp highp 3-component vector of float)
+0:40 'v3' (temp highp 3-component vector of float)
+0:40 frexp (global highp 3-component vector of float)
+0:40 'v3' (temp highp 3-component vector of float)
+0:40 'i3' (temp highp 3-component vector of int)
+0:42 move second child to first child (temp highp 2-component vector of float)
+0:42 'v2' (temp highp 2-component vector of float)
+0:42 ldexp (global highp 2-component vector of float)
+0:42 'v2' (temp highp 2-component vector of float)
+0:42 'i2' (temp highp 2-component vector of int)
+0:45 move second child to first child (temp highp uint)
+0:45 'u1' (temp highp uint)
+0:45 PackUnorm4x8 (global highp uint)
+0:45 'v4' (temp mediump 4-component vector of float)
+0:46 move second child to first child (temp highp uint)
+0:46 'u1' (temp highp uint)
+0:46 PackSnorm4x8 (global highp uint)
+0:46 'v4' (temp mediump 4-component vector of float)
+0:47 move second child to first child (temp mediump 4-component vector of float)
+0:47 'v4' (temp mediump 4-component vector of float)
+0:47 UnpackUnorm4x8 (global mediump 4-component vector of float)
+0:47 'u1' (temp highp uint)
+0:48 move second child to first child (temp mediump 4-component vector of float)
+0:48 'v4' (temp mediump 4-component vector of float)
+0:48 UnpackSnorm4x8 (global mediump 4-component vector of float)
+0:48 'u1' (temp highp uint)
+0:60 Function Definition: foo( (global void)
+0:60 Function Parameters:
+0:? Sequence
+0:63 move second child to first child (temp highp 2-component vector of int)
+0:63 'v2' (temp highp 2-component vector of int)
+0:63 textureSize (global highp 2-component vector of int)
+0:63 's2dms' (uniform highp sampler2DMS)
+0:64 move second child to first child (temp highp 2-component vector of int)
+0:64 'v2' (temp highp 2-component vector of int)
+0:64 textureSize (global highp 2-component vector of int)
+0:64 'us2dms' (uniform highp usampler2DMS)
+0:65 Sequence
+0:65 move second child to first child (temp highp 4-component vector of float)
+0:65 'v4' (temp highp 4-component vector of float)
+0:65 textureFetch (global highp 4-component vector of float)
+0:65 's2dms' (uniform highp sampler2DMS)
+0:65 'v2' (temp highp 2-component vector of int)
+0:65 Constant:
+0:65 2 (const int)
+0:66 Sequence
+0:66 move second child to first child (temp highp 4-component vector of int)
+0:66 'iv4' (temp highp 4-component vector of int)
+0:66 textureFetch (global highp 4-component vector of int)
+0:66 'is2dms' (uniform highp isampler2DMS)
+0:66 'v2' (temp highp 2-component vector of int)
+0:66 Constant:
+0:66 2 (const int)
+0:67 Constant:
+0:67 0.000000
+0:69 frexp (global highp float)
+0:69 'f' (temp highp float)
+0:69 'ini' (in highp int)
+0:114 Function Definition: foo_IO( (global void)
+0:114 Function Parameters:
+0:116 Sequence
+0:116 Sequence
+0:116 move second child to first child (temp highp int)
+0:116 'sum' (temp highp int)
+0:116 add (temp highp int)
+0:116 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:117 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+0:118 move second child to first child (temp highp 4-component vector of float)
+0:118 gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position)
+0:118 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
+0:118 Constant:
+0:118 0 (const uint)
+0:118 Constant:
+0:118 1.000000
+0:118 1.000000
+0:118 1.000000
+0:118 1.000000
+0:119 gl_PointSize: direct index for structure (gl_PointSize highp void PointSize)
+0:119 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
+0:119 Constant:
+0:119 1 (const uint)
+0:153 Function Definition: pfooBad( (global void)
+0:153 Function Parameters:
+0:? Sequence
+0:156 move second child to first child (temp highp 2-component vector of float)
+0:156 'h' (temp highp 2-component vector of float)
+0:156 fma (global highp 2-component vector of float)
+0:156 'inf' (in highp 2-component vector of float)
+0:156 'ing' (in highp 2-component vector of float)
+0:156 'h' (temp highp 2-component vector of float)
+0:157 indirect index (temp highp sampler2D)
+0:157 'sArray' (uniform 4-element array of highp sampler2D)
+0:157 add (temp highp int)
+0:157 'sIndex' (uniform highp int)
+0:157 Constant:
+0:157 1 (const int)
+0:158 indirect index (layout(binding=0 offset=0 ) temp highp atomic_uint)
+0:158 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
+0:158 add (temp highp int)
+0:158 'sIndex' (uniform highp int)
+0:158 Constant:
+0:158 1 (const int)
+0:159 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
+0:159 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
+0:159 Constant:
+0:159 1 (const int)
+0:160 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
+0:160 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
+0:160 Constant:
+0:160 2 (const int)
+0:161 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
+0:161 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
+0:161 add (temp highp int)
+0:161 'sIndex' (uniform highp int)
+0:161 Constant:
+0:161 1 (const int)
+0:162 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
+0:162 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
+0:162 'sIndex' (uniform highp int)
+0:163 direct index (writeonly temp highp image2D)
+0:163 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:163 Constant:
+0:163 2 (const int)
+0:164 indirect index (writeonly temp highp image2D)
+0:164 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:164 component-wise multiply (temp highp int)
+0:164 'sIndex' (uniform highp int)
+0:164 Constant:
+0:164 2 (const int)
+0:165 textureGatherOffset (global highp 4-component vector of float)
+0:165 direct index (temp highp sampler2D)
+0:165 'sArray' (uniform 4-element array of highp sampler2D)
+0:165 Constant:
+0:165 0 (const int)
+0:165 Constant:
+0:165 0.100000
+0:165 0.100000
+0:165 Convert float to int (temp highp 2-component vector of int)
+0:165 'inf' (in highp 2-component vector of float)
+0:166 textureGatherOffsets (global highp 4-component vector of float)
+0:166 direct index (temp highp sampler2D)
+0:166 'sArray' (uniform 4-element array of highp sampler2D)
+0:166 Constant:
+0:166 0 (const int)
+0:166 Constant:
+0:166 0.100000
+0:166 0.100000
+0:166 Constant:
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:166 0 (const int)
+0:171 Function Definition: pfoo( (global void)
+0:171 Function Parameters:
+0:? Sequence
+0:174 move second child to first child (temp highp 2-component vector of float)
+0:174 'h' (temp highp 2-component vector of float)
+0:174 fma (global highp 2-component vector of float)
+0:174 'inf' (in highp 2-component vector of float)
+0:174 'ing' (in highp 2-component vector of float)
+0:174 'h' (temp highp 2-component vector of float)
+0:175 indirect index (temp highp sampler2D)
+0:175 'sArray' (uniform 4-element array of highp sampler2D)
+0:175 add (temp highp int)
+0:175 'sIndex' (uniform highp int)
+0:175 Constant:
+0:175 1 (const int)
+0:176 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
+0:176 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
+0:176 add (temp highp int)
+0:176 'sIndex' (uniform highp int)
+0:176 Constant:
+0:176 1 (const int)
+0:177 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
+0:177 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
+0:177 subtract (temp highp int)
+0:177 'sIndex' (uniform highp int)
+0:177 Constant:
+0:177 2 (const int)
+0:178 direct index (writeonly temp highp image2D)
+0:178 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:178 Constant:
+0:178 2 (const int)
+0:179 indirect index (writeonly temp highp image2D)
+0:179 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:179 subtract (temp highp int)
+0:179 'sIndex' (uniform highp int)
+0:179 Constant:
+0:179 2 (const int)
+0:180 textureGatherOffset (global highp 4-component vector of float)
+0:180 direct index (temp highp sampler2D)
+0:180 'sArray' (uniform 4-element array of highp sampler2D)
+0:180 Constant:
+0:180 0 (const int)
+0:180 Constant:
+0:180 0.100000
+0:180 0.100000
+0:180 Convert float to int (temp highp 2-component vector of int)
+0:180 'inf' (in highp 2-component vector of float)
+0:181 textureGatherOffsets (global highp 4-component vector of float)
+0:181 direct index (temp highp sampler2D)
+0:181 'sArray' (uniform 4-element array of highp sampler2D)
+0:181 Constant:
+0:181 0 (const int)
+0:181 Constant:
+0:181 0.100000
+0:181 0.100000
+0:181 Constant:
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:181 0 (const int)
+0:182 textureGatherOffsets (global highp 4-component vector of float)
+0:182 direct index (temp highp sampler2D)
+0:182 'sArray' (uniform 4-element array of highp sampler2D)
+0:182 Constant:
+0:182 0 (const int)
+0:182 Constant:
+0:182 0.100000
+0:182 0.100000
+0:182 'offsets' (uniform 4-element array of highp 2-component vector of int)
+0:220 Function Definition: bufferT( (global void)
+0:220 Function Parameters:
+0:222 Sequence
+0:222 Sequence
+0:222 move second child to first child (temp highp int)
+0:222 's1' (temp highp int)
+0:222 textureSize (global highp int)
+0:222 'bufSamp1' (uniform highp samplerBuffer)
+0:223 Sequence
+0:223 move second child to first child (temp highp int)
+0:223 's2' (temp highp int)
+0:223 textureSize (global highp int)
+0:223 'bufSamp2' (uniform highp isamplerBuffer)
+0:224 Sequence
+0:224 move second child to first child (temp highp int)
+0:224 's3' (temp highp int)
+0:224 textureSize (global highp int)
+0:224 'bufSamp3' (uniform highp usamplerBuffer)
+0:226 Sequence
+0:226 move second child to first child (temp highp int)
+0:226 's4' (temp highp int)
+0:226 imageQuerySize (global highp int)
+0:226 'bufSamp4' (writeonly uniform highp imageBuffer)
+0:227 Sequence
+0:227 move second child to first child (temp highp int)
+0:227 's5' (temp highp int)
+0:227 imageQuerySize (global highp int)
+0:227 'bufSamp5' (writeonly uniform highp iimageBuffer)
+0:228 Sequence
+0:228 move second child to first child (temp highp int)
+0:228 's6' (temp highp int)
+0:228 imageQuerySize (global highp int)
+0:228 'bufSamp6' (writeonly uniform highp uimageBuffer)
+0:230 Sequence
+0:230 move second child to first child (temp highp 4-component vector of float)
+0:230 'f1' (temp highp 4-component vector of float)
+0:230 textureFetch (global highp 4-component vector of float)
+0:230 'bufSamp1' (uniform highp samplerBuffer)
+0:230 's1' (temp highp int)
+0:231 Sequence
+0:231 move second child to first child (temp highp 4-component vector of int)
+0:231 'f2' (temp highp 4-component vector of int)
+0:231 textureFetch (global highp 4-component vector of int)
+0:231 'bufSamp2' (uniform highp isamplerBuffer)
+0:231 's2' (temp highp int)
+0:232 Sequence
+0:232 move second child to first child (temp highp 4-component vector of uint)
+0:232 'f3' (temp highp 4-component vector of uint)
+0:232 textureFetch (global highp 4-component vector of uint)
+0:232 'bufSamp3' (uniform highp usamplerBuffer)
+0:232 's3' (temp highp int)
+0:279 Function Definition: CAT( (global void)
+0:279 Function Parameters:
+0:281 Sequence
+0:281 Sequence
+0:281 move second child to first child (temp highp 3-component vector of int)
+0:281 's4' (temp highp 3-component vector of int)
+0:281 textureSize (global highp 3-component vector of int)
+0:281 'CA4' (uniform highp samplerCubeArray)
+0:281 Constant:
+0:281 1 (const int)
+0:282 Sequence
+0:282 move second child to first child (temp highp 3-component vector of int)
+0:282 's5' (temp highp 3-component vector of int)
+0:282 textureSize (global highp 3-component vector of int)
+0:282 'CA5' (uniform highp samplerCubeArrayShadow)
+0:282 Constant:
+0:282 1 (const int)
+0:283 Sequence
+0:283 move second child to first child (temp highp 3-component vector of int)
+0:283 's6' (temp highp 3-component vector of int)
+0:283 textureSize (global highp 3-component vector of int)
+0:283 'CA6' (uniform highp isamplerCubeArray)
+0:283 Constant:
+0:283 1 (const int)
+0:284 Sequence
+0:284 move second child to first child (temp highp 3-component vector of int)
+0:284 's7' (temp highp 3-component vector of int)
+0:284 textureSize (global highp 3-component vector of int)
+0:284 'CA7' (uniform highp usamplerCubeArray)
+0:284 Constant:
+0:284 1 (const int)
+0:286 Sequence
+0:286 move second child to first child (temp highp 4-component vector of float)
+0:286 't4' (temp highp 4-component vector of float)
+0:286 texture (global highp 4-component vector of float)
+0:286 'CA4' (uniform highp samplerCubeArray)
+0:286 Constant:
+0:286 0.500000
+0:286 0.500000
+0:286 0.500000
+0:286 0.500000
+0:287 Sequence
+0:287 move second child to first child (temp highp float)
+0:287 't5' (temp highp float)
+0:287 texture (global highp float)
+0:287 'CA5' (uniform highp samplerCubeArrayShadow)
+0:287 Constant:
+0:287 0.500000
+0:287 0.500000
+0:287 0.500000
+0:287 0.500000
+0:287 Constant:
+0:287 3.000000
+0:288 Sequence
+0:288 move second child to first child (temp highp 4-component vector of int)
+0:288 't6' (temp highp 4-component vector of int)
+0:288 texture (global highp 4-component vector of int)
+0:288 'CA6' (uniform highp isamplerCubeArray)
+0:288 Constant:
+0:288 0.500000
+0:288 0.500000
+0:288 0.500000
+0:288 0.500000
+0:289 Sequence
+0:289 move second child to first child (temp highp 4-component vector of uint)
+0:289 't7' (temp highp 4-component vector of uint)
+0:289 texture (global highp 4-component vector of uint)
+0:289 'CA7' (uniform highp usamplerCubeArray)
+0:289 Constant:
+0:289 0.500000
+0:289 0.500000
+0:289 0.500000
+0:289 0.500000
+0:291 Sequence
+0:291 move second child to first child (temp highp 4-component vector of float)
+0:291 'L4' (temp highp 4-component vector of float)
+0:291 textureLod (global highp 4-component vector of float)
+0:291 'CA4' (uniform highp samplerCubeArray)
+0:291 Constant:
+0:291 0.500000
+0:291 0.500000
+0:291 0.500000
+0:291 0.500000
+0:291 Constant:
+0:291 0.240000
+0:292 Sequence
+0:292 move second child to first child (temp highp 4-component vector of int)
+0:292 'L6' (temp highp 4-component vector of int)
+0:292 textureLod (global highp 4-component vector of int)
+0:292 'CA6' (uniform highp isamplerCubeArray)
+0:292 Constant:
+0:292 0.500000
+0:292 0.500000
+0:292 0.500000
+0:292 0.500000
+0:292 Constant:
+0:292 0.260000
+0:293 Sequence
+0:293 move second child to first child (temp highp 4-component vector of uint)
+0:293 'L7' (temp highp 4-component vector of uint)
+0:293 textureLod (global highp 4-component vector of uint)
+0:293 'CA7' (uniform highp usamplerCubeArray)
+0:293 Constant:
+0:293 0.500000
+0:293 0.500000
+0:293 0.500000
+0:293 0.500000
+0:293 Constant:
+0:293 0.270000
+0:295 Sequence
+0:295 move second child to first child (temp highp 4-component vector of float)
+0:295 'g4' (temp highp 4-component vector of float)
+0:295 textureGrad (global highp 4-component vector of float)
+0:295 'CA4' (uniform highp samplerCubeArray)
+0:295 Constant:
+0:295 0.500000
+0:295 0.500000
+0:295 0.500000
+0:295 0.500000
+0:295 Constant:
+0:295 0.100000
+0:295 0.100000
+0:295 0.100000
+0:295 Constant:
+0:295 0.200000
+0:295 0.200000
+0:295 0.200000
+0:296 Sequence
+0:296 move second child to first child (temp highp 4-component vector of int)
+0:296 'g6' (temp highp 4-component vector of int)
+0:296 textureGrad (global highp 4-component vector of int)
+0:296 'CA6' (uniform highp isamplerCubeArray)
+0:296 Constant:
+0:296 0.500000
+0:296 0.500000
+0:296 0.500000
+0:296 0.500000
+0:296 Constant:
+0:296 0.100000
+0:296 0.100000
+0:296 0.100000
+0:296 Constant:
+0:296 0.200000
+0:296 0.200000
+0:296 0.200000
+0:297 Sequence
+0:297 move second child to first child (temp highp 4-component vector of uint)
+0:297 'g7' (temp highp 4-component vector of uint)
+0:297 textureGrad (global highp 4-component vector of uint)
+0:297 'CA7' (uniform highp usamplerCubeArray)
+0:297 Constant:
+0:297 0.500000
+0:297 0.500000
+0:297 0.500000
+0:297 0.500000
+0:297 Constant:
+0:297 0.100000
+0:297 0.100000
+0:297 0.100000
+0:297 Constant:
+0:297 0.200000
+0:297 0.200000
+0:297 0.200000
+0:299 Sequence
+0:299 move second child to first child (temp highp 4-component vector of float)
+0:299 'gath4' (temp highp 4-component vector of float)
+0:299 textureGather (global highp 4-component vector of float)
+0:299 'CA4' (uniform highp samplerCubeArray)
+0:299 Constant:
+0:299 0.500000
+0:299 0.500000
+0:299 0.500000
+0:299 0.500000
+0:300 Sequence
+0:300 move second child to first child (temp highp 4-component vector of float)
+0:300 'gathC4' (temp highp 4-component vector of float)
+0:300 textureGather (global highp 4-component vector of float)
+0:300 'CA4' (uniform highp samplerCubeArray)
+0:300 Constant:
+0:300 0.500000
+0:300 0.500000
+0:300 0.500000
+0:300 0.500000
+0:300 Constant:
+0:300 2 (const int)
+0:301 Sequence
+0:301 move second child to first child (temp highp 4-component vector of int)
+0:301 'gath6' (temp highp 4-component vector of int)
+0:301 textureGather (global highp 4-component vector of int)
+0:301 'CA6' (uniform highp isamplerCubeArray)
+0:301 Constant:
+0:301 0.500000
+0:301 0.500000
+0:301 0.500000
+0:301 0.500000
+0:302 Sequence
+0:302 move second child to first child (temp highp 4-component vector of int)
+0:302 'gathC6' (temp highp 4-component vector of int)
+0:302 textureGather (global highp 4-component vector of int)
+0:302 'CA6' (uniform highp isamplerCubeArray)
+0:302 Constant:
+0:302 0.500000
+0:302 0.500000
+0:302 0.500000
+0:302 0.500000
+0:302 Constant:
+0:302 1 (const int)
+0:303 Sequence
+0:303 move second child to first child (temp highp 4-component vector of uint)
+0:303 'gath7' (temp highp 4-component vector of uint)
+0:303 textureGather (global highp 4-component vector of uint)
+0:303 'CA7' (uniform highp usamplerCubeArray)
+0:303 Constant:
+0:303 0.500000
+0:303 0.500000
+0:303 0.500000
+0:303 0.500000
+0:304 Sequence
+0:304 move second child to first child (temp highp 4-component vector of uint)
+0:304 'gathC7' (temp highp 4-component vector of uint)
+0:304 textureGather (global highp 4-component vector of uint)
+0:304 'CA7' (uniform highp usamplerCubeArray)
+0:304 Constant:
+0:304 0.500000
+0:304 0.500000
+0:304 0.500000
+0:304 0.500000
+0:304 Constant:
+0:304 0 (const int)
+0:306 Sequence
+0:306 move second child to first child (temp highp 4-component vector of float)
+0:306 'gath5' (temp highp 4-component vector of float)
+0:306 textureGather (global highp 4-component vector of float)
+0:306 'CA5' (uniform highp samplerCubeArrayShadow)
+0:306 Constant:
+0:306 0.500000
+0:306 0.500000
+0:306 0.500000
+0:306 0.500000
+0:306 Constant:
+0:306 2.500000
+0:308 Sequence
+0:308 move second child to first child (temp highp 3-component vector of int)
+0:308 's1' (temp highp 3-component vector of int)
+0:308 imageQuerySize (global highp 3-component vector of int)
+0:308 'CA1' (writeonly uniform highp imageCubeArray)
+0:309 Sequence
+0:309 move second child to first child (temp highp 3-component vector of int)
+0:309 's2' (temp highp 3-component vector of int)
+0:309 imageQuerySize (global highp 3-component vector of int)
+0:309 'CA2' (writeonly uniform highp iimageCubeArray)
+0:310 Sequence
+0:310 move second child to first child (temp highp 3-component vector of int)
+0:310 's3' (temp highp 3-component vector of int)
+0:310 imageQuerySize (global highp 3-component vector of int)
+0:310 'CA3' (writeonly uniform highp uimageCubeArray)
+0:312 imageStore (global highp void)
+0:312 'CA1' (writeonly uniform highp imageCubeArray)
+0:312 's3' (temp highp 3-component vector of int)
+0:312 Constant:
+0:312 1.000000
+0:312 1.000000
+0:312 1.000000
+0:312 1.000000
+0:313 imageStore (global highp void)
+0:313 'CA2' (writeonly uniform highp iimageCubeArray)
+0:313 's3' (temp highp 3-component vector of int)
+0:313 Constant:
+0:313 1 (const int)
+0:313 1 (const int)
+0:313 1 (const int)
+0:313 1 (const int)
+0:314 imageStore (global highp void)
+0:314 'CA3' (writeonly uniform highp uimageCubeArray)
+0:314 's3' (temp highp 3-component vector of int)
+0:314 Constant:
+0:314 1 (const uint)
+0:314 1 (const uint)
+0:314 1 (const uint)
+0:314 1 (const uint)
+0:316 Sequence
+0:316 move second child to first child (temp highp 4-component vector of float)
+0:316 'cl1' (temp highp 4-component vector of float)
+0:316 imageLoad (global highp 4-component vector of float)
+0:316 'rCA1' (layout(rgba16f ) readonly uniform highp imageCubeArray)
+0:316 's3' (temp highp 3-component vector of int)
+0:317 Sequence
+0:317 move second child to first child (temp highp 4-component vector of int)
+0:317 'cl2' (temp highp 4-component vector of int)
+0:317 imageLoad (global highp 4-component vector of int)
+0:317 'rCA2' (layout(rgba32i ) readonly uniform highp iimageCubeArray)
+0:317 's3' (temp highp 3-component vector of int)
+0:318 Sequence
+0:318 move second child to first child (temp highp 4-component vector of uint)
+0:318 'cl3' (temp highp 4-component vector of uint)
+0:318 imageLoad (global highp 4-component vector of uint)
+0:318 'rCA3' (layout(r32ui ) readonly uniform highp uimageCubeArray)
+0:318 's3' (temp highp 3-component vector of int)
+0:343 Function Definition: MSA( (global void)
+0:343 Function Parameters:
+0:345 Sequence
+0:345 Sequence
+0:345 move second child to first child (temp highp 4-component vector of float)
+0:345 'tf' (temp highp 4-component vector of float)
+0:345 textureFetch (global highp 4-component vector of float)
+0:345 'samp2DMSA' (uniform highp sampler2DMSArray)
+0:345 Constant:
+0:345 5 (const int)
+0:345 5 (const int)
+0:345 5 (const int)
+0:345 Constant:
+0:345 2 (const int)
+0:346 Sequence
+0:346 move second child to first child (temp highp 4-component vector of int)
+0:346 'tfi' (temp highp 4-component vector of int)
+0:346 textureFetch (global highp 4-component vector of int)
+0:346 'samp2DMSAi' (uniform highp isampler2DMSArray)
+0:346 Constant:
+0:346 5 (const int)
+0:346 5 (const int)
+0:346 5 (const int)
+0:346 Constant:
+0:346 2 (const int)
+0:347 Sequence
+0:347 move second child to first child (temp highp 4-component vector of uint)
+0:347 'tfu' (temp highp 4-component vector of uint)
+0:347 textureFetch (global highp 4-component vector of uint)
+0:347 'samp2DMSAu' (uniform highp usampler2DMSArray)
+0:347 Constant:
+0:347 5 (const int)
+0:347 5 (const int)
+0:347 5 (const int)
+0:347 Constant:
+0:347 2 (const int)
+0:349 Sequence
+0:349 move second child to first child (temp highp 3-component vector of int)
+0:349 'tfs' (temp highp 3-component vector of int)
+0:349 textureSize (global highp 3-component vector of int)
+0:349 'samp2DMSA' (uniform highp sampler2DMSArray)
+0:350 Sequence
+0:350 move second child to first child (temp highp 3-component vector of int)
+0:350 'tfsi' (temp highp 3-component vector of int)
+0:350 textureSize (global highp 3-component vector of int)
+0:350 'samp2DMSAi' (uniform highp isampler2DMSArray)
+0:352 Sequence
+0:352 move second child to first child (temp highp 3-component vector of int)
+0:352 'tfsu' (temp highp 3-component vector of int)
+0:352 textureSize (global highp 3-component vector of int)
+0:352 'samp2DMSAu' (uniform highp usampler2DMSArray)
+0:364 Function Definition: goodImageAtom( (global void)
+0:364 Function Parameters:
+0:? Sequence
+0:370 imageAtomicAdd (global highp int)
+0:370 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:370 'P' (uniform highp 2-component vector of int)
+0:370 'dati' (temp highp int)
+0:371 imageAtomicAdd (global highp uint)
+0:371 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:371 'P' (uniform highp 2-component vector of int)
+0:371 'datu' (temp highp uint)
+0:372 imageAtomicMin (global highp int)
+0:372 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:372 'P' (uniform highp 2-component vector of int)
+0:372 'dati' (temp highp int)
+0:373 imageAtomicMin (global highp uint)
+0:373 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:373 'P' (uniform highp 2-component vector of int)
+0:373 'datu' (temp highp uint)
+0:374 imageAtomicMax (global highp int)
+0:374 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:374 'P' (uniform highp 2-component vector of int)
+0:374 'dati' (temp highp int)
+0:375 imageAtomicMax (global highp uint)
+0:375 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:375 'P' (uniform highp 2-component vector of int)
+0:375 'datu' (temp highp uint)
+0:376 imageAtomicAnd (global highp int)
+0:376 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:376 'P' (uniform highp 2-component vector of int)
+0:376 'dati' (temp highp int)
+0:377 imageAtomicAnd (global highp uint)
+0:377 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:377 'P' (uniform highp 2-component vector of int)
+0:377 'datu' (temp highp uint)
+0:378 imageAtomicOr (global highp int)
+0:378 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:378 'P' (uniform highp 2-component vector of int)
+0:378 'dati' (temp highp int)
+0:379 imageAtomicOr (global highp uint)
+0:379 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:379 'P' (uniform highp 2-component vector of int)
+0:379 'datu' (temp highp uint)
+0:380 imageAtomicXor (global highp int)
+0:380 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:380 'P' (uniform highp 2-component vector of int)
+0:380 'dati' (temp highp int)
+0:381 imageAtomicXor (global highp uint)
+0:381 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:381 'P' (uniform highp 2-component vector of int)
+0:381 'datu' (temp highp uint)
+0:382 imageAtomicExchange (global highp int)
+0:382 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:382 'P' (uniform highp 2-component vector of int)
+0:382 'dati' (temp highp int)
+0:383 imageAtomicExchange (global highp uint)
+0:383 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:383 'P' (uniform highp 2-component vector of int)
+0:383 'datu' (temp highp uint)
+0:384 imageAtomicExchange (global highp float)
+0:384 'im2Df' (layout(r32f ) uniform highp image2D)
+0:384 'P' (uniform highp 2-component vector of int)
+0:384 'datf' (temp highp float)
+0:385 imageAtomicCompSwap (global highp int)
+0:385 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:385 'P' (uniform highp 2-component vector of int)
+0:385 Constant:
+0:385 3 (const int)
+0:385 'dati' (temp highp int)
+0:386 imageAtomicCompSwap (global highp uint)
+0:386 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:386 'P' (uniform highp 2-component vector of int)
+0:386 Constant:
+0:386 5 (const uint)
+0:386 'datu' (temp highp uint)
+0:398 Function Definition: badInterp( (global void)
+0:398 Function Parameters:
+0:400 Sequence
+0:400 Constant:
+0:400 0.000000
+0:401 Constant:
+0:401 0.000000
+0:402 Constant:
+0:402 0.000000
+0:? Linker Objects
+0:? 's' (shared highp 4-component vector of float)
+0:? 'v' (buffer highp 4-component vector of float)
+0:? 'ini' (in highp int)
+0:? 'x' (layout(location=2 ) uniform highp 4X4 matrix of float)
+0:? 'y' (layout(location=3 ) uniform highp 4X4 matrix of float)
+0:? 'xi' (layout(location=2 ) smooth out highp 4X4 matrix of float)
+0:? 'yi' (layout(location=3 ) smooth out highp 4X4 matrix of float)
+0:? 's2dms' (uniform highp sampler2DMS)
+0:? 'is2dms' (uniform highp isampler2DMS)
+0:? 'us2dms' (uniform highp usampler2DMS)
+0:? 'us2dmsa' (uniform mediump usampler2DMSArray)
+0:? 'outb' (smooth out bool)
+0:? 'outo' (smooth out highp sampler2D)
+0:? 'outa' (smooth out 4-element array of highp float)
+0:? 'outaa' (smooth out 4-element array of 2-element array of highp float)
+0:? 'outs' (smooth out structure{global highp float f})
+0:? 'outasa' (smooth out 4-element array of structure{global highp float f})
+0:? 'outsa' (smooth out 4-element array of structure{global highp float f})
+0:? 'outSA' (smooth out structure{global 4-element array of highp float f})
+0:? 'outSS' (smooth out structure{global highp float f, global structure{global highp float f} s})
+0:? 'U430i' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform highp int a})
+0:? 'B430i' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer highp int a})
+0:? 'outbinst' (out block{out highp int a, out highp 4-component vector of float v, out highp sampler2D s})
+0:? 'anon@0' (out block{layout(location=12 ) out highp int aAnon, layout(location=13 ) out highp 4-component vector of float vAnon})
+0:? 'aliased' (layout(location=12 ) smooth out highp int)
+0:? 'inbinst' (in block{in highp int a})
+0:? 'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
+0:? 'smon' (smooth out block{out highp int i})
+0:? 'fmon' (flat out block{out highp int i})
+0:? 'cmon' (centroid out block{out highp int i})
+0:? 'imon' (invariant out block{out highp int i})
+0:? 'inf' (in highp 2-component vector of float)
+0:? 'ing' (in highp 2-component vector of float)
+0:? 'offsets' (uniform 4-element array of highp 2-component vector of int)
+0:? 'sArray' (uniform 4-element array of highp sampler2D)
+0:? 'sIndex' (uniform highp int)
+0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
+0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
+0:? 'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
+0:? 'iArray' (writeonly uniform 5-element array of highp image2D)
+0:? 'constOffsets' (const 4-element array of highp 2-component vector of int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 0 (const int)
+0:? 'badSamp1' (uniform mediump samplerBuffer)
+0:? 'badSamp2' (uniform mediump isamplerBuffer)
+0:? 'badSamp3' (uniform mediump usamplerBuffer)
+0:? 'badSamp4' (writeonly uniform mediump imageBuffer)
+0:? 'badSamp5' (writeonly uniform mediump iimageBuffer)
+0:? 'badSamp6' (writeonly uniform mediump uimageBuffer)
+0:? 'noPreSamp1' (uniform mediump samplerBuffer)
+0:? 'noPreSamp2' (uniform mediump isamplerBuffer)
+0:? 'noPreSamp3' (uniform mediump usamplerBuffer)
+0:? 'noPreSamp4' (writeonly uniform mediump imageBuffer)
+0:? 'noPreSamp5' (writeonly uniform mediump iimageBuffer)
+0:? 'noPreSamp6' (writeonly uniform mediump uimageBuffer)
+0:? 'bufSamp1' (uniform highp samplerBuffer)
+0:? 'bufSamp2' (uniform highp isamplerBuffer)
+0:? 'bufSamp3' (uniform highp usamplerBuffer)
+0:? 'bufSamp4' (writeonly uniform highp imageBuffer)
+0:? 'bufSamp5' (writeonly uniform highp iimageBuffer)
+0:? 'bufSamp6' (writeonly uniform highp uimageBuffer)
+0:? 'badCA1' (writeonly uniform mediump imageCubeArray)
+0:? 'badCA2' (writeonly uniform mediump iimageCubeArray)
+0:? 'badCA3' (writeonly uniform mediump uimageCubeArray)
+0:? 'badCA4' (uniform mediump samplerCubeArray)
+0:? 'badCA5' (uniform mediump samplerCubeArrayShadow)
+0:? 'badCA6' (uniform mediump isamplerCubeArray)
+0:? 'badCA7' (uniform mediump usamplerCubeArray)
+0:? 'noPreCA1' (writeonly uniform mediump imageCubeArray)
+0:? 'noPreCA2' (writeonly uniform mediump iimageCubeArray)
+0:? 'noPreCA3' (writeonly uniform mediump uimageCubeArray)
+0:? 'noPreCA4' (uniform mediump samplerCubeArray)
+0:? 'noPreCA5' (uniform mediump samplerCubeArrayShadow)
+0:? 'noPreCA6' (uniform mediump isamplerCubeArray)
+0:? 'noPreCA7' (uniform mediump usamplerCubeArray)
+0:? 'CA1' (writeonly uniform highp imageCubeArray)
+0:? 'CA2' (writeonly uniform highp iimageCubeArray)
+0:? 'CA3' (writeonly uniform highp uimageCubeArray)
+0:? 'rCA1' (layout(rgba16f ) readonly uniform highp imageCubeArray)
+0:? 'rCA2' (layout(rgba32i ) readonly uniform highp iimageCubeArray)
+0:? 'rCA3' (layout(r32ui ) readonly uniform highp uimageCubeArray)
+0:? 'CA4' (uniform highp samplerCubeArray)
+0:? 'CA5' (uniform highp samplerCubeArrayShadow)
+0:? 'CA6' (uniform highp isamplerCubeArray)
+0:? 'CA7' (uniform highp usamplerCubeArray)
+0:? 'bad2DMS' (uniform mediump sampler2DMSArray)
+0:? 'bad2DMSi' (uniform mediump isampler2DMSArray)
+0:? 'bad2DMSu' (uniform mediump usampler2DMSArray)
+0:? 'noPrec2DMS' (uniform mediump sampler2DMSArray)
+0:? 'noPrec2DMSi' (uniform mediump isampler2DMSArray)
+0:? 'noPrec2DMSu' (uniform mediump usampler2DMSArray)
+0:? 'samp2DMSA' (uniform highp sampler2DMSArray)
+0:? 'samp2DMSAi' (uniform highp isampler2DMSArray)
+0:? 'samp2DMSAu' (uniform highp usampler2DMSArray)
+0:? 'im2Df' (layout(r32f ) uniform highp image2D)
+0:? 'im2Du' (layout(r32ui ) uniform highp uimage2D)
+0:? 'im2Di' (layout(r32i ) uniform highp iimage2D)
+0:? 'P' (uniform highp 2-component vector of int)
+0:? 'colorSampInBad' (smooth sample out highp 4-component vector of float)
+0:? 'colorSample' (smooth sample out highp 4-component vector of float)
+0:? 'colorfsi' (flat sample out highp 4-component vector of float)
+0:? 'sampInArray' (smooth sample out 4-element array of highp 3-component vector of float)
+0:? 'inv4' (in highp 4-component vector of float)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/Test/baseResults/310AofA.vert.out b/Test/baseResults/310AofA.vert.out
index 476646c..40c4321 100644
--- a/Test/baseResults/310AofA.vert.out
+++ b/Test/baseResults/310AofA.vert.out
@@ -1,647 +1,647 @@
-310AofA.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:17: '' : array size required
-ERROR: 0:23: '' : array size required
-ERROR: 0:28: '[]' : only outermost dimension of an array of arrays can be implicitly sized
-ERROR: 0:40: '' : array size required
-ERROR: 0:48: 'constructor' : constructing non-array constituent from array argument
-ERROR: 0:49: 'constructior' : array constructor argument not correct type to construct array element
-ERROR: 0:62: '[' : array index out of range '4'
-ERROR: 0:78: 'assign' : cannot convert from 'global 4-element array of 7-element array of highp float' to 'global 5-element array of 7-element array of highp float'
-ERROR: 0:79: 'assign' : cannot convert from 'global 4-element array of 7-element array of highp float' to 'global implicitly-sized array of 7-element array of highp float'
-ERROR: 0:81: 'foo' : no matching overloaded function found
-ERROR: 0:86: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'global 4-element array of 7-element array of highp float' and a right operand of type 'global 5-element array of 7-element array of highp float' (or there is no acceptable conversion)
-ERROR: 0:90: '[' : array index out of range '5'
-ERROR: 0:94: '[' : index out of range '-1'
-ERROR: 0:96: 'assign' : cannot convert from 'temp 3-element array of highp 4-component vector of float' to 'layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float'
-ERROR: 0:103: '' : array size required
-ERROR: 0:104: '' : array size required
-ERROR: 0:105: '' : array size required
-ERROR: 0:106: '' : array size required
-ERROR: 0:107: '' : array size required
-ERROR: 0:110: 'vertex input arrays' : not supported with this profile: es
-ERROR: 0:111: 'vertex-shader array-of-array output' : not supported with this profile: es
-ERROR: 0:113: 'array-of-array of block' : not supported with this profile: es
-ERROR: 22 compilation errors. No code generated.
-
-
-Shader version: 310
-ERROR: node is still EOpNull!
-0:8 Function Definition: f(b1;f1;u1[4];i1[3][2]; (global void)
-0:8 Function Parameters:
-0:8 'a' (in bool)
-0:8 'b' (in highp float)
-0:8 'c' (in 4-element array of highp uint)
-0:8 'd' (in 3-element array of 2-element array of highp int)
-0:11 Function Definition: main( (global void)
-0:11 Function Parameters:
-0:? Sequence
-0:13 Function Call: f(b1;f1;u1[4];i1[3][2]; (global void)
-0:13 Constant:
-0:13 false (const bool)
-0:13 Constant:
-0:13 12.100000
-0:13 Constant:
-0:13 0 (const uint)
-0:13 1 (const uint)
-0:13 1 (const uint)
-0:13 2 (const uint)
-0:13 'd' (temp 3-element array of 2-element array of highp int)
-0:44 Function Definition: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
-0:44 Function Parameters:
-0:44 'a' (in 5-element array of 7-element array of highp float)
-0:? Sequence
-0:47 move second child to first child (temp 7-element array of highp float)
-0:47 'r' (temp 7-element array of highp float)
-0:47 direct index (temp 7-element array of highp float)
-0:47 'a' (in 5-element array of 7-element array of highp float)
-0:47 Constant:
-0:47 2 (const int)
-0:48 Constant:
-0:48 0.000000
-0:49 Constant:
-0:49 0.000000
-0:50 Branch: Return with expression
-0:50 Construct float (temp 4-element array of 7-element array of float)
-0:50 direct index (temp 7-element array of highp float)
-0:50 'a' (in 5-element array of 7-element array of highp float)
-0:50 Constant:
-0:50 0 (const int)
-0:50 direct index (temp 7-element array of highp float)
-0:50 'a' (in 5-element array of 7-element array of highp float)
-0:50 Constant:
-0:50 1 (const int)
-0:50 'r' (temp 7-element array of highp float)
-0:50 direct index (temp 7-element array of highp float)
-0:50 'a' (in 5-element array of 7-element array of highp float)
-0:50 Constant:
-0:50 3 (const int)
-0:51 Branch: Return with expression
-0:51 Construct float (temp 4-element array of 7-element array of float)
-0:51 direct index (temp 7-element array of highp float)
-0:51 'a' (in 5-element array of 7-element array of highp float)
-0:51 Constant:
-0:51 0 (const int)
-0:51 direct index (temp 7-element array of highp float)
-0:51 'a' (in 5-element array of 7-element array of highp float)
-0:51 Constant:
-0:51 1 (const int)
-0:51 'r' (temp 7-element array of highp float)
-0:51 direct index (temp 7-element array of highp float)
-0:51 'a' (in 5-element array of 7-element array of highp float)
-0:51 Constant:
-0:51 3 (const int)
-0:52 Branch: Return with expression
-0:52 Construct float (temp 4-element array of 7-element array of float)
-0:52 direct index (temp 7-element array of highp float)
-0:52 'a' (in 5-element array of 7-element array of highp float)
-0:52 Constant:
-0:52 0 (const int)
-0:52 direct index (temp 7-element array of highp float)
-0:52 'a' (in 5-element array of 7-element array of highp float)
-0:52 Constant:
-0:52 1 (const int)
-0:52 direct index (temp 7-element array of highp float)
-0:52 'a' (in 5-element array of 7-element array of highp float)
-0:52 Constant:
-0:52 2 (const int)
-0:52 direct index (temp 7-element array of highp float)
-0:52 'a' (in 5-element array of 7-element array of highp float)
-0:52 Constant:
-0:52 3 (const int)
-0:55 Function Definition: bar(f1[5][7]; (global void)
-0:55 Function Parameters:
-0:55 '' (in 5-element array of 7-element array of highp float)
-0:57 Function Definition: foo2( (global void)
-0:57 Function Parameters:
-0:? Sequence
-0:? Sequence
-0:62 move second child to first child (temp highp float)
-0:62 direct index (temp highp float)
-0:62 direct index (temp 2-element array of highp float)
-0:62 direct index (temp 4-element array of 2-element array of highp float)
-0:62 'gu' (temp 3-element array of 4-element array of 2-element array of highp float)
-0:62 Constant:
-0:62 2 (const int)
-0:62 Constant:
-0:62 4 (const int)
-0:62 Constant:
-0:62 1 (const int)
-0:62 Constant:
-0:62 4.000000
-0:64 Sequence
-0:64 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:64 'ca4' (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:66 Constant:
-0:66 0.000000
-0:66 0.000000
-0:66 0.000000
-0:66 0.000000
-0:66 1.000000
-0:66 1.000000
-0:66 1.000000
-0:66 1.000000
-0:66 0.000000
-0:66 0.000000
-0:66 0.000000
-0:66 0.000000
-0:66 1.000000
-0:66 1.000000
-0:66 1.000000
-0:66 1.000000
-0:66 0.000000
-0:66 0.000000
-0:66 0.000000
-0:66 0.000000
-0:66 1.000000
-0:66 1.000000
-0:66 1.000000
-0:66 1.000000
-0:67 Sequence
-0:67 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:67 'caim' (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:69 Constant:
-0:69 4.000000
-0:69 4.000000
-0:69 4.000000
-0:69 4.000000
-0:69 2.000000
-0:69 2.000000
-0:69 2.000000
-0:69 2.000000
-0:69 4.000000
-0:69 4.000000
-0:69 4.000000
-0:69 4.000000
-0:69 2.000000
-0:69 2.000000
-0:69 2.000000
-0:69 2.000000
-0:69 4.000000
-0:69 4.000000
-0:69 4.000000
-0:69 4.000000
-0:69 2.000000
-0:69 2.000000
-0:69 2.000000
-0:69 2.000000
-0:70 Sequence
-0:70 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:70 'caim2' (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:72 Constant:
-0:72 4.000000
-0:72 4.000000
-0:72 4.000000
-0:72 4.000000
-0:72 2.000000
-0:72 2.000000
-0:72 2.000000
-0:72 2.000000
-0:72 4.000000
-0:72 4.000000
-0:72 4.000000
-0:72 4.000000
-0:72 2.000000
-0:72 2.000000
-0:72 2.000000
-0:72 2.000000
-0:72 4.000000
-0:72 4.000000
-0:72 4.000000
-0:72 4.000000
-0:72 2.000000
-0:72 2.000000
-0:72 2.000000
-0:72 2.000000
-0:73 Sequence
-0:73 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:73 'caim3' (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:75 Constant:
-0:75 4.000000
-0:75 4.000000
-0:75 4.000000
-0:75 4.000000
-0:75 2.000000
-0:75 2.000000
-0:75 2.000000
-0:75 2.000000
-0:75 4.000000
-0:75 4.000000
-0:75 4.000000
-0:75 4.000000
-0:75 2.000000
-0:75 2.000000
-0:75 2.000000
-0:75 2.000000
-0:75 4.000000
-0:75 4.000000
-0:75 4.000000
-0:75 4.000000
-0:75 2.000000
-0:75 2.000000
-0:75 2.000000
-0:75 2.000000
-0:77 move second child to first child (temp 4-element array of 7-element array of highp float)
-0:77 'g4' (global 4-element array of 7-element array of highp float)
-0:77 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
-0:77 'g5' (global 5-element array of 7-element array of highp float)
-0:78 'g5' (global 5-element array of 7-element array of highp float)
-0:79 'gu' (global implicitly-sized array of 7-element array of highp float)
-0:81 Constant:
-0:81 0.000000
-0:82 Function Call: bar(f1[5][7]; (global void)
-0:82 'g5' (global 5-element array of 7-element array of highp float)
-0:84 Test condition and select (temp void)
-0:84 Condition
-0:84 Compare Equal (temp bool)
-0:84 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
-0:84 'g5' (global 5-element array of 7-element array of highp float)
-0:84 'g4' (global 4-element array of 7-element array of highp float)
-0:84 true case is null
-0:86 Test condition and select (temp void)
-0:86 Condition
-0:86 Constant:
-0:86 false (const bool)
-0:86 true case is null
-0:90 move second child to first child (temp highp float)
-0:90 direct index (temp highp float)
-0:90 direct index (temp 7-element array of highp float)
-0:90 'u' (temp 5-element array of 7-element array of highp float)
-0:90 Constant:
-0:90 5 (const int)
-0:90 Constant:
-0:90 2 (const int)
-0:90 Constant:
-0:90 5.000000
-0:91 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
-0:91 'u' (temp 5-element array of 7-element array of highp float)
-0:94 direct index (layout(column_major shared ) temp highp 4-component vector of float)
-0:94 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
-0:94 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:94 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:94 Constant:
-0:94 1 (const int)
-0:94 Constant:
-0:94 1 (const int)
-0:94 Constant:
-0:94 -1 (const int)
-0:95 move second child to first child (temp highp 4-component vector of float)
-0:95 direct index (layout(column_major shared ) temp highp 4-component vector of float)
-0:95 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
-0:95 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:95 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:95 Constant:
-0:95 1 (const int)
-0:95 Constant:
-0:95 1 (const int)
-0:95 Constant:
-0:95 1 (const int)
-0:95 Constant:
-0:95 4.300000
-0:95 4.300000
-0:95 4.300000
-0:95 4.300000
-0:96 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
-0:96 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:96 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:96 Constant:
-0:96 1 (const int)
-0:96 Constant:
-0:96 1 (const int)
-0:98 Constant:
-0:98 7 (const int)
-0:99 array length (temp highp int)
-0:99 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float)
-0:99 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
-0:99 'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
-0:99 Constant:
-0:99 0 (const int)
-0:99 Constant:
-0:99 1 (const int)
-0:? Linker Objects
-0:? 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:? 'uname' (layout(column_major shared ) uniform 3-element array of block{layout(column_major shared ) uniform highp float u, layout(column_major shared ) uniform implicitly-sized array of highp 4-component vector of float v})
-0:? 'name2' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of implicitly-sized array of highp 4-component vector of float v})
-0:? 'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
-0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of highp float)
-0:? 'gu' (global implicitly-sized array of 7-element array of highp float)
-0:? 'g4' (global 4-element array of 7-element array of highp float)
-0:? 'g5' (global 5-element array of 7-element array of highp float)
-0:? 'inArray' (in 2-element array of 3-element array of highp float)
-0:? 'outArray' (smooth out 2-element array of 3-element array of highp float)
-0:? 'ubaaname' (layout(column_major shared ) uniform 2-element array of 3-element array of block{layout(column_major shared ) uniform highp int a})
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 310
-ERROR: node is still EOpNull!
-0:8 Function Definition: f(b1;f1;u1[4];i1[3][2]; (global void)
-0:8 Function Parameters:
-0:8 'a' (in bool)
-0:8 'b' (in highp float)
-0:8 'c' (in 4-element array of highp uint)
-0:8 'd' (in 3-element array of 2-element array of highp int)
-0:11 Function Definition: main( (global void)
-0:11 Function Parameters:
-0:? Sequence
-0:13 Function Call: f(b1;f1;u1[4];i1[3][2]; (global void)
-0:13 Constant:
-0:13 false (const bool)
-0:13 Constant:
-0:13 12.100000
-0:13 Constant:
-0:13 0 (const uint)
-0:13 1 (const uint)
-0:13 1 (const uint)
-0:13 2 (const uint)
-0:13 'd' (temp 3-element array of 2-element array of highp int)
-0:44 Function Definition: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
-0:44 Function Parameters:
-0:44 'a' (in 5-element array of 7-element array of highp float)
-0:? Sequence
-0:47 move second child to first child (temp 7-element array of highp float)
-0:47 'r' (temp 7-element array of highp float)
-0:47 direct index (temp 7-element array of highp float)
-0:47 'a' (in 5-element array of 7-element array of highp float)
-0:47 Constant:
-0:47 2 (const int)
-0:48 Constant:
-0:48 0.000000
-0:49 Constant:
-0:49 0.000000
-0:50 Branch: Return with expression
-0:50 Construct float (temp 4-element array of 7-element array of float)
-0:50 direct index (temp 7-element array of highp float)
-0:50 'a' (in 5-element array of 7-element array of highp float)
-0:50 Constant:
-0:50 0 (const int)
-0:50 direct index (temp 7-element array of highp float)
-0:50 'a' (in 5-element array of 7-element array of highp float)
-0:50 Constant:
-0:50 1 (const int)
-0:50 'r' (temp 7-element array of highp float)
-0:50 direct index (temp 7-element array of highp float)
-0:50 'a' (in 5-element array of 7-element array of highp float)
-0:50 Constant:
-0:50 3 (const int)
-0:51 Branch: Return with expression
-0:51 Construct float (temp 4-element array of 7-element array of float)
-0:51 direct index (temp 7-element array of highp float)
-0:51 'a' (in 5-element array of 7-element array of highp float)
-0:51 Constant:
-0:51 0 (const int)
-0:51 direct index (temp 7-element array of highp float)
-0:51 'a' (in 5-element array of 7-element array of highp float)
-0:51 Constant:
-0:51 1 (const int)
-0:51 'r' (temp 7-element array of highp float)
-0:51 direct index (temp 7-element array of highp float)
-0:51 'a' (in 5-element array of 7-element array of highp float)
-0:51 Constant:
-0:51 3 (const int)
-0:52 Branch: Return with expression
-0:52 Construct float (temp 4-element array of 7-element array of float)
-0:52 direct index (temp 7-element array of highp float)
-0:52 'a' (in 5-element array of 7-element array of highp float)
-0:52 Constant:
-0:52 0 (const int)
-0:52 direct index (temp 7-element array of highp float)
-0:52 'a' (in 5-element array of 7-element array of highp float)
-0:52 Constant:
-0:52 1 (const int)
-0:52 direct index (temp 7-element array of highp float)
-0:52 'a' (in 5-element array of 7-element array of highp float)
-0:52 Constant:
-0:52 2 (const int)
-0:52 direct index (temp 7-element array of highp float)
-0:52 'a' (in 5-element array of 7-element array of highp float)
-0:52 Constant:
-0:52 3 (const int)
-0:55 Function Definition: bar(f1[5][7]; (global void)
-0:55 Function Parameters:
-0:55 '' (in 5-element array of 7-element array of highp float)
-0:57 Function Definition: foo2( (global void)
-0:57 Function Parameters:
-0:? Sequence
-0:? Sequence
-0:62 move second child to first child (temp highp float)
-0:62 direct index (temp highp float)
-0:62 direct index (temp 2-element array of highp float)
-0:62 direct index (temp 4-element array of 2-element array of highp float)
-0:62 'gu' (temp 3-element array of 4-element array of 2-element array of highp float)
-0:62 Constant:
-0:62 2 (const int)
-0:62 Constant:
-0:62 4 (const int)
-0:62 Constant:
-0:62 1 (const int)
-0:62 Constant:
-0:62 4.000000
-0:64 Sequence
-0:64 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:64 'ca4' (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:66 Constant:
-0:66 0.000000
-0:66 0.000000
-0:66 0.000000
-0:66 0.000000
-0:66 1.000000
-0:66 1.000000
-0:66 1.000000
-0:66 1.000000
-0:66 0.000000
-0:66 0.000000
-0:66 0.000000
-0:66 0.000000
-0:66 1.000000
-0:66 1.000000
-0:66 1.000000
-0:66 1.000000
-0:66 0.000000
-0:66 0.000000
-0:66 0.000000
-0:66 0.000000
-0:66 1.000000
-0:66 1.000000
-0:66 1.000000
-0:66 1.000000
-0:67 Sequence
-0:67 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:67 'caim' (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:69 Constant:
-0:69 4.000000
-0:69 4.000000
-0:69 4.000000
-0:69 4.000000
-0:69 2.000000
-0:69 2.000000
-0:69 2.000000
-0:69 2.000000
-0:69 4.000000
-0:69 4.000000
-0:69 4.000000
-0:69 4.000000
-0:69 2.000000
-0:69 2.000000
-0:69 2.000000
-0:69 2.000000
-0:69 4.000000
-0:69 4.000000
-0:69 4.000000
-0:69 4.000000
-0:69 2.000000
-0:69 2.000000
-0:69 2.000000
-0:69 2.000000
-0:70 Sequence
-0:70 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:70 'caim2' (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:72 Constant:
-0:72 4.000000
-0:72 4.000000
-0:72 4.000000
-0:72 4.000000
-0:72 2.000000
-0:72 2.000000
-0:72 2.000000
-0:72 2.000000
-0:72 4.000000
-0:72 4.000000
-0:72 4.000000
-0:72 4.000000
-0:72 2.000000
-0:72 2.000000
-0:72 2.000000
-0:72 2.000000
-0:72 4.000000
-0:72 4.000000
-0:72 4.000000
-0:72 4.000000
-0:72 2.000000
-0:72 2.000000
-0:72 2.000000
-0:72 2.000000
-0:73 Sequence
-0:73 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:73 'caim3' (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:75 Constant:
-0:75 4.000000
-0:75 4.000000
-0:75 4.000000
-0:75 4.000000
-0:75 2.000000
-0:75 2.000000
-0:75 2.000000
-0:75 2.000000
-0:75 4.000000
-0:75 4.000000
-0:75 4.000000
-0:75 4.000000
-0:75 2.000000
-0:75 2.000000
-0:75 2.000000
-0:75 2.000000
-0:75 4.000000
-0:75 4.000000
-0:75 4.000000
-0:75 4.000000
-0:75 2.000000
-0:75 2.000000
-0:75 2.000000
-0:75 2.000000
-0:77 move second child to first child (temp 4-element array of 7-element array of highp float)
-0:77 'g4' (global 4-element array of 7-element array of highp float)
-0:77 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
-0:77 'g5' (global 5-element array of 7-element array of highp float)
-0:78 'g5' (global 5-element array of 7-element array of highp float)
-0:79 'gu' (global 1-element array of 7-element array of highp float)
-0:81 Constant:
-0:81 0.000000
-0:82 Function Call: bar(f1[5][7]; (global void)
-0:82 'g5' (global 5-element array of 7-element array of highp float)
-0:84 Test condition and select (temp void)
-0:84 Condition
-0:84 Compare Equal (temp bool)
-0:84 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
-0:84 'g5' (global 5-element array of 7-element array of highp float)
-0:84 'g4' (global 4-element array of 7-element array of highp float)
-0:84 true case is null
-0:86 Test condition and select (temp void)
-0:86 Condition
-0:86 Constant:
-0:86 false (const bool)
-0:86 true case is null
-0:90 move second child to first child (temp highp float)
-0:90 direct index (temp highp float)
-0:90 direct index (temp 7-element array of highp float)
-0:90 'u' (temp 5-element array of 7-element array of highp float)
-0:90 Constant:
-0:90 5 (const int)
-0:90 Constant:
-0:90 2 (const int)
-0:90 Constant:
-0:90 5.000000
-0:91 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
-0:91 'u' (temp 5-element array of 7-element array of highp float)
-0:94 direct index (layout(column_major shared ) temp highp 4-component vector of float)
-0:94 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
-0:94 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:94 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:94 Constant:
-0:94 1 (const int)
-0:94 Constant:
-0:94 1 (const int)
-0:94 Constant:
-0:94 -1 (const int)
-0:95 move second child to first child (temp highp 4-component vector of float)
-0:95 direct index (layout(column_major shared ) temp highp 4-component vector of float)
-0:95 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
-0:95 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:95 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:95 Constant:
-0:95 1 (const int)
-0:95 Constant:
-0:95 1 (const int)
-0:95 Constant:
-0:95 1 (const int)
-0:95 Constant:
-0:95 4.300000
-0:95 4.300000
-0:95 4.300000
-0:95 4.300000
-0:96 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
-0:96 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:96 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:96 Constant:
-0:96 1 (const int)
-0:96 Constant:
-0:96 1 (const int)
-0:98 Constant:
-0:98 7 (const int)
-0:99 array length (temp highp int)
-0:99 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float)
-0:99 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
-0:99 'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
-0:99 Constant:
-0:99 0 (const int)
-0:99 Constant:
-0:99 1 (const int)
-0:? Linker Objects
-0:? 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:? 'uname' (layout(column_major shared ) uniform 3-element array of block{layout(column_major shared ) uniform highp float u, layout(column_major shared ) uniform 1-element array of highp 4-component vector of float v})
-0:? 'name2' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of implicitly-sized array of highp 4-component vector of float v})
-0:? 'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
-0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of highp float)
-0:? 'gu' (global 1-element array of 7-element array of highp float)
-0:? 'g4' (global 4-element array of 7-element array of highp float)
-0:? 'g5' (global 5-element array of 7-element array of highp float)
-0:? 'inArray' (in 2-element array of 3-element array of highp float)
-0:? 'outArray' (smooth out 2-element array of 3-element array of highp float)
-0:? 'ubaaname' (layout(column_major shared ) uniform 2-element array of 3-element array of block{layout(column_major shared ) uniform highp int a})
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
+310AofA.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:17: '' : array size required
+ERROR: 0:23: '' : array size required
+ERROR: 0:28: '[]' : only outermost dimension of an array of arrays can be implicitly sized
+ERROR: 0:40: '' : array size required
+ERROR: 0:48: 'constructor' : constructing non-array constituent from array argument
+ERROR: 0:49: 'constructior' : array constructor argument not correct type to construct array element
+ERROR: 0:62: '[' : array index out of range '4'
+ERROR: 0:78: 'assign' : cannot convert from 'global 4-element array of 7-element array of highp float' to 'global 5-element array of 7-element array of highp float'
+ERROR: 0:79: 'assign' : cannot convert from 'global 4-element array of 7-element array of highp float' to 'global implicitly-sized array of 7-element array of highp float'
+ERROR: 0:81: 'foo' : no matching overloaded function found
+ERROR: 0:86: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'global 4-element array of 7-element array of highp float' and a right operand of type 'global 5-element array of 7-element array of highp float' (or there is no acceptable conversion)
+ERROR: 0:90: '[' : array index out of range '5'
+ERROR: 0:94: '[' : index out of range '-1'
+ERROR: 0:96: 'assign' : cannot convert from 'temp 3-element array of highp 4-component vector of float' to 'layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float'
+ERROR: 0:103: '' : array size required
+ERROR: 0:104: '' : array size required
+ERROR: 0:105: '' : array size required
+ERROR: 0:106: '' : array size required
+ERROR: 0:107: '' : array size required
+ERROR: 0:110: 'vertex input arrays' : not supported with this profile: es
+ERROR: 0:111: 'vertex-shader array-of-array output' : not supported with this profile: es
+ERROR: 0:113: 'array-of-array of block' : not supported with this profile: es
+ERROR: 22 compilation errors. No code generated.
+
+
+Shader version: 310
+ERROR: node is still EOpNull!
+0:8 Function Definition: f(b1;f1;u1[4];i1[3][2]; (global void)
+0:8 Function Parameters:
+0:8 'a' (in bool)
+0:8 'b' (in highp float)
+0:8 'c' (in 4-element array of highp uint)
+0:8 'd' (in 3-element array of 2-element array of highp int)
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:? Sequence
+0:13 Function Call: f(b1;f1;u1[4];i1[3][2]; (global void)
+0:13 Constant:
+0:13 false (const bool)
+0:13 Constant:
+0:13 12.100000
+0:13 Constant:
+0:13 0 (const uint)
+0:13 1 (const uint)
+0:13 1 (const uint)
+0:13 2 (const uint)
+0:13 'd' (temp 3-element array of 2-element array of highp int)
+0:44 Function Definition: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
+0:44 Function Parameters:
+0:44 'a' (in 5-element array of 7-element array of highp float)
+0:? Sequence
+0:47 move second child to first child (temp 7-element array of highp float)
+0:47 'r' (temp 7-element array of highp float)
+0:47 direct index (temp 7-element array of highp float)
+0:47 'a' (in 5-element array of 7-element array of highp float)
+0:47 Constant:
+0:47 2 (const int)
+0:48 Constant:
+0:48 0.000000
+0:49 Constant:
+0:49 0.000000
+0:50 Branch: Return with expression
+0:50 Construct float (temp 4-element array of 7-element array of float)
+0:50 direct index (temp 7-element array of highp float)
+0:50 'a' (in 5-element array of 7-element array of highp float)
+0:50 Constant:
+0:50 0 (const int)
+0:50 direct index (temp 7-element array of highp float)
+0:50 'a' (in 5-element array of 7-element array of highp float)
+0:50 Constant:
+0:50 1 (const int)
+0:50 'r' (temp 7-element array of highp float)
+0:50 direct index (temp 7-element array of highp float)
+0:50 'a' (in 5-element array of 7-element array of highp float)
+0:50 Constant:
+0:50 3 (const int)
+0:51 Branch: Return with expression
+0:51 Construct float (temp 4-element array of 7-element array of float)
+0:51 direct index (temp 7-element array of highp float)
+0:51 'a' (in 5-element array of 7-element array of highp float)
+0:51 Constant:
+0:51 0 (const int)
+0:51 direct index (temp 7-element array of highp float)
+0:51 'a' (in 5-element array of 7-element array of highp float)
+0:51 Constant:
+0:51 1 (const int)
+0:51 'r' (temp 7-element array of highp float)
+0:51 direct index (temp 7-element array of highp float)
+0:51 'a' (in 5-element array of 7-element array of highp float)
+0:51 Constant:
+0:51 3 (const int)
+0:52 Branch: Return with expression
+0:52 Construct float (temp 4-element array of 7-element array of float)
+0:52 direct index (temp 7-element array of highp float)
+0:52 'a' (in 5-element array of 7-element array of highp float)
+0:52 Constant:
+0:52 0 (const int)
+0:52 direct index (temp 7-element array of highp float)
+0:52 'a' (in 5-element array of 7-element array of highp float)
+0:52 Constant:
+0:52 1 (const int)
+0:52 direct index (temp 7-element array of highp float)
+0:52 'a' (in 5-element array of 7-element array of highp float)
+0:52 Constant:
+0:52 2 (const int)
+0:52 direct index (temp 7-element array of highp float)
+0:52 'a' (in 5-element array of 7-element array of highp float)
+0:52 Constant:
+0:52 3 (const int)
+0:55 Function Definition: bar(f1[5][7]; (global void)
+0:55 Function Parameters:
+0:55 '' (in 5-element array of 7-element array of highp float)
+0:57 Function Definition: foo2( (global void)
+0:57 Function Parameters:
+0:? Sequence
+0:? Sequence
+0:62 move second child to first child (temp highp float)
+0:62 direct index (temp highp float)
+0:62 direct index (temp 2-element array of highp float)
+0:62 direct index (temp 4-element array of 2-element array of highp float)
+0:62 'gu' (temp 3-element array of 4-element array of 2-element array of highp float)
+0:62 Constant:
+0:62 2 (const int)
+0:62 Constant:
+0:62 4 (const int)
+0:62 Constant:
+0:62 1 (const int)
+0:62 Constant:
+0:62 4.000000
+0:64 Sequence
+0:64 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:64 'ca4' (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:66 Constant:
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:67 Sequence
+0:67 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:67 'caim' (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:69 Constant:
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:70 Sequence
+0:70 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:70 'caim2' (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:72 Constant:
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:73 Sequence
+0:73 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:73 'caim3' (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:75 Constant:
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:77 move second child to first child (temp 4-element array of 7-element array of highp float)
+0:77 'g4' (global 4-element array of 7-element array of highp float)
+0:77 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
+0:77 'g5' (global 5-element array of 7-element array of highp float)
+0:78 'g5' (global 5-element array of 7-element array of highp float)
+0:79 'gu' (global implicitly-sized array of 7-element array of highp float)
+0:81 Constant:
+0:81 0.000000
+0:82 Function Call: bar(f1[5][7]; (global void)
+0:82 'g5' (global 5-element array of 7-element array of highp float)
+0:84 Test condition and select (temp void)
+0:84 Condition
+0:84 Compare Equal (temp bool)
+0:84 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
+0:84 'g5' (global 5-element array of 7-element array of highp float)
+0:84 'g4' (global 4-element array of 7-element array of highp float)
+0:84 true case is null
+0:86 Test condition and select (temp void)
+0:86 Condition
+0:86 Constant:
+0:86 false (const bool)
+0:86 true case is null
+0:90 move second child to first child (temp highp float)
+0:90 direct index (temp highp float)
+0:90 direct index (temp 7-element array of highp float)
+0:90 'u' (temp 5-element array of 7-element array of highp float)
+0:90 Constant:
+0:90 5 (const int)
+0:90 Constant:
+0:90 2 (const int)
+0:90 Constant:
+0:90 5.000000
+0:91 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
+0:91 'u' (temp 5-element array of 7-element array of highp float)
+0:94 direct index (layout(column_major shared ) temp highp 4-component vector of float)
+0:94 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
+0:94 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:94 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:94 Constant:
+0:94 1 (const int)
+0:94 Constant:
+0:94 1 (const int)
+0:94 Constant:
+0:94 -1 (const int)
+0:95 move second child to first child (temp highp 4-component vector of float)
+0:95 direct index (layout(column_major shared ) temp highp 4-component vector of float)
+0:95 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
+0:95 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:95 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:95 Constant:
+0:95 1 (const int)
+0:95 Constant:
+0:95 1 (const int)
+0:95 Constant:
+0:95 1 (const int)
+0:95 Constant:
+0:95 4.300000
+0:95 4.300000
+0:95 4.300000
+0:95 4.300000
+0:96 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
+0:96 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:96 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:96 Constant:
+0:96 1 (const int)
+0:96 Constant:
+0:96 1 (const int)
+0:98 Constant:
+0:98 7 (const int)
+0:99 array length (temp highp int)
+0:99 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float)
+0:99 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
+0:99 'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
+0:99 Constant:
+0:99 0 (const int)
+0:99 Constant:
+0:99 1 (const int)
+0:? Linker Objects
+0:? 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:? 'uname' (layout(column_major shared ) uniform 3-element array of block{layout(column_major shared ) uniform highp float u, layout(column_major shared ) uniform implicitly-sized array of highp 4-component vector of float v})
+0:? 'name2' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of implicitly-sized array of highp 4-component vector of float v})
+0:? 'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
+0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of highp float)
+0:? 'gu' (global implicitly-sized array of 7-element array of highp float)
+0:? 'g4' (global 4-element array of 7-element array of highp float)
+0:? 'g5' (global 5-element array of 7-element array of highp float)
+0:? 'inArray' (in 2-element array of 3-element array of highp float)
+0:? 'outArray' (smooth out 2-element array of 3-element array of highp float)
+0:? 'ubaaname' (layout(column_major shared ) uniform 2-element array of 3-element array of block{layout(column_major shared ) uniform highp int a})
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 310
+ERROR: node is still EOpNull!
+0:8 Function Definition: f(b1;f1;u1[4];i1[3][2]; (global void)
+0:8 Function Parameters:
+0:8 'a' (in bool)
+0:8 'b' (in highp float)
+0:8 'c' (in 4-element array of highp uint)
+0:8 'd' (in 3-element array of 2-element array of highp int)
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:? Sequence
+0:13 Function Call: f(b1;f1;u1[4];i1[3][2]; (global void)
+0:13 Constant:
+0:13 false (const bool)
+0:13 Constant:
+0:13 12.100000
+0:13 Constant:
+0:13 0 (const uint)
+0:13 1 (const uint)
+0:13 1 (const uint)
+0:13 2 (const uint)
+0:13 'd' (temp 3-element array of 2-element array of highp int)
+0:44 Function Definition: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
+0:44 Function Parameters:
+0:44 'a' (in 5-element array of 7-element array of highp float)
+0:? Sequence
+0:47 move second child to first child (temp 7-element array of highp float)
+0:47 'r' (temp 7-element array of highp float)
+0:47 direct index (temp 7-element array of highp float)
+0:47 'a' (in 5-element array of 7-element array of highp float)
+0:47 Constant:
+0:47 2 (const int)
+0:48 Constant:
+0:48 0.000000
+0:49 Constant:
+0:49 0.000000
+0:50 Branch: Return with expression
+0:50 Construct float (temp 4-element array of 7-element array of float)
+0:50 direct index (temp 7-element array of highp float)
+0:50 'a' (in 5-element array of 7-element array of highp float)
+0:50 Constant:
+0:50 0 (const int)
+0:50 direct index (temp 7-element array of highp float)
+0:50 'a' (in 5-element array of 7-element array of highp float)
+0:50 Constant:
+0:50 1 (const int)
+0:50 'r' (temp 7-element array of highp float)
+0:50 direct index (temp 7-element array of highp float)
+0:50 'a' (in 5-element array of 7-element array of highp float)
+0:50 Constant:
+0:50 3 (const int)
+0:51 Branch: Return with expression
+0:51 Construct float (temp 4-element array of 7-element array of float)
+0:51 direct index (temp 7-element array of highp float)
+0:51 'a' (in 5-element array of 7-element array of highp float)
+0:51 Constant:
+0:51 0 (const int)
+0:51 direct index (temp 7-element array of highp float)
+0:51 'a' (in 5-element array of 7-element array of highp float)
+0:51 Constant:
+0:51 1 (const int)
+0:51 'r' (temp 7-element array of highp float)
+0:51 direct index (temp 7-element array of highp float)
+0:51 'a' (in 5-element array of 7-element array of highp float)
+0:51 Constant:
+0:51 3 (const int)
+0:52 Branch: Return with expression
+0:52 Construct float (temp 4-element array of 7-element array of float)
+0:52 direct index (temp 7-element array of highp float)
+0:52 'a' (in 5-element array of 7-element array of highp float)
+0:52 Constant:
+0:52 0 (const int)
+0:52 direct index (temp 7-element array of highp float)
+0:52 'a' (in 5-element array of 7-element array of highp float)
+0:52 Constant:
+0:52 1 (const int)
+0:52 direct index (temp 7-element array of highp float)
+0:52 'a' (in 5-element array of 7-element array of highp float)
+0:52 Constant:
+0:52 2 (const int)
+0:52 direct index (temp 7-element array of highp float)
+0:52 'a' (in 5-element array of 7-element array of highp float)
+0:52 Constant:
+0:52 3 (const int)
+0:55 Function Definition: bar(f1[5][7]; (global void)
+0:55 Function Parameters:
+0:55 '' (in 5-element array of 7-element array of highp float)
+0:57 Function Definition: foo2( (global void)
+0:57 Function Parameters:
+0:? Sequence
+0:? Sequence
+0:62 move second child to first child (temp highp float)
+0:62 direct index (temp highp float)
+0:62 direct index (temp 2-element array of highp float)
+0:62 direct index (temp 4-element array of 2-element array of highp float)
+0:62 'gu' (temp 3-element array of 4-element array of 2-element array of highp float)
+0:62 Constant:
+0:62 2 (const int)
+0:62 Constant:
+0:62 4 (const int)
+0:62 Constant:
+0:62 1 (const int)
+0:62 Constant:
+0:62 4.000000
+0:64 Sequence
+0:64 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:64 'ca4' (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:66 Constant:
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 0.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:66 1.000000
+0:67 Sequence
+0:67 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:67 'caim' (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:69 Constant:
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 4.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:69 2.000000
+0:70 Sequence
+0:70 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:70 'caim2' (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:72 Constant:
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 4.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:72 2.000000
+0:73 Sequence
+0:73 move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:73 'caim3' (temp 3-element array of 2-element array of highp 4-component vector of float)
+0:75 Constant:
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 4.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:75 2.000000
+0:77 move second child to first child (temp 4-element array of 7-element array of highp float)
+0:77 'g4' (global 4-element array of 7-element array of highp float)
+0:77 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
+0:77 'g5' (global 5-element array of 7-element array of highp float)
+0:78 'g5' (global 5-element array of 7-element array of highp float)
+0:79 'gu' (global 1-element array of 7-element array of highp float)
+0:81 Constant:
+0:81 0.000000
+0:82 Function Call: bar(f1[5][7]; (global void)
+0:82 'g5' (global 5-element array of 7-element array of highp float)
+0:84 Test condition and select (temp void)
+0:84 Condition
+0:84 Compare Equal (temp bool)
+0:84 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
+0:84 'g5' (global 5-element array of 7-element array of highp float)
+0:84 'g4' (global 4-element array of 7-element array of highp float)
+0:84 true case is null
+0:86 Test condition and select (temp void)
+0:86 Condition
+0:86 Constant:
+0:86 false (const bool)
+0:86 true case is null
+0:90 move second child to first child (temp highp float)
+0:90 direct index (temp highp float)
+0:90 direct index (temp 7-element array of highp float)
+0:90 'u' (temp 5-element array of 7-element array of highp float)
+0:90 Constant:
+0:90 5 (const int)
+0:90 Constant:
+0:90 2 (const int)
+0:90 Constant:
+0:90 5.000000
+0:91 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
+0:91 'u' (temp 5-element array of 7-element array of highp float)
+0:94 direct index (layout(column_major shared ) temp highp 4-component vector of float)
+0:94 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
+0:94 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:94 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:94 Constant:
+0:94 1 (const int)
+0:94 Constant:
+0:94 1 (const int)
+0:94 Constant:
+0:94 -1 (const int)
+0:95 move second child to first child (temp highp 4-component vector of float)
+0:95 direct index (layout(column_major shared ) temp highp 4-component vector of float)
+0:95 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
+0:95 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:95 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:95 Constant:
+0:95 1 (const int)
+0:95 Constant:
+0:95 1 (const int)
+0:95 Constant:
+0:95 1 (const int)
+0:95 Constant:
+0:95 4.300000
+0:95 4.300000
+0:95 4.300000
+0:95 4.300000
+0:96 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
+0:96 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:96 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:96 Constant:
+0:96 1 (const int)
+0:96 Constant:
+0:96 1 (const int)
+0:98 Constant:
+0:98 7 (const int)
+0:99 array length (temp highp int)
+0:99 v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float)
+0:99 direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
+0:99 'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
+0:99 Constant:
+0:99 0 (const int)
+0:99 Constant:
+0:99 1 (const int)
+0:? Linker Objects
+0:? 'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
+0:? 'uname' (layout(column_major shared ) uniform 3-element array of block{layout(column_major shared ) uniform highp float u, layout(column_major shared ) uniform 1-element array of highp 4-component vector of float v})
+0:? 'name2' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of implicitly-sized array of highp 4-component vector of float v})
+0:? 'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
+0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of highp float)
+0:? 'gu' (global 1-element array of 7-element array of highp float)
+0:? 'g4' (global 4-element array of 7-element array of highp float)
+0:? 'g5' (global 5-element array of 7-element array of highp float)
+0:? 'inArray' (in 2-element array of 3-element array of highp float)
+0:? 'outArray' (smooth out 2-element array of 3-element array of highp float)
+0:? 'ubaaname' (layout(column_major shared ) uniform 2-element array of 3-element array of block{layout(column_major shared ) uniform highp int a})
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/Test/baseResults/310implicitSizeArrayError.vert.out b/Test/baseResults/310implicitSizeArrayError.vert.out
index a3b98f3..963735d 100644
--- a/Test/baseResults/310implicitSizeArrayError.vert.out
+++ b/Test/baseResults/310implicitSizeArrayError.vert.out
@@ -1,50 +1,50 @@
-310implicitSizeArrayError.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:3: '' : array size required
-ERROR: 1 compilation errors. No code generated.
-
-
-Shader version: 310
-ERROR: node is still EOpNull!
-0:6 Function Definition: main( (global void)
-0:6 Function Parameters:
-0:7 Sequence
-0:7 move second child to first child (temp highp int)
-0:7 'o' (layout(location=0 ) smooth out highp int)
-0:7 direct index (layout(column_major shared ) temp highp int)
-0:7 a: direct index for structure (layout(column_major shared ) uniform implicitly-sized array of highp int)
-0:7 'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of highp int a})
-0:7 Constant:
-0:7 0 (const int)
-0:7 Constant:
-0:7 2 (const int)
-0:? Linker Objects
-0:? 'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of highp int a})
-0:? 'o' (layout(location=0 ) smooth out highp int)
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 310
-ERROR: node is still EOpNull!
-0:6 Function Definition: main( (global void)
-0:6 Function Parameters:
-0:7 Sequence
-0:7 move second child to first child (temp highp int)
-0:7 'o' (layout(location=0 ) smooth out highp int)
-0:7 direct index (layout(column_major shared ) temp highp int)
-0:7 a: direct index for structure (layout(column_major shared ) uniform 1-element array of highp int)
-0:7 'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform 1-element array of highp int a})
-0:7 Constant:
-0:7 0 (const int)
-0:7 Constant:
-0:7 2 (const int)
-0:? Linker Objects
-0:? 'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform 1-element array of highp int a})
-0:? 'o' (layout(location=0 ) smooth out highp int)
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
+310implicitSizeArrayError.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:3: '' : array size required
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 310
+ERROR: node is still EOpNull!
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:7 Sequence
+0:7 move second child to first child (temp highp int)
+0:7 'o' (layout(location=0 ) smooth out highp int)
+0:7 direct index (layout(column_major shared ) temp highp int)
+0:7 a: direct index for structure (layout(column_major shared ) uniform implicitly-sized array of highp int)
+0:7 'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of highp int a})
+0:7 Constant:
+0:7 0 (const int)
+0:7 Constant:
+0:7 2 (const int)
+0:? Linker Objects
+0:? 'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of highp int a})
+0:? 'o' (layout(location=0 ) smooth out highp int)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 310
+ERROR: node is still EOpNull!
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:7 Sequence
+0:7 move second child to first child (temp highp int)
+0:7 'o' (layout(location=0 ) smooth out highp int)
+0:7 direct index (layout(column_major shared ) temp highp int)
+0:7 a: direct index for structure (layout(column_major shared ) uniform 1-element array of highp int)
+0:7 'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform 1-element array of highp int a})
+0:7 Constant:
+0:7 0 (const int)
+0:7 Constant:
+0:7 2 (const int)
+0:? Linker Objects
+0:? 'uni' (layout(location=0 column_major shared ) uniform block{layout(column_major shared ) uniform 1-element array of highp int a})
+0:? 'o' (layout(location=0 ) smooth out highp int)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/Test/baseResults/330.frag.out b/Test/baseResults/330.frag.out
index 773a72c..5d145ef 100644
--- a/Test/baseResults/330.frag.out
+++ b/Test/baseResults/330.frag.out
@@ -1,214 +1,214 @@
-330.frag
-ERROR: 0:27: 'block declaration' : cannot redeclare block: gl_block
-ERROR: 0:31: 'gl_name' : identifiers starting with "gl_" are reserved
-ERROR: 0:32: 'gl_i' : identifiers starting with "gl_" are reserved
-ERROR: 0:35: 'gl_in' : no declaration found for redeclaration
-ERROR: 0:39: 'gl_FragCoord' : cannot redeclare a non block as a block
-ERROR: 0:44: 'non-literal layout-id value' : not supported for this version or the enabled extensions
-ERROR: 0:44: 'layout-id value' : cannot be negative
-ERROR: 0:45: 'non-literal layout-id value' : not supported for this version or the enabled extensions
-ERROR: 0:46: 'layout-id value' : scalar integer expression required
-ERROR: 0:46: 'location' : location is too large
-ERROR: 0:47: 'non-literal layout-id value' : not supported for this version or the enabled extensions
-ERROR: 0:48: 'non-literal layout-id value' : not supported for this version or the enabled extensions
-ERROR: 0:52: 'f2' : cannot use layout qualifiers on structure members
-ERROR: 0:57: 'location on block member' : not supported for this version or the enabled extensions
-ERROR: 0:62: 'location on block member' : can only use in an in/out block
-ERROR: 0:62: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions
-ERROR: 0:60: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions
-ERROR: 0:68: 'layout-id value' : cannot be negative
-ERROR: 0:69: 'layout-id value' : cannot be negative
-ERROR: 0:76: 'f2' : cannot use layout qualifiers on structure members
-ERROR: 0:91: 'location on block member' : can only use in an in/out block
-ERROR: 0:91: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions
-ERROR: 0:91: 'location' : overlapping use of location 3
-ERROR: 0:89: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions
-ERROR: 0:94: 'location' : either the block needs a location, or all members need a location, or no members have a location
-ERROR: 0:108: 'A' : cannot use layout qualifiers on structure members
-ERROR: 0:119: 'location' : overlapping use of location 44
-ERROR: 0:122: 'index' : can only be used with an explicit location
-ERROR: 0:124: 'location' : overlapping use of location 0
-ERROR: 0:125: 'index' : can only be used on an output
-ERROR: 0:126: 'index' : can only be used on an output
-ERROR: 0:126: 'location/component/index' : cannot declare a default, use a full declaration
-ERROR: 0:127: 'location/component/index' : cannot declare a default, use a full declaration
-ERROR: 0:128: 'output block' : not supported in this stage: fragment
-ERROR: 0:140: 'textureQueryLod' : no matching overloaded function found
-ERROR: 0:140: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
-ERROR: 0:141: 'textureQueryLod' : no matching overloaded function found
-ERROR: 0:141: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
-ERROR: 38 compilation errors. No code generated.
-
-
-Shader version: 330
-Requested GL_ARB_enhanced_layouts
-Requested GL_ARB_separate_shader_objects
-ERROR: node is still EOpNull!
-0:8 Function Definition: main( (global void)
-0:8 Function Parameters:
-0:10 Sequence
-0:10 move second child to first child (temp 4-component vector of float)
-0:10 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:10 'varyingVar' (smooth in 4-component vector of float)
-0:11 move second child to first child (temp 4-component vector of float)
-0:11 direct index (temp 4-component vector of float FragData)
-0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
-0:11 Constant:
-0:11 1 (const int)
-0:11 'inVar' (smooth in 4-component vector of float)
-0:12 Sequence
-0:12 move second child to first child (temp int)
-0:12 'buffer' (temp int)
-0:12 Constant:
-0:12 4 (const int)
-0:21 Function Definition: foo( (global void)
-0:21 Function Parameters:
-0:23 Sequence
-0:23 Sequence
-0:23 move second child to first child (temp 4-component vector of float)
-0:23 'c' (temp 4-component vector of float)
-0:23 gl_Color: direct index for structure (in 4-component vector of float Color)
-0:23 'anon@0' (in block{in 4-component vector of float Color gl_Color, })
-0:23 Constant:
-0:23 2 (const uint)
-0:24 move second child to first child (temp 4-component vector of float)
-0:24 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)
-0:24 'inVar' (smooth in 4-component vector of float)
-0:133 Function Definition: qlod( (global void)
-0:133 Function Parameters:
-0:? Sequence
-0:140 'lod' (temp 2-component vector of float)
-0:141 'lod' (temp 2-component vector of float)
-0:147 Function Definition: fooKeyMem( (global void)
-0:147 Function Parameters:
-0:149 Sequence
-0:149 precise: direct index for structure (global int)
-0:149 'KeyMem' (global structure{global int precise})
-0:149 Constant:
-0:149 0 (const int)
-0:? Linker Objects
-0:? 'inVar' (smooth in 4-component vector of float)
-0:? 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)
-0:? 'varyingVar' (smooth in 4-component vector of float)
-0:? 'anon@0' (in block{in 4-component vector of float Color gl_Color, })
-0:? 'gl_name' (in block{in int gl_i})
-0:? 'start' (const int)
-0:? 6 (const int)
-0:? 'v1' (smooth in 4-component vector of float)
-0:? 'v2' (layout(location=8 ) smooth in 4-component vector of float)
-0:? 'v20' (smooth in 4-component vector of float)
-0:? 'v21' (layout(location=60 ) smooth in float)
-0:? 'v22' (layout(location=2 ) smooth in float)
-0:? 'anon@1' (in block{layout(location=1 component=0 ) in float f1, layout(location=3 ) in float f2})
-0:? 'uinst' (layout(location=1 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2})
-0:? 'v3' (layout(location=6 ) smooth in 4-component vector of float)
-0:? 'v4' (smooth in 4-component vector of float)
-0:? 'v5' (smooth in 4-component vector of float)
-0:? 'v6' (layout(location=30 ) smooth in 4-component vector of float)
-0:? 'v23' (layout(location=61 ) smooth in float)
-0:? 'v24' (layout(location=62 ) smooth in float)
-0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2, layout(location=26 component=0 ) in 4-component vector of float f3, layout(location=21 ) in structure{global float f1, temp float f2} s2, layout(location=23 component=0 ) in 4-component vector of float f4, layout(location=24 component=0 ) in 4-component vector of float f5})
-0:? 'uinst2' (layout(location=13 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2})
-0:? 'in3' (in block{in float f1, layout(location=40 ) in float f2})
-0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
-0:? 's' (layout(location=33 ) smooth in structure{global 3-component vector of float a, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c, temp 2-component vector of float A})
-0:? 'anon@2' (in block{layout(location=44 component=0 ) in 4-component vector of float d, layout(location=45 component=0 ) in 4-component vector of float e, layout(location=47 ) in 4-component vector of float f, layout(location=48 component=0 ) in 4-component vector of float g, layout(location=41 ) in 4-component vector of float h, layout(location=42 component=0 ) in 4-component vector of float i, layout(location=43 component=0 ) in 4-component vector of float j, layout(location=44 component=0 ) in 4-component vector of float k})
-0:? 'outVar2' (layout(location=4095 index=0 ) out 4-component vector of float)
-0:? 'outVar3' (layout(location=0 index=1 ) out 4-component vector of float)
-0:? 'outVar4' (layout(location=0 index=1 ) out 4-component vector of float)
-0:? 'indexIn' (layout(location=27 index=0 ) smooth in 4-component vector of float)
-0:? 'indexBlockI' (layout(location=26 index=0 ) out block{out int a})
-0:? 'samp1D' (uniform sampler1D)
-0:? 'samp2Ds' (uniform sampler2DShadow)
-0:? 'precise' (global int)
-0:? 'KeyMem' (global structure{global int precise})
-
-
-Linked fragment stage:
-
-ERROR: Linking fragment stage: Cannot use gl_FragColor or gl_FragData when using user-defined outputs
-ERROR: Linking fragment stage: Cannot use both gl_FragColor and gl_FragData
-
-Shader version: 330
-Requested GL_ARB_enhanced_layouts
-Requested GL_ARB_separate_shader_objects
-ERROR: node is still EOpNull!
-0:8 Function Definition: main( (global void)
-0:8 Function Parameters:
-0:10 Sequence
-0:10 move second child to first child (temp 4-component vector of float)
-0:10 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:10 'varyingVar' (smooth in 4-component vector of float)
-0:11 move second child to first child (temp 4-component vector of float)
-0:11 direct index (temp 4-component vector of float FragData)
-0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
-0:11 Constant:
-0:11 1 (const int)
-0:11 'inVar' (smooth in 4-component vector of float)
-0:12 Sequence
-0:12 move second child to first child (temp int)
-0:12 'buffer' (temp int)
-0:12 Constant:
-0:12 4 (const int)
-0:21 Function Definition: foo( (global void)
-0:21 Function Parameters:
-0:23 Sequence
-0:23 Sequence
-0:23 move second child to first child (temp 4-component vector of float)
-0:23 'c' (temp 4-component vector of float)
-0:23 gl_Color: direct index for structure (in 4-component vector of float Color)
-0:23 'anon@0' (in block{in 4-component vector of float Color gl_Color, })
-0:23 Constant:
-0:23 2 (const uint)
-0:24 move second child to first child (temp 4-component vector of float)
-0:24 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)
-0:24 'inVar' (smooth in 4-component vector of float)
-0:133 Function Definition: qlod( (global void)
-0:133 Function Parameters:
-0:? Sequence
-0:140 'lod' (temp 2-component vector of float)
-0:141 'lod' (temp 2-component vector of float)
-0:147 Function Definition: fooKeyMem( (global void)
-0:147 Function Parameters:
-0:149 Sequence
-0:149 precise: direct index for structure (global int)
-0:149 'KeyMem' (global structure{global int precise})
-0:149 Constant:
-0:149 0 (const int)
-0:? Linker Objects
-0:? 'inVar' (smooth in 4-component vector of float)
-0:? 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)
-0:? 'varyingVar' (smooth in 4-component vector of float)
-0:? 'anon@0' (in block{in 4-component vector of float Color gl_Color, })
-0:? 'gl_name' (in block{in int gl_i})
-0:? 'start' (const int)
-0:? 6 (const int)
-0:? 'v1' (smooth in 4-component vector of float)
-0:? 'v2' (layout(location=8 ) smooth in 4-component vector of float)
-0:? 'v20' (smooth in 4-component vector of float)
-0:? 'v21' (layout(location=60 ) smooth in float)
-0:? 'v22' (layout(location=2 ) smooth in float)
-0:? 'anon@1' (in block{layout(location=1 component=0 ) in float f1, layout(location=3 ) in float f2})
-0:? 'uinst' (layout(location=1 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2})
-0:? 'v3' (layout(location=6 ) smooth in 4-component vector of float)
-0:? 'v4' (smooth in 4-component vector of float)
-0:? 'v5' (smooth in 4-component vector of float)
-0:? 'v6' (layout(location=30 ) smooth in 4-component vector of float)
-0:? 'v23' (layout(location=61 ) smooth in float)
-0:? 'v24' (layout(location=62 ) smooth in float)
-0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2, layout(location=26 component=0 ) in 4-component vector of float f3, layout(location=21 ) in structure{global float f1, temp float f2} s2, layout(location=23 component=0 ) in 4-component vector of float f4, layout(location=24 component=0 ) in 4-component vector of float f5})
-0:? 'uinst2' (layout(location=13 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2})
-0:? 'in3' (in block{in float f1, layout(location=40 ) in float f2})
-0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
-0:? 's' (layout(location=33 ) smooth in structure{global 3-component vector of float a, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c, temp 2-component vector of float A})
-0:? 'anon@2' (in block{layout(location=44 component=0 ) in 4-component vector of float d, layout(location=45 component=0 ) in 4-component vector of float e, layout(location=47 ) in 4-component vector of float f, layout(location=48 component=0 ) in 4-component vector of float g, layout(location=41 ) in 4-component vector of float h, layout(location=42 component=0 ) in 4-component vector of float i, layout(location=43 component=0 ) in 4-component vector of float j, layout(location=44 component=0 ) in 4-component vector of float k})
-0:? 'outVar2' (layout(location=4095 index=0 ) out 4-component vector of float)
-0:? 'outVar3' (layout(location=0 index=1 ) out 4-component vector of float)
-0:? 'outVar4' (layout(location=0 index=1 ) out 4-component vector of float)
-0:? 'indexIn' (layout(location=27 index=0 ) smooth in 4-component vector of float)
-0:? 'indexBlockI' (layout(location=26 index=0 ) out block{out int a})
-0:? 'samp1D' (uniform sampler1D)
-0:? 'samp2Ds' (uniform sampler2DShadow)
-0:? 'precise' (global int)
-0:? 'KeyMem' (global structure{global int precise})
-
+330.frag
+ERROR: 0:27: 'block declaration' : cannot redeclare block: gl_block
+ERROR: 0:31: 'gl_name' : identifiers starting with "gl_" are reserved
+ERROR: 0:32: 'gl_i' : identifiers starting with "gl_" are reserved
+ERROR: 0:35: 'gl_in' : no declaration found for redeclaration
+ERROR: 0:39: 'gl_FragCoord' : cannot redeclare a non block as a block
+ERROR: 0:44: 'non-literal layout-id value' : not supported for this version or the enabled extensions
+ERROR: 0:44: 'layout-id value' : cannot be negative
+ERROR: 0:45: 'non-literal layout-id value' : not supported for this version or the enabled extensions
+ERROR: 0:46: 'layout-id value' : scalar integer expression required
+ERROR: 0:46: 'location' : location is too large
+ERROR: 0:47: 'non-literal layout-id value' : not supported for this version or the enabled extensions
+ERROR: 0:48: 'non-literal layout-id value' : not supported for this version or the enabled extensions
+ERROR: 0:52: 'f2' : cannot use layout qualifiers on structure members
+ERROR: 0:57: 'location on block member' : not supported for this version or the enabled extensions
+ERROR: 0:62: 'location on block member' : can only use in an in/out block
+ERROR: 0:62: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions
+ERROR: 0:60: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions
+ERROR: 0:68: 'layout-id value' : cannot be negative
+ERROR: 0:69: 'layout-id value' : cannot be negative
+ERROR: 0:76: 'f2' : cannot use layout qualifiers on structure members
+ERROR: 0:91: 'location on block member' : can only use in an in/out block
+ERROR: 0:91: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions
+ERROR: 0:91: 'location' : overlapping use of location 3
+ERROR: 0:89: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions
+ERROR: 0:94: 'location' : either the block needs a location, or all members need a location, or no members have a location
+ERROR: 0:108: 'A' : cannot use layout qualifiers on structure members
+ERROR: 0:119: 'location' : overlapping use of location 44
+ERROR: 0:122: 'index' : can only be used with an explicit location
+ERROR: 0:124: 'location' : overlapping use of location 0
+ERROR: 0:125: 'index' : can only be used on an output
+ERROR: 0:126: 'index' : can only be used on an output
+ERROR: 0:126: 'location/component/index' : cannot declare a default, use a full declaration
+ERROR: 0:127: 'location/component/index' : cannot declare a default, use a full declaration
+ERROR: 0:128: 'output block' : not supported in this stage: fragment
+ERROR: 0:140: 'textureQueryLod' : no matching overloaded function found
+ERROR: 0:140: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
+ERROR: 0:141: 'textureQueryLod' : no matching overloaded function found
+ERROR: 0:141: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
+ERROR: 38 compilation errors. No code generated.
+
+
+Shader version: 330
+Requested GL_ARB_enhanced_layouts
+Requested GL_ARB_separate_shader_objects
+ERROR: node is still EOpNull!
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:10 Sequence
+0:10 move second child to first child (temp 4-component vector of float)
+0:10 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:10 'varyingVar' (smooth in 4-component vector of float)
+0:11 move second child to first child (temp 4-component vector of float)
+0:11 direct index (temp 4-component vector of float FragData)
+0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:11 Constant:
+0:11 1 (const int)
+0:11 'inVar' (smooth in 4-component vector of float)
+0:12 Sequence
+0:12 move second child to first child (temp int)
+0:12 'buffer' (temp int)
+0:12 Constant:
+0:12 4 (const int)
+0:21 Function Definition: foo( (global void)
+0:21 Function Parameters:
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'c' (temp 4-component vector of float)
+0:23 gl_Color: direct index for structure (in 4-component vector of float Color)
+0:23 'anon@0' (in block{in 4-component vector of float Color gl_Color, })
+0:23 Constant:
+0:23 2 (const uint)
+0:24 move second child to first child (temp 4-component vector of float)
+0:24 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)
+0:24 'inVar' (smooth in 4-component vector of float)
+0:133 Function Definition: qlod( (global void)
+0:133 Function Parameters:
+0:? Sequence
+0:140 'lod' (temp 2-component vector of float)
+0:141 'lod' (temp 2-component vector of float)
+0:147 Function Definition: fooKeyMem( (global void)
+0:147 Function Parameters:
+0:149 Sequence
+0:149 precise: direct index for structure (global int)
+0:149 'KeyMem' (global structure{global int precise})
+0:149 Constant:
+0:149 0 (const int)
+0:? Linker Objects
+0:? 'inVar' (smooth in 4-component vector of float)
+0:? 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)
+0:? 'varyingVar' (smooth in 4-component vector of float)
+0:? 'anon@0' (in block{in 4-component vector of float Color gl_Color, })
+0:? 'gl_name' (in block{in int gl_i})
+0:? 'start' (const int)
+0:? 6 (const int)
+0:? 'v1' (smooth in 4-component vector of float)
+0:? 'v2' (layout(location=8 ) smooth in 4-component vector of float)
+0:? 'v20' (smooth in 4-component vector of float)
+0:? 'v21' (layout(location=60 ) smooth in float)
+0:? 'v22' (layout(location=2 ) smooth in float)
+0:? 'anon@1' (in block{layout(location=1 component=0 ) in float f1, layout(location=3 ) in float f2})
+0:? 'uinst' (layout(location=1 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2})
+0:? 'v3' (layout(location=6 ) smooth in 4-component vector of float)
+0:? 'v4' (smooth in 4-component vector of float)
+0:? 'v5' (smooth in 4-component vector of float)
+0:? 'v6' (layout(location=30 ) smooth in 4-component vector of float)
+0:? 'v23' (layout(location=61 ) smooth in float)
+0:? 'v24' (layout(location=62 ) smooth in float)
+0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2, layout(location=26 component=0 ) in 4-component vector of float f3, layout(location=21 ) in structure{global float f1, temp float f2} s2, layout(location=23 component=0 ) in 4-component vector of float f4, layout(location=24 component=0 ) in 4-component vector of float f5})
+0:? 'uinst2' (layout(location=13 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2})
+0:? 'in3' (in block{in float f1, layout(location=40 ) in float f2})
+0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
+0:? 's' (layout(location=33 ) smooth in structure{global 3-component vector of float a, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c, temp 2-component vector of float A})
+0:? 'anon@2' (in block{layout(location=44 component=0 ) in 4-component vector of float d, layout(location=45 component=0 ) in 4-component vector of float e, layout(location=47 ) in 4-component vector of float f, layout(location=48 component=0 ) in 4-component vector of float g, layout(location=41 ) in 4-component vector of float h, layout(location=42 component=0 ) in 4-component vector of float i, layout(location=43 component=0 ) in 4-component vector of float j, layout(location=44 component=0 ) in 4-component vector of float k})
+0:? 'outVar2' (layout(location=4095 index=0 ) out 4-component vector of float)
+0:? 'outVar3' (layout(location=0 index=1 ) out 4-component vector of float)
+0:? 'outVar4' (layout(location=0 index=1 ) out 4-component vector of float)
+0:? 'indexIn' (layout(location=27 index=0 ) smooth in 4-component vector of float)
+0:? 'indexBlockI' (layout(location=26 index=0 ) out block{out int a})
+0:? 'samp1D' (uniform sampler1D)
+0:? 'samp2Ds' (uniform sampler2DShadow)
+0:? 'precise' (global int)
+0:? 'KeyMem' (global structure{global int precise})
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Cannot use gl_FragColor or gl_FragData when using user-defined outputs
+ERROR: Linking fragment stage: Cannot use both gl_FragColor and gl_FragData
+
+Shader version: 330
+Requested GL_ARB_enhanced_layouts
+Requested GL_ARB_separate_shader_objects
+ERROR: node is still EOpNull!
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:10 Sequence
+0:10 move second child to first child (temp 4-component vector of float)
+0:10 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:10 'varyingVar' (smooth in 4-component vector of float)
+0:11 move second child to first child (temp 4-component vector of float)
+0:11 direct index (temp 4-component vector of float FragData)
+0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:11 Constant:
+0:11 1 (const int)
+0:11 'inVar' (smooth in 4-component vector of float)
+0:12 Sequence
+0:12 move second child to first child (temp int)
+0:12 'buffer' (temp int)
+0:12 Constant:
+0:12 4 (const int)
+0:21 Function Definition: foo( (global void)
+0:21 Function Parameters:
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'c' (temp 4-component vector of float)
+0:23 gl_Color: direct index for structure (in 4-component vector of float Color)
+0:23 'anon@0' (in block{in 4-component vector of float Color gl_Color, })
+0:23 Constant:
+0:23 2 (const uint)
+0:24 move second child to first child (temp 4-component vector of float)
+0:24 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)
+0:24 'inVar' (smooth in 4-component vector of float)
+0:133 Function Definition: qlod( (global void)
+0:133 Function Parameters:
+0:? Sequence
+0:140 'lod' (temp 2-component vector of float)
+0:141 'lod' (temp 2-component vector of float)
+0:147 Function Definition: fooKeyMem( (global void)
+0:147 Function Parameters:
+0:149 Sequence
+0:149 precise: direct index for structure (global int)
+0:149 'KeyMem' (global structure{global int precise})
+0:149 Constant:
+0:149 0 (const int)
+0:? Linker Objects
+0:? 'inVar' (smooth in 4-component vector of float)
+0:? 'outVar' (layout(location=0 index=0 ) out 4-component vector of float)
+0:? 'varyingVar' (smooth in 4-component vector of float)
+0:? 'anon@0' (in block{in 4-component vector of float Color gl_Color, })
+0:? 'gl_name' (in block{in int gl_i})
+0:? 'start' (const int)
+0:? 6 (const int)
+0:? 'v1' (smooth in 4-component vector of float)
+0:? 'v2' (layout(location=8 ) smooth in 4-component vector of float)
+0:? 'v20' (smooth in 4-component vector of float)
+0:? 'v21' (layout(location=60 ) smooth in float)
+0:? 'v22' (layout(location=2 ) smooth in float)
+0:? 'anon@1' (in block{layout(location=1 component=0 ) in float f1, layout(location=3 ) in float f2})
+0:? 'uinst' (layout(location=1 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2})
+0:? 'v3' (layout(location=6 ) smooth in 4-component vector of float)
+0:? 'v4' (smooth in 4-component vector of float)
+0:? 'v5' (smooth in 4-component vector of float)
+0:? 'v6' (layout(location=30 ) smooth in 4-component vector of float)
+0:? 'v23' (layout(location=61 ) smooth in float)
+0:? 'v24' (layout(location=62 ) smooth in float)
+0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2, layout(location=26 component=0 ) in 4-component vector of float f3, layout(location=21 ) in structure{global float f1, temp float f2} s2, layout(location=23 component=0 ) in 4-component vector of float f4, layout(location=24 component=0 ) in 4-component vector of float f5})
+0:? 'uinst2' (layout(location=13 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2})
+0:? 'in3' (in block{in float f1, layout(location=40 ) in float f2})
+0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
+0:? 's' (layout(location=33 ) smooth in structure{global 3-component vector of float a, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c, temp 2-component vector of float A})
+0:? 'anon@2' (in block{layout(location=44 component=0 ) in 4-component vector of float d, layout(location=45 component=0 ) in 4-component vector of float e, layout(location=47 ) in 4-component vector of float f, layout(location=48 component=0 ) in 4-component vector of float g, layout(location=41 ) in 4-component vector of float h, layout(location=42 component=0 ) in 4-component vector of float i, layout(location=43 component=0 ) in 4-component vector of float j, layout(location=44 component=0 ) in 4-component vector of float k})
+0:? 'outVar2' (layout(location=4095 index=0 ) out 4-component vector of float)
+0:? 'outVar3' (layout(location=0 index=1 ) out 4-component vector of float)
+0:? 'outVar4' (layout(location=0 index=1 ) out 4-component vector of float)
+0:? 'indexIn' (layout(location=27 index=0 ) smooth in 4-component vector of float)
+0:? 'indexBlockI' (layout(location=26 index=0 ) out block{out int a})
+0:? 'samp1D' (uniform sampler1D)
+0:? 'samp2Ds' (uniform sampler2DShadow)
+0:? 'precise' (global int)
+0:? 'KeyMem' (global structure{global int precise})
+
diff --git a/Test/baseResults/330comp.frag.out b/Test/baseResults/330comp.frag.out
index 58d2e7c..58d6e5f 100644
--- a/Test/baseResults/330comp.frag.out
+++ b/Test/baseResults/330comp.frag.out
@@ -1,48 +1,48 @@
-330comp.frag
-Shader version: 330
-0:? Sequence
-0:8 Function Definition: main( (global void)
-0:8 Function Parameters:
-0:10 Sequence
-0:10 move second child to first child (temp 4-component vector of float)
-0:10 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:10 'varyingVar' (smooth in 4-component vector of float)
-0:11 move second child to first child (temp 4-component vector of float)
-0:11 direct index (temp 4-component vector of float FragData)
-0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
-0:11 Constant:
-0:11 1 (const int)
-0:11 vector-times-matrix (temp 4-component vector of float)
-0:11 'inVar' (smooth in 4-component vector of float)
-0:11 'gl_ModelViewMatrix' (uniform 4X4 matrix of float)
-0:? Linker Objects
-0:? 'inVar' (smooth in 4-component vector of float)
-0:? 'outVar' (out 4-component vector of float)
-0:? 'varyingVar' (smooth in 4-component vector of float)
-
-
-Linked fragment stage:
-
-ERROR: Linking fragment stage: Cannot use both gl_FragColor and gl_FragData
-
-Shader version: 330
-0:? Sequence
-0:8 Function Definition: main( (global void)
-0:8 Function Parameters:
-0:10 Sequence
-0:10 move second child to first child (temp 4-component vector of float)
-0:10 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:10 'varyingVar' (smooth in 4-component vector of float)
-0:11 move second child to first child (temp 4-component vector of float)
-0:11 direct index (temp 4-component vector of float FragData)
-0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
-0:11 Constant:
-0:11 1 (const int)
-0:11 vector-times-matrix (temp 4-component vector of float)
-0:11 'inVar' (smooth in 4-component vector of float)
-0:11 'gl_ModelViewMatrix' (uniform 4X4 matrix of float)
-0:? Linker Objects
-0:? 'inVar' (smooth in 4-component vector of float)
-0:? 'outVar' (out 4-component vector of float)
-0:? 'varyingVar' (smooth in 4-component vector of float)
-
+330comp.frag
+Shader version: 330
+0:? Sequence
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:10 Sequence
+0:10 move second child to first child (temp 4-component vector of float)
+0:10 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:10 'varyingVar' (smooth in 4-component vector of float)
+0:11 move second child to first child (temp 4-component vector of float)
+0:11 direct index (temp 4-component vector of float FragData)
+0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:11 Constant:
+0:11 1 (const int)
+0:11 vector-times-matrix (temp 4-component vector of float)
+0:11 'inVar' (smooth in 4-component vector of float)
+0:11 'gl_ModelViewMatrix' (uniform 4X4 matrix of float)
+0:? Linker Objects
+0:? 'inVar' (smooth in 4-component vector of float)
+0:? 'outVar' (out 4-component vector of float)
+0:? 'varyingVar' (smooth in 4-component vector of float)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Cannot use both gl_FragColor and gl_FragData
+
+Shader version: 330
+0:? Sequence
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:10 Sequence
+0:10 move second child to first child (temp 4-component vector of float)
+0:10 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:10 'varyingVar' (smooth in 4-component vector of float)
+0:11 move second child to first child (temp 4-component vector of float)
+0:11 direct index (temp 4-component vector of float FragData)
+0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:11 Constant:
+0:11 1 (const int)
+0:11 vector-times-matrix (temp 4-component vector of float)
+0:11 'inVar' (smooth in 4-component vector of float)
+0:11 'gl_ModelViewMatrix' (uniform 4X4 matrix of float)
+0:? Linker Objects
+0:? 'inVar' (smooth in 4-component vector of float)
+0:? 'outVar' (out 4-component vector of float)
+0:? 'varyingVar' (smooth in 4-component vector of float)
+
diff --git a/Test/baseResults/400.frag.out b/Test/baseResults/400.frag.out
index a7c9ba4..0069585 100644
--- a/Test/baseResults/400.frag.out
+++ b/Test/baseResults/400.frag.out
@@ -1,1014 +1,1014 @@
-400.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:18: 'textureGatherOffsets(...)' : must be a compile-time constant: offsets argument
-ERROR: 0:22: 'textureGatherOffset(...)' : must be a compile-time constant: component argument
-ERROR: 0:23: 'textureGatherOffset(...)' : must be 0, 1, 2, or 3: component argument
-ERROR: 0:30: 'location qualifier on input' : not supported for this version or the enabled extensions
-ERROR: 0:38: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions
-ERROR: 0:40: 'redeclaration' : cannot apply layout qualifier to gl_Color
-ERROR: 0:41: 'redeclaration' : cannot change qualification of gl_ClipDistance
-ERROR: 0:43: 'gl_FragCoord' : cannot redeclare after use
-ERROR: 0:51: 'texel offset' : argument must be compile-time constant
-ERROR: 0:53: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
-ERROR: 0:53: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
-ERROR: 0:54: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
-ERROR: 0:54: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
-ERROR: 0:57: 'patch' : not supported in this stage: fragment
-ERROR: 0:58: 'patch' : not supported in this stage: fragment
-ERROR: 0:58: 'centroid/sample/patch' : can't use auxiliary qualifier on a fragment output
-ERROR: 0:73: 'dFdxFine' : required extension not requested: GL_ARB_derivative_control
-ERROR: 0:74: 'dFdyCoarse' : required extension not requested: GL_ARB_derivative_control
-ERROR: 0:75: 'fwidthCoarse' : required extension not requested: GL_ARB_derivative_control
-ERROR: 0:75: 'fwidthFine' : required extension not requested: GL_ARB_derivative_control
-ERROR: 0:104: 'centroid/sample/patch' : can't use auxiliary qualifier on a fragment output
-ERROR: 0:123: 'interpolateAtCentroid' : no matching overloaded function found
-ERROR: 0:125: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element
-ERROR: 0:127: 'interpolateAtSample' : no matching overloaded function found
-ERROR: 0:132: 'interpolateAtOffset' : no matching overloaded function found
-ERROR: 0:134: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
-ERROR: 0:135: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
-ERROR: 0:136: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
-ERROR: 0:139: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element
-ERROR: 0:140: 'interpolateAtSample' : first argument must be an interpolant, or interpolant-array element
-ERROR: 0:183: 'textureQueryLod' : no matching overloaded function found
-ERROR: 0:183: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
-ERROR: 0:184: 'textureQueryLod' : no matching overloaded function found
-ERROR: 0:184: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
-ERROR: 0:187: '' : syntax error
-ERROR: 35 compilation errors. No code generated.
-
-
-Shader version: 400
-Requested GL_ARB_derivative_control
-Requested GL_ARB_separate_shader_objects
-gl_FragCoord pixel center is integer
-gl_FragCoord origin is upper left
-ERROR: node is still EOpNull!
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:? Sequence
-0:13 move second child to first child (temp 4-component vector of float)
-0:13 'v' (temp 4-component vector of float)
-0:13 texture (global 4-component vector of float)
-0:13 indirect index (temp sampler2D)
-0:13 'arrayedSampler' (uniform 5-element array of sampler2D)
-0:13 'i' (flat in int)
-0:13 'c2D' (smooth in 2-component vector of float)
-0:14 move second child to first child (temp float)
-0:14 direct index (temp float)
-0:14 'outp' (out 4-component vector of float)
-0:14 Constant:
-0:14 0 (const int)
-0:14 direct index (smooth temp float ClipDistance)
-0:14 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
-0:14 Constant:
-0:14 1 (const int)
-0:18 Sequence
-0:18 move second child to first child (temp 4-component vector of uint)
-0:18 'uv4' (temp 4-component vector of uint)
-0:18 textureGatherOffsets (global 4-component vector of uint)
-0:18 'samp2dr' (uniform usampler2DRect)
-0:18 'c2D' (smooth in 2-component vector of float)
-0:18 'offsets' (temp 4-element array of 2-component vector of int)
-0:18 Constant:
-0:18 2 (const int)
-0:19 move second child to first child (temp 4-component vector of uint)
-0:19 'uv4' (temp 4-component vector of uint)
-0:19 textureGatherOffsets (global 4-component vector of uint)
-0:19 'samp2dr' (uniform usampler2DRect)
-0:19 'c2D' (smooth in 2-component vector of float)
-0:19 Constant:
-0:19 1 (const int)
-0:19 2 (const int)
-0:19 3 (const int)
-0:19 4 (const int)
-0:19 15 (const int)
-0:19 16 (const int)
-0:19 -2 (const int)
-0:19 0 (const int)
-0:19 Constant:
-0:19 2 (const int)
-0:20 Sequence
-0:20 move second child to first child (temp 4-component vector of float)
-0:20 'v4' (temp 4-component vector of float)
-0:20 textureGather (global 4-component vector of float)
-0:20 direct index (temp sampler2D)
-0:20 'arrayedSampler' (uniform 5-element array of sampler2D)
-0:20 Constant:
-0:20 0 (const int)
-0:20 'c2D' (smooth in 2-component vector of float)
-0:21 Sequence
-0:21 move second child to first child (temp 4-component vector of int)
-0:21 'iv4' (temp 4-component vector of int)
-0:21 textureGatherOffset (global 4-component vector of int)
-0:21 'isamp2DA' (uniform isampler2DArray)
-0:21 Constant:
-0:21 0.100000
-0:21 0.100000
-0:21 0.100000
-0:21 Constant:
-0:21 1 (const int)
-0:21 1 (const int)
-0:21 Constant:
-0:21 3 (const int)
-0:22 move second child to first child (temp 4-component vector of int)
-0:22 'iv4' (temp 4-component vector of int)
-0:22 textureGatherOffset (global 4-component vector of int)
-0:22 'isamp2DA' (uniform isampler2DArray)
-0:22 Constant:
-0:22 0.100000
-0:22 0.100000
-0:22 0.100000
-0:22 Constant:
-0:22 1 (const int)
-0:22 1 (const int)
-0:22 'i' (flat in int)
-0:23 move second child to first child (temp 4-component vector of int)
-0:23 'iv4' (temp 4-component vector of int)
-0:23 textureGatherOffset (global 4-component vector of int)
-0:23 'isamp2DA' (uniform isampler2DArray)
-0:23 Constant:
-0:23 0.100000
-0:23 0.100000
-0:23 0.100000
-0:23 Constant:
-0:23 1 (const int)
-0:23 1 (const int)
-0:23 Constant:
-0:23 4 (const int)
-0:24 move second child to first child (temp 4-component vector of int)
-0:24 'iv4' (temp 4-component vector of int)
-0:24 textureGatherOffset (global 4-component vector of int)
-0:24 'isamp2DA' (uniform isampler2DArray)
-0:24 Constant:
-0:24 0.100000
-0:24 0.100000
-0:24 0.100000
-0:24 Constant:
-0:24 1 (const int)
-0:24 1 (const int)
-0:24 Constant:
-0:24 3 (const int)
-0:25 move second child to first child (temp 4-component vector of int)
-0:25 'iv4' (temp 4-component vector of int)
-0:25 textureGatherOffset (global 4-component vector of int)
-0:25 'isamp2DA' (uniform isampler2DArray)
-0:25 Constant:
-0:25 0.100000
-0:25 0.100000
-0:25 0.100000
-0:25 Construct ivec2 (temp 2-component vector of int)
-0:25 'i' (flat in int)
-0:27 Sequence
-0:27 move second child to first child (temp 4-component vector of float)
-0:27 'c' (temp 4-component vector of float)
-0:27 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:47 Function Definition: foo23( (global void)
-0:47 Function Parameters:
-0:? Sequence
-0:51 textureProjGradOffset (global float)
-0:51 'u2drs' (uniform sampler2DRectShadow)
-0:51 'outp' (out 4-component vector of float)
-0:51 Constant:
-0:51 0.000000
-0:51 0.000000
-0:51 Constant:
-0:51 0.000000
-0:51 0.000000
-0:51 Convert float to int (temp 2-component vector of int)
-0:51 'c2D' (smooth in 2-component vector of float)
-0:52 textureProjGradOffset (global float)
-0:52 'u2drs' (uniform sampler2DRectShadow)
-0:52 'outp' (out 4-component vector of float)
-0:52 Constant:
-0:52 0.000000
-0:52 0.000000
-0:52 Constant:
-0:52 0.000000
-0:52 0.000000
-0:52 Constant:
-0:52 3 (const int)
-0:52 4 (const int)
-0:53 textureProjGradOffset (global float)
-0:53 'u2drs' (uniform sampler2DRectShadow)
-0:53 'outp' (out 4-component vector of float)
-0:53 Constant:
-0:53 0.000000
-0:53 0.000000
-0:53 Constant:
-0:53 0.000000
-0:53 0.000000
-0:53 Constant:
-0:53 15 (const int)
-0:53 16 (const int)
-0:54 textureProjGradOffset (global float)
-0:54 'u2drs' (uniform sampler2DRectShadow)
-0:54 'outp' (out 4-component vector of float)
-0:54 Constant:
-0:54 0.000000
-0:54 0.000000
-0:54 Constant:
-0:54 0.000000
-0:54 0.000000
-0:54 Constant:
-0:54 -10 (const int)
-0:54 20 (const int)
-0:60 Function Definition: foo24( (global void)
-0:60 Function Parameters:
-0:? Sequence
-0:63 move second child to first child (temp 3-component vector of double)
-0:63 'df' (temp 3-component vector of double)
-0:63 Convert float to double (temp 3-component vector of double)
-0:63 Comma (global 3-component vector of float)
-0:63 move second child to first child (temp 3-component vector of float)
-0:63 'tempReturn' (global 3-component vector of float)
-0:63 modf (global 3-component vector of float)
-0:63 vector swizzle (temp 3-component vector of float)
-0:63 'outp' (out 4-component vector of float)
-0:63 Sequence
-0:63 Constant:
-0:63 0 (const int)
-0:63 Constant:
-0:63 1 (const int)
-0:63 Constant:
-0:63 2 (const int)
-0:63 'tempArg' (temp 3-component vector of float)
-0:63 move second child to first child (temp 3-component vector of double)
-0:63 'di' (temp 3-component vector of double)
-0:63 Convert float to double (temp 3-component vector of double)
-0:63 'tempArg' (temp 3-component vector of float)
-0:63 'tempReturn' (global 3-component vector of float)
-0:71 Function Definition: foodc1( (global void)
-0:71 Function Parameters:
-0:73 Sequence
-0:73 Sequence
-0:73 move second child to first child (temp 2-component vector of float)
-0:73 'v2' (temp 2-component vector of float)
-0:73 dPdxFine (global 2-component vector of float)
-0:73 'in2' (smooth in 2-component vector of float)
-0:74 Sequence
-0:74 move second child to first child (temp 3-component vector of float)
-0:74 'v3' (temp 3-component vector of float)
-0:74 dPdyCoarse (global 3-component vector of float)
-0:74 'in3' (smooth in 3-component vector of float)
-0:75 Sequence
-0:75 move second child to first child (temp 4-component vector of float)
-0:75 'v4' (temp 4-component vector of float)
-0:75 add (temp 4-component vector of float)
-0:75 fwidthCoarse (global 4-component vector of float)
-0:75 'in4' (smooth in 4-component vector of float)
-0:75 fwidthFine (global 4-component vector of float)
-0:75 'in4' (smooth in 4-component vector of float)
-0:80 Function Definition: foodc2( (global void)
-0:80 Function Parameters:
-0:82 Sequence
-0:82 Sequence
-0:82 move second child to first child (temp 2-component vector of float)
-0:82 'v2' (temp 2-component vector of float)
-0:82 dPdxFine (global 2-component vector of float)
-0:82 'in2' (smooth in 2-component vector of float)
-0:83 Sequence
-0:83 move second child to first child (temp 3-component vector of float)
-0:83 'v3' (temp 3-component vector of float)
-0:83 dPdyCoarse (global 3-component vector of float)
-0:83 'in3' (smooth in 3-component vector of float)
-0:84 Sequence
-0:84 move second child to first child (temp 4-component vector of float)
-0:84 'v4' (temp 4-component vector of float)
-0:84 add (temp 4-component vector of float)
-0:84 fwidthCoarse (global 4-component vector of float)
-0:84 'in4' (smooth in 4-component vector of float)
-0:84 fwidthFine (global 4-component vector of float)
-0:84 'in4' (smooth in 4-component vector of float)
-0:89 move second child to first child (temp 2-component vector of float)
-0:89 'v2' (temp 2-component vector of float)
-0:89 frexp (global 2-component vector of float)
-0:89 'v2' (temp 2-component vector of float)
-0:89 'i2' (temp 2-component vector of int)
-0:90 move second child to first child (temp 3-component vector of float)
-0:90 'v3' (temp 3-component vector of float)
-0:90 ldexp (global 3-component vector of float)
-0:90 'v3' (temp 3-component vector of float)
-0:90 'i3' (temp 3-component vector of int)
-0:92 move second child to first child (temp uint)
-0:92 'u1' (temp uint)
-0:92 PackUnorm4x8 (global uint)
-0:92 'v4' (temp 4-component vector of float)
-0:93 move second child to first child (temp uint)
-0:93 'u1' (temp uint)
-0:93 PackSnorm4x8 (global uint)
-0:93 'v4' (temp 4-component vector of float)
-0:94 move second child to first child (temp 4-component vector of float)
-0:94 'v4' (temp 4-component vector of float)
-0:94 UnpackUnorm4x8 (global 4-component vector of float)
-0:94 'u1' (temp uint)
-0:95 move second child to first child (temp 4-component vector of float)
-0:95 'v4' (temp 4-component vector of float)
-0:95 UnpackSnorm4x8 (global 4-component vector of float)
-0:95 'u1' (temp uint)
-0:99 move second child to first child (temp double)
-0:99 'd' (temp double)
-0:99 PackDouble2x32 (global double)
-0:99 'u2' (temp 2-component vector of uint)
-0:100 move second child to first child (temp 2-component vector of uint)
-0:100 'u2' (temp 2-component vector of uint)
-0:100 UnpackDouble2x32 (global 2-component vector of uint)
-0:100 'd' (temp double)
-0:117 Function Definition: interp( (global void)
-0:117 Function Parameters:
-0:119 Sequence
-0:119 interpolateAtCentroid (global 2-component vector of float)
-0:119 'colorfc' (centroid flat in 2-component vector of float)
-0:120 interpolateAtCentroid (global 4-component vector of float)
-0:120 'colorSampIn' (smooth sample in 4-component vector of float)
-0:121 interpolateAtCentroid (global 4-component vector of float)
-0:121 'colorfsi' (noperspective in 4-component vector of float)
-0:122 interpolateAtCentroid (global float)
-0:122 'scalarIn' (smooth in float)
-0:123 Constant:
-0:123 0.000000
-0:124 interpolateAtCentroid (global 3-component vector of float)
-0:124 direct index (smooth sample temp 3-component vector of float)
-0:124 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:124 Constant:
-0:124 2 (const int)
-0:125 interpolateAtCentroid (global 2-component vector of float)
-0:125 vector swizzle (temp 2-component vector of float)
-0:125 direct index (smooth sample temp 3-component vector of float)
-0:125 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:125 Constant:
-0:125 2 (const int)
-0:125 Sequence
-0:125 Constant:
-0:125 0 (const int)
-0:125 Constant:
-0:125 1 (const int)
-0:127 Constant:
-0:127 0.000000
-0:128 interpolateAtSample (global 3-component vector of float)
-0:128 indirect index (smooth sample temp 3-component vector of float)
-0:128 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:128 'i' (flat in int)
-0:128 Constant:
-0:128 0 (const int)
-0:129 interpolateAtSample (global float)
-0:129 x: direct index for structure (global float)
-0:129 's1' (smooth in structure{global float x})
-0:129 Constant:
-0:129 0 (const int)
-0:129 Constant:
-0:129 2 (const int)
-0:130 interpolateAtSample (global float)
-0:130 'scalarIn' (smooth in float)
-0:130 Constant:
-0:130 1 (const int)
-0:132 Constant:
-0:132 0.000000
-0:133 interpolateAtOffset (global 3-component vector of float)
-0:133 direct index (smooth sample temp 3-component vector of float)
-0:133 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:133 Constant:
-0:133 2 (const int)
-0:133 Constant:
-0:133 0.200000
-0:133 0.200000
-0:134 interpolateAtOffset (global 2-component vector of float)
-0:134 vector swizzle (temp 2-component vector of float)
-0:134 direct index (smooth sample temp 3-component vector of float)
-0:134 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:134 Constant:
-0:134 2 (const int)
-0:134 Sequence
-0:134 Constant:
-0:134 0 (const int)
-0:134 Constant:
-0:134 1 (const int)
-0:134 Constant:
-0:134 0.200000
-0:134 0.200000
-0:135 interpolateAtOffset (global float)
-0:135 add (temp float)
-0:135 'scalarIn' (smooth in float)
-0:135 'scalarIn' (smooth in float)
-0:135 Constant:
-0:135 0.200000
-0:135 0.200000
-0:136 interpolateAtOffset (global float)
-0:136 x: direct index for structure (global float)
-0:136 's2' (sample temp structure{global float x})
-0:136 Constant:
-0:136 0 (const int)
-0:136 Constant:
-0:136 0.200000
-0:136 0.200000
-0:139 interpolateAtCentroid (global float)
-0:139 'f' (temp float)
-0:140 interpolateAtSample (global 4-component vector of float)
-0:140 'outp' (out 4-component vector of float)
-0:140 Constant:
-0:140 0 (const int)
-0:161 Function Definition: qlod( (global void)
-0:161 Function Parameters:
-0:? Sequence
-0:168 move second child to first child (temp 2-component vector of float)
-0:168 'lod' (temp 2-component vector of float)
-0:168 textureQueryLod (global 2-component vector of float)
-0:168 'samp1D' (uniform sampler1D)
-0:168 'pf' (temp float)
-0:169 move second child to first child (temp 2-component vector of float)
-0:169 'lod' (temp 2-component vector of float)
-0:169 textureQueryLod (global 2-component vector of float)
-0:169 'isamp2D' (uniform isampler2D)
-0:169 'pf2' (temp 2-component vector of float)
-0:170 move second child to first child (temp 2-component vector of float)
-0:170 'lod' (temp 2-component vector of float)
-0:170 textureQueryLod (global 2-component vector of float)
-0:170 'usamp3D' (uniform usampler3D)
-0:170 'pf3' (temp 3-component vector of float)
-0:171 move second child to first child (temp 2-component vector of float)
-0:171 'lod' (temp 2-component vector of float)
-0:171 textureQueryLod (global 2-component vector of float)
-0:171 'sampCube' (uniform samplerCube)
-0:171 'pf3' (temp 3-component vector of float)
-0:172 move second child to first child (temp 2-component vector of float)
-0:172 'lod' (temp 2-component vector of float)
-0:172 textureQueryLod (global 2-component vector of float)
-0:172 'isamp1DA' (uniform isampler1DArray)
-0:172 'pf' (temp float)
-0:173 move second child to first child (temp 2-component vector of float)
-0:173 'lod' (temp 2-component vector of float)
-0:173 textureQueryLod (global 2-component vector of float)
-0:173 'usamp2DA' (uniform usampler2DArray)
-0:173 'pf2' (temp 2-component vector of float)
-0:174 move second child to first child (temp 2-component vector of float)
-0:174 'lod' (temp 2-component vector of float)
-0:174 textureQueryLod (global 2-component vector of float)
-0:174 'isampCubeA' (uniform isamplerCubeArray)
-0:174 'pf3' (temp 3-component vector of float)
-0:176 move second child to first child (temp 2-component vector of float)
-0:176 'lod' (temp 2-component vector of float)
-0:176 textureQueryLod (global 2-component vector of float)
-0:176 'samp1Ds' (uniform sampler1DShadow)
-0:176 'pf' (temp float)
-0:177 move second child to first child (temp 2-component vector of float)
-0:177 'lod' (temp 2-component vector of float)
-0:177 textureQueryLod (global 2-component vector of float)
-0:177 'samp2Ds' (uniform sampler2DShadow)
-0:177 'pf2' (temp 2-component vector of float)
-0:178 move second child to first child (temp 2-component vector of float)
-0:178 'lod' (temp 2-component vector of float)
-0:178 textureQueryLod (global 2-component vector of float)
-0:178 'sampCubes' (uniform samplerCubeShadow)
-0:178 'pf3' (temp 3-component vector of float)
-0:179 move second child to first child (temp 2-component vector of float)
-0:179 'lod' (temp 2-component vector of float)
-0:179 textureQueryLod (global 2-component vector of float)
-0:179 'samp1DAs' (uniform sampler1DArrayShadow)
-0:179 'pf' (temp float)
-0:180 move second child to first child (temp 2-component vector of float)
-0:180 'lod' (temp 2-component vector of float)
-0:180 textureQueryLod (global 2-component vector of float)
-0:180 'samp2DAs' (uniform sampler2DArrayShadow)
-0:180 'pf2' (temp 2-component vector of float)
-0:181 move second child to first child (temp 2-component vector of float)
-0:181 'lod' (temp 2-component vector of float)
-0:181 textureQueryLod (global 2-component vector of float)
-0:181 'sampCubeAs' (uniform samplerCubeArrayShadow)
-0:181 'pf3' (temp 3-component vector of float)
-0:183 'lod' (temp 2-component vector of float)
-0:184 'lod' (temp 2-component vector of float)
-0:? Linker Objects
-0:? 'c2D' (smooth in 2-component vector of float)
-0:? 'i' (flat in int)
-0:? 'outp' (out 4-component vector of float)
-0:? 'arrayedSampler' (uniform 5-element array of sampler2D)
-0:? 'samp2dr' (uniform usampler2DRect)
-0:? 'isamp2DA' (uniform isampler2DArray)
-0:? 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
-0:? 'vl' (layout(location=4 ) smooth in 4-component vector of float)
-0:? 'vl2' (layout(location=6 ) smooth in 4-component vector of float)
-0:? 'uv3' (layout(location=3 ) uniform 3-component vector of float)
-0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
-0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:? 'u2drs' (uniform sampler2DRectShadow)
-0:? 'patchIn' (smooth patch in 4-component vector of float)
-0:? 'patchOut' (patch out 4-component vector of float)
-0:? 'in1' (smooth in float)
-0:? 'in2' (smooth in 2-component vector of float)
-0:? 'in3' (smooth in 3-component vector of float)
-0:? 'in4' (smooth in 4-component vector of float)
-0:? 'colorSampIn' (smooth sample in 4-component vector of float)
-0:? 'colorSampleBad' (sample out 4-component vector of float)
-0:? 'colorfsi' (noperspective in 4-component vector of float)
-0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:? 'scalarIn' (smooth in float)
-0:? 'colorfc' (centroid flat in 2-component vector of float)
-0:? 's1' (smooth in structure{global float x})
-0:? 's2' (sample temp structure{global float x})
-0:? 'samp1D' (uniform sampler1D)
-0:? 'isamp2D' (uniform isampler2D)
-0:? 'usamp3D' (uniform usampler3D)
-0:? 'sampCube' (uniform samplerCube)
-0:? 'isamp1DA' (uniform isampler1DArray)
-0:? 'usamp2DA' (uniform usampler2DArray)
-0:? 'isampCubeA' (uniform isamplerCubeArray)
-0:? 'samp1Ds' (uniform sampler1DShadow)
-0:? 'samp2Ds' (uniform sampler2DShadow)
-0:? 'sampCubes' (uniform samplerCubeShadow)
-0:? 'samp1DAs' (uniform sampler1DArrayShadow)
-0:? 'samp2DAs' (uniform sampler2DArrayShadow)
-0:? 'sampCubeAs' (uniform samplerCubeArrayShadow)
-0:? 'sampBuf' (uniform samplerBuffer)
-0:? 'sampRect' (uniform sampler2DRect)
-
-
-Linked fragment stage:
-
-
-Shader version: 400
-Requested GL_ARB_derivative_control
-Requested GL_ARB_separate_shader_objects
-gl_FragCoord pixel center is integer
-gl_FragCoord origin is upper left
-ERROR: node is still EOpNull!
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:? Sequence
-0:13 move second child to first child (temp 4-component vector of float)
-0:13 'v' (temp 4-component vector of float)
-0:13 texture (global 4-component vector of float)
-0:13 indirect index (temp sampler2D)
-0:13 'arrayedSampler' (uniform 5-element array of sampler2D)
-0:13 'i' (flat in int)
-0:13 'c2D' (smooth in 2-component vector of float)
-0:14 move second child to first child (temp float)
-0:14 direct index (temp float)
-0:14 'outp' (out 4-component vector of float)
-0:14 Constant:
-0:14 0 (const int)
-0:14 direct index (smooth temp float ClipDistance)
-0:14 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
-0:14 Constant:
-0:14 1 (const int)
-0:18 Sequence
-0:18 move second child to first child (temp 4-component vector of uint)
-0:18 'uv4' (temp 4-component vector of uint)
-0:18 textureGatherOffsets (global 4-component vector of uint)
-0:18 'samp2dr' (uniform usampler2DRect)
-0:18 'c2D' (smooth in 2-component vector of float)
-0:18 'offsets' (temp 4-element array of 2-component vector of int)
-0:18 Constant:
-0:18 2 (const int)
-0:19 move second child to first child (temp 4-component vector of uint)
-0:19 'uv4' (temp 4-component vector of uint)
-0:19 textureGatherOffsets (global 4-component vector of uint)
-0:19 'samp2dr' (uniform usampler2DRect)
-0:19 'c2D' (smooth in 2-component vector of float)
-0:19 Constant:
-0:19 1 (const int)
-0:19 2 (const int)
-0:19 3 (const int)
-0:19 4 (const int)
-0:19 15 (const int)
-0:19 16 (const int)
-0:19 -2 (const int)
-0:19 0 (const int)
-0:19 Constant:
-0:19 2 (const int)
-0:20 Sequence
-0:20 move second child to first child (temp 4-component vector of float)
-0:20 'v4' (temp 4-component vector of float)
-0:20 textureGather (global 4-component vector of float)
-0:20 direct index (temp sampler2D)
-0:20 'arrayedSampler' (uniform 5-element array of sampler2D)
-0:20 Constant:
-0:20 0 (const int)
-0:20 'c2D' (smooth in 2-component vector of float)
-0:21 Sequence
-0:21 move second child to first child (temp 4-component vector of int)
-0:21 'iv4' (temp 4-component vector of int)
-0:21 textureGatherOffset (global 4-component vector of int)
-0:21 'isamp2DA' (uniform isampler2DArray)
-0:21 Constant:
-0:21 0.100000
-0:21 0.100000
-0:21 0.100000
-0:21 Constant:
-0:21 1 (const int)
-0:21 1 (const int)
-0:21 Constant:
-0:21 3 (const int)
-0:22 move second child to first child (temp 4-component vector of int)
-0:22 'iv4' (temp 4-component vector of int)
-0:22 textureGatherOffset (global 4-component vector of int)
-0:22 'isamp2DA' (uniform isampler2DArray)
-0:22 Constant:
-0:22 0.100000
-0:22 0.100000
-0:22 0.100000
-0:22 Constant:
-0:22 1 (const int)
-0:22 1 (const int)
-0:22 'i' (flat in int)
-0:23 move second child to first child (temp 4-component vector of int)
-0:23 'iv4' (temp 4-component vector of int)
-0:23 textureGatherOffset (global 4-component vector of int)
-0:23 'isamp2DA' (uniform isampler2DArray)
-0:23 Constant:
-0:23 0.100000
-0:23 0.100000
-0:23 0.100000
-0:23 Constant:
-0:23 1 (const int)
-0:23 1 (const int)
-0:23 Constant:
-0:23 4 (const int)
-0:24 move second child to first child (temp 4-component vector of int)
-0:24 'iv4' (temp 4-component vector of int)
-0:24 textureGatherOffset (global 4-component vector of int)
-0:24 'isamp2DA' (uniform isampler2DArray)
-0:24 Constant:
-0:24 0.100000
-0:24 0.100000
-0:24 0.100000
-0:24 Constant:
-0:24 1 (const int)
-0:24 1 (const int)
-0:24 Constant:
-0:24 3 (const int)
-0:25 move second child to first child (temp 4-component vector of int)
-0:25 'iv4' (temp 4-component vector of int)
-0:25 textureGatherOffset (global 4-component vector of int)
-0:25 'isamp2DA' (uniform isampler2DArray)
-0:25 Constant:
-0:25 0.100000
-0:25 0.100000
-0:25 0.100000
-0:25 Construct ivec2 (temp 2-component vector of int)
-0:25 'i' (flat in int)
-0:27 Sequence
-0:27 move second child to first child (temp 4-component vector of float)
-0:27 'c' (temp 4-component vector of float)
-0:27 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:47 Function Definition: foo23( (global void)
-0:47 Function Parameters:
-0:? Sequence
-0:51 textureProjGradOffset (global float)
-0:51 'u2drs' (uniform sampler2DRectShadow)
-0:51 'outp' (out 4-component vector of float)
-0:51 Constant:
-0:51 0.000000
-0:51 0.000000
-0:51 Constant:
-0:51 0.000000
-0:51 0.000000
-0:51 Convert float to int (temp 2-component vector of int)
-0:51 'c2D' (smooth in 2-component vector of float)
-0:52 textureProjGradOffset (global float)
-0:52 'u2drs' (uniform sampler2DRectShadow)
-0:52 'outp' (out 4-component vector of float)
-0:52 Constant:
-0:52 0.000000
-0:52 0.000000
-0:52 Constant:
-0:52 0.000000
-0:52 0.000000
-0:52 Constant:
-0:52 3 (const int)
-0:52 4 (const int)
-0:53 textureProjGradOffset (global float)
-0:53 'u2drs' (uniform sampler2DRectShadow)
-0:53 'outp' (out 4-component vector of float)
-0:53 Constant:
-0:53 0.000000
-0:53 0.000000
-0:53 Constant:
-0:53 0.000000
-0:53 0.000000
-0:53 Constant:
-0:53 15 (const int)
-0:53 16 (const int)
-0:54 textureProjGradOffset (global float)
-0:54 'u2drs' (uniform sampler2DRectShadow)
-0:54 'outp' (out 4-component vector of float)
-0:54 Constant:
-0:54 0.000000
-0:54 0.000000
-0:54 Constant:
-0:54 0.000000
-0:54 0.000000
-0:54 Constant:
-0:54 -10 (const int)
-0:54 20 (const int)
-0:60 Function Definition: foo24( (global void)
-0:60 Function Parameters:
-0:? Sequence
-0:63 move second child to first child (temp 3-component vector of double)
-0:63 'df' (temp 3-component vector of double)
-0:63 Convert float to double (temp 3-component vector of double)
-0:63 Comma (global 3-component vector of float)
-0:63 move second child to first child (temp 3-component vector of float)
-0:63 'tempReturn' (global 3-component vector of float)
-0:63 modf (global 3-component vector of float)
-0:63 vector swizzle (temp 3-component vector of float)
-0:63 'outp' (out 4-component vector of float)
-0:63 Sequence
-0:63 Constant:
-0:63 0 (const int)
-0:63 Constant:
-0:63 1 (const int)
-0:63 Constant:
-0:63 2 (const int)
-0:63 'tempArg' (temp 3-component vector of float)
-0:63 move second child to first child (temp 3-component vector of double)
-0:63 'di' (temp 3-component vector of double)
-0:63 Convert float to double (temp 3-component vector of double)
-0:63 'tempArg' (temp 3-component vector of float)
-0:63 'tempReturn' (global 3-component vector of float)
-0:71 Function Definition: foodc1( (global void)
-0:71 Function Parameters:
-0:73 Sequence
-0:73 Sequence
-0:73 move second child to first child (temp 2-component vector of float)
-0:73 'v2' (temp 2-component vector of float)
-0:73 dPdxFine (global 2-component vector of float)
-0:73 'in2' (smooth in 2-component vector of float)
-0:74 Sequence
-0:74 move second child to first child (temp 3-component vector of float)
-0:74 'v3' (temp 3-component vector of float)
-0:74 dPdyCoarse (global 3-component vector of float)
-0:74 'in3' (smooth in 3-component vector of float)
-0:75 Sequence
-0:75 move second child to first child (temp 4-component vector of float)
-0:75 'v4' (temp 4-component vector of float)
-0:75 add (temp 4-component vector of float)
-0:75 fwidthCoarse (global 4-component vector of float)
-0:75 'in4' (smooth in 4-component vector of float)
-0:75 fwidthFine (global 4-component vector of float)
-0:75 'in4' (smooth in 4-component vector of float)
-0:80 Function Definition: foodc2( (global void)
-0:80 Function Parameters:
-0:82 Sequence
-0:82 Sequence
-0:82 move second child to first child (temp 2-component vector of float)
-0:82 'v2' (temp 2-component vector of float)
-0:82 dPdxFine (global 2-component vector of float)
-0:82 'in2' (smooth in 2-component vector of float)
-0:83 Sequence
-0:83 move second child to first child (temp 3-component vector of float)
-0:83 'v3' (temp 3-component vector of float)
-0:83 dPdyCoarse (global 3-component vector of float)
-0:83 'in3' (smooth in 3-component vector of float)
-0:84 Sequence
-0:84 move second child to first child (temp 4-component vector of float)
-0:84 'v4' (temp 4-component vector of float)
-0:84 add (temp 4-component vector of float)
-0:84 fwidthCoarse (global 4-component vector of float)
-0:84 'in4' (smooth in 4-component vector of float)
-0:84 fwidthFine (global 4-component vector of float)
-0:84 'in4' (smooth in 4-component vector of float)
-0:89 move second child to first child (temp 2-component vector of float)
-0:89 'v2' (temp 2-component vector of float)
-0:89 frexp (global 2-component vector of float)
-0:89 'v2' (temp 2-component vector of float)
-0:89 'i2' (temp 2-component vector of int)
-0:90 move second child to first child (temp 3-component vector of float)
-0:90 'v3' (temp 3-component vector of float)
-0:90 ldexp (global 3-component vector of float)
-0:90 'v3' (temp 3-component vector of float)
-0:90 'i3' (temp 3-component vector of int)
-0:92 move second child to first child (temp uint)
-0:92 'u1' (temp uint)
-0:92 PackUnorm4x8 (global uint)
-0:92 'v4' (temp 4-component vector of float)
-0:93 move second child to first child (temp uint)
-0:93 'u1' (temp uint)
-0:93 PackSnorm4x8 (global uint)
-0:93 'v4' (temp 4-component vector of float)
-0:94 move second child to first child (temp 4-component vector of float)
-0:94 'v4' (temp 4-component vector of float)
-0:94 UnpackUnorm4x8 (global 4-component vector of float)
-0:94 'u1' (temp uint)
-0:95 move second child to first child (temp 4-component vector of float)
-0:95 'v4' (temp 4-component vector of float)
-0:95 UnpackSnorm4x8 (global 4-component vector of float)
-0:95 'u1' (temp uint)
-0:99 move second child to first child (temp double)
-0:99 'd' (temp double)
-0:99 PackDouble2x32 (global double)
-0:99 'u2' (temp 2-component vector of uint)
-0:100 move second child to first child (temp 2-component vector of uint)
-0:100 'u2' (temp 2-component vector of uint)
-0:100 UnpackDouble2x32 (global 2-component vector of uint)
-0:100 'd' (temp double)
-0:117 Function Definition: interp( (global void)
-0:117 Function Parameters:
-0:119 Sequence
-0:119 interpolateAtCentroid (global 2-component vector of float)
-0:119 'colorfc' (centroid flat in 2-component vector of float)
-0:120 interpolateAtCentroid (global 4-component vector of float)
-0:120 'colorSampIn' (smooth sample in 4-component vector of float)
-0:121 interpolateAtCentroid (global 4-component vector of float)
-0:121 'colorfsi' (noperspective in 4-component vector of float)
-0:122 interpolateAtCentroid (global float)
-0:122 'scalarIn' (smooth in float)
-0:123 Constant:
-0:123 0.000000
-0:124 interpolateAtCentroid (global 3-component vector of float)
-0:124 direct index (smooth sample temp 3-component vector of float)
-0:124 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:124 Constant:
-0:124 2 (const int)
-0:125 interpolateAtCentroid (global 2-component vector of float)
-0:125 vector swizzle (temp 2-component vector of float)
-0:125 direct index (smooth sample temp 3-component vector of float)
-0:125 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:125 Constant:
-0:125 2 (const int)
-0:125 Sequence
-0:125 Constant:
-0:125 0 (const int)
-0:125 Constant:
-0:125 1 (const int)
-0:127 Constant:
-0:127 0.000000
-0:128 interpolateAtSample (global 3-component vector of float)
-0:128 indirect index (smooth sample temp 3-component vector of float)
-0:128 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:128 'i' (flat in int)
-0:128 Constant:
-0:128 0 (const int)
-0:129 interpolateAtSample (global float)
-0:129 x: direct index for structure (global float)
-0:129 's1' (smooth in structure{global float x})
-0:129 Constant:
-0:129 0 (const int)
-0:129 Constant:
-0:129 2 (const int)
-0:130 interpolateAtSample (global float)
-0:130 'scalarIn' (smooth in float)
-0:130 Constant:
-0:130 1 (const int)
-0:132 Constant:
-0:132 0.000000
-0:133 interpolateAtOffset (global 3-component vector of float)
-0:133 direct index (smooth sample temp 3-component vector of float)
-0:133 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:133 Constant:
-0:133 2 (const int)
-0:133 Constant:
-0:133 0.200000
-0:133 0.200000
-0:134 interpolateAtOffset (global 2-component vector of float)
-0:134 vector swizzle (temp 2-component vector of float)
-0:134 direct index (smooth sample temp 3-component vector of float)
-0:134 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:134 Constant:
-0:134 2 (const int)
-0:134 Sequence
-0:134 Constant:
-0:134 0 (const int)
-0:134 Constant:
-0:134 1 (const int)
-0:134 Constant:
-0:134 0.200000
-0:134 0.200000
-0:135 interpolateAtOffset (global float)
-0:135 add (temp float)
-0:135 'scalarIn' (smooth in float)
-0:135 'scalarIn' (smooth in float)
-0:135 Constant:
-0:135 0.200000
-0:135 0.200000
-0:136 interpolateAtOffset (global float)
-0:136 x: direct index for structure (global float)
-0:136 's2' (sample temp structure{global float x})
-0:136 Constant:
-0:136 0 (const int)
-0:136 Constant:
-0:136 0.200000
-0:136 0.200000
-0:139 interpolateAtCentroid (global float)
-0:139 'f' (temp float)
-0:140 interpolateAtSample (global 4-component vector of float)
-0:140 'outp' (out 4-component vector of float)
-0:140 Constant:
-0:140 0 (const int)
-0:161 Function Definition: qlod( (global void)
-0:161 Function Parameters:
-0:? Sequence
-0:168 move second child to first child (temp 2-component vector of float)
-0:168 'lod' (temp 2-component vector of float)
-0:168 textureQueryLod (global 2-component vector of float)
-0:168 'samp1D' (uniform sampler1D)
-0:168 'pf' (temp float)
-0:169 move second child to first child (temp 2-component vector of float)
-0:169 'lod' (temp 2-component vector of float)
-0:169 textureQueryLod (global 2-component vector of float)
-0:169 'isamp2D' (uniform isampler2D)
-0:169 'pf2' (temp 2-component vector of float)
-0:170 move second child to first child (temp 2-component vector of float)
-0:170 'lod' (temp 2-component vector of float)
-0:170 textureQueryLod (global 2-component vector of float)
-0:170 'usamp3D' (uniform usampler3D)
-0:170 'pf3' (temp 3-component vector of float)
-0:171 move second child to first child (temp 2-component vector of float)
-0:171 'lod' (temp 2-component vector of float)
-0:171 textureQueryLod (global 2-component vector of float)
-0:171 'sampCube' (uniform samplerCube)
-0:171 'pf3' (temp 3-component vector of float)
-0:172 move second child to first child (temp 2-component vector of float)
-0:172 'lod' (temp 2-component vector of float)
-0:172 textureQueryLod (global 2-component vector of float)
-0:172 'isamp1DA' (uniform isampler1DArray)
-0:172 'pf' (temp float)
-0:173 move second child to first child (temp 2-component vector of float)
-0:173 'lod' (temp 2-component vector of float)
-0:173 textureQueryLod (global 2-component vector of float)
-0:173 'usamp2DA' (uniform usampler2DArray)
-0:173 'pf2' (temp 2-component vector of float)
-0:174 move second child to first child (temp 2-component vector of float)
-0:174 'lod' (temp 2-component vector of float)
-0:174 textureQueryLod (global 2-component vector of float)
-0:174 'isampCubeA' (uniform isamplerCubeArray)
-0:174 'pf3' (temp 3-component vector of float)
-0:176 move second child to first child (temp 2-component vector of float)
-0:176 'lod' (temp 2-component vector of float)
-0:176 textureQueryLod (global 2-component vector of float)
-0:176 'samp1Ds' (uniform sampler1DShadow)
-0:176 'pf' (temp float)
-0:177 move second child to first child (temp 2-component vector of float)
-0:177 'lod' (temp 2-component vector of float)
-0:177 textureQueryLod (global 2-component vector of float)
-0:177 'samp2Ds' (uniform sampler2DShadow)
-0:177 'pf2' (temp 2-component vector of float)
-0:178 move second child to first child (temp 2-component vector of float)
-0:178 'lod' (temp 2-component vector of float)
-0:178 textureQueryLod (global 2-component vector of float)
-0:178 'sampCubes' (uniform samplerCubeShadow)
-0:178 'pf3' (temp 3-component vector of float)
-0:179 move second child to first child (temp 2-component vector of float)
-0:179 'lod' (temp 2-component vector of float)
-0:179 textureQueryLod (global 2-component vector of float)
-0:179 'samp1DAs' (uniform sampler1DArrayShadow)
-0:179 'pf' (temp float)
-0:180 move second child to first child (temp 2-component vector of float)
-0:180 'lod' (temp 2-component vector of float)
-0:180 textureQueryLod (global 2-component vector of float)
-0:180 'samp2DAs' (uniform sampler2DArrayShadow)
-0:180 'pf2' (temp 2-component vector of float)
-0:181 move second child to first child (temp 2-component vector of float)
-0:181 'lod' (temp 2-component vector of float)
-0:181 textureQueryLod (global 2-component vector of float)
-0:181 'sampCubeAs' (uniform samplerCubeArrayShadow)
-0:181 'pf3' (temp 3-component vector of float)
-0:183 'lod' (temp 2-component vector of float)
-0:184 'lod' (temp 2-component vector of float)
-0:? Linker Objects
-0:? 'c2D' (smooth in 2-component vector of float)
-0:? 'i' (flat in int)
-0:? 'outp' (out 4-component vector of float)
-0:? 'arrayedSampler' (uniform 5-element array of sampler2D)
-0:? 'samp2dr' (uniform usampler2DRect)
-0:? 'isamp2DA' (uniform isampler2DArray)
-0:? 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
-0:? 'vl' (layout(location=4 ) smooth in 4-component vector of float)
-0:? 'vl2' (layout(location=6 ) smooth in 4-component vector of float)
-0:? 'uv3' (layout(location=3 ) uniform 3-component vector of float)
-0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
-0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:? 'u2drs' (uniform sampler2DRectShadow)
-0:? 'patchIn' (smooth patch in 4-component vector of float)
-0:? 'patchOut' (patch out 4-component vector of float)
-0:? 'in1' (smooth in float)
-0:? 'in2' (smooth in 2-component vector of float)
-0:? 'in3' (smooth in 3-component vector of float)
-0:? 'in4' (smooth in 4-component vector of float)
-0:? 'colorSampIn' (smooth sample in 4-component vector of float)
-0:? 'colorSampleBad' (sample out 4-component vector of float)
-0:? 'colorfsi' (noperspective in 4-component vector of float)
-0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:? 'scalarIn' (smooth in float)
-0:? 'colorfc' (centroid flat in 2-component vector of float)
-0:? 's1' (smooth in structure{global float x})
-0:? 's2' (sample temp structure{global float x})
-0:? 'samp1D' (uniform sampler1D)
-0:? 'isamp2D' (uniform isampler2D)
-0:? 'usamp3D' (uniform usampler3D)
-0:? 'sampCube' (uniform samplerCube)
-0:? 'isamp1DA' (uniform isampler1DArray)
-0:? 'usamp2DA' (uniform usampler2DArray)
-0:? 'isampCubeA' (uniform isamplerCubeArray)
-0:? 'samp1Ds' (uniform sampler1DShadow)
-0:? 'samp2Ds' (uniform sampler2DShadow)
-0:? 'sampCubes' (uniform samplerCubeShadow)
-0:? 'samp1DAs' (uniform sampler1DArrayShadow)
-0:? 'samp2DAs' (uniform sampler2DArrayShadow)
-0:? 'sampCubeAs' (uniform samplerCubeArrayShadow)
-0:? 'sampBuf' (uniform samplerBuffer)
-0:? 'sampRect' (uniform sampler2DRect)
-
+400.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:18: 'textureGatherOffsets(...)' : must be a compile-time constant: offsets argument
+ERROR: 0:22: 'textureGatherOffset(...)' : must be a compile-time constant: component argument
+ERROR: 0:23: 'textureGatherOffset(...)' : must be 0, 1, 2, or 3: component argument
+ERROR: 0:30: 'location qualifier on input' : not supported for this version or the enabled extensions
+ERROR: 0:38: 'location qualifier on uniform or buffer' : not supported for this version or the enabled extensions
+ERROR: 0:40: 'redeclaration' : cannot apply layout qualifier to gl_Color
+ERROR: 0:41: 'redeclaration' : cannot change qualification of gl_ClipDistance
+ERROR: 0:43: 'gl_FragCoord' : cannot redeclare after use
+ERROR: 0:51: 'texel offset' : argument must be compile-time constant
+ERROR: 0:53: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:53: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:54: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:54: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
+ERROR: 0:57: 'patch' : not supported in this stage: fragment
+ERROR: 0:58: 'patch' : not supported in this stage: fragment
+ERROR: 0:58: 'centroid/sample/patch' : can't use auxiliary qualifier on a fragment output
+ERROR: 0:73: 'dFdxFine' : required extension not requested: GL_ARB_derivative_control
+ERROR: 0:74: 'dFdyCoarse' : required extension not requested: GL_ARB_derivative_control
+ERROR: 0:75: 'fwidthCoarse' : required extension not requested: GL_ARB_derivative_control
+ERROR: 0:75: 'fwidthFine' : required extension not requested: GL_ARB_derivative_control
+ERROR: 0:104: 'centroid/sample/patch' : can't use auxiliary qualifier on a fragment output
+ERROR: 0:123: 'interpolateAtCentroid' : no matching overloaded function found
+ERROR: 0:125: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:127: 'interpolateAtSample' : no matching overloaded function found
+ERROR: 0:132: 'interpolateAtOffset' : no matching overloaded function found
+ERROR: 0:134: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:135: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:136: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:139: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:140: 'interpolateAtSample' : first argument must be an interpolant, or interpolant-array element
+ERROR: 0:183: 'textureQueryLod' : no matching overloaded function found
+ERROR: 0:183: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
+ERROR: 0:184: 'textureQueryLod' : no matching overloaded function found
+ERROR: 0:184: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
+ERROR: 0:187: '' : syntax error
+ERROR: 35 compilation errors. No code generated.
+
+
+Shader version: 400
+Requested GL_ARB_derivative_control
+Requested GL_ARB_separate_shader_objects
+gl_FragCoord pixel center is integer
+gl_FragCoord origin is upper left
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:? Sequence
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'v' (temp 4-component vector of float)
+0:13 texture (global 4-component vector of float)
+0:13 indirect index (temp sampler2D)
+0:13 'arrayedSampler' (uniform 5-element array of sampler2D)
+0:13 'i' (flat in int)
+0:13 'c2D' (smooth in 2-component vector of float)
+0:14 move second child to first child (temp float)
+0:14 direct index (temp float)
+0:14 'outp' (out 4-component vector of float)
+0:14 Constant:
+0:14 0 (const int)
+0:14 direct index (smooth temp float ClipDistance)
+0:14 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
+0:14 Constant:
+0:14 1 (const int)
+0:18 Sequence
+0:18 move second child to first child (temp 4-component vector of uint)
+0:18 'uv4' (temp 4-component vector of uint)
+0:18 textureGatherOffsets (global 4-component vector of uint)
+0:18 'samp2dr' (uniform usampler2DRect)
+0:18 'c2D' (smooth in 2-component vector of float)
+0:18 'offsets' (temp 4-element array of 2-component vector of int)
+0:18 Constant:
+0:18 2 (const int)
+0:19 move second child to first child (temp 4-component vector of uint)
+0:19 'uv4' (temp 4-component vector of uint)
+0:19 textureGatherOffsets (global 4-component vector of uint)
+0:19 'samp2dr' (uniform usampler2DRect)
+0:19 'c2D' (smooth in 2-component vector of float)
+0:19 Constant:
+0:19 1 (const int)
+0:19 2 (const int)
+0:19 3 (const int)
+0:19 4 (const int)
+0:19 15 (const int)
+0:19 16 (const int)
+0:19 -2 (const int)
+0:19 0 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'v4' (temp 4-component vector of float)
+0:20 textureGather (global 4-component vector of float)
+0:20 direct index (temp sampler2D)
+0:20 'arrayedSampler' (uniform 5-element array of sampler2D)
+0:20 Constant:
+0:20 0 (const int)
+0:20 'c2D' (smooth in 2-component vector of float)
+0:21 Sequence
+0:21 move second child to first child (temp 4-component vector of int)
+0:21 'iv4' (temp 4-component vector of int)
+0:21 textureGatherOffset (global 4-component vector of int)
+0:21 'isamp2DA' (uniform isampler2DArray)
+0:21 Constant:
+0:21 0.100000
+0:21 0.100000
+0:21 0.100000
+0:21 Constant:
+0:21 1 (const int)
+0:21 1 (const int)
+0:21 Constant:
+0:21 3 (const int)
+0:22 move second child to first child (temp 4-component vector of int)
+0:22 'iv4' (temp 4-component vector of int)
+0:22 textureGatherOffset (global 4-component vector of int)
+0:22 'isamp2DA' (uniform isampler2DArray)
+0:22 Constant:
+0:22 0.100000
+0:22 0.100000
+0:22 0.100000
+0:22 Constant:
+0:22 1 (const int)
+0:22 1 (const int)
+0:22 'i' (flat in int)
+0:23 move second child to first child (temp 4-component vector of int)
+0:23 'iv4' (temp 4-component vector of int)
+0:23 textureGatherOffset (global 4-component vector of int)
+0:23 'isamp2DA' (uniform isampler2DArray)
+0:23 Constant:
+0:23 0.100000
+0:23 0.100000
+0:23 0.100000
+0:23 Constant:
+0:23 1 (const int)
+0:23 1 (const int)
+0:23 Constant:
+0:23 4 (const int)
+0:24 move second child to first child (temp 4-component vector of int)
+0:24 'iv4' (temp 4-component vector of int)
+0:24 textureGatherOffset (global 4-component vector of int)
+0:24 'isamp2DA' (uniform isampler2DArray)
+0:24 Constant:
+0:24 0.100000
+0:24 0.100000
+0:24 0.100000
+0:24 Constant:
+0:24 1 (const int)
+0:24 1 (const int)
+0:24 Constant:
+0:24 3 (const int)
+0:25 move second child to first child (temp 4-component vector of int)
+0:25 'iv4' (temp 4-component vector of int)
+0:25 textureGatherOffset (global 4-component vector of int)
+0:25 'isamp2DA' (uniform isampler2DArray)
+0:25 Constant:
+0:25 0.100000
+0:25 0.100000
+0:25 0.100000
+0:25 Construct ivec2 (temp 2-component vector of int)
+0:25 'i' (flat in int)
+0:27 Sequence
+0:27 move second child to first child (temp 4-component vector of float)
+0:27 'c' (temp 4-component vector of float)
+0:27 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:47 Function Definition: foo23( (global void)
+0:47 Function Parameters:
+0:? Sequence
+0:51 textureProjGradOffset (global float)
+0:51 'u2drs' (uniform sampler2DRectShadow)
+0:51 'outp' (out 4-component vector of float)
+0:51 Constant:
+0:51 0.000000
+0:51 0.000000
+0:51 Constant:
+0:51 0.000000
+0:51 0.000000
+0:51 Convert float to int (temp 2-component vector of int)
+0:51 'c2D' (smooth in 2-component vector of float)
+0:52 textureProjGradOffset (global float)
+0:52 'u2drs' (uniform sampler2DRectShadow)
+0:52 'outp' (out 4-component vector of float)
+0:52 Constant:
+0:52 0.000000
+0:52 0.000000
+0:52 Constant:
+0:52 0.000000
+0:52 0.000000
+0:52 Constant:
+0:52 3 (const int)
+0:52 4 (const int)
+0:53 textureProjGradOffset (global float)
+0:53 'u2drs' (uniform sampler2DRectShadow)
+0:53 'outp' (out 4-component vector of float)
+0:53 Constant:
+0:53 0.000000
+0:53 0.000000
+0:53 Constant:
+0:53 0.000000
+0:53 0.000000
+0:53 Constant:
+0:53 15 (const int)
+0:53 16 (const int)
+0:54 textureProjGradOffset (global float)
+0:54 'u2drs' (uniform sampler2DRectShadow)
+0:54 'outp' (out 4-component vector of float)
+0:54 Constant:
+0:54 0.000000
+0:54 0.000000
+0:54 Constant:
+0:54 0.000000
+0:54 0.000000
+0:54 Constant:
+0:54 -10 (const int)
+0:54 20 (const int)
+0:60 Function Definition: foo24( (global void)
+0:60 Function Parameters:
+0:? Sequence
+0:63 move second child to first child (temp 3-component vector of double)
+0:63 'df' (temp 3-component vector of double)
+0:63 Convert float to double (temp 3-component vector of double)
+0:63 Comma (global 3-component vector of float)
+0:63 move second child to first child (temp 3-component vector of float)
+0:63 'tempReturn' (global 3-component vector of float)
+0:63 modf (global 3-component vector of float)
+0:63 vector swizzle (temp 3-component vector of float)
+0:63 'outp' (out 4-component vector of float)
+0:63 Sequence
+0:63 Constant:
+0:63 0 (const int)
+0:63 Constant:
+0:63 1 (const int)
+0:63 Constant:
+0:63 2 (const int)
+0:63 'tempArg' (temp 3-component vector of float)
+0:63 move second child to first child (temp 3-component vector of double)
+0:63 'di' (temp 3-component vector of double)
+0:63 Convert float to double (temp 3-component vector of double)
+0:63 'tempArg' (temp 3-component vector of float)
+0:63 'tempReturn' (global 3-component vector of float)
+0:71 Function Definition: foodc1( (global void)
+0:71 Function Parameters:
+0:73 Sequence
+0:73 Sequence
+0:73 move second child to first child (temp 2-component vector of float)
+0:73 'v2' (temp 2-component vector of float)
+0:73 dPdxFine (global 2-component vector of float)
+0:73 'in2' (smooth in 2-component vector of float)
+0:74 Sequence
+0:74 move second child to first child (temp 3-component vector of float)
+0:74 'v3' (temp 3-component vector of float)
+0:74 dPdyCoarse (global 3-component vector of float)
+0:74 'in3' (smooth in 3-component vector of float)
+0:75 Sequence
+0:75 move second child to first child (temp 4-component vector of float)
+0:75 'v4' (temp 4-component vector of float)
+0:75 add (temp 4-component vector of float)
+0:75 fwidthCoarse (global 4-component vector of float)
+0:75 'in4' (smooth in 4-component vector of float)
+0:75 fwidthFine (global 4-component vector of float)
+0:75 'in4' (smooth in 4-component vector of float)
+0:80 Function Definition: foodc2( (global void)
+0:80 Function Parameters:
+0:82 Sequence
+0:82 Sequence
+0:82 move second child to first child (temp 2-component vector of float)
+0:82 'v2' (temp 2-component vector of float)
+0:82 dPdxFine (global 2-component vector of float)
+0:82 'in2' (smooth in 2-component vector of float)
+0:83 Sequence
+0:83 move second child to first child (temp 3-component vector of float)
+0:83 'v3' (temp 3-component vector of float)
+0:83 dPdyCoarse (global 3-component vector of float)
+0:83 'in3' (smooth in 3-component vector of float)
+0:84 Sequence
+0:84 move second child to first child (temp 4-component vector of float)
+0:84 'v4' (temp 4-component vector of float)
+0:84 add (temp 4-component vector of float)
+0:84 fwidthCoarse (global 4-component vector of float)
+0:84 'in4' (smooth in 4-component vector of float)
+0:84 fwidthFine (global 4-component vector of float)
+0:84 'in4' (smooth in 4-component vector of float)
+0:89 move second child to first child (temp 2-component vector of float)
+0:89 'v2' (temp 2-component vector of float)
+0:89 frexp (global 2-component vector of float)
+0:89 'v2' (temp 2-component vector of float)
+0:89 'i2' (temp 2-component vector of int)
+0:90 move second child to first child (temp 3-component vector of float)
+0:90 'v3' (temp 3-component vector of float)
+0:90 ldexp (global 3-component vector of float)
+0:90 'v3' (temp 3-component vector of float)
+0:90 'i3' (temp 3-component vector of int)
+0:92 move second child to first child (temp uint)
+0:92 'u1' (temp uint)
+0:92 PackUnorm4x8 (global uint)
+0:92 'v4' (temp 4-component vector of float)
+0:93 move second child to first child (temp uint)
+0:93 'u1' (temp uint)
+0:93 PackSnorm4x8 (global uint)
+0:93 'v4' (temp 4-component vector of float)
+0:94 move second child to first child (temp 4-component vector of float)
+0:94 'v4' (temp 4-component vector of float)
+0:94 UnpackUnorm4x8 (global 4-component vector of float)
+0:94 'u1' (temp uint)
+0:95 move second child to first child (temp 4-component vector of float)
+0:95 'v4' (temp 4-component vector of float)
+0:95 UnpackSnorm4x8 (global 4-component vector of float)
+0:95 'u1' (temp uint)
+0:99 move second child to first child (temp double)
+0:99 'd' (temp double)
+0:99 PackDouble2x32 (global double)
+0:99 'u2' (temp 2-component vector of uint)
+0:100 move second child to first child (temp 2-component vector of uint)
+0:100 'u2' (temp 2-component vector of uint)
+0:100 UnpackDouble2x32 (global 2-component vector of uint)
+0:100 'd' (temp double)
+0:117 Function Definition: interp( (global void)
+0:117 Function Parameters:
+0:119 Sequence
+0:119 interpolateAtCentroid (global 2-component vector of float)
+0:119 'colorfc' (centroid flat in 2-component vector of float)
+0:120 interpolateAtCentroid (global 4-component vector of float)
+0:120 'colorSampIn' (smooth sample in 4-component vector of float)
+0:121 interpolateAtCentroid (global 4-component vector of float)
+0:121 'colorfsi' (noperspective in 4-component vector of float)
+0:122 interpolateAtCentroid (global float)
+0:122 'scalarIn' (smooth in float)
+0:123 Constant:
+0:123 0.000000
+0:124 interpolateAtCentroid (global 3-component vector of float)
+0:124 direct index (smooth sample temp 3-component vector of float)
+0:124 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:124 Constant:
+0:124 2 (const int)
+0:125 interpolateAtCentroid (global 2-component vector of float)
+0:125 vector swizzle (temp 2-component vector of float)
+0:125 direct index (smooth sample temp 3-component vector of float)
+0:125 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:125 Constant:
+0:125 2 (const int)
+0:125 Sequence
+0:125 Constant:
+0:125 0 (const int)
+0:125 Constant:
+0:125 1 (const int)
+0:127 Constant:
+0:127 0.000000
+0:128 interpolateAtSample (global 3-component vector of float)
+0:128 indirect index (smooth sample temp 3-component vector of float)
+0:128 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:128 'i' (flat in int)
+0:128 Constant:
+0:128 0 (const int)
+0:129 interpolateAtSample (global float)
+0:129 x: direct index for structure (global float)
+0:129 's1' (smooth in structure{global float x})
+0:129 Constant:
+0:129 0 (const int)
+0:129 Constant:
+0:129 2 (const int)
+0:130 interpolateAtSample (global float)
+0:130 'scalarIn' (smooth in float)
+0:130 Constant:
+0:130 1 (const int)
+0:132 Constant:
+0:132 0.000000
+0:133 interpolateAtOffset (global 3-component vector of float)
+0:133 direct index (smooth sample temp 3-component vector of float)
+0:133 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:133 Constant:
+0:133 2 (const int)
+0:133 Constant:
+0:133 0.200000
+0:133 0.200000
+0:134 interpolateAtOffset (global 2-component vector of float)
+0:134 vector swizzle (temp 2-component vector of float)
+0:134 direct index (smooth sample temp 3-component vector of float)
+0:134 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:134 Constant:
+0:134 2 (const int)
+0:134 Sequence
+0:134 Constant:
+0:134 0 (const int)
+0:134 Constant:
+0:134 1 (const int)
+0:134 Constant:
+0:134 0.200000
+0:134 0.200000
+0:135 interpolateAtOffset (global float)
+0:135 add (temp float)
+0:135 'scalarIn' (smooth in float)
+0:135 'scalarIn' (smooth in float)
+0:135 Constant:
+0:135 0.200000
+0:135 0.200000
+0:136 interpolateAtOffset (global float)
+0:136 x: direct index for structure (global float)
+0:136 's2' (sample temp structure{global float x})
+0:136 Constant:
+0:136 0 (const int)
+0:136 Constant:
+0:136 0.200000
+0:136 0.200000
+0:139 interpolateAtCentroid (global float)
+0:139 'f' (temp float)
+0:140 interpolateAtSample (global 4-component vector of float)
+0:140 'outp' (out 4-component vector of float)
+0:140 Constant:
+0:140 0 (const int)
+0:161 Function Definition: qlod( (global void)
+0:161 Function Parameters:
+0:? Sequence
+0:168 move second child to first child (temp 2-component vector of float)
+0:168 'lod' (temp 2-component vector of float)
+0:168 textureQueryLod (global 2-component vector of float)
+0:168 'samp1D' (uniform sampler1D)
+0:168 'pf' (temp float)
+0:169 move second child to first child (temp 2-component vector of float)
+0:169 'lod' (temp 2-component vector of float)
+0:169 textureQueryLod (global 2-component vector of float)
+0:169 'isamp2D' (uniform isampler2D)
+0:169 'pf2' (temp 2-component vector of float)
+0:170 move second child to first child (temp 2-component vector of float)
+0:170 'lod' (temp 2-component vector of float)
+0:170 textureQueryLod (global 2-component vector of float)
+0:170 'usamp3D' (uniform usampler3D)
+0:170 'pf3' (temp 3-component vector of float)
+0:171 move second child to first child (temp 2-component vector of float)
+0:171 'lod' (temp 2-component vector of float)
+0:171 textureQueryLod (global 2-component vector of float)
+0:171 'sampCube' (uniform samplerCube)
+0:171 'pf3' (temp 3-component vector of float)
+0:172 move second child to first child (temp 2-component vector of float)
+0:172 'lod' (temp 2-component vector of float)
+0:172 textureQueryLod (global 2-component vector of float)
+0:172 'isamp1DA' (uniform isampler1DArray)
+0:172 'pf' (temp float)
+0:173 move second child to first child (temp 2-component vector of float)
+0:173 'lod' (temp 2-component vector of float)
+0:173 textureQueryLod (global 2-component vector of float)
+0:173 'usamp2DA' (uniform usampler2DArray)
+0:173 'pf2' (temp 2-component vector of float)
+0:174 move second child to first child (temp 2-component vector of float)
+0:174 'lod' (temp 2-component vector of float)
+0:174 textureQueryLod (global 2-component vector of float)
+0:174 'isampCubeA' (uniform isamplerCubeArray)
+0:174 'pf3' (temp 3-component vector of float)
+0:176 move second child to first child (temp 2-component vector of float)
+0:176 'lod' (temp 2-component vector of float)
+0:176 textureQueryLod (global 2-component vector of float)
+0:176 'samp1Ds' (uniform sampler1DShadow)
+0:176 'pf' (temp float)
+0:177 move second child to first child (temp 2-component vector of float)
+0:177 'lod' (temp 2-component vector of float)
+0:177 textureQueryLod (global 2-component vector of float)
+0:177 'samp2Ds' (uniform sampler2DShadow)
+0:177 'pf2' (temp 2-component vector of float)
+0:178 move second child to first child (temp 2-component vector of float)
+0:178 'lod' (temp 2-component vector of float)
+0:178 textureQueryLod (global 2-component vector of float)
+0:178 'sampCubes' (uniform samplerCubeShadow)
+0:178 'pf3' (temp 3-component vector of float)
+0:179 move second child to first child (temp 2-component vector of float)
+0:179 'lod' (temp 2-component vector of float)
+0:179 textureQueryLod (global 2-component vector of float)
+0:179 'samp1DAs' (uniform sampler1DArrayShadow)
+0:179 'pf' (temp float)
+0:180 move second child to first child (temp 2-component vector of float)
+0:180 'lod' (temp 2-component vector of float)
+0:180 textureQueryLod (global 2-component vector of float)
+0:180 'samp2DAs' (uniform sampler2DArrayShadow)
+0:180 'pf2' (temp 2-component vector of float)
+0:181 move second child to first child (temp 2-component vector of float)
+0:181 'lod' (temp 2-component vector of float)
+0:181 textureQueryLod (global 2-component vector of float)
+0:181 'sampCubeAs' (uniform samplerCubeArrayShadow)
+0:181 'pf3' (temp 3-component vector of float)
+0:183 'lod' (temp 2-component vector of float)
+0:184 'lod' (temp 2-component vector of float)
+0:? Linker Objects
+0:? 'c2D' (smooth in 2-component vector of float)
+0:? 'i' (flat in int)
+0:? 'outp' (out 4-component vector of float)
+0:? 'arrayedSampler' (uniform 5-element array of sampler2D)
+0:? 'samp2dr' (uniform usampler2DRect)
+0:? 'isamp2DA' (uniform isampler2DArray)
+0:? 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
+0:? 'vl' (layout(location=4 ) smooth in 4-component vector of float)
+0:? 'vl2' (layout(location=6 ) smooth in 4-component vector of float)
+0:? 'uv3' (layout(location=3 ) uniform 3-component vector of float)
+0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
+0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'u2drs' (uniform sampler2DRectShadow)
+0:? 'patchIn' (smooth patch in 4-component vector of float)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'in1' (smooth in float)
+0:? 'in2' (smooth in 2-component vector of float)
+0:? 'in3' (smooth in 3-component vector of float)
+0:? 'in4' (smooth in 4-component vector of float)
+0:? 'colorSampIn' (smooth sample in 4-component vector of float)
+0:? 'colorSampleBad' (sample out 4-component vector of float)
+0:? 'colorfsi' (noperspective in 4-component vector of float)
+0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:? 'scalarIn' (smooth in float)
+0:? 'colorfc' (centroid flat in 2-component vector of float)
+0:? 's1' (smooth in structure{global float x})
+0:? 's2' (sample temp structure{global float x})
+0:? 'samp1D' (uniform sampler1D)
+0:? 'isamp2D' (uniform isampler2D)
+0:? 'usamp3D' (uniform usampler3D)
+0:? 'sampCube' (uniform samplerCube)
+0:? 'isamp1DA' (uniform isampler1DArray)
+0:? 'usamp2DA' (uniform usampler2DArray)
+0:? 'isampCubeA' (uniform isamplerCubeArray)
+0:? 'samp1Ds' (uniform sampler1DShadow)
+0:? 'samp2Ds' (uniform sampler2DShadow)
+0:? 'sampCubes' (uniform samplerCubeShadow)
+0:? 'samp1DAs' (uniform sampler1DArrayShadow)
+0:? 'samp2DAs' (uniform sampler2DArrayShadow)
+0:? 'sampCubeAs' (uniform samplerCubeArrayShadow)
+0:? 'sampBuf' (uniform samplerBuffer)
+0:? 'sampRect' (uniform sampler2DRect)
+
+
+Linked fragment stage:
+
+
+Shader version: 400
+Requested GL_ARB_derivative_control
+Requested GL_ARB_separate_shader_objects
+gl_FragCoord pixel center is integer
+gl_FragCoord origin is upper left
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:? Sequence
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'v' (temp 4-component vector of float)
+0:13 texture (global 4-component vector of float)
+0:13 indirect index (temp sampler2D)
+0:13 'arrayedSampler' (uniform 5-element array of sampler2D)
+0:13 'i' (flat in int)
+0:13 'c2D' (smooth in 2-component vector of float)
+0:14 move second child to first child (temp float)
+0:14 direct index (temp float)
+0:14 'outp' (out 4-component vector of float)
+0:14 Constant:
+0:14 0 (const int)
+0:14 direct index (smooth temp float ClipDistance)
+0:14 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
+0:14 Constant:
+0:14 1 (const int)
+0:18 Sequence
+0:18 move second child to first child (temp 4-component vector of uint)
+0:18 'uv4' (temp 4-component vector of uint)
+0:18 textureGatherOffsets (global 4-component vector of uint)
+0:18 'samp2dr' (uniform usampler2DRect)
+0:18 'c2D' (smooth in 2-component vector of float)
+0:18 'offsets' (temp 4-element array of 2-component vector of int)
+0:18 Constant:
+0:18 2 (const int)
+0:19 move second child to first child (temp 4-component vector of uint)
+0:19 'uv4' (temp 4-component vector of uint)
+0:19 textureGatherOffsets (global 4-component vector of uint)
+0:19 'samp2dr' (uniform usampler2DRect)
+0:19 'c2D' (smooth in 2-component vector of float)
+0:19 Constant:
+0:19 1 (const int)
+0:19 2 (const int)
+0:19 3 (const int)
+0:19 4 (const int)
+0:19 15 (const int)
+0:19 16 (const int)
+0:19 -2 (const int)
+0:19 0 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'v4' (temp 4-component vector of float)
+0:20 textureGather (global 4-component vector of float)
+0:20 direct index (temp sampler2D)
+0:20 'arrayedSampler' (uniform 5-element array of sampler2D)
+0:20 Constant:
+0:20 0 (const int)
+0:20 'c2D' (smooth in 2-component vector of float)
+0:21 Sequence
+0:21 move second child to first child (temp 4-component vector of int)
+0:21 'iv4' (temp 4-component vector of int)
+0:21 textureGatherOffset (global 4-component vector of int)
+0:21 'isamp2DA' (uniform isampler2DArray)
+0:21 Constant:
+0:21 0.100000
+0:21 0.100000
+0:21 0.100000
+0:21 Constant:
+0:21 1 (const int)
+0:21 1 (const int)
+0:21 Constant:
+0:21 3 (const int)
+0:22 move second child to first child (temp 4-component vector of int)
+0:22 'iv4' (temp 4-component vector of int)
+0:22 textureGatherOffset (global 4-component vector of int)
+0:22 'isamp2DA' (uniform isampler2DArray)
+0:22 Constant:
+0:22 0.100000
+0:22 0.100000
+0:22 0.100000
+0:22 Constant:
+0:22 1 (const int)
+0:22 1 (const int)
+0:22 'i' (flat in int)
+0:23 move second child to first child (temp 4-component vector of int)
+0:23 'iv4' (temp 4-component vector of int)
+0:23 textureGatherOffset (global 4-component vector of int)
+0:23 'isamp2DA' (uniform isampler2DArray)
+0:23 Constant:
+0:23 0.100000
+0:23 0.100000
+0:23 0.100000
+0:23 Constant:
+0:23 1 (const int)
+0:23 1 (const int)
+0:23 Constant:
+0:23 4 (const int)
+0:24 move second child to first child (temp 4-component vector of int)
+0:24 'iv4' (temp 4-component vector of int)
+0:24 textureGatherOffset (global 4-component vector of int)
+0:24 'isamp2DA' (uniform isampler2DArray)
+0:24 Constant:
+0:24 0.100000
+0:24 0.100000
+0:24 0.100000
+0:24 Constant:
+0:24 1 (const int)
+0:24 1 (const int)
+0:24 Constant:
+0:24 3 (const int)
+0:25 move second child to first child (temp 4-component vector of int)
+0:25 'iv4' (temp 4-component vector of int)
+0:25 textureGatherOffset (global 4-component vector of int)
+0:25 'isamp2DA' (uniform isampler2DArray)
+0:25 Constant:
+0:25 0.100000
+0:25 0.100000
+0:25 0.100000
+0:25 Construct ivec2 (temp 2-component vector of int)
+0:25 'i' (flat in int)
+0:27 Sequence
+0:27 move second child to first child (temp 4-component vector of float)
+0:27 'c' (temp 4-component vector of float)
+0:27 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:47 Function Definition: foo23( (global void)
+0:47 Function Parameters:
+0:? Sequence
+0:51 textureProjGradOffset (global float)
+0:51 'u2drs' (uniform sampler2DRectShadow)
+0:51 'outp' (out 4-component vector of float)
+0:51 Constant:
+0:51 0.000000
+0:51 0.000000
+0:51 Constant:
+0:51 0.000000
+0:51 0.000000
+0:51 Convert float to int (temp 2-component vector of int)
+0:51 'c2D' (smooth in 2-component vector of float)
+0:52 textureProjGradOffset (global float)
+0:52 'u2drs' (uniform sampler2DRectShadow)
+0:52 'outp' (out 4-component vector of float)
+0:52 Constant:
+0:52 0.000000
+0:52 0.000000
+0:52 Constant:
+0:52 0.000000
+0:52 0.000000
+0:52 Constant:
+0:52 3 (const int)
+0:52 4 (const int)
+0:53 textureProjGradOffset (global float)
+0:53 'u2drs' (uniform sampler2DRectShadow)
+0:53 'outp' (out 4-component vector of float)
+0:53 Constant:
+0:53 0.000000
+0:53 0.000000
+0:53 Constant:
+0:53 0.000000
+0:53 0.000000
+0:53 Constant:
+0:53 15 (const int)
+0:53 16 (const int)
+0:54 textureProjGradOffset (global float)
+0:54 'u2drs' (uniform sampler2DRectShadow)
+0:54 'outp' (out 4-component vector of float)
+0:54 Constant:
+0:54 0.000000
+0:54 0.000000
+0:54 Constant:
+0:54 0.000000
+0:54 0.000000
+0:54 Constant:
+0:54 -10 (const int)
+0:54 20 (const int)
+0:60 Function Definition: foo24( (global void)
+0:60 Function Parameters:
+0:? Sequence
+0:63 move second child to first child (temp 3-component vector of double)
+0:63 'df' (temp 3-component vector of double)
+0:63 Convert float to double (temp 3-component vector of double)
+0:63 Comma (global 3-component vector of float)
+0:63 move second child to first child (temp 3-component vector of float)
+0:63 'tempReturn' (global 3-component vector of float)
+0:63 modf (global 3-component vector of float)
+0:63 vector swizzle (temp 3-component vector of float)
+0:63 'outp' (out 4-component vector of float)
+0:63 Sequence
+0:63 Constant:
+0:63 0 (const int)
+0:63 Constant:
+0:63 1 (const int)
+0:63 Constant:
+0:63 2 (const int)
+0:63 'tempArg' (temp 3-component vector of float)
+0:63 move second child to first child (temp 3-component vector of double)
+0:63 'di' (temp 3-component vector of double)
+0:63 Convert float to double (temp 3-component vector of double)
+0:63 'tempArg' (temp 3-component vector of float)
+0:63 'tempReturn' (global 3-component vector of float)
+0:71 Function Definition: foodc1( (global void)
+0:71 Function Parameters:
+0:73 Sequence
+0:73 Sequence
+0:73 move second child to first child (temp 2-component vector of float)
+0:73 'v2' (temp 2-component vector of float)
+0:73 dPdxFine (global 2-component vector of float)
+0:73 'in2' (smooth in 2-component vector of float)
+0:74 Sequence
+0:74 move second child to first child (temp 3-component vector of float)
+0:74 'v3' (temp 3-component vector of float)
+0:74 dPdyCoarse (global 3-component vector of float)
+0:74 'in3' (smooth in 3-component vector of float)
+0:75 Sequence
+0:75 move second child to first child (temp 4-component vector of float)
+0:75 'v4' (temp 4-component vector of float)
+0:75 add (temp 4-component vector of float)
+0:75 fwidthCoarse (global 4-component vector of float)
+0:75 'in4' (smooth in 4-component vector of float)
+0:75 fwidthFine (global 4-component vector of float)
+0:75 'in4' (smooth in 4-component vector of float)
+0:80 Function Definition: foodc2( (global void)
+0:80 Function Parameters:
+0:82 Sequence
+0:82 Sequence
+0:82 move second child to first child (temp 2-component vector of float)
+0:82 'v2' (temp 2-component vector of float)
+0:82 dPdxFine (global 2-component vector of float)
+0:82 'in2' (smooth in 2-component vector of float)
+0:83 Sequence
+0:83 move second child to first child (temp 3-component vector of float)
+0:83 'v3' (temp 3-component vector of float)
+0:83 dPdyCoarse (global 3-component vector of float)
+0:83 'in3' (smooth in 3-component vector of float)
+0:84 Sequence
+0:84 move second child to first child (temp 4-component vector of float)
+0:84 'v4' (temp 4-component vector of float)
+0:84 add (temp 4-component vector of float)
+0:84 fwidthCoarse (global 4-component vector of float)
+0:84 'in4' (smooth in 4-component vector of float)
+0:84 fwidthFine (global 4-component vector of float)
+0:84 'in4' (smooth in 4-component vector of float)
+0:89 move second child to first child (temp 2-component vector of float)
+0:89 'v2' (temp 2-component vector of float)
+0:89 frexp (global 2-component vector of float)
+0:89 'v2' (temp 2-component vector of float)
+0:89 'i2' (temp 2-component vector of int)
+0:90 move second child to first child (temp 3-component vector of float)
+0:90 'v3' (temp 3-component vector of float)
+0:90 ldexp (global 3-component vector of float)
+0:90 'v3' (temp 3-component vector of float)
+0:90 'i3' (temp 3-component vector of int)
+0:92 move second child to first child (temp uint)
+0:92 'u1' (temp uint)
+0:92 PackUnorm4x8 (global uint)
+0:92 'v4' (temp 4-component vector of float)
+0:93 move second child to first child (temp uint)
+0:93 'u1' (temp uint)
+0:93 PackSnorm4x8 (global uint)
+0:93 'v4' (temp 4-component vector of float)
+0:94 move second child to first child (temp 4-component vector of float)
+0:94 'v4' (temp 4-component vector of float)
+0:94 UnpackUnorm4x8 (global 4-component vector of float)
+0:94 'u1' (temp uint)
+0:95 move second child to first child (temp 4-component vector of float)
+0:95 'v4' (temp 4-component vector of float)
+0:95 UnpackSnorm4x8 (global 4-component vector of float)
+0:95 'u1' (temp uint)
+0:99 move second child to first child (temp double)
+0:99 'd' (temp double)
+0:99 PackDouble2x32 (global double)
+0:99 'u2' (temp 2-component vector of uint)
+0:100 move second child to first child (temp 2-component vector of uint)
+0:100 'u2' (temp 2-component vector of uint)
+0:100 UnpackDouble2x32 (global 2-component vector of uint)
+0:100 'd' (temp double)
+0:117 Function Definition: interp( (global void)
+0:117 Function Parameters:
+0:119 Sequence
+0:119 interpolateAtCentroid (global 2-component vector of float)
+0:119 'colorfc' (centroid flat in 2-component vector of float)
+0:120 interpolateAtCentroid (global 4-component vector of float)
+0:120 'colorSampIn' (smooth sample in 4-component vector of float)
+0:121 interpolateAtCentroid (global 4-component vector of float)
+0:121 'colorfsi' (noperspective in 4-component vector of float)
+0:122 interpolateAtCentroid (global float)
+0:122 'scalarIn' (smooth in float)
+0:123 Constant:
+0:123 0.000000
+0:124 interpolateAtCentroid (global 3-component vector of float)
+0:124 direct index (smooth sample temp 3-component vector of float)
+0:124 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:124 Constant:
+0:124 2 (const int)
+0:125 interpolateAtCentroid (global 2-component vector of float)
+0:125 vector swizzle (temp 2-component vector of float)
+0:125 direct index (smooth sample temp 3-component vector of float)
+0:125 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:125 Constant:
+0:125 2 (const int)
+0:125 Sequence
+0:125 Constant:
+0:125 0 (const int)
+0:125 Constant:
+0:125 1 (const int)
+0:127 Constant:
+0:127 0.000000
+0:128 interpolateAtSample (global 3-component vector of float)
+0:128 indirect index (smooth sample temp 3-component vector of float)
+0:128 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:128 'i' (flat in int)
+0:128 Constant:
+0:128 0 (const int)
+0:129 interpolateAtSample (global float)
+0:129 x: direct index for structure (global float)
+0:129 's1' (smooth in structure{global float x})
+0:129 Constant:
+0:129 0 (const int)
+0:129 Constant:
+0:129 2 (const int)
+0:130 interpolateAtSample (global float)
+0:130 'scalarIn' (smooth in float)
+0:130 Constant:
+0:130 1 (const int)
+0:132 Constant:
+0:132 0.000000
+0:133 interpolateAtOffset (global 3-component vector of float)
+0:133 direct index (smooth sample temp 3-component vector of float)
+0:133 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:133 Constant:
+0:133 2 (const int)
+0:133 Constant:
+0:133 0.200000
+0:133 0.200000
+0:134 interpolateAtOffset (global 2-component vector of float)
+0:134 vector swizzle (temp 2-component vector of float)
+0:134 direct index (smooth sample temp 3-component vector of float)
+0:134 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:134 Constant:
+0:134 2 (const int)
+0:134 Sequence
+0:134 Constant:
+0:134 0 (const int)
+0:134 Constant:
+0:134 1 (const int)
+0:134 Constant:
+0:134 0.200000
+0:134 0.200000
+0:135 interpolateAtOffset (global float)
+0:135 add (temp float)
+0:135 'scalarIn' (smooth in float)
+0:135 'scalarIn' (smooth in float)
+0:135 Constant:
+0:135 0.200000
+0:135 0.200000
+0:136 interpolateAtOffset (global float)
+0:136 x: direct index for structure (global float)
+0:136 's2' (sample temp structure{global float x})
+0:136 Constant:
+0:136 0 (const int)
+0:136 Constant:
+0:136 0.200000
+0:136 0.200000
+0:139 interpolateAtCentroid (global float)
+0:139 'f' (temp float)
+0:140 interpolateAtSample (global 4-component vector of float)
+0:140 'outp' (out 4-component vector of float)
+0:140 Constant:
+0:140 0 (const int)
+0:161 Function Definition: qlod( (global void)
+0:161 Function Parameters:
+0:? Sequence
+0:168 move second child to first child (temp 2-component vector of float)
+0:168 'lod' (temp 2-component vector of float)
+0:168 textureQueryLod (global 2-component vector of float)
+0:168 'samp1D' (uniform sampler1D)
+0:168 'pf' (temp float)
+0:169 move second child to first child (temp 2-component vector of float)
+0:169 'lod' (temp 2-component vector of float)
+0:169 textureQueryLod (global 2-component vector of float)
+0:169 'isamp2D' (uniform isampler2D)
+0:169 'pf2' (temp 2-component vector of float)
+0:170 move second child to first child (temp 2-component vector of float)
+0:170 'lod' (temp 2-component vector of float)
+0:170 textureQueryLod (global 2-component vector of float)
+0:170 'usamp3D' (uniform usampler3D)
+0:170 'pf3' (temp 3-component vector of float)
+0:171 move second child to first child (temp 2-component vector of float)
+0:171 'lod' (temp 2-component vector of float)
+0:171 textureQueryLod (global 2-component vector of float)
+0:171 'sampCube' (uniform samplerCube)
+0:171 'pf3' (temp 3-component vector of float)
+0:172 move second child to first child (temp 2-component vector of float)
+0:172 'lod' (temp 2-component vector of float)
+0:172 textureQueryLod (global 2-component vector of float)
+0:172 'isamp1DA' (uniform isampler1DArray)
+0:172 'pf' (temp float)
+0:173 move second child to first child (temp 2-component vector of float)
+0:173 'lod' (temp 2-component vector of float)
+0:173 textureQueryLod (global 2-component vector of float)
+0:173 'usamp2DA' (uniform usampler2DArray)
+0:173 'pf2' (temp 2-component vector of float)
+0:174 move second child to first child (temp 2-component vector of float)
+0:174 'lod' (temp 2-component vector of float)
+0:174 textureQueryLod (global 2-component vector of float)
+0:174 'isampCubeA' (uniform isamplerCubeArray)
+0:174 'pf3' (temp 3-component vector of float)
+0:176 move second child to first child (temp 2-component vector of float)
+0:176 'lod' (temp 2-component vector of float)
+0:176 textureQueryLod (global 2-component vector of float)
+0:176 'samp1Ds' (uniform sampler1DShadow)
+0:176 'pf' (temp float)
+0:177 move second child to first child (temp 2-component vector of float)
+0:177 'lod' (temp 2-component vector of float)
+0:177 textureQueryLod (global 2-component vector of float)
+0:177 'samp2Ds' (uniform sampler2DShadow)
+0:177 'pf2' (temp 2-component vector of float)
+0:178 move second child to first child (temp 2-component vector of float)
+0:178 'lod' (temp 2-component vector of float)
+0:178 textureQueryLod (global 2-component vector of float)
+0:178 'sampCubes' (uniform samplerCubeShadow)
+0:178 'pf3' (temp 3-component vector of float)
+0:179 move second child to first child (temp 2-component vector of float)
+0:179 'lod' (temp 2-component vector of float)
+0:179 textureQueryLod (global 2-component vector of float)
+0:179 'samp1DAs' (uniform sampler1DArrayShadow)
+0:179 'pf' (temp float)
+0:180 move second child to first child (temp 2-component vector of float)
+0:180 'lod' (temp 2-component vector of float)
+0:180 textureQueryLod (global 2-component vector of float)
+0:180 'samp2DAs' (uniform sampler2DArrayShadow)
+0:180 'pf2' (temp 2-component vector of float)
+0:181 move second child to first child (temp 2-component vector of float)
+0:181 'lod' (temp 2-component vector of float)
+0:181 textureQueryLod (global 2-component vector of float)
+0:181 'sampCubeAs' (uniform samplerCubeArrayShadow)
+0:181 'pf3' (temp 3-component vector of float)
+0:183 'lod' (temp 2-component vector of float)
+0:184 'lod' (temp 2-component vector of float)
+0:? Linker Objects
+0:? 'c2D' (smooth in 2-component vector of float)
+0:? 'i' (flat in int)
+0:? 'outp' (out 4-component vector of float)
+0:? 'arrayedSampler' (uniform 5-element array of sampler2D)
+0:? 'samp2dr' (uniform usampler2DRect)
+0:? 'isamp2DA' (uniform isampler2DArray)
+0:? 'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
+0:? 'vl' (layout(location=4 ) smooth in 4-component vector of float)
+0:? 'vl2' (layout(location=6 ) smooth in 4-component vector of float)
+0:? 'uv3' (layout(location=3 ) uniform 3-component vector of float)
+0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
+0:? 'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'u2drs' (uniform sampler2DRectShadow)
+0:? 'patchIn' (smooth patch in 4-component vector of float)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'in1' (smooth in float)
+0:? 'in2' (smooth in 2-component vector of float)
+0:? 'in3' (smooth in 3-component vector of float)
+0:? 'in4' (smooth in 4-component vector of float)
+0:? 'colorSampIn' (smooth sample in 4-component vector of float)
+0:? 'colorSampleBad' (sample out 4-component vector of float)
+0:? 'colorfsi' (noperspective in 4-component vector of float)
+0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:? 'scalarIn' (smooth in float)
+0:? 'colorfc' (centroid flat in 2-component vector of float)
+0:? 's1' (smooth in structure{global float x})
+0:? 's2' (sample temp structure{global float x})
+0:? 'samp1D' (uniform sampler1D)
+0:? 'isamp2D' (uniform isampler2D)
+0:? 'usamp3D' (uniform usampler3D)
+0:? 'sampCube' (uniform samplerCube)
+0:? 'isamp1DA' (uniform isampler1DArray)
+0:? 'usamp2DA' (uniform usampler2DArray)
+0:? 'isampCubeA' (uniform isamplerCubeArray)
+0:? 'samp1Ds' (uniform sampler1DShadow)
+0:? 'samp2Ds' (uniform sampler2DShadow)
+0:? 'sampCubes' (uniform samplerCubeShadow)
+0:? 'samp1DAs' (uniform sampler1DArrayShadow)
+0:? 'samp2DAs' (uniform sampler2DArrayShadow)
+0:? 'sampCubeAs' (uniform samplerCubeArrayShadow)
+0:? 'sampBuf' (uniform samplerBuffer)
+0:? 'sampRect' (uniform sampler2DRect)
+
diff --git a/Test/baseResults/400.geom.out b/Test/baseResults/400.geom.out
index 856bf7f..f120327 100644
--- a/Test/baseResults/400.geom.out
+++ b/Test/baseResults/400.geom.out
@@ -1,369 +1,369 @@
-400.geom
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:12: 'invocations' : can only apply to a standalone qualifier
-ERROR: 0:20: 'patch' : not supported in this stage: geometry
-ERROR: 0:20: 'gl_PointSize' : cannot add layout to redeclared block member
-ERROR: 0:20: 'gl_PointSize' : cannot add patch to redeclared block member
-ERROR: 0:25: 'length' : array must first be sized by a redeclaration or layout qualifier
-ERROR: 0:36: 'length' : array must first be sized by a redeclaration or layout qualifier
-ERROR: 0:40: 'triangles' : inconsistent input primitive for array size of colorBad
-ERROR: 0:44: 'triangles' : inconsistent input primitive for array size of colorbad2
-ERROR: 0:56: 'location' : overlapping use of location 4
-ERROR: 0:58: 'patch' : not supported in this stage: geometry
-ERROR: 0:59: 'patch' : not supported in this stage: geometry
-ERROR: 0:61: 'in' : type must be an array: scalar
-ERROR: 0:63: 'invocations' : can only apply to 'in'
-ERROR: 0:64: 'max_vertices' : can only apply to 'out'
-ERROR: 0:65: 'max_vertices' : can only apply to 'out'
-ERROR: 0:65: 'invocations' : can only apply to 'in'
-ERROR: 0:67: 'in' : type must be an array: inbls
-ERROR: 0:71: 'triangles' : inconsistent input primitive for array size of inbla
-ERROR: 0:103: 'index' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:115: 'textureQueryLod' : no matching overloaded function found
-ERROR: 0:115: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
-ERROR: 0:116: 'textureQueryLod' : no matching overloaded function found
-ERROR: 0:116: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
-ERROR: 23 compilation errors. No code generated.
-
-
-Shader version: 400
-Requested GL_ARB_separate_shader_objects
-invocations = 4
-max_vertices = 127
-input primitive = triangles
-output primitive = none
-ERROR: node is still EOpNull!
-0:3 Function Definition: main( (global void)
-0:3 Function Parameters:
-0:5 Sequence
-0:5 EmitStreamVertex (global void)
-0:5 Constant:
-0:5 1 (const int)
-0:6 EndStreamPrimitive (global void)
-0:6 Constant:
-0:6 0 (const int)
-0:7 EmitVertex (global void)
-0:8 EndPrimitive (global void)
-0:9 Sequence
-0:9 move second child to first child (temp int)
-0:9 'id' (temp int)
-0:9 'gl_InvocationID' (in int InvocationID)
-0:23 Function Definition: foo( (global void)
-0:23 Function Parameters:
-0:25 Sequence
-0:25 Constant:
-0:25 1 (const int)
-0:26 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:26 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
-0:26 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
-0:26 Constant:
-0:26 1 (const int)
-0:26 Constant:
-0:26 0 (const int)
-0:34 Function Definition: foo2( (global void)
-0:34 Function Parameters:
-0:36 Sequence
-0:36 Constant:
-0:36 1 (const int)
-0:37 Constant:
-0:37 3 (const int)
-0:46 Function Definition: foo3( (global void)
-0:46 Function Parameters:
-0:48 Sequence
-0:48 Constant:
-0:48 3 (const int)
-0:49 Constant:
-0:49 3 (const int)
-0:50 Constant:
-0:50 3 (const int)
-0:51 Constant:
-0:51 3 (const int)
-0:75 Function Definition: bits( (global void)
-0:75 Function Parameters:
-0:? Sequence
-0:78 move second child to first child (temp 2-component vector of uint)
-0:78 'u2' (temp 2-component vector of uint)
-0:78 addCarry (global 2-component vector of uint)
-0:78 'u2' (temp 2-component vector of uint)
-0:78 'u2' (temp 2-component vector of uint)
-0:78 'u2' (temp 2-component vector of uint)
-0:80 move second child to first child (temp uint)
-0:80 'u1' (temp uint)
-0:80 subBorrow (global uint)
-0:80 'u1' (temp uint)
-0:80 'u1' (temp uint)
-0:80 'u1' (temp uint)
-0:82 uMulExtended (global void)
-0:82 'u4' (temp 4-component vector of uint)
-0:82 'u4' (temp 4-component vector of uint)
-0:82 'u4' (temp 4-component vector of uint)
-0:82 'u4' (temp 4-component vector of uint)
-0:84 iMulExtended (global void)
-0:84 'i4' (temp 4-component vector of int)
-0:84 'i4' (temp 4-component vector of int)
-0:84 'i4' (temp 4-component vector of int)
-0:84 'i4' (temp 4-component vector of int)
-0:86 move second child to first child (temp int)
-0:86 'i1' (temp int)
-0:86 bitfieldExtract (global int)
-0:86 'i1' (temp int)
-0:86 Constant:
-0:86 4 (const int)
-0:86 Constant:
-0:86 5 (const int)
-0:88 move second child to first child (temp 3-component vector of uint)
-0:88 'u3' (temp 3-component vector of uint)
-0:88 bitfieldExtract (global 3-component vector of uint)
-0:88 'u3' (temp 3-component vector of uint)
-0:88 Constant:
-0:88 4 (const int)
-0:88 Constant:
-0:88 5 (const int)
-0:90 move second child to first child (temp 3-component vector of int)
-0:90 'i3' (temp 3-component vector of int)
-0:90 bitfieldInsert (global 3-component vector of int)
-0:90 'i3' (temp 3-component vector of int)
-0:90 'i3' (temp 3-component vector of int)
-0:90 Constant:
-0:90 4 (const int)
-0:90 Constant:
-0:90 5 (const int)
-0:91 move second child to first child (temp uint)
-0:91 'u1' (temp uint)
-0:91 bitfieldInsert (global uint)
-0:91 'u1' (temp uint)
-0:91 'u1' (temp uint)
-0:91 Constant:
-0:91 4 (const int)
-0:91 Constant:
-0:91 5 (const int)
-0:93 move second child to first child (temp 2-component vector of int)
-0:93 'i2' (temp 2-component vector of int)
-0:93 bitFieldReverse (global 2-component vector of int)
-0:93 'i2' (temp 2-component vector of int)
-0:94 move second child to first child (temp 4-component vector of uint)
-0:94 'u4' (temp 4-component vector of uint)
-0:94 bitFieldReverse (global 4-component vector of uint)
-0:94 'u4' (temp 4-component vector of uint)
-0:95 move second child to first child (temp int)
-0:95 'i1' (temp int)
-0:95 bitCount (global int)
-0:95 'i1' (temp int)
-0:96 move second child to first child (temp 3-component vector of int)
-0:96 'i3' (temp 3-component vector of int)
-0:96 bitCount (global 3-component vector of int)
-0:96 'u3' (temp 3-component vector of uint)
-0:97 move second child to first child (temp 2-component vector of int)
-0:97 'i2' (temp 2-component vector of int)
-0:97 findLSB (global 2-component vector of int)
-0:97 'i2' (temp 2-component vector of int)
-0:98 move second child to first child (temp 4-component vector of int)
-0:98 'i4' (temp 4-component vector of int)
-0:98 findLSB (global 4-component vector of int)
-0:98 'u4' (temp 4-component vector of uint)
-0:99 move second child to first child (temp int)
-0:99 'i1' (temp int)
-0:99 findMSB (global int)
-0:99 'i1' (temp int)
-0:100 move second child to first child (temp 2-component vector of int)
-0:100 'i2' (temp 2-component vector of int)
-0:100 findMSB (global 2-component vector of int)
-0:100 'u2' (temp 2-component vector of uint)
-0:108 Function Definition: qlod( (global void)
-0:108 Function Parameters:
-0:? Sequence
-0:115 'lod' (temp 2-component vector of float)
-0:116 'lod' (temp 2-component vector of float)
-0:? Linker Objects
-0:? 'bn' (in 3-element array of block{in int a})
-0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
-0:? 'color' (in 3-element array of 4-component vector of float)
-0:? 'color2' (in 3-element array of 4-component vector of float)
-0:? 'colorS' (in 3-element array of 4-component vector of float)
-0:? 'colorBad' (in 4-element array of 4-component vector of float)
-0:? 'colorbad2' (in 2-element array of 4-component vector of float)
-0:? 'cva' (layout(location=4 ) in 3-element array of 4-component vector of float)
-0:? 'cvb' (layout(location=5 ) in 3-element array of 4-component vector of float)
-0:? 'cmc' (layout(location=2 ) in 3-element array of 3X3 matrix of float)
-0:? 'patchIn' (patch in 3-element array of 4-component vector of float)
-0:? 'patchOut' (layout(stream=0 ) patch out 4-component vector of float)
-0:? 'scalar' (in float)
-0:? 'inbls' (in block{in int a})
-0:? 'inbla' (in 17-element array of block{in int a})
-0:? 'indexedOut' (layout(location=7 stream=0 ) out 4-component vector of float)
-0:? 'samp1D' (uniform sampler1D)
-0:? 'samp2Ds' (uniform sampler2DShadow)
-
-
-Linked geometry stage:
-
-ERROR: Linking geometry stage: At least one shader must specify an output layout primitive
-
-Shader version: 400
-Requested GL_ARB_separate_shader_objects
-invocations = 4
-max_vertices = 127
-input primitive = triangles
-output primitive = none
-ERROR: node is still EOpNull!
-0:3 Function Definition: main( (global void)
-0:3 Function Parameters:
-0:5 Sequence
-0:5 EmitStreamVertex (global void)
-0:5 Constant:
-0:5 1 (const int)
-0:6 EndStreamPrimitive (global void)
-0:6 Constant:
-0:6 0 (const int)
-0:7 EmitVertex (global void)
-0:8 EndPrimitive (global void)
-0:9 Sequence
-0:9 move second child to first child (temp int)
-0:9 'id' (temp int)
-0:9 'gl_InvocationID' (in int InvocationID)
-0:23 Function Definition: foo( (global void)
-0:23 Function Parameters:
-0:25 Sequence
-0:25 Constant:
-0:25 1 (const int)
-0:26 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:26 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
-0:26 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
-0:26 Constant:
-0:26 1 (const int)
-0:26 Constant:
-0:26 0 (const int)
-0:34 Function Definition: foo2( (global void)
-0:34 Function Parameters:
-0:36 Sequence
-0:36 Constant:
-0:36 1 (const int)
-0:37 Constant:
-0:37 3 (const int)
-0:46 Function Definition: foo3( (global void)
-0:46 Function Parameters:
-0:48 Sequence
-0:48 Constant:
-0:48 3 (const int)
-0:49 Constant:
-0:49 3 (const int)
-0:50 Constant:
-0:50 3 (const int)
-0:51 Constant:
-0:51 3 (const int)
-0:75 Function Definition: bits( (global void)
-0:75 Function Parameters:
-0:? Sequence
-0:78 move second child to first child (temp 2-component vector of uint)
-0:78 'u2' (temp 2-component vector of uint)
-0:78 addCarry (global 2-component vector of uint)
-0:78 'u2' (temp 2-component vector of uint)
-0:78 'u2' (temp 2-component vector of uint)
-0:78 'u2' (temp 2-component vector of uint)
-0:80 move second child to first child (temp uint)
-0:80 'u1' (temp uint)
-0:80 subBorrow (global uint)
-0:80 'u1' (temp uint)
-0:80 'u1' (temp uint)
-0:80 'u1' (temp uint)
-0:82 uMulExtended (global void)
-0:82 'u4' (temp 4-component vector of uint)
-0:82 'u4' (temp 4-component vector of uint)
-0:82 'u4' (temp 4-component vector of uint)
-0:82 'u4' (temp 4-component vector of uint)
-0:84 iMulExtended (global void)
-0:84 'i4' (temp 4-component vector of int)
-0:84 'i4' (temp 4-component vector of int)
-0:84 'i4' (temp 4-component vector of int)
-0:84 'i4' (temp 4-component vector of int)
-0:86 move second child to first child (temp int)
-0:86 'i1' (temp int)
-0:86 bitfieldExtract (global int)
-0:86 'i1' (temp int)
-0:86 Constant:
-0:86 4 (const int)
-0:86 Constant:
-0:86 5 (const int)
-0:88 move second child to first child (temp 3-component vector of uint)
-0:88 'u3' (temp 3-component vector of uint)
-0:88 bitfieldExtract (global 3-component vector of uint)
-0:88 'u3' (temp 3-component vector of uint)
-0:88 Constant:
-0:88 4 (const int)
-0:88 Constant:
-0:88 5 (const int)
-0:90 move second child to first child (temp 3-component vector of int)
-0:90 'i3' (temp 3-component vector of int)
-0:90 bitfieldInsert (global 3-component vector of int)
-0:90 'i3' (temp 3-component vector of int)
-0:90 'i3' (temp 3-component vector of int)
-0:90 Constant:
-0:90 4 (const int)
-0:90 Constant:
-0:90 5 (const int)
-0:91 move second child to first child (temp uint)
-0:91 'u1' (temp uint)
-0:91 bitfieldInsert (global uint)
-0:91 'u1' (temp uint)
-0:91 'u1' (temp uint)
-0:91 Constant:
-0:91 4 (const int)
-0:91 Constant:
-0:91 5 (const int)
-0:93 move second child to first child (temp 2-component vector of int)
-0:93 'i2' (temp 2-component vector of int)
-0:93 bitFieldReverse (global 2-component vector of int)
-0:93 'i2' (temp 2-component vector of int)
-0:94 move second child to first child (temp 4-component vector of uint)
-0:94 'u4' (temp 4-component vector of uint)
-0:94 bitFieldReverse (global 4-component vector of uint)
-0:94 'u4' (temp 4-component vector of uint)
-0:95 move second child to first child (temp int)
-0:95 'i1' (temp int)
-0:95 bitCount (global int)
-0:95 'i1' (temp int)
-0:96 move second child to first child (temp 3-component vector of int)
-0:96 'i3' (temp 3-component vector of int)
-0:96 bitCount (global 3-component vector of int)
-0:96 'u3' (temp 3-component vector of uint)
-0:97 move second child to first child (temp 2-component vector of int)
-0:97 'i2' (temp 2-component vector of int)
-0:97 findLSB (global 2-component vector of int)
-0:97 'i2' (temp 2-component vector of int)
-0:98 move second child to first child (temp 4-component vector of int)
-0:98 'i4' (temp 4-component vector of int)
-0:98 findLSB (global 4-component vector of int)
-0:98 'u4' (temp 4-component vector of uint)
-0:99 move second child to first child (temp int)
-0:99 'i1' (temp int)
-0:99 findMSB (global int)
-0:99 'i1' (temp int)
-0:100 move second child to first child (temp 2-component vector of int)
-0:100 'i2' (temp 2-component vector of int)
-0:100 findMSB (global 2-component vector of int)
-0:100 'u2' (temp 2-component vector of uint)
-0:108 Function Definition: qlod( (global void)
-0:108 Function Parameters:
-0:? Sequence
-0:115 'lod' (temp 2-component vector of float)
-0:116 'lod' (temp 2-component vector of float)
-0:? Linker Objects
-0:? 'bn' (in 3-element array of block{in int a})
-0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
-0:? 'color' (in 3-element array of 4-component vector of float)
-0:? 'color2' (in 3-element array of 4-component vector of float)
-0:? 'colorS' (in 3-element array of 4-component vector of float)
-0:? 'colorBad' (in 4-element array of 4-component vector of float)
-0:? 'colorbad2' (in 2-element array of 4-component vector of float)
-0:? 'cva' (layout(location=4 ) in 3-element array of 4-component vector of float)
-0:? 'cvb' (layout(location=5 ) in 3-element array of 4-component vector of float)
-0:? 'cmc' (layout(location=2 ) in 3-element array of 3X3 matrix of float)
-0:? 'patchIn' (patch in 3-element array of 4-component vector of float)
-0:? 'patchOut' (layout(stream=0 ) patch out 4-component vector of float)
-0:? 'scalar' (in float)
-0:? 'inbls' (in block{in int a})
-0:? 'inbla' (in 17-element array of block{in int a})
-0:? 'indexedOut' (layout(location=7 stream=0 ) out 4-component vector of float)
-0:? 'samp1D' (uniform sampler1D)
-0:? 'samp2Ds' (uniform sampler2DShadow)
-
+400.geom
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:12: 'invocations' : can only apply to a standalone qualifier
+ERROR: 0:20: 'patch' : not supported in this stage: geometry
+ERROR: 0:20: 'gl_PointSize' : cannot add layout to redeclared block member
+ERROR: 0:20: 'gl_PointSize' : cannot add patch to redeclared block member
+ERROR: 0:25: 'length' : array must first be sized by a redeclaration or layout qualifier
+ERROR: 0:36: 'length' : array must first be sized by a redeclaration or layout qualifier
+ERROR: 0:40: 'triangles' : inconsistent input primitive for array size of colorBad
+ERROR: 0:44: 'triangles' : inconsistent input primitive for array size of colorbad2
+ERROR: 0:56: 'location' : overlapping use of location 4
+ERROR: 0:58: 'patch' : not supported in this stage: geometry
+ERROR: 0:59: 'patch' : not supported in this stage: geometry
+ERROR: 0:61: 'in' : type must be an array: scalar
+ERROR: 0:63: 'invocations' : can only apply to 'in'
+ERROR: 0:64: 'max_vertices' : can only apply to 'out'
+ERROR: 0:65: 'max_vertices' : can only apply to 'out'
+ERROR: 0:65: 'invocations' : can only apply to 'in'
+ERROR: 0:67: 'in' : type must be an array: inbls
+ERROR: 0:71: 'triangles' : inconsistent input primitive for array size of inbla
+ERROR: 0:103: 'index' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:115: 'textureQueryLod' : no matching overloaded function found
+ERROR: 0:115: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
+ERROR: 0:116: 'textureQueryLod' : no matching overloaded function found
+ERROR: 0:116: 'assign' : cannot convert from 'const float' to 'temp 2-component vector of float'
+ERROR: 23 compilation errors. No code generated.
+
+
+Shader version: 400
+Requested GL_ARB_separate_shader_objects
+invocations = 4
+max_vertices = 127
+input primitive = triangles
+output primitive = none
+ERROR: node is still EOpNull!
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:5 Sequence
+0:5 EmitStreamVertex (global void)
+0:5 Constant:
+0:5 1 (const int)
+0:6 EndStreamPrimitive (global void)
+0:6 Constant:
+0:6 0 (const int)
+0:7 EmitVertex (global void)
+0:8 EndPrimitive (global void)
+0:9 Sequence
+0:9 move second child to first child (temp int)
+0:9 'id' (temp int)
+0:9 'gl_InvocationID' (in int InvocationID)
+0:23 Function Definition: foo( (global void)
+0:23 Function Parameters:
+0:25 Sequence
+0:25 Constant:
+0:25 1 (const int)
+0:26 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:26 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
+0:26 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
+0:26 Constant:
+0:26 1 (const int)
+0:26 Constant:
+0:26 0 (const int)
+0:34 Function Definition: foo2( (global void)
+0:34 Function Parameters:
+0:36 Sequence
+0:36 Constant:
+0:36 1 (const int)
+0:37 Constant:
+0:37 3 (const int)
+0:46 Function Definition: foo3( (global void)
+0:46 Function Parameters:
+0:48 Sequence
+0:48 Constant:
+0:48 3 (const int)
+0:49 Constant:
+0:49 3 (const int)
+0:50 Constant:
+0:50 3 (const int)
+0:51 Constant:
+0:51 3 (const int)
+0:75 Function Definition: bits( (global void)
+0:75 Function Parameters:
+0:? Sequence
+0:78 move second child to first child (temp 2-component vector of uint)
+0:78 'u2' (temp 2-component vector of uint)
+0:78 addCarry (global 2-component vector of uint)
+0:78 'u2' (temp 2-component vector of uint)
+0:78 'u2' (temp 2-component vector of uint)
+0:78 'u2' (temp 2-component vector of uint)
+0:80 move second child to first child (temp uint)
+0:80 'u1' (temp uint)
+0:80 subBorrow (global uint)
+0:80 'u1' (temp uint)
+0:80 'u1' (temp uint)
+0:80 'u1' (temp uint)
+0:82 uMulExtended (global void)
+0:82 'u4' (temp 4-component vector of uint)
+0:82 'u4' (temp 4-component vector of uint)
+0:82 'u4' (temp 4-component vector of uint)
+0:82 'u4' (temp 4-component vector of uint)
+0:84 iMulExtended (global void)
+0:84 'i4' (temp 4-component vector of int)
+0:84 'i4' (temp 4-component vector of int)
+0:84 'i4' (temp 4-component vector of int)
+0:84 'i4' (temp 4-component vector of int)
+0:86 move second child to first child (temp int)
+0:86 'i1' (temp int)
+0:86 bitfieldExtract (global int)
+0:86 'i1' (temp int)
+0:86 Constant:
+0:86 4 (const int)
+0:86 Constant:
+0:86 5 (const int)
+0:88 move second child to first child (temp 3-component vector of uint)
+0:88 'u3' (temp 3-component vector of uint)
+0:88 bitfieldExtract (global 3-component vector of uint)
+0:88 'u3' (temp 3-component vector of uint)
+0:88 Constant:
+0:88 4 (const int)
+0:88 Constant:
+0:88 5 (const int)
+0:90 move second child to first child (temp 3-component vector of int)
+0:90 'i3' (temp 3-component vector of int)
+0:90 bitfieldInsert (global 3-component vector of int)
+0:90 'i3' (temp 3-component vector of int)
+0:90 'i3' (temp 3-component vector of int)
+0:90 Constant:
+0:90 4 (const int)
+0:90 Constant:
+0:90 5 (const int)
+0:91 move second child to first child (temp uint)
+0:91 'u1' (temp uint)
+0:91 bitfieldInsert (global uint)
+0:91 'u1' (temp uint)
+0:91 'u1' (temp uint)
+0:91 Constant:
+0:91 4 (const int)
+0:91 Constant:
+0:91 5 (const int)
+0:93 move second child to first child (temp 2-component vector of int)
+0:93 'i2' (temp 2-component vector of int)
+0:93 bitFieldReverse (global 2-component vector of int)
+0:93 'i2' (temp 2-component vector of int)
+0:94 move second child to first child (temp 4-component vector of uint)
+0:94 'u4' (temp 4-component vector of uint)
+0:94 bitFieldReverse (global 4-component vector of uint)
+0:94 'u4' (temp 4-component vector of uint)
+0:95 move second child to first child (temp int)
+0:95 'i1' (temp int)
+0:95 bitCount (global int)
+0:95 'i1' (temp int)
+0:96 move second child to first child (temp 3-component vector of int)
+0:96 'i3' (temp 3-component vector of int)
+0:96 bitCount (global 3-component vector of int)
+0:96 'u3' (temp 3-component vector of uint)
+0:97 move second child to first child (temp 2-component vector of int)
+0:97 'i2' (temp 2-component vector of int)
+0:97 findLSB (global 2-component vector of int)
+0:97 'i2' (temp 2-component vector of int)
+0:98 move second child to first child (temp 4-component vector of int)
+0:98 'i4' (temp 4-component vector of int)
+0:98 findLSB (global 4-component vector of int)
+0:98 'u4' (temp 4-component vector of uint)
+0:99 move second child to first child (temp int)
+0:99 'i1' (temp int)
+0:99 findMSB (global int)
+0:99 'i1' (temp int)
+0:100 move second child to first child (temp 2-component vector of int)
+0:100 'i2' (temp 2-component vector of int)
+0:100 findMSB (global 2-component vector of int)
+0:100 'u2' (temp 2-component vector of uint)
+0:108 Function Definition: qlod( (global void)
+0:108 Function Parameters:
+0:? Sequence
+0:115 'lod' (temp 2-component vector of float)
+0:116 'lod' (temp 2-component vector of float)
+0:? Linker Objects
+0:? 'bn' (in 3-element array of block{in int a})
+0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
+0:? 'color' (in 3-element array of 4-component vector of float)
+0:? 'color2' (in 3-element array of 4-component vector of float)
+0:? 'colorS' (in 3-element array of 4-component vector of float)
+0:? 'colorBad' (in 4-element array of 4-component vector of float)
+0:? 'colorbad2' (in 2-element array of 4-component vector of float)
+0:? 'cva' (layout(location=4 ) in 3-element array of 4-component vector of float)
+0:? 'cvb' (layout(location=5 ) in 3-element array of 4-component vector of float)
+0:? 'cmc' (layout(location=2 ) in 3-element array of 3X3 matrix of float)
+0:? 'patchIn' (patch in 3-element array of 4-component vector of float)
+0:? 'patchOut' (layout(stream=0 ) patch out 4-component vector of float)
+0:? 'scalar' (in float)
+0:? 'inbls' (in block{in int a})
+0:? 'inbla' (in 17-element array of block{in int a})
+0:? 'indexedOut' (layout(location=7 stream=0 ) out 4-component vector of float)
+0:? 'samp1D' (uniform sampler1D)
+0:? 'samp2Ds' (uniform sampler2DShadow)
+
+
+Linked geometry stage:
+
+ERROR: Linking geometry stage: At least one shader must specify an output layout primitive
+
+Shader version: 400
+Requested GL_ARB_separate_shader_objects
+invocations = 4
+max_vertices = 127
+input primitive = triangles
+output primitive = none
+ERROR: node is still EOpNull!
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:5 Sequence
+0:5 EmitStreamVertex (global void)
+0:5 Constant:
+0:5 1 (const int)
+0:6 EndStreamPrimitive (global void)
+0:6 Constant:
+0:6 0 (const int)
+0:7 EmitVertex (global void)
+0:8 EndPrimitive (global void)
+0:9 Sequence
+0:9 move second child to first child (temp int)
+0:9 'id' (temp int)
+0:9 'gl_InvocationID' (in int InvocationID)
+0:23 Function Definition: foo( (global void)
+0:23 Function Parameters:
+0:25 Sequence
+0:25 Constant:
+0:25 1 (const int)
+0:26 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:26 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
+0:26 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
+0:26 Constant:
+0:26 1 (const int)
+0:26 Constant:
+0:26 0 (const int)
+0:34 Function Definition: foo2( (global void)
+0:34 Function Parameters:
+0:36 Sequence
+0:36 Constant:
+0:36 1 (const int)
+0:37 Constant:
+0:37 3 (const int)
+0:46 Function Definition: foo3( (global void)
+0:46 Function Parameters:
+0:48 Sequence
+0:48 Constant:
+0:48 3 (const int)
+0:49 Constant:
+0:49 3 (const int)
+0:50 Constant:
+0:50 3 (const int)
+0:51 Constant:
+0:51 3 (const int)
+0:75 Function Definition: bits( (global void)
+0:75 Function Parameters:
+0:? Sequence
+0:78 move second child to first child (temp 2-component vector of uint)
+0:78 'u2' (temp 2-component vector of uint)
+0:78 addCarry (global 2-component vector of uint)
+0:78 'u2' (temp 2-component vector of uint)
+0:78 'u2' (temp 2-component vector of uint)
+0:78 'u2' (temp 2-component vector of uint)
+0:80 move second child to first child (temp uint)
+0:80 'u1' (temp uint)
+0:80 subBorrow (global uint)
+0:80 'u1' (temp uint)
+0:80 'u1' (temp uint)
+0:80 'u1' (temp uint)
+0:82 uMulExtended (global void)
+0:82 'u4' (temp 4-component vector of uint)
+0:82 'u4' (temp 4-component vector of uint)
+0:82 'u4' (temp 4-component vector of uint)
+0:82 'u4' (temp 4-component vector of uint)
+0:84 iMulExtended (global void)
+0:84 'i4' (temp 4-component vector of int)
+0:84 'i4' (temp 4-component vector of int)
+0:84 'i4' (temp 4-component vector of int)
+0:84 'i4' (temp 4-component vector of int)
+0:86 move second child to first child (temp int)
+0:86 'i1' (temp int)
+0:86 bitfieldExtract (global int)
+0:86 'i1' (temp int)
+0:86 Constant:
+0:86 4 (const int)
+0:86 Constant:
+0:86 5 (const int)
+0:88 move second child to first child (temp 3-component vector of uint)
+0:88 'u3' (temp 3-component vector of uint)
+0:88 bitfieldExtract (global 3-component vector of uint)
+0:88 'u3' (temp 3-component vector of uint)
+0:88 Constant:
+0:88 4 (const int)
+0:88 Constant:
+0:88 5 (const int)
+0:90 move second child to first child (temp 3-component vector of int)
+0:90 'i3' (temp 3-component vector of int)
+0:90 bitfieldInsert (global 3-component vector of int)
+0:90 'i3' (temp 3-component vector of int)
+0:90 'i3' (temp 3-component vector of int)
+0:90 Constant:
+0:90 4 (const int)
+0:90 Constant:
+0:90 5 (const int)
+0:91 move second child to first child (temp uint)
+0:91 'u1' (temp uint)
+0:91 bitfieldInsert (global uint)
+0:91 'u1' (temp uint)
+0:91 'u1' (temp uint)
+0:91 Constant:
+0:91 4 (const int)
+0:91 Constant:
+0:91 5 (const int)
+0:93 move second child to first child (temp 2-component vector of int)
+0:93 'i2' (temp 2-component vector of int)
+0:93 bitFieldReverse (global 2-component vector of int)
+0:93 'i2' (temp 2-component vector of int)
+0:94 move second child to first child (temp 4-component vector of uint)
+0:94 'u4' (temp 4-component vector of uint)
+0:94 bitFieldReverse (global 4-component vector of uint)
+0:94 'u4' (temp 4-component vector of uint)
+0:95 move second child to first child (temp int)
+0:95 'i1' (temp int)
+0:95 bitCount (global int)
+0:95 'i1' (temp int)
+0:96 move second child to first child (temp 3-component vector of int)
+0:96 'i3' (temp 3-component vector of int)
+0:96 bitCount (global 3-component vector of int)
+0:96 'u3' (temp 3-component vector of uint)
+0:97 move second child to first child (temp 2-component vector of int)
+0:97 'i2' (temp 2-component vector of int)
+0:97 findLSB (global 2-component vector of int)
+0:97 'i2' (temp 2-component vector of int)
+0:98 move second child to first child (temp 4-component vector of int)
+0:98 'i4' (temp 4-component vector of int)
+0:98 findLSB (global 4-component vector of int)
+0:98 'u4' (temp 4-component vector of uint)
+0:99 move second child to first child (temp int)
+0:99 'i1' (temp int)
+0:99 findMSB (global int)
+0:99 'i1' (temp int)
+0:100 move second child to first child (temp 2-component vector of int)
+0:100 'i2' (temp 2-component vector of int)
+0:100 findMSB (global 2-component vector of int)
+0:100 'u2' (temp 2-component vector of uint)
+0:108 Function Definition: qlod( (global void)
+0:108 Function Parameters:
+0:? Sequence
+0:115 'lod' (temp 2-component vector of float)
+0:116 'lod' (temp 2-component vector of float)
+0:? Linker Objects
+0:? 'bn' (in 3-element array of block{in int a})
+0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
+0:? 'color' (in 3-element array of 4-component vector of float)
+0:? 'color2' (in 3-element array of 4-component vector of float)
+0:? 'colorS' (in 3-element array of 4-component vector of float)
+0:? 'colorBad' (in 4-element array of 4-component vector of float)
+0:? 'colorbad2' (in 2-element array of 4-component vector of float)
+0:? 'cva' (layout(location=4 ) in 3-element array of 4-component vector of float)
+0:? 'cvb' (layout(location=5 ) in 3-element array of 4-component vector of float)
+0:? 'cmc' (layout(location=2 ) in 3-element array of 3X3 matrix of float)
+0:? 'patchIn' (patch in 3-element array of 4-component vector of float)
+0:? 'patchOut' (layout(stream=0 ) patch out 4-component vector of float)
+0:? 'scalar' (in float)
+0:? 'inbls' (in block{in int a})
+0:? 'inbla' (in 17-element array of block{in int a})
+0:? 'indexedOut' (layout(location=7 stream=0 ) out 4-component vector of float)
+0:? 'samp1D' (uniform sampler1D)
+0:? 'samp2Ds' (uniform sampler2DShadow)
+
diff --git a/Test/baseResults/400.tesc.out b/Test/baseResults/400.tesc.out
index a1401d3..6a0b895 100644
--- a/Test/baseResults/400.tesc.out
+++ b/Test/baseResults/400.tesc.out
@@ -1,409 +1,409 @@
-400.tesc
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:6: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
-ERROR: 0:7: 'ccw' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
-ERROR: 0:8: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
-ERROR: 0:10: 'patch' : can only use on output in tessellation-control shader
-ERROR: 0:39: '' : tessellation control barrier() cannot be placed within flow control
-ERROR: 0:41: '' : tessellation control barrier() cannot be placed within flow control
-ERROR: 0:46: '' : tessellation control barrier() cannot be placed within flow control
-ERROR: 0:51: '' : tessellation control barrier() cannot be placed within flow control
-ERROR: 0:54: '' : tessellation control barrier() cannot be placed within flow control
-ERROR: 0:61: '' : tessellation control barrier() cannot be placed after a return from main()
-ERROR: 0:64: 'vertices' : can only apply to 'out'
-ERROR: 0:65: 'vertices' : cannot change previously set layout value
-ERROR: 0:69: '[' : array index out of range '4'
-ERROR: 0:71: '' : tessellation control barrier() must be in main()
-ERROR: 0:74: 'in' : type must be an array: ina
-ERROR: 0:76: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
-ERROR: 0:83: 'location' : overlapping use of location 4
-ERROR: 0:87: 'location' : overlapping use of location 4
-ERROR: 18 compilation errors. No code generated.
-
-
-Shader version: 400
-Requested GL_ARB_separate_shader_objects
-vertices = 4
-ERROR: node is still EOpNull!
-0:13 Function Definition: main( (global void)
-0:13 Function Parameters:
-0:15 Sequence
-0:15 Barrier (global void)
-0:17 Sequence
-0:17 move second child to first child (temp int)
-0:17 'a' (temp int)
-0:17 Constant:
-0:17 5392 (const int)
-0:23 Sequence
-0:23 move second child to first child (temp 4-component vector of float)
-0:23 'p' (temp 4-component vector of float)
-0:23 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:23 Constant:
-0:23 1 (const int)
-0:23 Constant:
-0:23 0 (const int)
-0:24 Sequence
-0:24 move second child to first child (temp float)
-0:24 'ps' (temp float)
-0:24 gl_PointSize: direct index for structure (in float PointSize)
-0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:24 Constant:
-0:24 1 (const int)
-0:24 Constant:
-0:24 1 (const int)
-0:25 Sequence
-0:25 move second child to first child (temp float)
-0:25 'cd' (temp float)
-0:25 direct index (temp float ClipDistance)
-0:25 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
-0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:25 Constant:
-0:25 1 (const int)
-0:25 Constant:
-0:25 2 (const int)
-0:25 Constant:
-0:25 2 (const int)
-0:27 Sequence
-0:27 move second child to first child (temp int)
-0:27 'pvi' (temp int)
-0:27 'gl_PatchVerticesIn' (in int PatchVertices)
-0:28 Sequence
-0:28 move second child to first child (temp int)
-0:28 'pid' (temp int)
-0:28 'gl_PrimitiveID' (in int PrimitiveID)
-0:29 Sequence
-0:29 move second child to first child (temp int)
-0:29 'iid' (temp int)
-0:29 'gl_InvocationID' (in int InvocationID)
-0:31 move second child to first child (temp 4-component vector of float)
-0:31 gl_Position: direct index for structure (out 4-component vector of float Position)
-0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:31 'gl_InvocationID' (in int InvocationID)
-0:31 Constant:
-0:31 0 (const int)
-0:31 'p' (temp 4-component vector of float)
-0:32 move second child to first child (temp float)
-0:32 gl_PointSize: direct index for structure (out float PointSize)
-0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:32 'gl_InvocationID' (in int InvocationID)
-0:32 Constant:
-0:32 1 (const int)
-0:32 'ps' (temp float)
-0:33 move second child to first child (temp float)
-0:33 direct index (temp float ClipDistance)
-0:33 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
-0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:33 'gl_InvocationID' (in int InvocationID)
-0:33 Constant:
-0:33 2 (const int)
-0:33 Constant:
-0:33 1 (const int)
-0:33 'cd' (temp float)
-0:35 move second child to first child (temp float)
-0:35 direct index (patch temp float TessLevelOuter)
-0:35 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
-0:35 Constant:
-0:35 3 (const int)
-0:35 Constant:
-0:35 3.200000
-0:36 move second child to first child (temp float)
-0:36 direct index (patch temp float TessLevelInner)
-0:36 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
-0:36 Constant:
-0:36 1 (const int)
-0:36 Constant:
-0:36 1.300000
-0:38 Test condition and select (temp void)
-0:38 Condition
-0:38 Compare Greater Than (temp bool)
-0:38 'a' (temp int)
-0:38 Constant:
-0:38 10 (const int)
-0:38 true case
-0:39 Barrier (global void)
-0:38 false case
-0:41 Barrier (global void)
-0:43 Barrier (global void)
-0:47 Loop with condition not tested first
-0:47 Loop Condition
-0:47 Compare Greater Than (temp bool)
-0:47 'a' (temp int)
-0:47 Constant:
-0:47 10 (const int)
-0:47 Loop Body
-0:46 Sequence
-0:46 Barrier (global void)
-0:49 switch
-0:49 condition
-0:49 'a' (temp int)
-0:49 body
-0:49 Sequence
-0:50 default:
-0:? Sequence
-0:51 Barrier (global void)
-0:52 Branch: Break
-0:54 Test condition and select (temp int)
-0:54 Condition
-0:54 Compare Less Than (temp bool)
-0:54 'a' (temp int)
-0:54 Constant:
-0:54 12 (const int)
-0:54 true case
-0:54 'a' (temp int)
-0:54 false case
-0:54 Comma (temp int)
-0:54 Barrier (global void)
-0:54 'a' (temp int)
-0:56 Sequence
-0:56 Barrier (global void)
-0:59 Branch: Return
-0:61 Barrier (global void)
-0:67 Function Definition: foo( (global void)
-0:67 Function Parameters:
-0:69 Sequence
-0:69 gl_PointSize: direct index for structure (out float PointSize)
-0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:69 Constant:
-0:69 4 (const int)
-0:69 Constant:
-0:69 1 (const int)
-0:71 Barrier (global void)
-0:91 Function Definition: foop( (global void)
-0:91 Function Parameters:
-0:? Sequence
-0:95 multiply second child into first child (temp 3-component vector of float)
-0:95 'pv3' (temp 3-component vector of float)
-0:95 'pv3' (temp 3-component vector of float)
-0:96 move second child to first child (temp 3-component vector of float)
-0:96 'pv3' (temp 3-component vector of float)
-0:96 fma (global 3-component vector of float)
-0:96 'pv3' (temp 3-component vector of float)
-0:96 'pv3' (temp 3-component vector of float)
-0:96 'pv3' (temp 3-component vector of float)
-0:97 move second child to first child (temp double)
-0:97 'd' (temp double)
-0:97 fma (global double)
-0:97 'd' (temp double)
-0:97 'd' (temp double)
-0:97 'd' (temp double)
-0:? Linker Objects
-0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:? 'outa' (global 4-element array of int)
-0:? 'patchIn' (patch in 4-component vector of float)
-0:? 'patchOut' (patch out 4-component vector of float)
-0:? 'ina' (in 2-component vector of float)
-0:? 'inb' (in 32-element array of 2-component vector of float)
-0:? 'inc' (in 32-element array of 2-component vector of float)
-0:? 'ind' (in 32-element array of 2-component vector of float)
-0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float)
-0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float)
-0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float)
-0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float)
-0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float)
-0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float)
-0:? 'pv3' (temp 3-component vector of float)
-0:? 'pinbi' (patch out block{out int a})
-
-
-Linked tessellation control stage:
-
-
-Shader version: 400
-Requested GL_ARB_separate_shader_objects
-vertices = 4
-ERROR: node is still EOpNull!
-0:13 Function Definition: main( (global void)
-0:13 Function Parameters:
-0:15 Sequence
-0:15 Barrier (global void)
-0:17 Sequence
-0:17 move second child to first child (temp int)
-0:17 'a' (temp int)
-0:17 Constant:
-0:17 5392 (const int)
-0:23 Sequence
-0:23 move second child to first child (temp 4-component vector of float)
-0:23 'p' (temp 4-component vector of float)
-0:23 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:23 Constant:
-0:23 1 (const int)
-0:23 Constant:
-0:23 0 (const int)
-0:24 Sequence
-0:24 move second child to first child (temp float)
-0:24 'ps' (temp float)
-0:24 gl_PointSize: direct index for structure (in float PointSize)
-0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:24 Constant:
-0:24 1 (const int)
-0:24 Constant:
-0:24 1 (const int)
-0:25 Sequence
-0:25 move second child to first child (temp float)
-0:25 'cd' (temp float)
-0:25 direct index (temp float ClipDistance)
-0:25 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
-0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:25 Constant:
-0:25 1 (const int)
-0:25 Constant:
-0:25 2 (const int)
-0:25 Constant:
-0:25 2 (const int)
-0:27 Sequence
-0:27 move second child to first child (temp int)
-0:27 'pvi' (temp int)
-0:27 'gl_PatchVerticesIn' (in int PatchVertices)
-0:28 Sequence
-0:28 move second child to first child (temp int)
-0:28 'pid' (temp int)
-0:28 'gl_PrimitiveID' (in int PrimitiveID)
-0:29 Sequence
-0:29 move second child to first child (temp int)
-0:29 'iid' (temp int)
-0:29 'gl_InvocationID' (in int InvocationID)
-0:31 move second child to first child (temp 4-component vector of float)
-0:31 gl_Position: direct index for structure (out 4-component vector of float Position)
-0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:31 'gl_InvocationID' (in int InvocationID)
-0:31 Constant:
-0:31 0 (const int)
-0:31 'p' (temp 4-component vector of float)
-0:32 move second child to first child (temp float)
-0:32 gl_PointSize: direct index for structure (out float PointSize)
-0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:32 'gl_InvocationID' (in int InvocationID)
-0:32 Constant:
-0:32 1 (const int)
-0:32 'ps' (temp float)
-0:33 move second child to first child (temp float)
-0:33 direct index (temp float ClipDistance)
-0:33 gl_ClipDistance: direct index for structure (out 1-element array of float ClipDistance)
-0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:33 'gl_InvocationID' (in int InvocationID)
-0:33 Constant:
-0:33 2 (const int)
-0:33 Constant:
-0:33 1 (const int)
-0:33 'cd' (temp float)
-0:35 move second child to first child (temp float)
-0:35 direct index (patch temp float TessLevelOuter)
-0:35 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
-0:35 Constant:
-0:35 3 (const int)
-0:35 Constant:
-0:35 3.200000
-0:36 move second child to first child (temp float)
-0:36 direct index (patch temp float TessLevelInner)
-0:36 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
-0:36 Constant:
-0:36 1 (const int)
-0:36 Constant:
-0:36 1.300000
-0:38 Test condition and select (temp void)
-0:38 Condition
-0:38 Compare Greater Than (temp bool)
-0:38 'a' (temp int)
-0:38 Constant:
-0:38 10 (const int)
-0:38 true case
-0:39 Barrier (global void)
-0:38 false case
-0:41 Barrier (global void)
-0:43 Barrier (global void)
-0:47 Loop with condition not tested first
-0:47 Loop Condition
-0:47 Compare Greater Than (temp bool)
-0:47 'a' (temp int)
-0:47 Constant:
-0:47 10 (const int)
-0:47 Loop Body
-0:46 Sequence
-0:46 Barrier (global void)
-0:49 switch
-0:49 condition
-0:49 'a' (temp int)
-0:49 body
-0:49 Sequence
-0:50 default:
-0:? Sequence
-0:51 Barrier (global void)
-0:52 Branch: Break
-0:54 Test condition and select (temp int)
-0:54 Condition
-0:54 Compare Less Than (temp bool)
-0:54 'a' (temp int)
-0:54 Constant:
-0:54 12 (const int)
-0:54 true case
-0:54 'a' (temp int)
-0:54 false case
-0:54 Comma (temp int)
-0:54 Barrier (global void)
-0:54 'a' (temp int)
-0:56 Sequence
-0:56 Barrier (global void)
-0:59 Branch: Return
-0:61 Barrier (global void)
-0:67 Function Definition: foo( (global void)
-0:67 Function Parameters:
-0:69 Sequence
-0:69 gl_PointSize: direct index for structure (out float PointSize)
-0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:69 Constant:
-0:69 4 (const int)
-0:69 Constant:
-0:69 1 (const int)
-0:71 Barrier (global void)
-0:91 Function Definition: foop( (global void)
-0:91 Function Parameters:
-0:? Sequence
-0:95 multiply second child into first child (temp 3-component vector of float)
-0:95 'pv3' (temp 3-component vector of float)
-0:95 'pv3' (temp 3-component vector of float)
-0:96 move second child to first child (temp 3-component vector of float)
-0:96 'pv3' (temp 3-component vector of float)
-0:96 fma (global 3-component vector of float)
-0:96 'pv3' (temp 3-component vector of float)
-0:96 'pv3' (temp 3-component vector of float)
-0:96 'pv3' (temp 3-component vector of float)
-0:97 move second child to first child (temp double)
-0:97 'd' (temp double)
-0:97 fma (global double)
-0:97 'd' (temp double)
-0:97 'd' (temp double)
-0:97 'd' (temp double)
-0:? Linker Objects
-0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:? 'outa' (global 4-element array of int)
-0:? 'patchIn' (patch in 4-component vector of float)
-0:? 'patchOut' (patch out 4-component vector of float)
-0:? 'ina' (in 2-component vector of float)
-0:? 'inb' (in 32-element array of 2-component vector of float)
-0:? 'inc' (in 32-element array of 2-component vector of float)
-0:? 'ind' (in 32-element array of 2-component vector of float)
-0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float)
-0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float)
-0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float)
-0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float)
-0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float)
-0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float)
-0:? 'pv3' (temp 3-component vector of float)
-0:? 'pinbi' (patch out block{out int a})
-
+400.tesc
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:6: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:7: 'ccw' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:8: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:10: 'patch' : can only use on output in tessellation-control shader
+ERROR: 0:39: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:41: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:46: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:51: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:54: '' : tessellation control barrier() cannot be placed within flow control
+ERROR: 0:61: '' : tessellation control barrier() cannot be placed after a return from main()
+ERROR: 0:64: 'vertices' : can only apply to 'out'
+ERROR: 0:65: 'vertices' : cannot change previously set layout value
+ERROR: 0:69: '[' : array index out of range '4'
+ERROR: 0:71: '' : tessellation control barrier() must be in main()
+ERROR: 0:74: 'in' : type must be an array: ina
+ERROR: 0:76: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:83: 'location' : overlapping use of location 4
+ERROR: 0:87: 'location' : overlapping use of location 4
+ERROR: 18 compilation errors. No code generated.
+
+
+Shader version: 400
+Requested GL_ARB_separate_shader_objects
+vertices = 4
+ERROR: node is still EOpNull!
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:15 Sequence
+0:15 Barrier (global void)
+0:17 Sequence
+0:17 move second child to first child (temp int)
+0:17 'a' (temp int)
+0:17 Constant:
+0:17 5392 (const int)
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'p' (temp 4-component vector of float)
+0:23 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:23 Constant:
+0:23 1 (const int)
+0:23 Constant:
+0:23 0 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'ps' (temp float)
+0:24 gl_PointSize: direct index for structure (in float PointSize)
+0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:24 Constant:
+0:24 1 (const int)
+0:24 Constant:
+0:24 1 (const int)
+0:25 Sequence
+0:25 move second child to first child (temp float)
+0:25 'cd' (temp float)
+0:25 direct index (temp float ClipDistance)
+0:25 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:25 Constant:
+0:25 1 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp int)
+0:27 'pvi' (temp int)
+0:27 'gl_PatchVerticesIn' (in int PatchVertices)
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'pid' (temp int)
+0:28 'gl_PrimitiveID' (in int PrimitiveID)
+0:29 Sequence
+0:29 move second child to first child (temp int)
+0:29 'iid' (temp int)
+0:29 'gl_InvocationID' (in int InvocationID)
+0:31 move second child to first child (temp 4-component vector of float)
+0:31 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:31 'gl_InvocationID' (in int InvocationID)
+0:31 Constant:
+0:31 0 (const int)
+0:31 'p' (temp 4-component vector of float)
+0:32 move second child to first child (temp float)
+0:32 gl_PointSize: direct index for structure (out float PointSize)
+0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 'gl_InvocationID' (in int InvocationID)
+0:32 Constant:
+0:32 1 (const int)
+0:32 'ps' (temp float)
+0:33 move second child to first child (temp float)
+0:33 direct index (temp float ClipDistance)
+0:33 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
+0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 'gl_InvocationID' (in int InvocationID)
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:33 'cd' (temp float)
+0:35 move second child to first child (temp float)
+0:35 direct index (patch temp float TessLevelOuter)
+0:35 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
+0:35 Constant:
+0:35 3 (const int)
+0:35 Constant:
+0:35 3.200000
+0:36 move second child to first child (temp float)
+0:36 direct index (patch temp float TessLevelInner)
+0:36 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
+0:36 Constant:
+0:36 1 (const int)
+0:36 Constant:
+0:36 1.300000
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Greater Than (temp bool)
+0:38 'a' (temp int)
+0:38 Constant:
+0:38 10 (const int)
+0:38 true case
+0:39 Barrier (global void)
+0:38 false case
+0:41 Barrier (global void)
+0:43 Barrier (global void)
+0:47 Loop with condition not tested first
+0:47 Loop Condition
+0:47 Compare Greater Than (temp bool)
+0:47 'a' (temp int)
+0:47 Constant:
+0:47 10 (const int)
+0:47 Loop Body
+0:46 Sequence
+0:46 Barrier (global void)
+0:49 switch
+0:49 condition
+0:49 'a' (temp int)
+0:49 body
+0:49 Sequence
+0:50 default:
+0:? Sequence
+0:51 Barrier (global void)
+0:52 Branch: Break
+0:54 Test condition and select (temp int)
+0:54 Condition
+0:54 Compare Less Than (temp bool)
+0:54 'a' (temp int)
+0:54 Constant:
+0:54 12 (const int)
+0:54 true case
+0:54 'a' (temp int)
+0:54 false case
+0:54 Comma (temp int)
+0:54 Barrier (global void)
+0:54 'a' (temp int)
+0:56 Sequence
+0:56 Barrier (global void)
+0:59 Branch: Return
+0:61 Barrier (global void)
+0:67 Function Definition: foo( (global void)
+0:67 Function Parameters:
+0:69 Sequence
+0:69 gl_PointSize: direct index for structure (out float PointSize)
+0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:69 Constant:
+0:69 4 (const int)
+0:69 Constant:
+0:69 1 (const int)
+0:71 Barrier (global void)
+0:91 Function Definition: foop( (global void)
+0:91 Function Parameters:
+0:? Sequence
+0:95 multiply second child into first child (temp 3-component vector of float)
+0:95 'pv3' (temp 3-component vector of float)
+0:95 'pv3' (temp 3-component vector of float)
+0:96 move second child to first child (temp 3-component vector of float)
+0:96 'pv3' (temp 3-component vector of float)
+0:96 fma (global 3-component vector of float)
+0:96 'pv3' (temp 3-component vector of float)
+0:96 'pv3' (temp 3-component vector of float)
+0:96 'pv3' (temp 3-component vector of float)
+0:97 move second child to first child (temp double)
+0:97 'd' (temp double)
+0:97 fma (global double)
+0:97 'd' (temp double)
+0:97 'd' (temp double)
+0:97 'd' (temp double)
+0:? Linker Objects
+0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'outa' (global 4-element array of int)
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'ina' (in 2-component vector of float)
+0:? 'inb' (in 32-element array of 2-component vector of float)
+0:? 'inc' (in 32-element array of 2-component vector of float)
+0:? 'ind' (in 32-element array of 2-component vector of float)
+0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float)
+0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float)
+0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float)
+0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float)
+0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float)
+0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float)
+0:? 'pv3' (temp 3-component vector of float)
+0:? 'pinbi' (patch out block{out int a})
+
+
+Linked tessellation control stage:
+
+
+Shader version: 400
+Requested GL_ARB_separate_shader_objects
+vertices = 4
+ERROR: node is still EOpNull!
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:15 Sequence
+0:15 Barrier (global void)
+0:17 Sequence
+0:17 move second child to first child (temp int)
+0:17 'a' (temp int)
+0:17 Constant:
+0:17 5392 (const int)
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'p' (temp 4-component vector of float)
+0:23 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:23 Constant:
+0:23 1 (const int)
+0:23 Constant:
+0:23 0 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'ps' (temp float)
+0:24 gl_PointSize: direct index for structure (in float PointSize)
+0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:24 Constant:
+0:24 1 (const int)
+0:24 Constant:
+0:24 1 (const int)
+0:25 Sequence
+0:25 move second child to first child (temp float)
+0:25 'cd' (temp float)
+0:25 direct index (temp float ClipDistance)
+0:25 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
+0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:25 Constant:
+0:25 1 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp int)
+0:27 'pvi' (temp int)
+0:27 'gl_PatchVerticesIn' (in int PatchVertices)
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'pid' (temp int)
+0:28 'gl_PrimitiveID' (in int PrimitiveID)
+0:29 Sequence
+0:29 move second child to first child (temp int)
+0:29 'iid' (temp int)
+0:29 'gl_InvocationID' (in int InvocationID)
+0:31 move second child to first child (temp 4-component vector of float)
+0:31 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:31 'gl_InvocationID' (in int InvocationID)
+0:31 Constant:
+0:31 0 (const int)
+0:31 'p' (temp 4-component vector of float)
+0:32 move second child to first child (temp float)
+0:32 gl_PointSize: direct index for structure (out float PointSize)
+0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:32 'gl_InvocationID' (in int InvocationID)
+0:32 Constant:
+0:32 1 (const int)
+0:32 'ps' (temp float)
+0:33 move second child to first child (temp float)
+0:33 direct index (temp float ClipDistance)
+0:33 gl_ClipDistance: direct index for structure (out 1-element array of float ClipDistance)
+0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:33 'gl_InvocationID' (in int InvocationID)
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:33 'cd' (temp float)
+0:35 move second child to first child (temp float)
+0:35 direct index (patch temp float TessLevelOuter)
+0:35 'gl_TessLevelOuter' (patch out 4-element array of float TessLevelOuter)
+0:35 Constant:
+0:35 3 (const int)
+0:35 Constant:
+0:35 3.200000
+0:36 move second child to first child (temp float)
+0:36 direct index (patch temp float TessLevelInner)
+0:36 'gl_TessLevelInner' (patch out 2-element array of float TessLevelInner)
+0:36 Constant:
+0:36 1 (const int)
+0:36 Constant:
+0:36 1.300000
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Greater Than (temp bool)
+0:38 'a' (temp int)
+0:38 Constant:
+0:38 10 (const int)
+0:38 true case
+0:39 Barrier (global void)
+0:38 false case
+0:41 Barrier (global void)
+0:43 Barrier (global void)
+0:47 Loop with condition not tested first
+0:47 Loop Condition
+0:47 Compare Greater Than (temp bool)
+0:47 'a' (temp int)
+0:47 Constant:
+0:47 10 (const int)
+0:47 Loop Body
+0:46 Sequence
+0:46 Barrier (global void)
+0:49 switch
+0:49 condition
+0:49 'a' (temp int)
+0:49 body
+0:49 Sequence
+0:50 default:
+0:? Sequence
+0:51 Barrier (global void)
+0:52 Branch: Break
+0:54 Test condition and select (temp int)
+0:54 Condition
+0:54 Compare Less Than (temp bool)
+0:54 'a' (temp int)
+0:54 Constant:
+0:54 12 (const int)
+0:54 true case
+0:54 'a' (temp int)
+0:54 false case
+0:54 Comma (temp int)
+0:54 Barrier (global void)
+0:54 'a' (temp int)
+0:56 Sequence
+0:56 Barrier (global void)
+0:59 Branch: Return
+0:61 Barrier (global void)
+0:67 Function Definition: foo( (global void)
+0:67 Function Parameters:
+0:69 Sequence
+0:69 gl_PointSize: direct index for structure (out float PointSize)
+0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:69 Constant:
+0:69 4 (const int)
+0:69 Constant:
+0:69 1 (const int)
+0:71 Barrier (global void)
+0:91 Function Definition: foop( (global void)
+0:91 Function Parameters:
+0:? Sequence
+0:95 multiply second child into first child (temp 3-component vector of float)
+0:95 'pv3' (temp 3-component vector of float)
+0:95 'pv3' (temp 3-component vector of float)
+0:96 move second child to first child (temp 3-component vector of float)
+0:96 'pv3' (temp 3-component vector of float)
+0:96 fma (global 3-component vector of float)
+0:96 'pv3' (temp 3-component vector of float)
+0:96 'pv3' (temp 3-component vector of float)
+0:96 'pv3' (temp 3-component vector of float)
+0:97 move second child to first child (temp double)
+0:97 'd' (temp double)
+0:97 fma (global double)
+0:97 'd' (temp double)
+0:97 'd' (temp double)
+0:97 'd' (temp double)
+0:? Linker Objects
+0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'outa' (global 4-element array of int)
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'ina' (in 2-component vector of float)
+0:? 'inb' (in 32-element array of 2-component vector of float)
+0:? 'inc' (in 32-element array of 2-component vector of float)
+0:? 'ind' (in 32-element array of 2-component vector of float)
+0:? 'ivla' (layout(location=3 ) in 32-element array of 4-component vector of float)
+0:? 'ivlb' (layout(location=4 ) in 32-element array of 4-component vector of float)
+0:? 'ivlc' (layout(location=4 ) in 32-element array of 4-component vector of float)
+0:? 'ovla' (layout(location=3 ) out 4-element array of 4-component vector of float)
+0:? 'ovlb' (layout(location=4 ) out 4-element array of 4-component vector of float)
+0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float)
+0:? 'pv3' (temp 3-component vector of float)
+0:? 'pinbi' (patch out block{out int a})
+
diff --git a/Test/baseResults/400.tese.out b/Test/baseResults/400.tese.out
index 53f4243..55670f8 100644
--- a/Test/baseResults/400.tese.out
+++ b/Test/baseResults/400.tese.out
@@ -1,281 +1,281 @@
-400.tese
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:3: 'vertices' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:5: 'triangles' : cannot change previously set input primitive
-ERROR: 0:6: 'isolines' : cannot change previously set input primitive
-ERROR: 0:8: 'ccw' : cannot change previously set vertex order
-ERROR: 0:12: 'equal_spacing' : cannot change previously set vertex spacing
-ERROR: 0:13: 'fractional_even_spacing' : cannot change previously set vertex spacing
-ERROR: 0:18: 'patch' : can only use on input in tessellation-evaluation shader
-ERROR: 0:22: 'barrier' : no matching overloaded function found
-ERROR: 0:47: 'patch' : cannot use interpolation qualifiers with patch
-ERROR: 0:48: 'patch' : cannot use interpolation qualifiers with patch
-ERROR: 0:49: 'patch' : cannot use interpolation qualifiers with patch
-ERROR: 0:50: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
-ERROR: 0:54: 'gl_PerVertex' : block already declared with size, can't redeclare as implicitly-sized
-ERROR: 0:59: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
-ERROR: 0:64: 'quads' : cannot apply to 'out'
-ERROR: 0:64: 'cw' : can only apply to 'in'
-ERROR: 0:65: 'triangles' : cannot apply to 'out'
-ERROR: 0:66: 'isolines' : cannot apply to 'out'
-ERROR: 0:67: 'cw' : can only apply to 'in'
-ERROR: 0:68: 'fractional_odd_spacing' : can only apply to 'in'
-ERROR: 0:69: 'equal_spacing' : can only apply to 'in'
-ERROR: 0:70: 'fractional_even_spacing' : can only apply to 'in'
-ERROR: 0:71: 'point_mode' : can only apply to 'in'
-ERROR: 0:73: 'in' : type must be an array: ina
-ERROR: 0:75: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
-ERROR: 0:78: 'in' : type must be an array: bla
-ERROR: 0:86: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
-ERROR: 0:96: 'location' : overlapping use of location 24
-ERROR: 0:99: 'location' : overlapping use of location 24
-ERROR: 0:101: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved
-ERROR: 30 compilation errors. No code generated.
-
-
-Shader version: 400
-Requested GL_ARB_separate_shader_objects
-input primitive = quads
-vertex spacing = fractional_odd_spacing
-triangle order = cw
-using point mode
-ERROR: node is still EOpNull!
-0:20 Function Definition: main( (global void)
-0:20 Function Parameters:
-0:22 Sequence
-0:22 Constant:
-0:22 0.000000
-0:24 Sequence
-0:24 move second child to first child (temp int)
-0:24 'a' (temp int)
-0:24 Constant:
-0:24 1512 (const int)
-0:32 Sequence
-0:32 move second child to first child (temp 4-component vector of float)
-0:32 'p' (temp 4-component vector of float)
-0:32 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:32 Constant:
-0:32 1 (const int)
-0:32 Constant:
-0:32 0 (const int)
-0:33 Sequence
-0:33 move second child to first child (temp float)
-0:33 'ps' (temp float)
-0:33 gl_PointSize: direct index for structure (in float PointSize)
-0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:33 Constant:
-0:33 1 (const int)
-0:33 Constant:
-0:33 1 (const int)
-0:34 Sequence
-0:34 move second child to first child (temp float)
-0:34 'cd' (temp float)
-0:34 direct index (temp float ClipDistance)
-0:34 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
-0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:34 Constant:
-0:34 1 (const int)
-0:34 Constant:
-0:34 2 (const int)
-0:34 Constant:
-0:34 2 (const int)
-0:36 Sequence
-0:36 move second child to first child (temp int)
-0:36 'pvi' (temp int)
-0:36 'gl_PatchVerticesIn' (in int PatchVertices)
-0:37 Sequence
-0:37 move second child to first child (temp int)
-0:37 'pid' (temp int)
-0:37 'gl_PrimitiveID' (in int PrimitiveID)
-0:38 Sequence
-0:38 move second child to first child (temp 3-component vector of float)
-0:38 'tc' (temp 3-component vector of float)
-0:38 'gl_TessCoord' (in 3-component vector of float TessCoord)
-0:39 Sequence
-0:39 move second child to first child (temp float)
-0:39 'tlo' (temp float)
-0:39 direct index (patch temp float TessLevelOuter)
-0:39 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
-0:39 Constant:
-0:39 3 (const int)
-0:40 Sequence
-0:40 move second child to first child (temp float)
-0:40 'tli' (temp float)
-0:40 direct index (patch temp float TessLevelInner)
-0:40 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
-0:40 Constant:
-0:40 1 (const int)
-0:42 move second child to first child (temp 4-component vector of float)
-0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
-0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:42 Constant:
-0:42 0 (const uint)
-0:42 'p' (temp 4-component vector of float)
-0:43 move second child to first child (temp float)
-0:43 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
-0:43 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:43 Constant:
-0:43 1 (const uint)
-0:43 'ps' (temp float)
-0:44 move second child to first child (temp float)
-0:44 direct index (temp float ClipDistance)
-0:44 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
-0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:44 Constant:
-0:44 2 (const uint)
-0:44 Constant:
-0:44 2 (const int)
-0:44 'cd' (temp float)
-0:? Linker Objects
-0:? 'patchIn' (patch in 4-component vector of float)
-0:? 'patchOut' (patch out 4-component vector of float)
-0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:? 'badp1' (smooth patch in 4-component vector of float)
-0:? 'badp2' (flat patch in 4-component vector of float)
-0:? 'badp3' (noperspective patch in 4-component vector of float)
-0:? 'badp4' (patch sample in 3-component vector of float)
-0:? 'gl_in' (in 32-element array of block{in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:? 'ina' (in 2-component vector of float)
-0:? 'inb' (in 32-element array of 2-component vector of float)
-0:? 'inc' (in 32-element array of 2-component vector of float)
-0:? 'ind' (in 32-element array of 2-component vector of float)
-0:? 'bla' (in block{in int f})
-0:? 'blb' (in 32-element array of block{in int f})
-0:? 'blc' (in 32-element array of block{in int f})
-0:? 'bld' (in 32-element array of block{in int f})
-0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float)
-0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float)
-0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float)
-0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float)
-0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float)
-0:? 'pinbi' (patch in block{in int a})
-
-
-Linked tessellation evaluation stage:
-
-
-Shader version: 400
-Requested GL_ARB_separate_shader_objects
-input primitive = quads
-vertex spacing = fractional_odd_spacing
-triangle order = cw
-using point mode
-ERROR: node is still EOpNull!
-0:20 Function Definition: main( (global void)
-0:20 Function Parameters:
-0:22 Sequence
-0:22 Constant:
-0:22 0.000000
-0:24 Sequence
-0:24 move second child to first child (temp int)
-0:24 'a' (temp int)
-0:24 Constant:
-0:24 1512 (const int)
-0:32 Sequence
-0:32 move second child to first child (temp 4-component vector of float)
-0:32 'p' (temp 4-component vector of float)
-0:32 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:32 Constant:
-0:32 1 (const int)
-0:32 Constant:
-0:32 0 (const int)
-0:33 Sequence
-0:33 move second child to first child (temp float)
-0:33 'ps' (temp float)
-0:33 gl_PointSize: direct index for structure (in float PointSize)
-0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:33 Constant:
-0:33 1 (const int)
-0:33 Constant:
-0:33 1 (const int)
-0:34 Sequence
-0:34 move second child to first child (temp float)
-0:34 'cd' (temp float)
-0:34 direct index (temp float ClipDistance)
-0:34 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
-0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:34 Constant:
-0:34 1 (const int)
-0:34 Constant:
-0:34 2 (const int)
-0:34 Constant:
-0:34 2 (const int)
-0:36 Sequence
-0:36 move second child to first child (temp int)
-0:36 'pvi' (temp int)
-0:36 'gl_PatchVerticesIn' (in int PatchVertices)
-0:37 Sequence
-0:37 move second child to first child (temp int)
-0:37 'pid' (temp int)
-0:37 'gl_PrimitiveID' (in int PrimitiveID)
-0:38 Sequence
-0:38 move second child to first child (temp 3-component vector of float)
-0:38 'tc' (temp 3-component vector of float)
-0:38 'gl_TessCoord' (in 3-component vector of float TessCoord)
-0:39 Sequence
-0:39 move second child to first child (temp float)
-0:39 'tlo' (temp float)
-0:39 direct index (patch temp float TessLevelOuter)
-0:39 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
-0:39 Constant:
-0:39 3 (const int)
-0:40 Sequence
-0:40 move second child to first child (temp float)
-0:40 'tli' (temp float)
-0:40 direct index (patch temp float TessLevelInner)
-0:40 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
-0:40 Constant:
-0:40 1 (const int)
-0:42 move second child to first child (temp 4-component vector of float)
-0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
-0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
-0:42 Constant:
-0:42 0 (const uint)
-0:42 'p' (temp 4-component vector of float)
-0:43 move second child to first child (temp float)
-0:43 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
-0:43 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
-0:43 Constant:
-0:43 1 (const uint)
-0:43 'ps' (temp float)
-0:44 move second child to first child (temp float)
-0:44 direct index (temp float ClipDistance)
-0:44 gl_ClipDistance: direct index for structure (out 3-element array of float ClipDistance)
-0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
-0:44 Constant:
-0:44 2 (const uint)
-0:44 Constant:
-0:44 2 (const int)
-0:44 'cd' (temp float)
-0:? Linker Objects
-0:? 'patchIn' (patch in 4-component vector of float)
-0:? 'patchOut' (patch out 4-component vector of float)
-0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
-0:? 'badp1' (smooth patch in 4-component vector of float)
-0:? 'badp2' (flat patch in 4-component vector of float)
-0:? 'badp3' (noperspective patch in 4-component vector of float)
-0:? 'badp4' (patch sample in 3-component vector of float)
-0:? 'gl_in' (in 32-element array of block{in 1-element array of float ClipDistance gl_ClipDistance})
-0:? 'ina' (in 2-component vector of float)
-0:? 'inb' (in 32-element array of 2-component vector of float)
-0:? 'inc' (in 32-element array of 2-component vector of float)
-0:? 'ind' (in 32-element array of 2-component vector of float)
-0:? 'bla' (in block{in int f})
-0:? 'blb' (in 32-element array of block{in int f})
-0:? 'blc' (in 32-element array of block{in int f})
-0:? 'bld' (in 32-element array of block{in int f})
-0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float)
-0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float)
-0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float)
-0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float)
-0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float)
-0:? 'pinbi' (patch in block{in int a})
-
+400.tese
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:3: 'vertices' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:5: 'triangles' : cannot change previously set input primitive
+ERROR: 0:6: 'isolines' : cannot change previously set input primitive
+ERROR: 0:8: 'ccw' : cannot change previously set vertex order
+ERROR: 0:12: 'equal_spacing' : cannot change previously set vertex spacing
+ERROR: 0:13: 'fractional_even_spacing' : cannot change previously set vertex spacing
+ERROR: 0:18: 'patch' : can only use on input in tessellation-evaluation shader
+ERROR: 0:22: 'barrier' : no matching overloaded function found
+ERROR: 0:47: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:48: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:49: 'patch' : cannot use interpolation qualifiers with patch
+ERROR: 0:50: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
+ERROR: 0:54: 'gl_PerVertex' : block already declared with size, can't redeclare as implicitly-sized
+ERROR: 0:59: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
+ERROR: 0:64: 'quads' : cannot apply to 'out'
+ERROR: 0:64: 'cw' : can only apply to 'in'
+ERROR: 0:65: 'triangles' : cannot apply to 'out'
+ERROR: 0:66: 'isolines' : cannot apply to 'out'
+ERROR: 0:67: 'cw' : can only apply to 'in'
+ERROR: 0:68: 'fractional_odd_spacing' : can only apply to 'in'
+ERROR: 0:69: 'equal_spacing' : can only apply to 'in'
+ERROR: 0:70: 'fractional_even_spacing' : can only apply to 'in'
+ERROR: 0:71: 'point_mode' : can only apply to 'in'
+ERROR: 0:73: 'in' : type must be an array: ina
+ERROR: 0:75: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:78: 'in' : type must be an array: bla
+ERROR: 0:86: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized
+ERROR: 0:96: 'location' : overlapping use of location 24
+ERROR: 0:99: 'location' : overlapping use of location 24
+ERROR: 0:101: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved
+ERROR: 30 compilation errors. No code generated.
+
+
+Shader version: 400
+Requested GL_ARB_separate_shader_objects
+input primitive = quads
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+using point mode
+ERROR: node is still EOpNull!
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:22 Sequence
+0:22 Constant:
+0:22 0.000000
+0:24 Sequence
+0:24 move second child to first child (temp int)
+0:24 'a' (temp int)
+0:24 Constant:
+0:24 1512 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp 4-component vector of float)
+0:32 'p' (temp 4-component vector of float)
+0:32 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:32 Constant:
+0:32 1 (const int)
+0:32 Constant:
+0:32 0 (const int)
+0:33 Sequence
+0:33 move second child to first child (temp float)
+0:33 'ps' (temp float)
+0:33 gl_PointSize: direct index for structure (in float PointSize)
+0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp float)
+0:34 'cd' (temp float)
+0:34 direct index (temp float ClipDistance)
+0:34 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 1 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp int)
+0:36 'pvi' (temp int)
+0:36 'gl_PatchVerticesIn' (in int PatchVertices)
+0:37 Sequence
+0:37 move second child to first child (temp int)
+0:37 'pid' (temp int)
+0:37 'gl_PrimitiveID' (in int PrimitiveID)
+0:38 Sequence
+0:38 move second child to first child (temp 3-component vector of float)
+0:38 'tc' (temp 3-component vector of float)
+0:38 'gl_TessCoord' (in 3-component vector of float TessCoord)
+0:39 Sequence
+0:39 move second child to first child (temp float)
+0:39 'tlo' (temp float)
+0:39 direct index (patch temp float TessLevelOuter)
+0:39 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
+0:39 Constant:
+0:39 3 (const int)
+0:40 Sequence
+0:40 move second child to first child (temp float)
+0:40 'tli' (temp float)
+0:40 direct index (patch temp float TessLevelInner)
+0:40 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
+0:40 Constant:
+0:40 1 (const int)
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:42 Constant:
+0:42 0 (const uint)
+0:42 'p' (temp 4-component vector of float)
+0:43 move second child to first child (temp float)
+0:43 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
+0:43 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:43 Constant:
+0:43 1 (const uint)
+0:43 'ps' (temp float)
+0:44 move second child to first child (temp float)
+0:44 direct index (temp float ClipDistance)
+0:44 gl_ClipDistance: direct index for structure (out implicitly-sized array of float ClipDistance)
+0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:44 Constant:
+0:44 2 (const uint)
+0:44 Constant:
+0:44 2 (const int)
+0:44 'cd' (temp float)
+0:? Linker Objects
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'badp1' (smooth patch in 4-component vector of float)
+0:? 'badp2' (flat patch in 4-component vector of float)
+0:? 'badp3' (noperspective patch in 4-component vector of float)
+0:? 'badp4' (patch sample in 3-component vector of float)
+0:? 'gl_in' (in 32-element array of block{in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'ina' (in 2-component vector of float)
+0:? 'inb' (in 32-element array of 2-component vector of float)
+0:? 'inc' (in 32-element array of 2-component vector of float)
+0:? 'ind' (in 32-element array of 2-component vector of float)
+0:? 'bla' (in block{in int f})
+0:? 'blb' (in 32-element array of block{in int f})
+0:? 'blc' (in 32-element array of block{in int f})
+0:? 'bld' (in 32-element array of block{in int f})
+0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float)
+0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float)
+0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float)
+0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float)
+0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float)
+0:? 'pinbi' (patch in block{in int a})
+
+
+Linked tessellation evaluation stage:
+
+
+Shader version: 400
+Requested GL_ARB_separate_shader_objects
+input primitive = quads
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+using point mode
+ERROR: node is still EOpNull!
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:22 Sequence
+0:22 Constant:
+0:22 0.000000
+0:24 Sequence
+0:24 move second child to first child (temp int)
+0:24 'a' (temp int)
+0:24 Constant:
+0:24 1512 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp 4-component vector of float)
+0:32 'p' (temp 4-component vector of float)
+0:32 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:32 Constant:
+0:32 1 (const int)
+0:32 Constant:
+0:32 0 (const int)
+0:33 Sequence
+0:33 move second child to first child (temp float)
+0:33 'ps' (temp float)
+0:33 gl_PointSize: direct index for structure (in float PointSize)
+0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp float)
+0:34 'cd' (temp float)
+0:34 direct index (temp float ClipDistance)
+0:34 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
+0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:34 Constant:
+0:34 1 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:34 Constant:
+0:34 2 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp int)
+0:36 'pvi' (temp int)
+0:36 'gl_PatchVerticesIn' (in int PatchVertices)
+0:37 Sequence
+0:37 move second child to first child (temp int)
+0:37 'pid' (temp int)
+0:37 'gl_PrimitiveID' (in int PrimitiveID)
+0:38 Sequence
+0:38 move second child to first child (temp 3-component vector of float)
+0:38 'tc' (temp 3-component vector of float)
+0:38 'gl_TessCoord' (in 3-component vector of float TessCoord)
+0:39 Sequence
+0:39 move second child to first child (temp float)
+0:39 'tlo' (temp float)
+0:39 direct index (patch temp float TessLevelOuter)
+0:39 'gl_TessLevelOuter' (patch in 4-element array of float TessLevelOuter)
+0:39 Constant:
+0:39 3 (const int)
+0:40 Sequence
+0:40 move second child to first child (temp float)
+0:40 'tli' (temp float)
+0:40 direct index (patch temp float TessLevelInner)
+0:40 'gl_TessLevelInner' (patch in 2-element array of float TessLevelInner)
+0:40 Constant:
+0:40 1 (const int)
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:42 Constant:
+0:42 0 (const uint)
+0:42 'p' (temp 4-component vector of float)
+0:43 move second child to first child (temp float)
+0:43 gl_PointSize: direct index for structure (gl_PointSize float PointSize)
+0:43 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:43 Constant:
+0:43 1 (const uint)
+0:43 'ps' (temp float)
+0:44 move second child to first child (temp float)
+0:44 direct index (temp float ClipDistance)
+0:44 gl_ClipDistance: direct index for structure (out 3-element array of float ClipDistance)
+0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:44 Constant:
+0:44 2 (const uint)
+0:44 Constant:
+0:44 2 (const int)
+0:44 'cd' (temp float)
+0:? Linker Objects
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'patchOut' (patch out 4-component vector of float)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 3-element array of float ClipDistance gl_ClipDistance})
+0:? 'badp1' (smooth patch in 4-component vector of float)
+0:? 'badp2' (flat patch in 4-component vector of float)
+0:? 'badp3' (noperspective patch in 4-component vector of float)
+0:? 'badp4' (patch sample in 3-component vector of float)
+0:? 'gl_in' (in 32-element array of block{in 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'ina' (in 2-component vector of float)
+0:? 'inb' (in 32-element array of 2-component vector of float)
+0:? 'inc' (in 32-element array of 2-component vector of float)
+0:? 'ind' (in 32-element array of 2-component vector of float)
+0:? 'bla' (in block{in int f})
+0:? 'blb' (in 32-element array of block{in int f})
+0:? 'blc' (in 32-element array of block{in int f})
+0:? 'bld' (in 32-element array of block{in int f})
+0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float)
+0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float)
+0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float)
+0:? 'ovla' (layout(location=23 ) out 2-element array of 4-component vector of float)
+0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float)
+0:? 'pinbi' (patch in block{in int a})
+
diff --git a/Test/baseResults/410.geom.out b/Test/baseResults/410.geom.out
index 84ae0da..51ab993 100644
--- a/Test/baseResults/410.geom.out
+++ b/Test/baseResults/410.geom.out
@@ -1,112 +1,112 @@
-410.geom
-Warning, version 410 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:8: 'myIn' : cannot redeclare a built-in block with a user name
-ERROR: 0:12: 'gl_myIn' : no declaration found for redeclaration
-ERROR: 0:20: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
-ERROR: 0:32: 'gl_Position' : no such field in structure
-ERROR: 0:32: '=' : cannot convert from 'temp block{in float PointSize gl_PointSize}' to 'temp 4-component vector of float'
-ERROR: 0:33: 'gl_Position' : member of nameless block was not redeclared
-ERROR: 0:33: 'assign' : cannot convert from 'const 4-component vector of float' to 'layout(stream=0 ) gl_Position void Position'
-WARNING: 0:38: 'return' : type conversion on return values was not explicitly allowed until version 420
-ERROR: 7 compilation errors. No code generated.
-
-
-Shader version: 410
-invocations = 0
-max_vertices = 0
-input primitive = none
-output primitive = none
-ERROR: node is still EOpNull!
-0:3 Function Definition: main( (global void)
-0:3 Function Parameters:
-0:5 Sequence
-0:5 move second child to first child (temp int)
-0:5 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
-0:5 Constant:
-0:5 7 (const int)
-0:28 Function Definition: foo( (global void)
-0:28 Function Parameters:
-0:30 Sequence
-0:30 Sequence
-0:30 move second child to first child (temp float)
-0:30 'p' (temp float)
-0:30 gl_PointSize: direct index for structure (in float PointSize)
-0:30 direct index (temp block{in float PointSize gl_PointSize})
-0:30 'gl_in' (in implicitly-sized array of block{in float PointSize gl_PointSize})
-0:30 Constant:
-0:30 1 (const int)
-0:30 Constant:
-0:30 0 (const int)
-0:31 move second child to first child (temp float)
-0:31 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)
-0:31 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
-0:31 Constant:
-0:31 1 (const uint)
-0:31 'p' (temp float)
-0:33 gl_Position: direct index for structure (layout(stream=0 ) gl_Position void Position)
-0:33 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
-0:33 Constant:
-0:33 0 (const uint)
-0:36 Function Definition: foo5( (global float)
-0:36 Function Parameters:
-0:38 Sequence
-0:38 Branch: Return with expression
-0:38 Constant:
-0:38 4.000000
-0:? Linker Objects
-0:? 'gl_in' (in implicitly-sized array of block{in float PointSize gl_PointSize})
-0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
-
-
-Linked geometry stage:
-
-ERROR: Linking geometry stage: At least one shader must specify an input layout primitive
-ERROR: Linking geometry stage: At least one shader must specify an output layout primitive
-ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value)
-
-Shader version: 410
-invocations = 0
-max_vertices = 0
-input primitive = none
-output primitive = none
-ERROR: node is still EOpNull!
-0:3 Function Definition: main( (global void)
-0:3 Function Parameters:
-0:5 Sequence
-0:5 move second child to first child (temp int)
-0:5 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
-0:5 Constant:
-0:5 7 (const int)
-0:28 Function Definition: foo( (global void)
-0:28 Function Parameters:
-0:30 Sequence
-0:30 Sequence
-0:30 move second child to first child (temp float)
-0:30 'p' (temp float)
-0:30 gl_PointSize: direct index for structure (in float PointSize)
-0:30 direct index (temp block{in float PointSize gl_PointSize})
-0:30 'gl_in' (in 2-element array of block{in float PointSize gl_PointSize})
-0:30 Constant:
-0:30 1 (const int)
-0:30 Constant:
-0:30 0 (const int)
-0:31 move second child to first child (temp float)
-0:31 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)
-0:31 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
-0:31 Constant:
-0:31 1 (const uint)
-0:31 'p' (temp float)
-0:33 gl_Position: direct index for structure (layout(stream=0 ) gl_Position void Position)
-0:33 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
-0:33 Constant:
-0:33 0 (const uint)
-0:36 Function Definition: foo5( (global float)
-0:36 Function Parameters:
-0:38 Sequence
-0:38 Branch: Return with expression
-0:38 Constant:
-0:38 4.000000
-0:? Linker Objects
-0:? 'gl_in' (in 2-element array of block{in float PointSize gl_PointSize})
-0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
-
+410.geom
+Warning, version 410 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:8: 'myIn' : cannot redeclare a built-in block with a user name
+ERROR: 0:12: 'gl_myIn' : no declaration found for redeclaration
+ERROR: 0:20: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
+ERROR: 0:32: 'gl_Position' : no such field in structure
+ERROR: 0:32: '=' : cannot convert from 'temp block{in float PointSize gl_PointSize}' to 'temp 4-component vector of float'
+ERROR: 0:33: 'gl_Position' : member of nameless block was not redeclared
+ERROR: 0:33: 'assign' : cannot convert from 'const 4-component vector of float' to 'layout(stream=0 ) gl_Position void Position'
+WARNING: 0:38: 'return' : type conversion on return values was not explicitly allowed until version 420
+ERROR: 7 compilation errors. No code generated.
+
+
+Shader version: 410
+invocations = 0
+max_vertices = 0
+input primitive = none
+output primitive = none
+ERROR: node is still EOpNull!
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
+0:5 Constant:
+0:5 7 (const int)
+0:28 Function Definition: foo( (global void)
+0:28 Function Parameters:
+0:30 Sequence
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'p' (temp float)
+0:30 gl_PointSize: direct index for structure (in float PointSize)
+0:30 direct index (temp block{in float PointSize gl_PointSize})
+0:30 'gl_in' (in implicitly-sized array of block{in float PointSize gl_PointSize})
+0:30 Constant:
+0:30 1 (const int)
+0:30 Constant:
+0:30 0 (const int)
+0:31 move second child to first child (temp float)
+0:31 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)
+0:31 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
+0:31 Constant:
+0:31 1 (const uint)
+0:31 'p' (temp float)
+0:33 gl_Position: direct index for structure (layout(stream=0 ) gl_Position void Position)
+0:33 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
+0:33 Constant:
+0:33 0 (const uint)
+0:36 Function Definition: foo5( (global float)
+0:36 Function Parameters:
+0:38 Sequence
+0:38 Branch: Return with expression
+0:38 Constant:
+0:38 4.000000
+0:? Linker Objects
+0:? 'gl_in' (in implicitly-sized array of block{in float PointSize gl_PointSize})
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
+
+
+Linked geometry stage:
+
+ERROR: Linking geometry stage: At least one shader must specify an input layout primitive
+ERROR: Linking geometry stage: At least one shader must specify an output layout primitive
+ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value)
+
+Shader version: 410
+invocations = 0
+max_vertices = 0
+input primitive = none
+output primitive = none
+ERROR: node is still EOpNull!
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
+0:5 Constant:
+0:5 7 (const int)
+0:28 Function Definition: foo( (global void)
+0:28 Function Parameters:
+0:30 Sequence
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'p' (temp float)
+0:30 gl_PointSize: direct index for structure (in float PointSize)
+0:30 direct index (temp block{in float PointSize gl_PointSize})
+0:30 'gl_in' (in 2-element array of block{in float PointSize gl_PointSize})
+0:30 Constant:
+0:30 1 (const int)
+0:30 Constant:
+0:30 0 (const int)
+0:31 move second child to first child (temp float)
+0:31 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)
+0:31 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
+0:31 Constant:
+0:31 1 (const uint)
+0:31 'p' (temp float)
+0:33 gl_Position: direct index for structure (layout(stream=0 ) gl_Position void Position)
+0:33 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
+0:33 Constant:
+0:33 0 (const uint)
+0:36 Function Definition: foo5( (global float)
+0:36 Function Parameters:
+0:38 Sequence
+0:38 Branch: Return with expression
+0:38 Constant:
+0:38 4.000000
+0:? Linker Objects
+0:? 'gl_in' (in 2-element array of block{in float PointSize gl_PointSize})
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
+
diff --git a/Test/baseResults/410.tesc.out b/Test/baseResults/410.tesc.out
index 1440758..7c536c0 100644
--- a/Test/baseResults/410.tesc.out
+++ b/Test/baseResults/410.tesc.out
@@ -1,31 +1,31 @@
-410.tesc
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:4: 'length' : array must first be sized by a redeclaration or layout qualifier
-ERROR: 1 compilation errors. No code generated.
-
-
-Shader version: 400
-vertices = 0
-ERROR: node is still EOpNull!
-0:8 Function Definition: main( (global void)
-0:8 Function Parameters:
-0:? Linker Objects
-0:? 'gl_out' (out implicitly-sized array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:? 'outa' (global 1-element array of int)
-0:? 'patchOut' (patch out 4-component vector of float)
-
-
-Linked tessellation control stage:
-
-ERROR: Linking tessellation control stage: At least one shader must specify an output layout(vertices=...)
-
-Shader version: 400
-vertices = 0
-ERROR: node is still EOpNull!
-0:8 Function Definition: main( (global void)
-0:8 Function Parameters:
-0:? Linker Objects
-0:? 'gl_out' (out 1-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
-0:? 'outa' (global 1-element array of int)
-0:? 'patchOut' (patch out 4-component vector of float)
-
+410.tesc
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:4: 'length' : array must first be sized by a redeclaration or layout qualifier
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 400
+vertices = 0
+ERROR: node is still EOpNull!
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:? Linker Objects
+0:? 'gl_out' (out implicitly-sized array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'outa' (global 1-element array of int)
+0:? 'patchOut' (patch out 4-component vector of float)
+
+
+Linked tessellation control stage:
+
+ERROR: Linking tessellation control stage: At least one shader must specify an output layout(vertices=...)
+
+Shader version: 400
+vertices = 0
+ERROR: node is still EOpNull!
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:? Linker Objects
+0:? 'gl_out' (out 1-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'outa' (global 1-element array of int)
+0:? 'patchOut' (patch out 4-component vector of float)
+
diff --git a/Test/baseResults/420.frag.out b/Test/baseResults/420.frag.out
index ddb3b99..0697b52 100644
--- a/Test/baseResults/420.frag.out
+++ b/Test/baseResults/420.frag.out
@@ -1,42 +1,42 @@
-420.frag
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:4: 'redeclaration' : all redeclarations must use the same depth layout on gl_FragDepth
-ERROR: 0:11: 'layout qualifier' : can only apply depth layout to gl_FragDepth
-ERROR: 0:12: 'gl_FragDepth' : cannot redeclare after use
-ERROR: 3 compilation errors. No code generated.
-
-
-Shader version: 420
-using depth_any
-ERROR: node is still EOpNull!
-0:6 Function Definition: main( (global void)
-0:6 Function Parameters:
-0:8 Sequence
-0:8 move second child to first child (temp float)
-0:8 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:8 Constant:
-0:8 0.300000
-0:? Linker Objects
-0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:? 'depth' (smooth in float)
-
-
-Linked fragment stage:
-
-
-Shader version: 420
-using depth_any
-ERROR: node is still EOpNull!
-0:6 Function Definition: main( (global void)
-0:6 Function Parameters:
-0:8 Sequence
-0:8 move second child to first child (temp float)
-0:8 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:8 Constant:
-0:8 0.300000
-0:? Linker Objects
-0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:? 'depth' (smooth in float)
-
+420.frag
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:4: 'redeclaration' : all redeclarations must use the same depth layout on gl_FragDepth
+ERROR: 0:11: 'layout qualifier' : can only apply depth layout to gl_FragDepth
+ERROR: 0:12: 'gl_FragDepth' : cannot redeclare after use
+ERROR: 3 compilation errors. No code generated.
+
+
+Shader version: 420
+using depth_any
+ERROR: node is still EOpNull!
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:8 Constant:
+0:8 0.300000
+0:? Linker Objects
+0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:? 'depth' (smooth in float)
+
+
+Linked fragment stage:
+
+
+Shader version: 420
+using depth_any
+ERROR: node is still EOpNull!
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:8 Constant:
+0:8 0.300000
+0:? Linker Objects
+0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:? 'depth' (smooth in float)
+
diff --git a/Test/baseResults/420.geom.out b/Test/baseResults/420.geom.out
index cd77ce9..99d6274 100644
--- a/Test/baseResults/420.geom.out
+++ b/Test/baseResults/420.geom.out
@@ -1,258 +1,258 @@
-420.geom
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:9: 'length' : array must first be sized by a redeclaration or layout qualifier
-ERROR: 0:11: '[' : array must be sized by a redeclaration or layout qualifier before being indexed with a variable
-ERROR: 0:42: 'assign' : l-value required (can't modify a const)
-ERROR: 0:43: 'assign' : l-value required "v4" (can't modify a uniform)
-ERROR: 0:48: 'gl_PointSize' : cannot change arrayness of redeclared block member
-ERROR: 0:49: 'gl_ClipDistance' : cannot change arrayness of redeclared block member
-ERROR: 6 compilation errors. No code generated.
-
-
-Shader version: 420
-invocations = 0
-max_vertices = 0
-input primitive = triangles
-output primitive = none
-ERROR: node is still EOpNull!
-0:7 Function Definition: foo( (global void)
-0:7 Function Parameters:
-0:9 Sequence
-0:9 Constant:
-0:9 1 (const int)
-0:10 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:10 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:10 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:10 Constant:
-0:10 1 (const int)
-0:10 Constant:
-0:10 0 (const int)
-0:11 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:11 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:11 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:11 'i' (global int)
-0:11 Constant:
-0:11 0 (const int)
-0:18 Function Definition: foo3( (global void)
-0:18 Function Parameters:
-0:20 Sequence
-0:20 Constant:
-0:20 3 (const int)
-0:21 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:21 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:21 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:21 'i' (global int)
-0:21 Constant:
-0:21 0 (const int)
-0:22 Constant:
-0:22 3 (const int)
-0:29 Function Definition: foo4( (global void)
-0:29 Function Parameters:
-0:? Sequence
-0:40 Sequence
-0:40 move second child to first child (temp 4-component vector of float)
-0:40 'v' (temp 4-component vector of float)
-0:40 textureGatherOffset (global 4-component vector of float)
-0:40 's2D' (uniform sampler2D)
-0:40 direct index (temp 2-component vector of float)
-0:40 'coord' (in 3-element array of 2-component vector of float)
-0:40 Constant:
-0:40 0 (const int)
-0:40 vector swizzle (temp 2-component vector of int)
-0:40 indirect index (temp 2-component vector of int)
-0:40 Constant:
-0:40 0 (const int)
-0:40 1 (const int)
-0:40 1 (const int)
-0:40 -2 (const int)
-0:40 0 (const int)
-0:40 3 (const int)
-0:40 -3 (const int)
-0:40 0 (const int)
-0:40 2 (const int)
-0:40 1 (const int)
-0:40 'i' (global int)
-0:40 Sequence
-0:40 Constant:
-0:40 0 (const int)
-0:40 Constant:
-0:40 1 (const int)
-0:42 move second child to first child (temp 2-component vector of int)
-0:42 vector swizzle (temp 2-component vector of int)
-0:42 indirect index (temp 2-component vector of int)
-0:42 Constant:
-0:42 0 (const int)
-0:42 1 (const int)
-0:42 1 (const int)
-0:42 -2 (const int)
-0:42 0 (const int)
-0:42 3 (const int)
-0:42 -3 (const int)
-0:42 0 (const int)
-0:42 2 (const int)
-0:42 1 (const int)
-0:42 'i' (global int)
-0:42 Sequence
-0:42 Constant:
-0:42 0 (const int)
-0:42 Constant:
-0:42 1 (const int)
-0:42 Constant:
-0:42 3 (const int)
-0:42 3 (const int)
-0:43 move second child to first child (temp float)
-0:43 direct index (temp float)
-0:43 'v4' (uniform 4-component vector of float)
-0:43 Constant:
-0:43 0 (const int)
-0:43 Constant:
-0:43 3.200000
-0:44 vector swizzle (temp 2-component vector of float)
-0:44 'v4' (uniform 4-component vector of float)
-0:44 Sequence
-0:44 Constant:
-0:44 0 (const int)
-0:44 Constant:
-0:44 1 (const int)
-0:52 Function Definition: foo5( (global float)
-0:52 Function Parameters:
-0:54 Sequence
-0:54 Branch: Return with expression
-0:54 Convert int to float (temp float)
-0:54 'i' (global int)
-0:? Linker Objects
-0:? 'i' (global int)
-0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:? 'color3' (in 3-element array of 4-component vector of float)
-0:? 's2D' (uniform sampler2D)
-0:? 'coord' (in 3-element array of 2-component vector of float)
-0:? 'v4' (uniform 4-component vector of float)
-0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})
-
-
-Linked geometry stage:
-
-ERROR: Linking geometry stage: Missing entry point: Each stage requires one "void main()" entry point
-ERROR: Linking geometry stage: At least one shader must specify an output layout primitive
-ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value)
-
-Shader version: 420
-invocations = 0
-max_vertices = 0
-input primitive = triangles
-output primitive = none
-ERROR: node is still EOpNull!
-0:7 Function Definition: foo( (global void)
-0:7 Function Parameters:
-0:9 Sequence
-0:9 Constant:
-0:9 1 (const int)
-0:10 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:10 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:10 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:10 Constant:
-0:10 1 (const int)
-0:10 Constant:
-0:10 0 (const int)
-0:11 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:11 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:11 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:11 'i' (global int)
-0:11 Constant:
-0:11 0 (const int)
-0:18 Function Definition: foo3( (global void)
-0:18 Function Parameters:
-0:20 Sequence
-0:20 Constant:
-0:20 3 (const int)
-0:21 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:21 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:21 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:21 'i' (global int)
-0:21 Constant:
-0:21 0 (const int)
-0:22 Constant:
-0:22 3 (const int)
-0:29 Function Definition: foo4( (global void)
-0:29 Function Parameters:
-0:? Sequence
-0:40 Sequence
-0:40 move second child to first child (temp 4-component vector of float)
-0:40 'v' (temp 4-component vector of float)
-0:40 textureGatherOffset (global 4-component vector of float)
-0:40 's2D' (uniform sampler2D)
-0:40 direct index (temp 2-component vector of float)
-0:40 'coord' (in 3-element array of 2-component vector of float)
-0:40 Constant:
-0:40 0 (const int)
-0:40 vector swizzle (temp 2-component vector of int)
-0:40 indirect index (temp 2-component vector of int)
-0:40 Constant:
-0:40 0 (const int)
-0:40 1 (const int)
-0:40 1 (const int)
-0:40 -2 (const int)
-0:40 0 (const int)
-0:40 3 (const int)
-0:40 -3 (const int)
-0:40 0 (const int)
-0:40 2 (const int)
-0:40 1 (const int)
-0:40 'i' (global int)
-0:40 Sequence
-0:40 Constant:
-0:40 0 (const int)
-0:40 Constant:
-0:40 1 (const int)
-0:42 move second child to first child (temp 2-component vector of int)
-0:42 vector swizzle (temp 2-component vector of int)
-0:42 indirect index (temp 2-component vector of int)
-0:42 Constant:
-0:42 0 (const int)
-0:42 1 (const int)
-0:42 1 (const int)
-0:42 -2 (const int)
-0:42 0 (const int)
-0:42 3 (const int)
-0:42 -3 (const int)
-0:42 0 (const int)
-0:42 2 (const int)
-0:42 1 (const int)
-0:42 'i' (global int)
-0:42 Sequence
-0:42 Constant:
-0:42 0 (const int)
-0:42 Constant:
-0:42 1 (const int)
-0:42 Constant:
-0:42 3 (const int)
-0:42 3 (const int)
-0:43 move second child to first child (temp float)
-0:43 direct index (temp float)
-0:43 'v4' (uniform 4-component vector of float)
-0:43 Constant:
-0:43 0 (const int)
-0:43 Constant:
-0:43 3.200000
-0:44 vector swizzle (temp 2-component vector of float)
-0:44 'v4' (uniform 4-component vector of float)
-0:44 Sequence
-0:44 Constant:
-0:44 0 (const int)
-0:44 Constant:
-0:44 1 (const int)
-0:52 Function Definition: foo5( (global float)
-0:52 Function Parameters:
-0:54 Sequence
-0:54 Branch: Return with expression
-0:54 Convert int to float (temp float)
-0:54 'i' (global int)
-0:? Linker Objects
-0:? 'i' (global int)
-0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:? 'color3' (in 3-element array of 4-component vector of float)
-0:? 's2D' (uniform sampler2D)
-0:? 'coord' (in 3-element array of 2-component vector of float)
-0:? 'v4' (uniform 4-component vector of float)
-0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 1-element array of float ClipDistance gl_ClipDistance})
-
+420.geom
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:9: 'length' : array must first be sized by a redeclaration or layout qualifier
+ERROR: 0:11: '[' : array must be sized by a redeclaration or layout qualifier before being indexed with a variable
+ERROR: 0:42: 'assign' : l-value required (can't modify a const)
+ERROR: 0:43: 'assign' : l-value required "v4" (can't modify a uniform)
+ERROR: 0:48: 'gl_PointSize' : cannot change arrayness of redeclared block member
+ERROR: 0:49: 'gl_ClipDistance' : cannot change arrayness of redeclared block member
+ERROR: 6 compilation errors. No code generated.
+
+
+Shader version: 420
+invocations = 0
+max_vertices = 0
+input primitive = triangles
+output primitive = none
+ERROR: node is still EOpNull!
+0:7 Function Definition: foo( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Constant:
+0:9 1 (const int)
+0:10 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:10 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:10 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:10 Constant:
+0:10 1 (const int)
+0:10 Constant:
+0:10 0 (const int)
+0:11 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:11 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:11 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:11 'i' (global int)
+0:11 Constant:
+0:11 0 (const int)
+0:18 Function Definition: foo3( (global void)
+0:18 Function Parameters:
+0:20 Sequence
+0:20 Constant:
+0:20 3 (const int)
+0:21 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:21 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:21 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:21 'i' (global int)
+0:21 Constant:
+0:21 0 (const int)
+0:22 Constant:
+0:22 3 (const int)
+0:29 Function Definition: foo4( (global void)
+0:29 Function Parameters:
+0:? Sequence
+0:40 Sequence
+0:40 move second child to first child (temp 4-component vector of float)
+0:40 'v' (temp 4-component vector of float)
+0:40 textureGatherOffset (global 4-component vector of float)
+0:40 's2D' (uniform sampler2D)
+0:40 direct index (temp 2-component vector of float)
+0:40 'coord' (in 3-element array of 2-component vector of float)
+0:40 Constant:
+0:40 0 (const int)
+0:40 vector swizzle (temp 2-component vector of int)
+0:40 indirect index (temp 2-component vector of int)
+0:40 Constant:
+0:40 0 (const int)
+0:40 1 (const int)
+0:40 1 (const int)
+0:40 -2 (const int)
+0:40 0 (const int)
+0:40 3 (const int)
+0:40 -3 (const int)
+0:40 0 (const int)
+0:40 2 (const int)
+0:40 1 (const int)
+0:40 'i' (global int)
+0:40 Sequence
+0:40 Constant:
+0:40 0 (const int)
+0:40 Constant:
+0:40 1 (const int)
+0:42 move second child to first child (temp 2-component vector of int)
+0:42 vector swizzle (temp 2-component vector of int)
+0:42 indirect index (temp 2-component vector of int)
+0:42 Constant:
+0:42 0 (const int)
+0:42 1 (const int)
+0:42 1 (const int)
+0:42 -2 (const int)
+0:42 0 (const int)
+0:42 3 (const int)
+0:42 -3 (const int)
+0:42 0 (const int)
+0:42 2 (const int)
+0:42 1 (const int)
+0:42 'i' (global int)
+0:42 Sequence
+0:42 Constant:
+0:42 0 (const int)
+0:42 Constant:
+0:42 1 (const int)
+0:42 Constant:
+0:42 3 (const int)
+0:42 3 (const int)
+0:43 move second child to first child (temp float)
+0:43 direct index (temp float)
+0:43 'v4' (uniform 4-component vector of float)
+0:43 Constant:
+0:43 0 (const int)
+0:43 Constant:
+0:43 3.200000
+0:44 vector swizzle (temp 2-component vector of float)
+0:44 'v4' (uniform 4-component vector of float)
+0:44 Sequence
+0:44 Constant:
+0:44 0 (const int)
+0:44 Constant:
+0:44 1 (const int)
+0:52 Function Definition: foo5( (global float)
+0:52 Function Parameters:
+0:54 Sequence
+0:54 Branch: Return with expression
+0:54 Convert int to float (temp float)
+0:54 'i' (global int)
+0:? Linker Objects
+0:? 'i' (global int)
+0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:? 'color3' (in 3-element array of 4-component vector of float)
+0:? 's2D' (uniform sampler2D)
+0:? 'coord' (in 3-element array of 2-component vector of float)
+0:? 'v4' (uniform 4-component vector of float)
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out implicitly-sized array of float ClipDistance gl_ClipDistance})
+
+
+Linked geometry stage:
+
+ERROR: Linking geometry stage: Missing entry point: Each stage requires one "void main()" entry point
+ERROR: Linking geometry stage: At least one shader must specify an output layout primitive
+ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value)
+
+Shader version: 420
+invocations = 0
+max_vertices = 0
+input primitive = triangles
+output primitive = none
+ERROR: node is still EOpNull!
+0:7 Function Definition: foo( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Constant:
+0:9 1 (const int)
+0:10 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:10 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:10 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:10 Constant:
+0:10 1 (const int)
+0:10 Constant:
+0:10 0 (const int)
+0:11 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:11 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:11 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:11 'i' (global int)
+0:11 Constant:
+0:11 0 (const int)
+0:18 Function Definition: foo3( (global void)
+0:18 Function Parameters:
+0:20 Sequence
+0:20 Constant:
+0:20 3 (const int)
+0:21 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:21 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:21 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:21 'i' (global int)
+0:21 Constant:
+0:21 0 (const int)
+0:22 Constant:
+0:22 3 (const int)
+0:29 Function Definition: foo4( (global void)
+0:29 Function Parameters:
+0:? Sequence
+0:40 Sequence
+0:40 move second child to first child (temp 4-component vector of float)
+0:40 'v' (temp 4-component vector of float)
+0:40 textureGatherOffset (global 4-component vector of float)
+0:40 's2D' (uniform sampler2D)
+0:40 direct index (temp 2-component vector of float)
+0:40 'coord' (in 3-element array of 2-component vector of float)
+0:40 Constant:
+0:40 0 (const int)
+0:40 vector swizzle (temp 2-component vector of int)
+0:40 indirect index (temp 2-component vector of int)
+0:40 Constant:
+0:40 0 (const int)
+0:40 1 (const int)
+0:40 1 (const int)
+0:40 -2 (const int)
+0:40 0 (const int)
+0:40 3 (const int)
+0:40 -3 (const int)
+0:40 0 (const int)
+0:40 2 (const int)
+0:40 1 (const int)
+0:40 'i' (global int)
+0:40 Sequence
+0:40 Constant:
+0:40 0 (const int)
+0:40 Constant:
+0:40 1 (const int)
+0:42 move second child to first child (temp 2-component vector of int)
+0:42 vector swizzle (temp 2-component vector of int)
+0:42 indirect index (temp 2-component vector of int)
+0:42 Constant:
+0:42 0 (const int)
+0:42 1 (const int)
+0:42 1 (const int)
+0:42 -2 (const int)
+0:42 0 (const int)
+0:42 3 (const int)
+0:42 -3 (const int)
+0:42 0 (const int)
+0:42 2 (const int)
+0:42 1 (const int)
+0:42 'i' (global int)
+0:42 Sequence
+0:42 Constant:
+0:42 0 (const int)
+0:42 Constant:
+0:42 1 (const int)
+0:42 Constant:
+0:42 3 (const int)
+0:42 3 (const int)
+0:43 move second child to first child (temp float)
+0:43 direct index (temp float)
+0:43 'v4' (uniform 4-component vector of float)
+0:43 Constant:
+0:43 0 (const int)
+0:43 Constant:
+0:43 3.200000
+0:44 vector swizzle (temp 2-component vector of float)
+0:44 'v4' (uniform 4-component vector of float)
+0:44 Sequence
+0:44 Constant:
+0:44 0 (const int)
+0:44 Constant:
+0:44 1 (const int)
+0:52 Function Definition: foo5( (global float)
+0:52 Function Parameters:
+0:54 Sequence
+0:54 Branch: Return with expression
+0:54 Convert int to float (temp float)
+0:54 'i' (global int)
+0:? Linker Objects
+0:? 'i' (global int)
+0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'color3' (in 3-element array of 4-component vector of float)
+0:? 's2D' (uniform sampler2D)
+0:? 'coord' (in 3-element array of 2-component vector of float)
+0:? 'v4' (uniform 4-component vector of float)
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 1-element array of float ClipDistance gl_ClipDistance})
+
diff --git a/Test/baseResults/420.tesc.out b/Test/baseResults/420.tesc.out
index c087513..ed5fbea 100644
--- a/Test/baseResults/420.tesc.out
+++ b/Test/baseResults/420.tesc.out
@@ -1,229 +1,229 @@
-420.tesc
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size of gl_out
-ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a
-ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb
-ERROR: 0:26: 'gl_PointSize' : no such field in structure
-ERROR: 0:26: 'assign' : cannot convert from 'temp float' to 'temp block{out 4-component vector of float Position gl_Position}'
-ERROR: 0:29: 'out' : type must be an array: outf
-ERROR: 6 compilation errors. No code generated.
-
-
-Shader version: 420
-Requested GL_ARB_separate_shader_objects
-vertices = 4
-ERROR: node is still EOpNull!
-0:15 Function Definition: main( (global void)
-0:15 Function Parameters:
-0:17 Sequence
-0:17 Sequence
-0:17 move second child to first child (temp 4-component vector of float)
-0:17 'p' (temp 4-component vector of float)
-0:17 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:17 Constant:
-0:17 1 (const int)
-0:17 Constant:
-0:17 0 (const int)
-0:18 Sequence
-0:18 move second child to first child (temp float)
-0:18 'ps' (temp float)
-0:18 gl_PointSize: direct index for structure (in float PointSize)
-0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:18 Constant:
-0:18 1 (const int)
-0:18 Constant:
-0:18 1 (const int)
-0:19 Sequence
-0:19 move second child to first child (temp float)
-0:19 'cd' (temp float)
-0:19 direct index (temp float ClipDistance)
-0:19 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
-0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:19 Constant:
-0:19 1 (const int)
-0:19 Constant:
-0:19 2 (const int)
-0:19 Constant:
-0:19 2 (const int)
-0:21 Sequence
-0:21 move second child to first child (temp int)
-0:21 'pvi' (temp int)
-0:21 'gl_PatchVerticesIn' (in int PatchVertices)
-0:22 Sequence
-0:22 move second child to first child (temp int)
-0:22 'pid' (temp int)
-0:22 'gl_PrimitiveID' (in int PrimitiveID)
-0:23 Sequence
-0:23 move second child to first child (temp int)
-0:23 'iid' (temp int)
-0:23 'gl_InvocationID' (in int InvocationID)
-0:25 move second child to first child (temp 4-component vector of float)
-0:25 gl_Position: direct index for structure (out 4-component vector of float Position)
-0:25 indirect index (temp block{out 4-component vector of float Position gl_Position})
-0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
-0:25 'gl_InvocationID' (in int InvocationID)
-0:25 Constant:
-0:25 0 (const int)
-0:25 'p' (temp 4-component vector of float)
-0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
-0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
-0:26 'gl_InvocationID' (in int InvocationID)
-0:34 Function Definition: foo( (global void)
-0:34 Function Parameters:
-0:36 Sequence
-0:36 Test condition and select (temp void)
-0:36 Condition
-0:36 logical-or (temp bool)
-0:36 Compare Not Equal (temp bool)
-0:36 Constant:
-0:36 -0.625000
-0:36 -0.500000
-0:36 -0.375000
-0:36 -0.250000
-0:36 -0.375000
-0:36 -0.250000
-0:36 -0.125000
-0:36 0.000000
-0:36 direct index (layout(location=0 ) temp 2X4 matrix of double)
-0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
-0:36 Constant:
-0:36 0 (const int)
-0:37 Compare Not Equal (temp bool)
-0:37 Constant:
-0:37 0.375000
-0:37 0.500000
-0:37 0.625000
-0:37 0.750000
-0:37 0.625000
-0:37 0.750000
-0:37 0.875000
-0:37 -0.625000
-0:37 direct index (layout(location=12 ) temp 2X4 matrix of double)
-0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
-0:37 Constant:
-0:37 0 (const int)
-0:36 true case is null
-0:? Linker Objects
-0:? 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
-0:? 'a' (out 3-element array of int)
-0:? 'outb' (out 5-element array of int)
-0:? 'outc' (out 4-element array of int)
-0:? 'outf' (out float)
-0:? 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
-0:? 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
-
-
-Linked tessellation control stage:
-
-
-Shader version: 420
-Requested GL_ARB_separate_shader_objects
-vertices = 4
-ERROR: node is still EOpNull!
-0:15 Function Definition: main( (global void)
-0:15 Function Parameters:
-0:17 Sequence
-0:17 Sequence
-0:17 move second child to first child (temp 4-component vector of float)
-0:17 'p' (temp 4-component vector of float)
-0:17 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:17 Constant:
-0:17 1 (const int)
-0:17 Constant:
-0:17 0 (const int)
-0:18 Sequence
-0:18 move second child to first child (temp float)
-0:18 'ps' (temp float)
-0:18 gl_PointSize: direct index for structure (in float PointSize)
-0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:18 Constant:
-0:18 1 (const int)
-0:18 Constant:
-0:18 1 (const int)
-0:19 Sequence
-0:19 move second child to first child (temp float)
-0:19 'cd' (temp float)
-0:19 direct index (temp float ClipDistance)
-0:19 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
-0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:19 Constant:
-0:19 1 (const int)
-0:19 Constant:
-0:19 2 (const int)
-0:19 Constant:
-0:19 2 (const int)
-0:21 Sequence
-0:21 move second child to first child (temp int)
-0:21 'pvi' (temp int)
-0:21 'gl_PatchVerticesIn' (in int PatchVertices)
-0:22 Sequence
-0:22 move second child to first child (temp int)
-0:22 'pid' (temp int)
-0:22 'gl_PrimitiveID' (in int PrimitiveID)
-0:23 Sequence
-0:23 move second child to first child (temp int)
-0:23 'iid' (temp int)
-0:23 'gl_InvocationID' (in int InvocationID)
-0:25 move second child to first child (temp 4-component vector of float)
-0:25 gl_Position: direct index for structure (out 4-component vector of float Position)
-0:25 indirect index (temp block{out 4-component vector of float Position gl_Position})
-0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
-0:25 'gl_InvocationID' (in int InvocationID)
-0:25 Constant:
-0:25 0 (const int)
-0:25 'p' (temp 4-component vector of float)
-0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
-0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
-0:26 'gl_InvocationID' (in int InvocationID)
-0:34 Function Definition: foo( (global void)
-0:34 Function Parameters:
-0:36 Sequence
-0:36 Test condition and select (temp void)
-0:36 Condition
-0:36 logical-or (temp bool)
-0:36 Compare Not Equal (temp bool)
-0:36 Constant:
-0:36 -0.625000
-0:36 -0.500000
-0:36 -0.375000
-0:36 -0.250000
-0:36 -0.375000
-0:36 -0.250000
-0:36 -0.125000
-0:36 0.000000
-0:36 direct index (layout(location=0 ) temp 2X4 matrix of double)
-0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
-0:36 Constant:
-0:36 0 (const int)
-0:37 Compare Not Equal (temp bool)
-0:37 Constant:
-0:37 0.375000
-0:37 0.500000
-0:37 0.625000
-0:37 0.750000
-0:37 0.625000
-0:37 0.750000
-0:37 0.875000
-0:37 -0.625000
-0:37 direct index (layout(location=12 ) temp 2X4 matrix of double)
-0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
-0:37 Constant:
-0:37 0 (const int)
-0:36 true case is null
-0:? Linker Objects
-0:? 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
-0:? 'a' (out 3-element array of int)
-0:? 'outb' (out 5-element array of int)
-0:? 'outc' (out 4-element array of int)
-0:? 'outf' (out float)
-0:? 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
-0:? 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
-
+420.tesc
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size of gl_out
+ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a
+ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb
+ERROR: 0:26: 'gl_PointSize' : no such field in structure
+ERROR: 0:26: 'assign' : cannot convert from 'temp float' to 'temp block{out 4-component vector of float Position gl_Position}'
+ERROR: 0:29: 'out' : type must be an array: outf
+ERROR: 6 compilation errors. No code generated.
+
+
+Shader version: 420
+Requested GL_ARB_separate_shader_objects
+vertices = 4
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'p' (temp 4-component vector of float)
+0:17 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:17 Constant:
+0:17 1 (const int)
+0:17 Constant:
+0:17 0 (const int)
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'ps' (temp float)
+0:18 gl_PointSize: direct index for structure (in float PointSize)
+0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:18 Constant:
+0:18 1 (const int)
+0:18 Constant:
+0:18 1 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'cd' (temp float)
+0:19 direct index (temp float ClipDistance)
+0:19 gl_ClipDistance: direct index for structure (in implicitly-sized array of float ClipDistance)
+0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:19 Constant:
+0:19 1 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp int)
+0:21 'pvi' (temp int)
+0:21 'gl_PatchVerticesIn' (in int PatchVertices)
+0:22 Sequence
+0:22 move second child to first child (temp int)
+0:22 'pid' (temp int)
+0:22 'gl_PrimitiveID' (in int PrimitiveID)
+0:23 Sequence
+0:23 move second child to first child (temp int)
+0:23 'iid' (temp int)
+0:23 'gl_InvocationID' (in int InvocationID)
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:25 indirect index (temp block{out 4-component vector of float Position gl_Position})
+0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:25 'gl_InvocationID' (in int InvocationID)
+0:25 Constant:
+0:25 0 (const int)
+0:25 'p' (temp 4-component vector of float)
+0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
+0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:26 'gl_InvocationID' (in int InvocationID)
+0:34 Function Definition: foo( (global void)
+0:34 Function Parameters:
+0:36 Sequence
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 logical-or (temp bool)
+0:36 Compare Not Equal (temp bool)
+0:36 Constant:
+0:36 -0.625000
+0:36 -0.500000
+0:36 -0.375000
+0:36 -0.250000
+0:36 -0.375000
+0:36 -0.250000
+0:36 -0.125000
+0:36 0.000000
+0:36 direct index (layout(location=0 ) temp 2X4 matrix of double)
+0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
+0:36 Constant:
+0:36 0 (const int)
+0:37 Compare Not Equal (temp bool)
+0:37 Constant:
+0:37 0.375000
+0:37 0.500000
+0:37 0.625000
+0:37 0.750000
+0:37 0.625000
+0:37 0.750000
+0:37 0.875000
+0:37 -0.625000
+0:37 direct index (layout(location=12 ) temp 2X4 matrix of double)
+0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
+0:37 Constant:
+0:37 0 (const int)
+0:36 true case is null
+0:? Linker Objects
+0:? 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:? 'a' (out 3-element array of int)
+0:? 'outb' (out 5-element array of int)
+0:? 'outc' (out 4-element array of int)
+0:? 'outf' (out float)
+0:? 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
+0:? 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
+
+
+Linked tessellation control stage:
+
+
+Shader version: 420
+Requested GL_ARB_separate_shader_objects
+vertices = 4
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'p' (temp 4-component vector of float)
+0:17 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:17 Constant:
+0:17 1 (const int)
+0:17 Constant:
+0:17 0 (const int)
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'ps' (temp float)
+0:18 gl_PointSize: direct index for structure (in float PointSize)
+0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:18 Constant:
+0:18 1 (const int)
+0:18 Constant:
+0:18 1 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'cd' (temp float)
+0:19 direct index (temp float ClipDistance)
+0:19 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance)
+0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:19 Constant:
+0:19 1 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:19 Constant:
+0:19 2 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp int)
+0:21 'pvi' (temp int)
+0:21 'gl_PatchVerticesIn' (in int PatchVertices)
+0:22 Sequence
+0:22 move second child to first child (temp int)
+0:22 'pid' (temp int)
+0:22 'gl_PrimitiveID' (in int PrimitiveID)
+0:23 Sequence
+0:23 move second child to first child (temp int)
+0:23 'iid' (temp int)
+0:23 'gl_InvocationID' (in int InvocationID)
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 gl_Position: direct index for structure (out 4-component vector of float Position)
+0:25 indirect index (temp block{out 4-component vector of float Position gl_Position})
+0:25 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:25 'gl_InvocationID' (in int InvocationID)
+0:25 Constant:
+0:25 0 (const int)
+0:25 'p' (temp 4-component vector of float)
+0:26 indirect index (temp block{out 4-component vector of float Position gl_Position})
+0:26 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:26 'gl_InvocationID' (in int InvocationID)
+0:34 Function Definition: foo( (global void)
+0:34 Function Parameters:
+0:36 Sequence
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 logical-or (temp bool)
+0:36 Compare Not Equal (temp bool)
+0:36 Constant:
+0:36 -0.625000
+0:36 -0.500000
+0:36 -0.375000
+0:36 -0.250000
+0:36 -0.375000
+0:36 -0.250000
+0:36 -0.125000
+0:36 0.000000
+0:36 direct index (layout(location=0 ) temp 2X4 matrix of double)
+0:36 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
+0:36 Constant:
+0:36 0 (const int)
+0:37 Compare Not Equal (temp bool)
+0:37 Constant:
+0:37 0.375000
+0:37 0.500000
+0:37 0.625000
+0:37 0.750000
+0:37 0.625000
+0:37 0.750000
+0:37 0.875000
+0:37 -0.625000
+0:37 direct index (layout(location=12 ) temp 2X4 matrix of double)
+0:37 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
+0:37 Constant:
+0:37 0 (const int)
+0:36 true case is null
+0:? Linker Objects
+0:? 'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
+0:? 'a' (out 3-element array of int)
+0:? 'outb' (out 5-element array of int)
+0:? 'outc' (out 4-element array of int)
+0:? 'outf' (out float)
+0:? 'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
+0:? 'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
+
diff --git a/Test/baseResults/420.tese.out b/Test/baseResults/420.tese.out
index b39d969..26eac10 100644
--- a/Test/baseResults/420.tese.out
+++ b/Test/baseResults/420.tese.out
@@ -1,313 +1,313 @@
-420.tese
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:7: '=' : cannot convert from 'global 3-element array of float' to 'global 2-element array of float'
-ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): global 2-component vector of float
-ERROR: 0:9: 'initializer list' : wrong number of matrix columns: global 3X3 matrix of float
-ERROR: 0:10: 'initializer list' : wrong number of matrix columns: global 2X2 matrix of float
-ERROR: 0:25: 'initializer list' : wrong number of structure members
-ERROR: 0:27: '=' : cannot convert from 'const bool' to 'global int'
-ERROR: 0:28: 'constructor' : cannot convert parameter 2 from 'const float' to 'global 4-component vector of float'
-ERROR: 0:29: 'constructor' : cannot convert parameter 2 from 'const 2X2 matrix of float' to 'const 4-component vector of float'
-ERROR: 0:29: 'const 2-element array of 4-component vector of float' : cannot construct with these arguments
-ERROR: 0:29: '=' : cannot convert from 'const float' to 'global 2-element array of 4-component vector of float'
-ERROR: 0:30: 'initializer list' : wrong number of matrix columns: global 4X2 matrix of float
-ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'temp float' to 'global structure{global float s, global float t}'
-ERROR: 0:58: 'initializer list' : wrong number of structure members
-ERROR: 13 compilation errors. No code generated.
-
-
-Shader version: 420
-input primitive = none
-vertex spacing = none
-triangle order = none
-ERROR: node is still EOpNull!
-0:4 Sequence
-0:4 move second child to first child (temp 2X2 matrix of float)
-0:4 'b' (global 2X2 matrix of float)
-0:4 Constant:
-0:4 1.000000
-0:4 0.000000
-0:4 0.000000
-0:4 1.000000
-0:15 Sequence
-0:15 move second child to first child (temp structure{global float a, global int b})
-0:15 'e' (global structure{global float a, global int b})
-0:15 Constant:
-0:15 1.200000
-0:15 2 (const int)
-0:20 Sequence
-0:20 move second child to first child (temp structure{global float a, global int b})
-0:20 'e2' (global structure{global float a, global int b})
-0:20 Constant:
-0:20 1.000000
-0:20 3 (const int)
-0:42 Sequence
-0:42 move second child to first child (temp 5-element array of float)
-0:42 'b5' (global 5-element array of float)
-0:42 Constant:
-0:42 3.400000
-0:42 4.200000
-0:42 5.000000
-0:42 5.200000
-0:42 1.100000
-0:67 Sequence
-0:67 move second child to first child (temp 3-component vector of float)
-0:67 'av3' (global 3-component vector of float)
-0:67 Construct vec3 (global 3-component vector of float)
-0:67 'vc1' (global float)
-0:67 'vc2' (global float)
-0:67 'vc3' (global float)
-0:68 Sequence
-0:68 move second child to first child (temp 3-component vector of float)
-0:68 'bv3' (global 3-component vector of float)
-0:68 Construct vec3 (global 3-component vector of float)
-0:68 'vc1' (global float)
-0:68 'vc2' (global float)
-0:68 'vc3' (global float)
-0:70 Function Definition: main( (global void)
-0:70 Function Parameters:
-0:72 Sequence
-0:72 MemoryBarrier (global void)
-0:74 Test condition and select (temp void)
-0:74 Condition
-0:74 Compare Equal (temp bool)
-0:74 Constant:
-0:74 1 (const uint)
-0:74 2 (const uint)
-0:74 3.000000
-0:74 4.000000
-0:74 0.000000
-0:74 0.000000
-0:74 0.000000
-0:74 4.000000
-0:74 0.000000
-0:74 5.000000
-0:74 6.000000
-0:74 0.000000
-0:74 0.000000
-0:74 0.000000
-0:74 6.000000
-0:74 0.000000
-0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
-0:74 true case is null
-0:76 Test condition and select (temp void)
-0:76 Condition
-0:76 Constant:
-0:76 true (const bool)
-0:76 true case is null
-0:? Linker Objects
-0:? 'a' (const 2X2 matrix of float)
-0:? 1.000000
-0:? 0.000000
-0:? 0.000000
-0:? 1.000000
-0:? 'b' (global 2X2 matrix of float)
-0:? 'c' (const 2X2 matrix of float)
-0:? 1.000000
-0:? 0.000000
-0:? 0.000000
-0:? 1.000000
-0:? 'a2' (global 2-element array of float)
-0:? 'b2' (global 2-component vector of float)
-0:? 'c2' (global 3X3 matrix of float)
-0:? 'd' (global 2X2 matrix of float)
-0:? 'e' (global structure{global float a, global int b})
-0:? 'e2' (global structure{global float a, global int b})
-0:? 'e3' (global structure{global float a, global int b})
-0:? 'a3' (global int)
-0:? 'b3' (global 2-element array of 4-component vector of float)
-0:? 'b4' (global 2-element array of 4-component vector of float)
-0:? 'c3' (global 4X2 matrix of float)
-0:? 'd2' (global implicitly-sized array of structure{global float s, global float t})
-0:? 'b5' (global 5-element array of float)
-0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
-0:? 1 (const uint)
-0:? 2 (const uint)
-0:? 3.000000
-0:? 4.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 4.000000
-0:? 0.000000
-0:? 5.000000
-0:? 6.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 6.000000
-0:? 0.000000
-0:? 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
-0:? 'curlyInit' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
-0:? 1 (const uint)
-0:? 2 (const uint)
-0:? 3.000000
-0:? 4.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 4.000000
-0:? 0.000000
-0:? 5.000000
-0:? 6.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 6.000000
-0:? 0.000000
-0:? 'vc1' (global float)
-0:? 'vc2' (global float)
-0:? 'vc3' (global float)
-0:? 'av3' (global 3-component vector of float)
-0:? 'bv3' (global 3-component vector of float)
-
-
-Linked tessellation evaluation stage:
-
-ERROR: Linking tessellation evaluation stage: At least one shader must specify an input layout primitive
-
-Shader version: 420
-input primitive = none
-vertex spacing = equal_spacing
-triangle order = ccw
-ERROR: node is still EOpNull!
-0:4 Sequence
-0:4 move second child to first child (temp 2X2 matrix of float)
-0:4 'b' (global 2X2 matrix of float)
-0:4 Constant:
-0:4 1.000000
-0:4 0.000000
-0:4 0.000000
-0:4 1.000000
-0:15 Sequence
-0:15 move second child to first child (temp structure{global float a, global int b})
-0:15 'e' (global structure{global float a, global int b})
-0:15 Constant:
-0:15 1.200000
-0:15 2 (const int)
-0:20 Sequence
-0:20 move second child to first child (temp structure{global float a, global int b})
-0:20 'e2' (global structure{global float a, global int b})
-0:20 Constant:
-0:20 1.000000
-0:20 3 (const int)
-0:42 Sequence
-0:42 move second child to first child (temp 5-element array of float)
-0:42 'b5' (global 5-element array of float)
-0:42 Constant:
-0:42 3.400000
-0:42 4.200000
-0:42 5.000000
-0:42 5.200000
-0:42 1.100000
-0:67 Sequence
-0:67 move second child to first child (temp 3-component vector of float)
-0:67 'av3' (global 3-component vector of float)
-0:67 Construct vec3 (global 3-component vector of float)
-0:67 'vc1' (global float)
-0:67 'vc2' (global float)
-0:67 'vc3' (global float)
-0:68 Sequence
-0:68 move second child to first child (temp 3-component vector of float)
-0:68 'bv3' (global 3-component vector of float)
-0:68 Construct vec3 (global 3-component vector of float)
-0:68 'vc1' (global float)
-0:68 'vc2' (global float)
-0:68 'vc3' (global float)
-0:70 Function Definition: main( (global void)
-0:70 Function Parameters:
-0:72 Sequence
-0:72 MemoryBarrier (global void)
-0:74 Test condition and select (temp void)
-0:74 Condition
-0:74 Compare Equal (temp bool)
-0:74 Constant:
-0:74 1 (const uint)
-0:74 2 (const uint)
-0:74 3.000000
-0:74 4.000000
-0:74 0.000000
-0:74 0.000000
-0:74 0.000000
-0:74 4.000000
-0:74 0.000000
-0:74 5.000000
-0:74 6.000000
-0:74 0.000000
-0:74 0.000000
-0:74 0.000000
-0:74 6.000000
-0:74 0.000000
-0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
-0:74 true case is null
-0:76 Test condition and select (temp void)
-0:76 Condition
-0:76 Constant:
-0:76 true (const bool)
-0:76 true case is null
-0:? Linker Objects
-0:? 'a' (const 2X2 matrix of float)
-0:? 1.000000
-0:? 0.000000
-0:? 0.000000
-0:? 1.000000
-0:? 'b' (global 2X2 matrix of float)
-0:? 'c' (const 2X2 matrix of float)
-0:? 1.000000
-0:? 0.000000
-0:? 0.000000
-0:? 1.000000
-0:? 'a2' (global 2-element array of float)
-0:? 'b2' (global 2-component vector of float)
-0:? 'c2' (global 3X3 matrix of float)
-0:? 'd' (global 2X2 matrix of float)
-0:? 'e' (global structure{global float a, global int b})
-0:? 'e2' (global structure{global float a, global int b})
-0:? 'e3' (global structure{global float a, global int b})
-0:? 'a3' (global int)
-0:? 'b3' (global 2-element array of 4-component vector of float)
-0:? 'b4' (global 2-element array of 4-component vector of float)
-0:? 'c3' (global 4X2 matrix of float)
-0:? 'd2' (global 1-element array of structure{global float s, global float t})
-0:? 'b5' (global 5-element array of float)
-0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
-0:? 1 (const uint)
-0:? 2 (const uint)
-0:? 3.000000
-0:? 4.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 4.000000
-0:? 0.000000
-0:? 5.000000
-0:? 6.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 6.000000
-0:? 0.000000
-0:? 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
-0:? 'curlyInit' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
-0:? 1 (const uint)
-0:? 2 (const uint)
-0:? 3.000000
-0:? 4.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 4.000000
-0:? 0.000000
-0:? 5.000000
-0:? 6.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 6.000000
-0:? 0.000000
-0:? 'vc1' (global float)
-0:? 'vc2' (global float)
-0:? 'vc3' (global float)
-0:? 'av3' (global 3-component vector of float)
-0:? 'bv3' (global 3-component vector of float)
-
+420.tese
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:7: '=' : cannot convert from 'global 3-element array of float' to 'global 2-element array of float'
+ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): global 2-component vector of float
+ERROR: 0:9: 'initializer list' : wrong number of matrix columns: global 3X3 matrix of float
+ERROR: 0:10: 'initializer list' : wrong number of matrix columns: global 2X2 matrix of float
+ERROR: 0:25: 'initializer list' : wrong number of structure members
+ERROR: 0:27: '=' : cannot convert from 'const bool' to 'global int'
+ERROR: 0:28: 'constructor' : cannot convert parameter 2 from 'const float' to 'global 4-component vector of float'
+ERROR: 0:29: 'constructor' : cannot convert parameter 2 from 'const 2X2 matrix of float' to 'const 4-component vector of float'
+ERROR: 0:29: 'const 2-element array of 4-component vector of float' : cannot construct with these arguments
+ERROR: 0:29: '=' : cannot convert from 'const float' to 'global 2-element array of 4-component vector of float'
+ERROR: 0:30: 'initializer list' : wrong number of matrix columns: global 4X2 matrix of float
+ERROR: 0:40: 'constructor' : cannot convert parameter 1 from 'temp float' to 'global structure{global float s, global float t}'
+ERROR: 0:58: 'initializer list' : wrong number of structure members
+ERROR: 13 compilation errors. No code generated.
+
+
+Shader version: 420
+input primitive = none
+vertex spacing = none
+triangle order = none
+ERROR: node is still EOpNull!
+0:4 Sequence
+0:4 move second child to first child (temp 2X2 matrix of float)
+0:4 'b' (global 2X2 matrix of float)
+0:4 Constant:
+0:4 1.000000
+0:4 0.000000
+0:4 0.000000
+0:4 1.000000
+0:15 Sequence
+0:15 move second child to first child (temp structure{global float a, global int b})
+0:15 'e' (global structure{global float a, global int b})
+0:15 Constant:
+0:15 1.200000
+0:15 2 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp structure{global float a, global int b})
+0:20 'e2' (global structure{global float a, global int b})
+0:20 Constant:
+0:20 1.000000
+0:20 3 (const int)
+0:42 Sequence
+0:42 move second child to first child (temp 5-element array of float)
+0:42 'b5' (global 5-element array of float)
+0:42 Constant:
+0:42 3.400000
+0:42 4.200000
+0:42 5.000000
+0:42 5.200000
+0:42 1.100000
+0:67 Sequence
+0:67 move second child to first child (temp 3-component vector of float)
+0:67 'av3' (global 3-component vector of float)
+0:67 Construct vec3 (global 3-component vector of float)
+0:67 'vc1' (global float)
+0:67 'vc2' (global float)
+0:67 'vc3' (global float)
+0:68 Sequence
+0:68 move second child to first child (temp 3-component vector of float)
+0:68 'bv3' (global 3-component vector of float)
+0:68 Construct vec3 (global 3-component vector of float)
+0:68 'vc1' (global float)
+0:68 'vc2' (global float)
+0:68 'vc3' (global float)
+0:70 Function Definition: main( (global void)
+0:70 Function Parameters:
+0:72 Sequence
+0:72 MemoryBarrier (global void)
+0:74 Test condition and select (temp void)
+0:74 Condition
+0:74 Compare Equal (temp bool)
+0:74 Constant:
+0:74 1 (const uint)
+0:74 2 (const uint)
+0:74 3.000000
+0:74 4.000000
+0:74 0.000000
+0:74 0.000000
+0:74 0.000000
+0:74 4.000000
+0:74 0.000000
+0:74 5.000000
+0:74 6.000000
+0:74 0.000000
+0:74 0.000000
+0:74 0.000000
+0:74 6.000000
+0:74 0.000000
+0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:74 true case is null
+0:76 Test condition and select (temp void)
+0:76 Condition
+0:76 Constant:
+0:76 true (const bool)
+0:76 true case is null
+0:? Linker Objects
+0:? 'a' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'b' (global 2X2 matrix of float)
+0:? 'c' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'a2' (global 2-element array of float)
+0:? 'b2' (global 2-component vector of float)
+0:? 'c2' (global 3X3 matrix of float)
+0:? 'd' (global 2X2 matrix of float)
+0:? 'e' (global structure{global float a, global int b})
+0:? 'e2' (global structure{global float a, global int b})
+0:? 'e3' (global structure{global float a, global int b})
+0:? 'a3' (global int)
+0:? 'b3' (global 2-element array of 4-component vector of float)
+0:? 'b4' (global 2-element array of 4-component vector of float)
+0:? 'c3' (global 4X2 matrix of float)
+0:? 'd2' (global implicitly-sized array of structure{global float s, global float t})
+0:? 'b5' (global 5-element array of float)
+0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3.000000
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 0.000000
+0:? 5.000000
+0:? 6.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 6.000000
+0:? 0.000000
+0:? 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 'curlyInit' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3.000000
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 0.000000
+0:? 5.000000
+0:? 6.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 6.000000
+0:? 0.000000
+0:? 'vc1' (global float)
+0:? 'vc2' (global float)
+0:? 'vc3' (global float)
+0:? 'av3' (global 3-component vector of float)
+0:? 'bv3' (global 3-component vector of float)
+
+
+Linked tessellation evaluation stage:
+
+ERROR: Linking tessellation evaluation stage: At least one shader must specify an input layout primitive
+
+Shader version: 420
+input primitive = none
+vertex spacing = equal_spacing
+triangle order = ccw
+ERROR: node is still EOpNull!
+0:4 Sequence
+0:4 move second child to first child (temp 2X2 matrix of float)
+0:4 'b' (global 2X2 matrix of float)
+0:4 Constant:
+0:4 1.000000
+0:4 0.000000
+0:4 0.000000
+0:4 1.000000
+0:15 Sequence
+0:15 move second child to first child (temp structure{global float a, global int b})
+0:15 'e' (global structure{global float a, global int b})
+0:15 Constant:
+0:15 1.200000
+0:15 2 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp structure{global float a, global int b})
+0:20 'e2' (global structure{global float a, global int b})
+0:20 Constant:
+0:20 1.000000
+0:20 3 (const int)
+0:42 Sequence
+0:42 move second child to first child (temp 5-element array of float)
+0:42 'b5' (global 5-element array of float)
+0:42 Constant:
+0:42 3.400000
+0:42 4.200000
+0:42 5.000000
+0:42 5.200000
+0:42 1.100000
+0:67 Sequence
+0:67 move second child to first child (temp 3-component vector of float)
+0:67 'av3' (global 3-component vector of float)
+0:67 Construct vec3 (global 3-component vector of float)
+0:67 'vc1' (global float)
+0:67 'vc2' (global float)
+0:67 'vc3' (global float)
+0:68 Sequence
+0:68 move second child to first child (temp 3-component vector of float)
+0:68 'bv3' (global 3-component vector of float)
+0:68 Construct vec3 (global 3-component vector of float)
+0:68 'vc1' (global float)
+0:68 'vc2' (global float)
+0:68 'vc3' (global float)
+0:70 Function Definition: main( (global void)
+0:70 Function Parameters:
+0:72 Sequence
+0:72 MemoryBarrier (global void)
+0:74 Test condition and select (temp void)
+0:74 Condition
+0:74 Compare Equal (temp bool)
+0:74 Constant:
+0:74 1 (const uint)
+0:74 2 (const uint)
+0:74 3.000000
+0:74 4.000000
+0:74 0.000000
+0:74 0.000000
+0:74 0.000000
+0:74 4.000000
+0:74 0.000000
+0:74 5.000000
+0:74 6.000000
+0:74 0.000000
+0:74 0.000000
+0:74 0.000000
+0:74 6.000000
+0:74 0.000000
+0:74 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:74 true case is null
+0:76 Test condition and select (temp void)
+0:76 Condition
+0:76 Constant:
+0:76 true (const bool)
+0:76 true case is null
+0:? Linker Objects
+0:? 'a' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'b' (global 2X2 matrix of float)
+0:? 'c' (const 2X2 matrix of float)
+0:? 1.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'a2' (global 2-element array of float)
+0:? 'b2' (global 2-component vector of float)
+0:? 'c2' (global 3X3 matrix of float)
+0:? 'd' (global 2X2 matrix of float)
+0:? 'e' (global structure{global float a, global int b})
+0:? 'e2' (global structure{global float a, global int b})
+0:? 'e3' (global structure{global float a, global int b})
+0:? 'a3' (global int)
+0:? 'b3' (global 2-element array of 4-component vector of float)
+0:? 'b4' (global 2-element array of 4-component vector of float)
+0:? 'c3' (global 4X2 matrix of float)
+0:? 'd2' (global 1-element array of structure{global float s, global float t})
+0:? 'b5' (global 5-element array of float)
+0:? 'constructed' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3.000000
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 0.000000
+0:? 5.000000
+0:? 6.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 6.000000
+0:? 0.000000
+0:? 'curlybad1' (temp structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 'curlyInit' (const structure{global 2-component vector of uint uv2, global 2-element array of structure{global float f, global 2X3 matrix of float m23} s})
+0:? 1 (const uint)
+0:? 2 (const uint)
+0:? 3.000000
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 0.000000
+0:? 5.000000
+0:? 6.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 6.000000
+0:? 0.000000
+0:? 'vc1' (global float)
+0:? 'vc2' (global float)
+0:? 'vc3' (global float)
+0:? 'av3' (global 3-component vector of float)
+0:? 'bv3' (global 3-component vector of float)
+
diff --git a/Test/baseResults/420.vert.out b/Test/baseResults/420.vert.out
index 2901c39..6d7b361 100644
--- a/Test/baseResults/420.vert.out
+++ b/Test/baseResults/420.vert.out
@@ -1,558 +1,558 @@
-420.vert
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:2: '#version' : must occur first in shader
-WARNING: 0:3: varying deprecated in version 130; may be removed in future release
-ERROR: 0:3: 'varying' : no longer supported in core profile; removed in version 420
-ERROR: 0:7: '' : vertex input cannot be further qualified
-ERROR: 0:11: '' : can only have one interpolation qualifier (flat, smooth, noperspective)
-ERROR: 0:12: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
-ERROR: 0:13: 'uniform' : too many storage qualifiers
-ERROR: 0:18: '=' : global const initializers must be constant 'const int'
-ERROR: 0:20: 'const' : no qualifiers allowed for function return
-ERROR: 0:27: '' : constant expression required
-ERROR: 0:27: '' : array size must be a constant integer expression
-ERROR: 0:38: 'j' : undeclared identifier
-ERROR: 0:38: '=' : cannot convert from 'temp float' to 'temp int'
-ERROR: 0:39: 'k' : undeclared identifier
-ERROR: 0:39: '=' : cannot convert from 'temp float' to 'temp int'
-ERROR: 0:40: 'j' : undeclared identifier
-ERROR: 0:40: '=' : cannot convert from 'temp float' to 'temp int'
-ERROR: 0:44: 'jj' : undeclared identifier
-ERROR: 0:44: '=' : cannot convert from 'temp float' to 'temp int'
-ERROR: 0:54: 'y' : vector field selection out of range
-ERROR: 0:62: 'xxxxx' : illegal vector field selection
-ERROR: 0:63: 'xxy' : vector field selection out of range
-ERROR: 0:66: 'binding' : cannot declare a default, include a type or full declaration
-ERROR: 0:69: 'location/component/index' : cannot declare a default, use a full declaration
-ERROR: 0:70: 'input block' : not supported in this stage: vertex
-ERROR: 0:70: 'binding' : requires uniform or buffer storage qualifier
-ERROR: 0:71: 'binding' : binding is too large
-ERROR: 0:74: 'binding' : sampler binding not less than gl_MaxCombinedTextureImageUnits
-ERROR: 0:76: 'binding' : sampler binding not less than gl_MaxCombinedTextureImageUnits (using array)
-ERROR: 0:85: 'patch' : not supported in this stage: vertex
-ERROR: 0:85: '' : vertex input cannot be further qualified
-ERROR: 0:86: 'patch' : not supported in this stage: vertex
-ERROR: 0:100: '=' : global const initializers must be constant 'const int'
-ERROR: 0:101: '' : constant expression required
-ERROR: 0:101: '' : array size must be a constant integer expression
-ERROR: 0:107: '' : image variables not declared 'writeonly' must have a format layout qualifier
-ERROR: 0:114: 'imageAtomicMin' : only supported on image with format r32i or r32ui
-ERROR: 0:115: 'imageAtomicMax' : no matching overloaded function found
-ERROR: 0:119: 'writeonly' : argument cannot drop memory qualifier when passed to formal parameter
-ERROR: 0:122: '' : memory qualifiers cannot be used on this type
-ERROR: 0:123: '' : memory qualifiers cannot be used on this type
-ERROR: 0:135: 'volatile' : argument cannot drop memory qualifier when passed to formal parameter
-ERROR: 0:139: 'rg8i' : does not apply to unsigned integer images
-ERROR: 0:140: 'rgba32i' : does not apply to floating point images
-ERROR: 0:141: 'rgba32f' : does not apply to unsigned integer images
-ERROR: 0:142: 'r8_snorm' : does not apply to signed integer images
-ERROR: 0:143: 'rgba32ui' : does not apply to signed integer images
-ERROR: 0:144: 'r8ui' : does not apply to signed integer images
-ERROR: 0:147: 'offset on block member' : not supported for this version or the enabled extensions
-ERROR: 0:157: 'textureQueryLevels' : no matching overloaded function found
-ERROR: 0:157: 'assign' : cannot convert from 'const float' to 'temp int'
-ERROR: 0:158: 'textureQueryLevels' : no matching overloaded function found
-ERROR: 0:158: 'assign' : cannot convert from 'const float' to 'temp int'
-ERROR: 52 compilation errors. No code generated.
-
-
-Shader version: 420
-ERROR: node is still EOpNull!
-0:20 Function Definition: foo( (const int)
-0:20 Function Parameters:
-0:? Sequence
-0:23 Sequence
-0:23 move second child to first child (temp int)
-0:23 'b' (const (read only) int)
-0:23 'anonconst' (global int)
-0:25 Sequence
-0:25 move second child to first child (temp int)
-0:25 'd' (const (read only) int)
-0:25 'b' (const (read only) int)
-0:29 Branch: Return with expression
-0:29 'b' (const (read only) int)
-0:32 Function Definition: main( (global void)
-0:32 Function Parameters:
-0:? Sequence
-0:35 Test condition and select (temp void)
-0:35 Condition
-0:35 Compare Equal (temp bool)
-0:35 'i' (temp int)
-0:35 Constant:
-0:35 3 (const int)
-0:35 true case
-0:36 Sequence
-0:36 move second child to first child (temp int)
-0:36 'j' (temp int)
-0:36 'i' (temp int)
-0:42 Loop with condition tested first
-0:42 Loop Condition
-0:42 Constant:
-0:42 true (const bool)
-0:42 No loop body
-0:50 Function Definition: bar(vf4; (global void)
-0:50 Function Parameters:
-0:50 'v' (volatile in 4-component vector of float)
-0:? Sequence
-0:53 's' (temp int)
-0:54 's' (temp int)
-0:55 Test condition and select (temp void)
-0:55 Condition
-0:55 Compare Equal (temp bool)
-0:55 direct index (temp float)
-0:55 direct index (temp 4-component vector of float)
-0:55 'bad' (in 10-element array of 4-component vector of float)
-0:55 Constant:
-0:55 0 (const int)
-0:55 Constant:
-0:55 0 (const int)
-0:55 Constant:
-0:55 4.200000
-0:55 true case is null
-0:57 Test condition and select (temp void)
-0:57 Condition
-0:57 Constant:
-0:57 true (const bool)
-0:57 true case
-0:58 move second child to first child (temp 4-component vector of float)
-0:58 'badorder3' (flat out 4-component vector of float)
-0:58 direct index (temp 4-component vector of float)
-0:58 'bad' (in 10-element array of 4-component vector of float)
-0:58 Constant:
-0:58 0 (const int)
-0:61 Sequence
-0:61 move second child to first child (temp 3-component vector of float)
-0:61 'smeared' (temp 3-component vector of float)
-0:61 Construct vec3 (temp 3-component vector of float)
-0:61 'f' (temp float)
-0:62 'f' (temp float)
-0:63 'f' (temp float)
-0:88 Function Definition: bar23444( (global void)
-0:88 Function Parameters:
-0:? Sequence
-0:91 Sequence
-0:91 move second child to first child (temp float)
-0:91 'a1' (temp float)
-0:91 direct index (temp float)
-0:91 direct index (temp 3-component vector of float)
-0:91 'm43' (temp 4X3 matrix of float)
-0:91 Constant:
-0:91 3 (const int)
-0:91 Constant:
-0:91 1 (const int)
-0:93 Sequence
-0:93 move second child to first child (temp int)
-0:93 'a2' (temp int)
-0:93 Constant:
-0:93 4 (const int)
-0:94 add second child into first child (temp int)
-0:94 'a2' (temp int)
-0:94 Constant:
-0:94 3 (const int)
-0:95 add second child into first child (temp int)
-0:95 'a2' (temp int)
-0:95 Constant:
-0:95 3 (const int)
-0:96 Sequence
-0:96 move second child to first child (temp float)
-0:96 'b' (const (read only) float)
-0:96 component-wise multiply (temp float)
-0:96 Constant:
-0:96 2.000000
-0:96 'a1' (temp float)
-0:97 Sequence
-0:97 move second child to first child (temp int)
-0:97 'a' (temp int)
-0:97 Constant:
-0:97 -1 (const int)
-0:109 Function Definition: qux( (global void)
-0:109 Function Parameters:
-0:111 Sequence
-0:111 Sequence
-0:111 move second child to first child (temp int)
-0:111 'i' (temp int)
-0:111 aoeu: direct index for structure (layout(column_major shared ) uniform int)
-0:111 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
-0:111 Constant:
-0:111 0 (const uint)
-0:112 imageAtomicCompSwap (global int)
-0:112 'iimg2D' (layout(r32i ) uniform iimage2D)
-0:112 Construct ivec2 (temp 2-component vector of int)
-0:112 'i' (temp int)
-0:112 'i' (temp int)
-0:112 'i' (temp int)
-0:112 'i' (temp int)
-0:113 imageAtomicAdd (global uint)
-0:113 'uimg2D' (layout(r32ui ) uniform uimage2D)
-0:113 Construct ivec2 (temp 2-component vector of int)
-0:113 'i' (temp int)
-0:113 'i' (temp int)
-0:113 Convert int to uint (temp uint)
-0:113 'i' (temp int)
-0:114 imageAtomicMin (global int)
-0:114 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
-0:114 Construct ivec2 (temp 2-component vector of int)
-0:114 'i' (temp int)
-0:114 'i' (temp int)
-0:114 'i' (temp int)
-0:115 Constant:
-0:115 0.000000
-0:116 Sequence
-0:116 move second child to first child (temp 4-component vector of int)
-0:116 'pos' (temp 4-component vector of int)
-0:116 imageLoad (global 4-component vector of int)
-0:116 'iimg2D' (layout(r32i ) uniform iimage2D)
-0:116 Construct ivec2 (temp 2-component vector of int)
-0:116 'i' (temp int)
-0:116 'i' (temp int)
-0:117 Sequence
-0:117 move second child to first child (temp 4-component vector of float)
-0:117 'col' (temp 4-component vector of float)
-0:117 imageLoad (global 4-component vector of float)
-0:117 'img2DMS' (uniform image2DMS)
-0:117 Construct ivec2 (temp 2-component vector of int)
-0:117 'i' (temp int)
-0:117 'i' (temp int)
-0:117 'i' (temp int)
-0:118 imageStore (global void)
-0:118 'img2DMSWO' (writeonly uniform image2DMS)
-0:118 Construct ivec2 (temp 2-component vector of int)
-0:118 'i' (temp int)
-0:118 'i' (temp int)
-0:118 'i' (temp int)
-0:118 Constant:
-0:118 0.000000
-0:118 0.000000
-0:118 0.000000
-0:118 0.000000
-0:119 imageLoad (global 4-component vector of float)
-0:119 'img2DMSWO' (writeonly uniform image2DMS)
-0:119 Construct ivec2 (temp 2-component vector of int)
-0:119 'i' (temp int)
-0:119 'i' (temp int)
-0:119 'i' (temp int)
-0:125 Function Definition: passr(iI21; (global void)
-0:125 Function Parameters:
-0:125 'image' (coherent readonly in iimage2D)
-0:132 Function Definition: passrc( (global void)
-0:132 Function Parameters:
-0:134 Sequence
-0:134 Function Call: passr(iI21; (global void)
-0:134 'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
-0:135 Function Call: passr(iI21; (global void)
-0:135 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
-0:136 Function Call: passr(iI21; (global void)
-0:136 'iimg2D' (layout(r32i ) uniform iimage2D)
-0:153 Function Definition: qlod( (global void)
-0:153 Function Parameters:
-0:? Sequence
-0:157 'levels' (temp int)
-0:158 'levels' (temp int)
-0:? Linker Objects
-0:? 'v2' (smooth out 2-component vector of float)
-0:? 'bad' (in 10-element array of 4-component vector of float)
-0:? 'badorder' (in 4-component vector of float)
-0:? 'badorder2' (invariant smooth out 4-component vector of float)
-0:? 'badorder4' (centroid in 4-component vector of float)
-0:? 'badorder3' (flat out 4-component vector of float)
-0:? 'rep' (smooth flat out 4-component vector of float)
-0:? 'rep2' (centroid smooth sample out 4-component vector of float)
-0:? 'rep3' (in 4-component vector of float)
-0:? 'anonconst' (global int)
-0:? 'aconst' (const int)
-0:? 5 (const int)
-0:? 'a' (const int)
-0:? 5 (const int)
-0:? 'b' (temp int)
-0:? 'cx' (const float)
-0:? 4.200000
-0:? 'dx' (const float)
-0:? 4.200000
-0:? 'boundInst' (layout(binding=3 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
-0:? 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
-0:? 'anon@1' (layout(binding=1 ) in block{in int aoeua})
-0:? 'anon@2' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform int aooeu})
-0:? 'sampb1' (layout(binding=4 ) uniform sampler2D)
-0:? 'sampb2' (layout(binding=5 ) uniform 10-element array of sampler2D)
-0:? 'sampb3' (layout(binding=80 ) uniform sampler2D)
-0:? 'sampb4' (layout(binding=31 ) uniform sampler2D)
-0:? 'sampb5' (layout(binding=79 ) uniform 2-element array of sampler2D)
-0:? 'anon@3' (out block{out implicitly-sized array of float ClipDistance gl_ClipDistance, })
-0:? 'patchIn' (patch in 4-component vector of float)
-0:? 'patchOut' (smooth patch out 4-component vector of float)
-0:? 'comma0' (temp int)
-0:? 'comma1' (global 1-element array of int)
-0:? 'iimg2D' (layout(r32i ) uniform iimage2D)
-0:? 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
-0:? 'img2Drgba' (layout(rgba32f ) uniform image2D)
-0:? 'uimg2D' (layout(r32ui ) uniform uimage2D)
-0:? 'img2DMS' (uniform image2DMS)
-0:? 'img2DMSWO' (writeonly uniform image2DMS)
-0:? 'vol' (volatile temp float)
-0:? 'vol2' (readonly temp int)
-0:? 'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
-0:? 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
-0:? 'i1bad' (layout(rg8i ) uniform uimage2D)
-0:? 'i2bad' (layout(rgba32i ) uniform image2D)
-0:? 'i3bad' (layout(rgba32f ) uniform uimage2D)
-0:? 'i4bad' (layout(r8_snorm ) uniform iimage2D)
-0:? 'i5bad' (layout(rgba32ui ) uniform iimage2D)
-0:? 'i6bad' (layout(r8ui ) uniform iimage2D)
-0:? 'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo})
-0:? 'samp1D' (uniform sampler1D)
-0:? 'samp1Ds' (uniform sampler1DShadow)
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 420
-ERROR: node is still EOpNull!
-0:20 Function Definition: foo( (const int)
-0:20 Function Parameters:
-0:? Sequence
-0:23 Sequence
-0:23 move second child to first child (temp int)
-0:23 'b' (const (read only) int)
-0:23 'anonconst' (global int)
-0:25 Sequence
-0:25 move second child to first child (temp int)
-0:25 'd' (const (read only) int)
-0:25 'b' (const (read only) int)
-0:29 Branch: Return with expression
-0:29 'b' (const (read only) int)
-0:32 Function Definition: main( (global void)
-0:32 Function Parameters:
-0:? Sequence
-0:35 Test condition and select (temp void)
-0:35 Condition
-0:35 Compare Equal (temp bool)
-0:35 'i' (temp int)
-0:35 Constant:
-0:35 3 (const int)
-0:35 true case
-0:36 Sequence
-0:36 move second child to first child (temp int)
-0:36 'j' (temp int)
-0:36 'i' (temp int)
-0:42 Loop with condition tested first
-0:42 Loop Condition
-0:42 Constant:
-0:42 true (const bool)
-0:42 No loop body
-0:50 Function Definition: bar(vf4; (global void)
-0:50 Function Parameters:
-0:50 'v' (volatile in 4-component vector of float)
-0:? Sequence
-0:53 's' (temp int)
-0:54 's' (temp int)
-0:55 Test condition and select (temp void)
-0:55 Condition
-0:55 Compare Equal (temp bool)
-0:55 direct index (temp float)
-0:55 direct index (temp 4-component vector of float)
-0:55 'bad' (in 10-element array of 4-component vector of float)
-0:55 Constant:
-0:55 0 (const int)
-0:55 Constant:
-0:55 0 (const int)
-0:55 Constant:
-0:55 4.200000
-0:55 true case is null
-0:57 Test condition and select (temp void)
-0:57 Condition
-0:57 Constant:
-0:57 true (const bool)
-0:57 true case
-0:58 move second child to first child (temp 4-component vector of float)
-0:58 'badorder3' (flat out 4-component vector of float)
-0:58 direct index (temp 4-component vector of float)
-0:58 'bad' (in 10-element array of 4-component vector of float)
-0:58 Constant:
-0:58 0 (const int)
-0:61 Sequence
-0:61 move second child to first child (temp 3-component vector of float)
-0:61 'smeared' (temp 3-component vector of float)
-0:61 Construct vec3 (temp 3-component vector of float)
-0:61 'f' (temp float)
-0:62 'f' (temp float)
-0:63 'f' (temp float)
-0:88 Function Definition: bar23444( (global void)
-0:88 Function Parameters:
-0:? Sequence
-0:91 Sequence
-0:91 move second child to first child (temp float)
-0:91 'a1' (temp float)
-0:91 direct index (temp float)
-0:91 direct index (temp 3-component vector of float)
-0:91 'm43' (temp 4X3 matrix of float)
-0:91 Constant:
-0:91 3 (const int)
-0:91 Constant:
-0:91 1 (const int)
-0:93 Sequence
-0:93 move second child to first child (temp int)
-0:93 'a2' (temp int)
-0:93 Constant:
-0:93 4 (const int)
-0:94 add second child into first child (temp int)
-0:94 'a2' (temp int)
-0:94 Constant:
-0:94 3 (const int)
-0:95 add second child into first child (temp int)
-0:95 'a2' (temp int)
-0:95 Constant:
-0:95 3 (const int)
-0:96 Sequence
-0:96 move second child to first child (temp float)
-0:96 'b' (const (read only) float)
-0:96 component-wise multiply (temp float)
-0:96 Constant:
-0:96 2.000000
-0:96 'a1' (temp float)
-0:97 Sequence
-0:97 move second child to first child (temp int)
-0:97 'a' (temp int)
-0:97 Constant:
-0:97 -1 (const int)
-0:109 Function Definition: qux( (global void)
-0:109 Function Parameters:
-0:111 Sequence
-0:111 Sequence
-0:111 move second child to first child (temp int)
-0:111 'i' (temp int)
-0:111 aoeu: direct index for structure (layout(column_major shared ) uniform int)
-0:111 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
-0:111 Constant:
-0:111 0 (const uint)
-0:112 imageAtomicCompSwap (global int)
-0:112 'iimg2D' (layout(r32i ) uniform iimage2D)
-0:112 Construct ivec2 (temp 2-component vector of int)
-0:112 'i' (temp int)
-0:112 'i' (temp int)
-0:112 'i' (temp int)
-0:112 'i' (temp int)
-0:113 imageAtomicAdd (global uint)
-0:113 'uimg2D' (layout(r32ui ) uniform uimage2D)
-0:113 Construct ivec2 (temp 2-component vector of int)
-0:113 'i' (temp int)
-0:113 'i' (temp int)
-0:113 Convert int to uint (temp uint)
-0:113 'i' (temp int)
-0:114 imageAtomicMin (global int)
-0:114 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
-0:114 Construct ivec2 (temp 2-component vector of int)
-0:114 'i' (temp int)
-0:114 'i' (temp int)
-0:114 'i' (temp int)
-0:115 Constant:
-0:115 0.000000
-0:116 Sequence
-0:116 move second child to first child (temp 4-component vector of int)
-0:116 'pos' (temp 4-component vector of int)
-0:116 imageLoad (global 4-component vector of int)
-0:116 'iimg2D' (layout(r32i ) uniform iimage2D)
-0:116 Construct ivec2 (temp 2-component vector of int)
-0:116 'i' (temp int)
-0:116 'i' (temp int)
-0:117 Sequence
-0:117 move second child to first child (temp 4-component vector of float)
-0:117 'col' (temp 4-component vector of float)
-0:117 imageLoad (global 4-component vector of float)
-0:117 'img2DMS' (uniform image2DMS)
-0:117 Construct ivec2 (temp 2-component vector of int)
-0:117 'i' (temp int)
-0:117 'i' (temp int)
-0:117 'i' (temp int)
-0:118 imageStore (global void)
-0:118 'img2DMSWO' (writeonly uniform image2DMS)
-0:118 Construct ivec2 (temp 2-component vector of int)
-0:118 'i' (temp int)
-0:118 'i' (temp int)
-0:118 'i' (temp int)
-0:118 Constant:
-0:118 0.000000
-0:118 0.000000
-0:118 0.000000
-0:118 0.000000
-0:119 imageLoad (global 4-component vector of float)
-0:119 'img2DMSWO' (writeonly uniform image2DMS)
-0:119 Construct ivec2 (temp 2-component vector of int)
-0:119 'i' (temp int)
-0:119 'i' (temp int)
-0:119 'i' (temp int)
-0:125 Function Definition: passr(iI21; (global void)
-0:125 Function Parameters:
-0:125 'image' (coherent readonly in iimage2D)
-0:132 Function Definition: passrc( (global void)
-0:132 Function Parameters:
-0:134 Sequence
-0:134 Function Call: passr(iI21; (global void)
-0:134 'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
-0:135 Function Call: passr(iI21; (global void)
-0:135 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
-0:136 Function Call: passr(iI21; (global void)
-0:136 'iimg2D' (layout(r32i ) uniform iimage2D)
-0:153 Function Definition: qlod( (global void)
-0:153 Function Parameters:
-0:? Sequence
-0:157 'levels' (temp int)
-0:158 'levels' (temp int)
-0:? Linker Objects
-0:? 'v2' (smooth out 2-component vector of float)
-0:? 'bad' (in 10-element array of 4-component vector of float)
-0:? 'badorder' (in 4-component vector of float)
-0:? 'badorder2' (invariant smooth out 4-component vector of float)
-0:? 'badorder4' (centroid in 4-component vector of float)
-0:? 'badorder3' (flat out 4-component vector of float)
-0:? 'rep' (smooth flat out 4-component vector of float)
-0:? 'rep2' (centroid smooth sample out 4-component vector of float)
-0:? 'rep3' (in 4-component vector of float)
-0:? 'anonconst' (global int)
-0:? 'aconst' (const int)
-0:? 5 (const int)
-0:? 'a' (const int)
-0:? 5 (const int)
-0:? 'b' (temp int)
-0:? 'cx' (const float)
-0:? 4.200000
-0:? 'dx' (const float)
-0:? 4.200000
-0:? 'boundInst' (layout(binding=3 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
-0:? 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
-0:? 'anon@1' (layout(binding=1 ) in block{in int aoeua})
-0:? 'anon@2' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform int aooeu})
-0:? 'sampb1' (layout(binding=4 ) uniform sampler2D)
-0:? 'sampb2' (layout(binding=5 ) uniform 10-element array of sampler2D)
-0:? 'sampb3' (layout(binding=80 ) uniform sampler2D)
-0:? 'sampb4' (layout(binding=31 ) uniform sampler2D)
-0:? 'sampb5' (layout(binding=79 ) uniform 2-element array of sampler2D)
-0:? 'anon@3' (out block{out 1-element array of float ClipDistance gl_ClipDistance, })
-0:? 'patchIn' (patch in 4-component vector of float)
-0:? 'patchOut' (smooth patch out 4-component vector of float)
-0:? 'comma0' (temp int)
-0:? 'comma1' (global 1-element array of int)
-0:? 'iimg2D' (layout(r32i ) uniform iimage2D)
-0:? 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
-0:? 'img2Drgba' (layout(rgba32f ) uniform image2D)
-0:? 'uimg2D' (layout(r32ui ) uniform uimage2D)
-0:? 'img2DMS' (uniform image2DMS)
-0:? 'img2DMSWO' (writeonly uniform image2DMS)
-0:? 'vol' (volatile temp float)
-0:? 'vol2' (readonly temp int)
-0:? 'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
-0:? 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
-0:? 'i1bad' (layout(rg8i ) uniform uimage2D)
-0:? 'i2bad' (layout(rgba32i ) uniform image2D)
-0:? 'i3bad' (layout(rgba32f ) uniform uimage2D)
-0:? 'i4bad' (layout(r8_snorm ) uniform iimage2D)
-0:? 'i5bad' (layout(rgba32ui ) uniform iimage2D)
-0:? 'i6bad' (layout(r8ui ) uniform iimage2D)
-0:? 'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo})
-0:? 'samp1D' (uniform sampler1D)
-0:? 'samp1Ds' (uniform sampler1DShadow)
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
+420.vert
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:2: '#version' : must occur first in shader
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+ERROR: 0:3: 'varying' : no longer supported in core profile; removed in version 420
+ERROR: 0:7: '' : vertex input cannot be further qualified
+ERROR: 0:11: '' : can only have one interpolation qualifier (flat, smooth, noperspective)
+ERROR: 0:12: '' : can only have one auxiliary qualifier (centroid, patch, and sample)
+ERROR: 0:13: 'uniform' : too many storage qualifiers
+ERROR: 0:18: '=' : global const initializers must be constant 'const int'
+ERROR: 0:20: 'const' : no qualifiers allowed for function return
+ERROR: 0:27: '' : constant expression required
+ERROR: 0:27: '' : array size must be a constant integer expression
+ERROR: 0:38: 'j' : undeclared identifier
+ERROR: 0:38: '=' : cannot convert from 'temp float' to 'temp int'
+ERROR: 0:39: 'k' : undeclared identifier
+ERROR: 0:39: '=' : cannot convert from 'temp float' to 'temp int'
+ERROR: 0:40: 'j' : undeclared identifier
+ERROR: 0:40: '=' : cannot convert from 'temp float' to 'temp int'
+ERROR: 0:44: 'jj' : undeclared identifier
+ERROR: 0:44: '=' : cannot convert from 'temp float' to 'temp int'
+ERROR: 0:54: 'y' : vector field selection out of range
+ERROR: 0:62: 'xxxxx' : illegal vector field selection
+ERROR: 0:63: 'xxy' : vector field selection out of range
+ERROR: 0:66: 'binding' : cannot declare a default, include a type or full declaration
+ERROR: 0:69: 'location/component/index' : cannot declare a default, use a full declaration
+ERROR: 0:70: 'input block' : not supported in this stage: vertex
+ERROR: 0:70: 'binding' : requires uniform or buffer storage qualifier
+ERROR: 0:71: 'binding' : binding is too large
+ERROR: 0:74: 'binding' : sampler binding not less than gl_MaxCombinedTextureImageUnits
+ERROR: 0:76: 'binding' : sampler binding not less than gl_MaxCombinedTextureImageUnits (using array)
+ERROR: 0:85: 'patch' : not supported in this stage: vertex
+ERROR: 0:85: '' : vertex input cannot be further qualified
+ERROR: 0:86: 'patch' : not supported in this stage: vertex
+ERROR: 0:100: '=' : global const initializers must be constant 'const int'
+ERROR: 0:101: '' : constant expression required
+ERROR: 0:101: '' : array size must be a constant integer expression
+ERROR: 0:107: '' : image variables not declared 'writeonly' must have a format layout qualifier
+ERROR: 0:114: 'imageAtomicMin' : only supported on image with format r32i or r32ui
+ERROR: 0:115: 'imageAtomicMax' : no matching overloaded function found
+ERROR: 0:119: 'writeonly' : argument cannot drop memory qualifier when passed to formal parameter
+ERROR: 0:122: '' : memory qualifiers cannot be used on this type
+ERROR: 0:123: '' : memory qualifiers cannot be used on this type
+ERROR: 0:135: 'volatile' : argument cannot drop memory qualifier when passed to formal parameter
+ERROR: 0:139: 'rg8i' : does not apply to unsigned integer images
+ERROR: 0:140: 'rgba32i' : does not apply to floating point images
+ERROR: 0:141: 'rgba32f' : does not apply to unsigned integer images
+ERROR: 0:142: 'r8_snorm' : does not apply to signed integer images
+ERROR: 0:143: 'rgba32ui' : does not apply to signed integer images
+ERROR: 0:144: 'r8ui' : does not apply to signed integer images
+ERROR: 0:147: 'offset on block member' : not supported for this version or the enabled extensions
+ERROR: 0:157: 'textureQueryLevels' : no matching overloaded function found
+ERROR: 0:157: 'assign' : cannot convert from 'const float' to 'temp int'
+ERROR: 0:158: 'textureQueryLevels' : no matching overloaded function found
+ERROR: 0:158: 'assign' : cannot convert from 'const float' to 'temp int'
+ERROR: 52 compilation errors. No code generated.
+
+
+Shader version: 420
+ERROR: node is still EOpNull!
+0:20 Function Definition: foo( (const int)
+0:20 Function Parameters:
+0:? Sequence
+0:23 Sequence
+0:23 move second child to first child (temp int)
+0:23 'b' (const (read only) int)
+0:23 'anonconst' (global int)
+0:25 Sequence
+0:25 move second child to first child (temp int)
+0:25 'd' (const (read only) int)
+0:25 'b' (const (read only) int)
+0:29 Branch: Return with expression
+0:29 'b' (const (read only) int)
+0:32 Function Definition: main( (global void)
+0:32 Function Parameters:
+0:? Sequence
+0:35 Test condition and select (temp void)
+0:35 Condition
+0:35 Compare Equal (temp bool)
+0:35 'i' (temp int)
+0:35 Constant:
+0:35 3 (const int)
+0:35 true case
+0:36 Sequence
+0:36 move second child to first child (temp int)
+0:36 'j' (temp int)
+0:36 'i' (temp int)
+0:42 Loop with condition tested first
+0:42 Loop Condition
+0:42 Constant:
+0:42 true (const bool)
+0:42 No loop body
+0:50 Function Definition: bar(vf4; (global void)
+0:50 Function Parameters:
+0:50 'v' (volatile in 4-component vector of float)
+0:? Sequence
+0:53 's' (temp int)
+0:54 's' (temp int)
+0:55 Test condition and select (temp void)
+0:55 Condition
+0:55 Compare Equal (temp bool)
+0:55 direct index (temp float)
+0:55 direct index (temp 4-component vector of float)
+0:55 'bad' (in 10-element array of 4-component vector of float)
+0:55 Constant:
+0:55 0 (const int)
+0:55 Constant:
+0:55 0 (const int)
+0:55 Constant:
+0:55 4.200000
+0:55 true case is null
+0:57 Test condition and select (temp void)
+0:57 Condition
+0:57 Constant:
+0:57 true (const bool)
+0:57 true case
+0:58 move second child to first child (temp 4-component vector of float)
+0:58 'badorder3' (flat out 4-component vector of float)
+0:58 direct index (temp 4-component vector of float)
+0:58 'bad' (in 10-element array of 4-component vector of float)
+0:58 Constant:
+0:58 0 (const int)
+0:61 Sequence
+0:61 move second child to first child (temp 3-component vector of float)
+0:61 'smeared' (temp 3-component vector of float)
+0:61 Construct vec3 (temp 3-component vector of float)
+0:61 'f' (temp float)
+0:62 'f' (temp float)
+0:63 'f' (temp float)
+0:88 Function Definition: bar23444( (global void)
+0:88 Function Parameters:
+0:? Sequence
+0:91 Sequence
+0:91 move second child to first child (temp float)
+0:91 'a1' (temp float)
+0:91 direct index (temp float)
+0:91 direct index (temp 3-component vector of float)
+0:91 'm43' (temp 4X3 matrix of float)
+0:91 Constant:
+0:91 3 (const int)
+0:91 Constant:
+0:91 1 (const int)
+0:93 Sequence
+0:93 move second child to first child (temp int)
+0:93 'a2' (temp int)
+0:93 Constant:
+0:93 4 (const int)
+0:94 add second child into first child (temp int)
+0:94 'a2' (temp int)
+0:94 Constant:
+0:94 3 (const int)
+0:95 add second child into first child (temp int)
+0:95 'a2' (temp int)
+0:95 Constant:
+0:95 3 (const int)
+0:96 Sequence
+0:96 move second child to first child (temp float)
+0:96 'b' (const (read only) float)
+0:96 component-wise multiply (temp float)
+0:96 Constant:
+0:96 2.000000
+0:96 'a1' (temp float)
+0:97 Sequence
+0:97 move second child to first child (temp int)
+0:97 'a' (temp int)
+0:97 Constant:
+0:97 -1 (const int)
+0:109 Function Definition: qux( (global void)
+0:109 Function Parameters:
+0:111 Sequence
+0:111 Sequence
+0:111 move second child to first child (temp int)
+0:111 'i' (temp int)
+0:111 aoeu: direct index for structure (layout(column_major shared ) uniform int)
+0:111 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
+0:111 Constant:
+0:111 0 (const uint)
+0:112 imageAtomicCompSwap (global int)
+0:112 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:112 Construct ivec2 (temp 2-component vector of int)
+0:112 'i' (temp int)
+0:112 'i' (temp int)
+0:112 'i' (temp int)
+0:112 'i' (temp int)
+0:113 imageAtomicAdd (global uint)
+0:113 'uimg2D' (layout(r32ui ) uniform uimage2D)
+0:113 Construct ivec2 (temp 2-component vector of int)
+0:113 'i' (temp int)
+0:113 'i' (temp int)
+0:113 Convert int to uint (temp uint)
+0:113 'i' (temp int)
+0:114 imageAtomicMin (global int)
+0:114 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
+0:114 Construct ivec2 (temp 2-component vector of int)
+0:114 'i' (temp int)
+0:114 'i' (temp int)
+0:114 'i' (temp int)
+0:115 Constant:
+0:115 0.000000
+0:116 Sequence
+0:116 move second child to first child (temp 4-component vector of int)
+0:116 'pos' (temp 4-component vector of int)
+0:116 imageLoad (global 4-component vector of int)
+0:116 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:116 Construct ivec2 (temp 2-component vector of int)
+0:116 'i' (temp int)
+0:116 'i' (temp int)
+0:117 Sequence
+0:117 move second child to first child (temp 4-component vector of float)
+0:117 'col' (temp 4-component vector of float)
+0:117 imageLoad (global 4-component vector of float)
+0:117 'img2DMS' (uniform image2DMS)
+0:117 Construct ivec2 (temp 2-component vector of int)
+0:117 'i' (temp int)
+0:117 'i' (temp int)
+0:117 'i' (temp int)
+0:118 imageStore (global void)
+0:118 'img2DMSWO' (writeonly uniform image2DMS)
+0:118 Construct ivec2 (temp 2-component vector of int)
+0:118 'i' (temp int)
+0:118 'i' (temp int)
+0:118 'i' (temp int)
+0:118 Constant:
+0:118 0.000000
+0:118 0.000000
+0:118 0.000000
+0:118 0.000000
+0:119 imageLoad (global 4-component vector of float)
+0:119 'img2DMSWO' (writeonly uniform image2DMS)
+0:119 Construct ivec2 (temp 2-component vector of int)
+0:119 'i' (temp int)
+0:119 'i' (temp int)
+0:119 'i' (temp int)
+0:125 Function Definition: passr(iI21; (global void)
+0:125 Function Parameters:
+0:125 'image' (coherent readonly in iimage2D)
+0:132 Function Definition: passrc( (global void)
+0:132 Function Parameters:
+0:134 Sequence
+0:134 Function Call: passr(iI21; (global void)
+0:134 'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
+0:135 Function Call: passr(iI21; (global void)
+0:135 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
+0:136 Function Call: passr(iI21; (global void)
+0:136 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:153 Function Definition: qlod( (global void)
+0:153 Function Parameters:
+0:? Sequence
+0:157 'levels' (temp int)
+0:158 'levels' (temp int)
+0:? Linker Objects
+0:? 'v2' (smooth out 2-component vector of float)
+0:? 'bad' (in 10-element array of 4-component vector of float)
+0:? 'badorder' (in 4-component vector of float)
+0:? 'badorder2' (invariant smooth out 4-component vector of float)
+0:? 'badorder4' (centroid in 4-component vector of float)
+0:? 'badorder3' (flat out 4-component vector of float)
+0:? 'rep' (smooth flat out 4-component vector of float)
+0:? 'rep2' (centroid smooth sample out 4-component vector of float)
+0:? 'rep3' (in 4-component vector of float)
+0:? 'anonconst' (global int)
+0:? 'aconst' (const int)
+0:? 5 (const int)
+0:? 'a' (const int)
+0:? 5 (const int)
+0:? 'b' (temp int)
+0:? 'cx' (const float)
+0:? 4.200000
+0:? 'dx' (const float)
+0:? 4.200000
+0:? 'boundInst' (layout(binding=3 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
+0:? 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
+0:? 'anon@1' (layout(binding=1 ) in block{in int aoeua})
+0:? 'anon@2' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform int aooeu})
+0:? 'sampb1' (layout(binding=4 ) uniform sampler2D)
+0:? 'sampb2' (layout(binding=5 ) uniform 10-element array of sampler2D)
+0:? 'sampb3' (layout(binding=80 ) uniform sampler2D)
+0:? 'sampb4' (layout(binding=31 ) uniform sampler2D)
+0:? 'sampb5' (layout(binding=79 ) uniform 2-element array of sampler2D)
+0:? 'anon@3' (out block{out implicitly-sized array of float ClipDistance gl_ClipDistance, })
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'patchOut' (smooth patch out 4-component vector of float)
+0:? 'comma0' (temp int)
+0:? 'comma1' (global 1-element array of int)
+0:? 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:? 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
+0:? 'img2Drgba' (layout(rgba32f ) uniform image2D)
+0:? 'uimg2D' (layout(r32ui ) uniform uimage2D)
+0:? 'img2DMS' (uniform image2DMS)
+0:? 'img2DMSWO' (writeonly uniform image2DMS)
+0:? 'vol' (volatile temp float)
+0:? 'vol2' (readonly temp int)
+0:? 'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
+0:? 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
+0:? 'i1bad' (layout(rg8i ) uniform uimage2D)
+0:? 'i2bad' (layout(rgba32i ) uniform image2D)
+0:? 'i3bad' (layout(rgba32f ) uniform uimage2D)
+0:? 'i4bad' (layout(r8_snorm ) uniform iimage2D)
+0:? 'i5bad' (layout(rgba32ui ) uniform iimage2D)
+0:? 'i6bad' (layout(r8ui ) uniform iimage2D)
+0:? 'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo})
+0:? 'samp1D' (uniform sampler1D)
+0:? 'samp1Ds' (uniform sampler1DShadow)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 420
+ERROR: node is still EOpNull!
+0:20 Function Definition: foo( (const int)
+0:20 Function Parameters:
+0:? Sequence
+0:23 Sequence
+0:23 move second child to first child (temp int)
+0:23 'b' (const (read only) int)
+0:23 'anonconst' (global int)
+0:25 Sequence
+0:25 move second child to first child (temp int)
+0:25 'd' (const (read only) int)
+0:25 'b' (const (read only) int)
+0:29 Branch: Return with expression
+0:29 'b' (const (read only) int)
+0:32 Function Definition: main( (global void)
+0:32 Function Parameters:
+0:? Sequence
+0:35 Test condition and select (temp void)
+0:35 Condition
+0:35 Compare Equal (temp bool)
+0:35 'i' (temp int)
+0:35 Constant:
+0:35 3 (const int)
+0:35 true case
+0:36 Sequence
+0:36 move second child to first child (temp int)
+0:36 'j' (temp int)
+0:36 'i' (temp int)
+0:42 Loop with condition tested first
+0:42 Loop Condition
+0:42 Constant:
+0:42 true (const bool)
+0:42 No loop body
+0:50 Function Definition: bar(vf4; (global void)
+0:50 Function Parameters:
+0:50 'v' (volatile in 4-component vector of float)
+0:? Sequence
+0:53 's' (temp int)
+0:54 's' (temp int)
+0:55 Test condition and select (temp void)
+0:55 Condition
+0:55 Compare Equal (temp bool)
+0:55 direct index (temp float)
+0:55 direct index (temp 4-component vector of float)
+0:55 'bad' (in 10-element array of 4-component vector of float)
+0:55 Constant:
+0:55 0 (const int)
+0:55 Constant:
+0:55 0 (const int)
+0:55 Constant:
+0:55 4.200000
+0:55 true case is null
+0:57 Test condition and select (temp void)
+0:57 Condition
+0:57 Constant:
+0:57 true (const bool)
+0:57 true case
+0:58 move second child to first child (temp 4-component vector of float)
+0:58 'badorder3' (flat out 4-component vector of float)
+0:58 direct index (temp 4-component vector of float)
+0:58 'bad' (in 10-element array of 4-component vector of float)
+0:58 Constant:
+0:58 0 (const int)
+0:61 Sequence
+0:61 move second child to first child (temp 3-component vector of float)
+0:61 'smeared' (temp 3-component vector of float)
+0:61 Construct vec3 (temp 3-component vector of float)
+0:61 'f' (temp float)
+0:62 'f' (temp float)
+0:63 'f' (temp float)
+0:88 Function Definition: bar23444( (global void)
+0:88 Function Parameters:
+0:? Sequence
+0:91 Sequence
+0:91 move second child to first child (temp float)
+0:91 'a1' (temp float)
+0:91 direct index (temp float)
+0:91 direct index (temp 3-component vector of float)
+0:91 'm43' (temp 4X3 matrix of float)
+0:91 Constant:
+0:91 3 (const int)
+0:91 Constant:
+0:91 1 (const int)
+0:93 Sequence
+0:93 move second child to first child (temp int)
+0:93 'a2' (temp int)
+0:93 Constant:
+0:93 4 (const int)
+0:94 add second child into first child (temp int)
+0:94 'a2' (temp int)
+0:94 Constant:
+0:94 3 (const int)
+0:95 add second child into first child (temp int)
+0:95 'a2' (temp int)
+0:95 Constant:
+0:95 3 (const int)
+0:96 Sequence
+0:96 move second child to first child (temp float)
+0:96 'b' (const (read only) float)
+0:96 component-wise multiply (temp float)
+0:96 Constant:
+0:96 2.000000
+0:96 'a1' (temp float)
+0:97 Sequence
+0:97 move second child to first child (temp int)
+0:97 'a' (temp int)
+0:97 Constant:
+0:97 -1 (const int)
+0:109 Function Definition: qux( (global void)
+0:109 Function Parameters:
+0:111 Sequence
+0:111 Sequence
+0:111 move second child to first child (temp int)
+0:111 'i' (temp int)
+0:111 aoeu: direct index for structure (layout(column_major shared ) uniform int)
+0:111 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
+0:111 Constant:
+0:111 0 (const uint)
+0:112 imageAtomicCompSwap (global int)
+0:112 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:112 Construct ivec2 (temp 2-component vector of int)
+0:112 'i' (temp int)
+0:112 'i' (temp int)
+0:112 'i' (temp int)
+0:112 'i' (temp int)
+0:113 imageAtomicAdd (global uint)
+0:113 'uimg2D' (layout(r32ui ) uniform uimage2D)
+0:113 Construct ivec2 (temp 2-component vector of int)
+0:113 'i' (temp int)
+0:113 'i' (temp int)
+0:113 Convert int to uint (temp uint)
+0:113 'i' (temp int)
+0:114 imageAtomicMin (global int)
+0:114 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
+0:114 Construct ivec2 (temp 2-component vector of int)
+0:114 'i' (temp int)
+0:114 'i' (temp int)
+0:114 'i' (temp int)
+0:115 Constant:
+0:115 0.000000
+0:116 Sequence
+0:116 move second child to first child (temp 4-component vector of int)
+0:116 'pos' (temp 4-component vector of int)
+0:116 imageLoad (global 4-component vector of int)
+0:116 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:116 Construct ivec2 (temp 2-component vector of int)
+0:116 'i' (temp int)
+0:116 'i' (temp int)
+0:117 Sequence
+0:117 move second child to first child (temp 4-component vector of float)
+0:117 'col' (temp 4-component vector of float)
+0:117 imageLoad (global 4-component vector of float)
+0:117 'img2DMS' (uniform image2DMS)
+0:117 Construct ivec2 (temp 2-component vector of int)
+0:117 'i' (temp int)
+0:117 'i' (temp int)
+0:117 'i' (temp int)
+0:118 imageStore (global void)
+0:118 'img2DMSWO' (writeonly uniform image2DMS)
+0:118 Construct ivec2 (temp 2-component vector of int)
+0:118 'i' (temp int)
+0:118 'i' (temp int)
+0:118 'i' (temp int)
+0:118 Constant:
+0:118 0.000000
+0:118 0.000000
+0:118 0.000000
+0:118 0.000000
+0:119 imageLoad (global 4-component vector of float)
+0:119 'img2DMSWO' (writeonly uniform image2DMS)
+0:119 Construct ivec2 (temp 2-component vector of int)
+0:119 'i' (temp int)
+0:119 'i' (temp int)
+0:119 'i' (temp int)
+0:125 Function Definition: passr(iI21; (global void)
+0:125 Function Parameters:
+0:125 'image' (coherent readonly in iimage2D)
+0:132 Function Definition: passrc( (global void)
+0:132 Function Parameters:
+0:134 Sequence
+0:134 Function Call: passr(iI21; (global void)
+0:134 'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
+0:135 Function Call: passr(iI21; (global void)
+0:135 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
+0:136 Function Call: passr(iI21; (global void)
+0:136 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:153 Function Definition: qlod( (global void)
+0:153 Function Parameters:
+0:? Sequence
+0:157 'levels' (temp int)
+0:158 'levels' (temp int)
+0:? Linker Objects
+0:? 'v2' (smooth out 2-component vector of float)
+0:? 'bad' (in 10-element array of 4-component vector of float)
+0:? 'badorder' (in 4-component vector of float)
+0:? 'badorder2' (invariant smooth out 4-component vector of float)
+0:? 'badorder4' (centroid in 4-component vector of float)
+0:? 'badorder3' (flat out 4-component vector of float)
+0:? 'rep' (smooth flat out 4-component vector of float)
+0:? 'rep2' (centroid smooth sample out 4-component vector of float)
+0:? 'rep3' (in 4-component vector of float)
+0:? 'anonconst' (global int)
+0:? 'aconst' (const int)
+0:? 5 (const int)
+0:? 'a' (const int)
+0:? 5 (const int)
+0:? 'b' (temp int)
+0:? 'cx' (const float)
+0:? 4.200000
+0:? 'dx' (const float)
+0:? 4.200000
+0:? 'boundInst' (layout(binding=3 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
+0:? 'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
+0:? 'anon@1' (layout(binding=1 ) in block{in int aoeua})
+0:? 'anon@2' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform int aooeu})
+0:? 'sampb1' (layout(binding=4 ) uniform sampler2D)
+0:? 'sampb2' (layout(binding=5 ) uniform 10-element array of sampler2D)
+0:? 'sampb3' (layout(binding=80 ) uniform sampler2D)
+0:? 'sampb4' (layout(binding=31 ) uniform sampler2D)
+0:? 'sampb5' (layout(binding=79 ) uniform 2-element array of sampler2D)
+0:? 'anon@3' (out block{out 1-element array of float ClipDistance gl_ClipDistance, })
+0:? 'patchIn' (patch in 4-component vector of float)
+0:? 'patchOut' (smooth patch out 4-component vector of float)
+0:? 'comma0' (temp int)
+0:? 'comma1' (global 1-element array of int)
+0:? 'iimg2D' (layout(r32i ) uniform iimage2D)
+0:? 'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
+0:? 'img2Drgba' (layout(rgba32f ) uniform image2D)
+0:? 'uimg2D' (layout(r32ui ) uniform uimage2D)
+0:? 'img2DMS' (uniform image2DMS)
+0:? 'img2DMSWO' (writeonly uniform image2DMS)
+0:? 'vol' (volatile temp float)
+0:? 'vol2' (readonly temp int)
+0:? 'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
+0:? 'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
+0:? 'i1bad' (layout(rg8i ) uniform uimage2D)
+0:? 'i2bad' (layout(rgba32i ) uniform image2D)
+0:? 'i3bad' (layout(rgba32f ) uniform uimage2D)
+0:? 'i4bad' (layout(r8_snorm ) uniform iimage2D)
+0:? 'i5bad' (layout(rgba32ui ) uniform iimage2D)
+0:? 'i6bad' (layout(r8ui ) uniform iimage2D)
+0:? 'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo})
+0:? 'samp1D' (uniform sampler1D)
+0:? 'samp1Ds' (uniform sampler1DShadow)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/420_size_gl_in.geom.out b/Test/baseResults/420_size_gl_in.geom.out
index 43f7c2e..bb7e515 100644
--- a/Test/baseResults/420_size_gl_in.geom.out
+++ b/Test/baseResults/420_size_gl_in.geom.out
@@ -1,77 +1,77 @@
-420_size_gl_in.geom
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:19: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
-ERROR: 1 compilation errors. No code generated.
-
-
-Shader version: 420
-invocations = 0
-max_vertices = 0
-input primitive = triangles
-output primitive = none
-ERROR: node is still EOpNull!
-0:11 Function Definition: foo( (global void)
-0:11 Function Parameters:
-0:13 Sequence
-0:13 Constant:
-0:13 3 (const int)
-0:14 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:14 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:14 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:14 Constant:
-0:14 1 (const int)
-0:14 Constant:
-0:14 0 (const int)
-0:15 Constant:
-0:15 3 (const int)
-0:16 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:16 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:16 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-0:16 'i' (global int)
-0:16 Constant:
-0:16 0 (const int)
-0:? Linker Objects
-0:? 'i' (global int)
-0:? 'colorun' (in 3-element array of 4-component vector of float)
-0:? 'color3' (in 3-element array of 4-component vector of float)
-0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
-
-
-Linked geometry stage:
-
-ERROR: Linking geometry stage: Missing entry point: Each stage requires one "void main()" entry point
-ERROR: Linking geometry stage: At least one shader must specify an output layout primitive
-ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value)
-
-Shader version: 420
-invocations = 0
-max_vertices = 0
-input primitive = triangles
-output primitive = none
-ERROR: node is still EOpNull!
-0:11 Function Definition: foo( (global void)
-0:11 Function Parameters:
-0:13 Sequence
-0:13 Constant:
-0:13 3 (const int)
-0:14 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:14 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:14 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:14 Constant:
-0:14 1 (const int)
-0:14 Constant:
-0:14 0 (const int)
-0:15 Constant:
-0:15 3 (const int)
-0:16 gl_Position: direct index for structure (in 4-component vector of float Position)
-0:16 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:16 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:16 'i' (global int)
-0:16 Constant:
-0:16 0 (const int)
-0:? Linker Objects
-0:? 'i' (global int)
-0:? 'colorun' (in 3-element array of 4-component vector of float)
-0:? 'color3' (in 3-element array of 4-component vector of float)
-0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-
+420_size_gl_in.geom
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:19: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 420
+invocations = 0
+max_vertices = 0
+input primitive = triangles
+output primitive = none
+ERROR: node is still EOpNull!
+0:11 Function Definition: foo( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 Constant:
+0:13 3 (const int)
+0:14 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:14 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:14 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:14 Constant:
+0:14 1 (const int)
+0:14 Constant:
+0:14 0 (const int)
+0:15 Constant:
+0:15 3 (const int)
+0:16 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:16 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:16 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+0:16 'i' (global int)
+0:16 Constant:
+0:16 0 (const int)
+0:? Linker Objects
+0:? 'i' (global int)
+0:? 'colorun' (in 3-element array of 4-component vector of float)
+0:? 'color3' (in 3-element array of 4-component vector of float)
+0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in implicitly-sized array of float ClipDistance gl_ClipDistance})
+
+
+Linked geometry stage:
+
+ERROR: Linking geometry stage: Missing entry point: Each stage requires one "void main()" entry point
+ERROR: Linking geometry stage: At least one shader must specify an output layout primitive
+ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value)
+
+Shader version: 420
+invocations = 0
+max_vertices = 0
+input primitive = triangles
+output primitive = none
+ERROR: node is still EOpNull!
+0:11 Function Definition: foo( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 Constant:
+0:13 3 (const int)
+0:14 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:14 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:14 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:14 Constant:
+0:14 1 (const int)
+0:14 Constant:
+0:14 0 (const int)
+0:15 Constant:
+0:15 3 (const int)
+0:16 gl_Position: direct index for structure (in 4-component vector of float Position)
+0:16 indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:16 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:16 'i' (global int)
+0:16 Constant:
+0:16 0 (const int)
+0:? Linker Objects
+0:? 'i' (global int)
+0:? 'colorun' (in 3-element array of 4-component vector of float)
+0:? 'color3' (in 3-element array of 4-component vector of float)
+0:? 'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+
diff --git a/Test/baseResults/430.comp.out b/Test/baseResults/430.comp.out
index 538caa0..3989659 100644
--- a/Test/baseResults/430.comp.out
+++ b/Test/baseResults/430.comp.out
@@ -1,281 +1,281 @@
-430.comp
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:4: 'local_size' : cannot change previously set size
-ERROR: 0:5: 'local_size' : too large; see gl_MaxComputeWorkGroupSize
-ERROR: 0:43: 'in' : global storage input qualifier cannot be used in a compute shader
-ERROR: 0:43: 'location qualifier on input' : not supported in this stage: compute
-ERROR: 0:44: 'in' : global storage input qualifier cannot be used in a compute shader
-ERROR: 0:45: 'out' : global storage output qualifier cannot be used in a compute shader
-ERROR: 0:48: 'shared' : cannot apply layout qualifiers to a shared variable
-ERROR: 0:48: 'location' : can only appy to uniform, buffer, in, or out storage qualifiers
-ERROR: 0:49: 'shared' : cannot initialize this type of qualifier
-ERROR: 0:51: 'local_size' : can only apply to 'in'
-ERROR: 0:51: 'local_size' : can only apply to 'in'
-ERROR: 0:51: 'local_size' : can only apply to 'in'
-ERROR: 0:65: 'assign' : l-value required "ro" (can't modify a readonly buffer)
-ERROR: 0:77: '=' : cannot convert from 'temp double' to 'temp int'
-ERROR: 0:81: 'input block' : not supported in this stage: compute
-ERROR: 0:85: 'output block' : not supported in this stage: compute
-ERROR: 16 compilation errors. No code generated.
-
-
-Shader version: 430
-local_size = (2, 1, 4096)
-ERROR: node is still EOpNull!
-0:27 Function Definition: main( (global void)
-0:27 Function Parameters:
-0:29 Sequence
-0:29 Barrier (global void)
-0:30 MemoryBarrier (global void)
-0:31 MemoryBarrierAtomicCounter (global void)
-0:32 MemoryBarrierBuffer (global void)
-0:33 MemoryBarrierShared (global void)
-0:34 MemoryBarrierImage (global void)
-0:35 GroupMemoryBarrier (global void)
-0:36 move second child to first child (temp int)
-0:36 value: direct index for structure (layout(column_major shared ) buffer int)
-0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
-0:36 Constant:
-0:36 0 (const uint)
-0:36 Convert float to int (temp int)
-0:36 indirect index (layout(column_major shared ) temp float)
-0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
-0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
-0:36 Constant:
-0:36 1 (const uint)
-0:36 'gl_LocalInvocationIndex' (in uint LocalInvocationIndex)
-0:39 Test condition and select (temp void)
-0:39 Condition
-0:39 Compare Greater Than (temp bool)
-0:39 'a' (temp int)
-0:39 Constant:
-0:39 10 (const int)
-0:39 true case
-0:40 Barrier (global void)
-0:63 Function Definition: foo( (global void)
-0:63 Function Parameters:
-0:65 Sequence
-0:65 move second child to first child (temp float)
-0:65 direct index (layout(column_major shared ) temp float)
-0:65 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
-0:65 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
-0:65 Constant:
-0:65 1 (const int)
-0:65 Constant:
-0:65 2 (const int)
-0:65 Constant:
-0:65 4.700000
-0:66 array length (temp int)
-0:66 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
-0:66 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
-0:66 Constant:
-0:66 1 (const int)
-0:67 Barrier (global void)
-0:72 Function Definition: fooaoeu( (global void)
-0:72 Function Parameters:
-0:73 Sequence
-0:73 Sequence
-0:73 move second child to first child (temp 2-component vector of int)
-0:73 'storePos' (temp 2-component vector of int)
-0:73 Convert uint to int (temp 2-component vector of int)
-0:73 vector swizzle (temp 2-component vector of uint)
-0:73 'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID)
-0:73 Sequence
-0:73 Constant:
-0:73 0 (const int)
-0:73 Constant:
-0:73 1 (const int)
-0:74 Sequence
-0:74 move second child to first child (temp double)
-0:74 'localCoef' (temp double)
-0:74 Convert float to double (temp double)
-0:74 length (global float)
-0:74 divide (temp 2-component vector of float)
-0:74 Convert int to float (temp 2-component vector of float)
-0:74 subtract (temp 2-component vector of int)
-0:74 Convert uint to int (temp 2-component vector of int)
-0:74 vector swizzle (temp 2-component vector of uint)
-0:74 'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID)
-0:74 Sequence
-0:74 Constant:
-0:74 0 (const int)
-0:74 Constant:
-0:74 1 (const int)
-0:74 Constant:
-0:74 8 (const int)
-0:74 Constant:
-0:74 8.000000
-0:75 Sequence
-0:75 move second child to first child (temp 4-component vector of double)
-0:75 'aa' (temp 4-component vector of double)
-0:75 Constant:
-0:75 0.400000
-0:75 0.200000
-0:75 0.300000
-0:75 0.400000
-0:76 Sequence
-0:76 move second child to first child (temp double)
-0:76 'globalCoef' (temp double)
-0:76 Constant:
-0:76 1.000000
-0:78 Sequence
-0:78 move second child to first child (temp double)
-0:78 'di' (temp double)
-0:78 Convert int to double (temp double)
-0:78 'i' (temp int)
-0:? Linker Objects
-0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)
-0:? 2 (const uint)
-0:? 1 (const uint)
-0:? 4096 (const uint)
-0:? 'total' (const int)
-0:? 66592 (const int)
-0:? 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
-0:? 'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of float values, layout(column_major shared ) buffer int value})
-0:? 'v3' (layout(location=2 ) in 3-component vector of float)
-0:? 'f' (in float)
-0:? 'fo' (out float)
-0:? 's' (shared 4-component vector of float)
-0:? 'sl' (layout(location=2 ) shared 4-component vector of float)
-0:? 'fs' (shared float)
-0:? 'arrX' (global 2-element array of int)
-0:? 'arrY' (global 1-element array of int)
-0:? 'arrZ' (global 4096-element array of int)
-0:? 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
-0:? 'roll' (uniform double)
-0:? 'destTex' (writeonly uniform image2D)
-0:? 'inbi' (in block{in int a})
-0:? 'outbi' (out block{out int a})
-
-
-Linked compute stage:
-
-
-Shader version: 430
-local_size = (2, 1, 4096)
-ERROR: node is still EOpNull!
-0:27 Function Definition: main( (global void)
-0:27 Function Parameters:
-0:29 Sequence
-0:29 Barrier (global void)
-0:30 MemoryBarrier (global void)
-0:31 MemoryBarrierAtomicCounter (global void)
-0:32 MemoryBarrierBuffer (global void)
-0:33 MemoryBarrierShared (global void)
-0:34 MemoryBarrierImage (global void)
-0:35 GroupMemoryBarrier (global void)
-0:36 move second child to first child (temp int)
-0:36 value: direct index for structure (layout(column_major shared ) buffer int)
-0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
-0:36 Constant:
-0:36 0 (const uint)
-0:36 Convert float to int (temp int)
-0:36 indirect index (layout(column_major shared ) temp float)
-0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
-0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
-0:36 Constant:
-0:36 1 (const uint)
-0:36 'gl_LocalInvocationIndex' (in uint LocalInvocationIndex)
-0:39 Test condition and select (temp void)
-0:39 Condition
-0:39 Compare Greater Than (temp bool)
-0:39 'a' (temp int)
-0:39 Constant:
-0:39 10 (const int)
-0:39 true case
-0:40 Barrier (global void)
-0:63 Function Definition: foo( (global void)
-0:63 Function Parameters:
-0:65 Sequence
-0:65 move second child to first child (temp float)
-0:65 direct index (layout(column_major shared ) temp float)
-0:65 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
-0:65 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
-0:65 Constant:
-0:65 1 (const int)
-0:65 Constant:
-0:65 2 (const int)
-0:65 Constant:
-0:65 4.700000
-0:66 array length (temp int)
-0:66 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
-0:66 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
-0:66 Constant:
-0:66 1 (const int)
-0:67 Barrier (global void)
-0:72 Function Definition: fooaoeu( (global void)
-0:72 Function Parameters:
-0:73 Sequence
-0:73 Sequence
-0:73 move second child to first child (temp 2-component vector of int)
-0:73 'storePos' (temp 2-component vector of int)
-0:73 Convert uint to int (temp 2-component vector of int)
-0:73 vector swizzle (temp 2-component vector of uint)
-0:73 'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID)
-0:73 Sequence
-0:73 Constant:
-0:73 0 (const int)
-0:73 Constant:
-0:73 1 (const int)
-0:74 Sequence
-0:74 move second child to first child (temp double)
-0:74 'localCoef' (temp double)
-0:74 Convert float to double (temp double)
-0:74 length (global float)
-0:74 divide (temp 2-component vector of float)
-0:74 Convert int to float (temp 2-component vector of float)
-0:74 subtract (temp 2-component vector of int)
-0:74 Convert uint to int (temp 2-component vector of int)
-0:74 vector swizzle (temp 2-component vector of uint)
-0:74 'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID)
-0:74 Sequence
-0:74 Constant:
-0:74 0 (const int)
-0:74 Constant:
-0:74 1 (const int)
-0:74 Constant:
-0:74 8 (const int)
-0:74 Constant:
-0:74 8.000000
-0:75 Sequence
-0:75 move second child to first child (temp 4-component vector of double)
-0:75 'aa' (temp 4-component vector of double)
-0:75 Constant:
-0:75 0.400000
-0:75 0.200000
-0:75 0.300000
-0:75 0.400000
-0:76 Sequence
-0:76 move second child to first child (temp double)
-0:76 'globalCoef' (temp double)
-0:76 Constant:
-0:76 1.000000
-0:78 Sequence
-0:78 move second child to first child (temp double)
-0:78 'di' (temp double)
-0:78 Convert int to double (temp double)
-0:78 'i' (temp int)
-0:? Linker Objects
-0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)
-0:? 2 (const uint)
-0:? 1 (const uint)
-0:? 4096 (const uint)
-0:? 'total' (const int)
-0:? 66592 (const int)
-0:? 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
-0:? 'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of float values, layout(column_major shared ) buffer int value})
-0:? 'v3' (layout(location=2 ) in 3-component vector of float)
-0:? 'f' (in float)
-0:? 'fo' (out float)
-0:? 's' (shared 4-component vector of float)
-0:? 'sl' (layout(location=2 ) shared 4-component vector of float)
-0:? 'fs' (shared float)
-0:? 'arrX' (global 2-element array of int)
-0:? 'arrY' (global 1-element array of int)
-0:? 'arrZ' (global 4096-element array of int)
-0:? 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
-0:? 'roll' (uniform double)
-0:? 'destTex' (writeonly uniform image2D)
-0:? 'inbi' (in block{in int a})
-0:? 'outbi' (out block{out int a})
-
+430.comp
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:4: 'local_size' : cannot change previously set size
+ERROR: 0:5: 'local_size' : too large; see gl_MaxComputeWorkGroupSize
+ERROR: 0:43: 'in' : global storage input qualifier cannot be used in a compute shader
+ERROR: 0:43: 'location qualifier on input' : not supported in this stage: compute
+ERROR: 0:44: 'in' : global storage input qualifier cannot be used in a compute shader
+ERROR: 0:45: 'out' : global storage output qualifier cannot be used in a compute shader
+ERROR: 0:48: 'shared' : cannot apply layout qualifiers to a shared variable
+ERROR: 0:48: 'location' : can only appy to uniform, buffer, in, or out storage qualifiers
+ERROR: 0:49: 'shared' : cannot initialize this type of qualifier
+ERROR: 0:51: 'local_size' : can only apply to 'in'
+ERROR: 0:51: 'local_size' : can only apply to 'in'
+ERROR: 0:51: 'local_size' : can only apply to 'in'
+ERROR: 0:65: 'assign' : l-value required "ro" (can't modify a readonly buffer)
+ERROR: 0:77: '=' : cannot convert from 'temp double' to 'temp int'
+ERROR: 0:81: 'input block' : not supported in this stage: compute
+ERROR: 0:85: 'output block' : not supported in this stage: compute
+ERROR: 16 compilation errors. No code generated.
+
+
+Shader version: 430
+local_size = (2, 1, 4096)
+ERROR: node is still EOpNull!
+0:27 Function Definition: main( (global void)
+0:27 Function Parameters:
+0:29 Sequence
+0:29 Barrier (global void)
+0:30 MemoryBarrier (global void)
+0:31 MemoryBarrierAtomicCounter (global void)
+0:32 MemoryBarrierBuffer (global void)
+0:33 MemoryBarrierShared (global void)
+0:34 MemoryBarrierImage (global void)
+0:35 GroupMemoryBarrier (global void)
+0:36 move second child to first child (temp int)
+0:36 value: direct index for structure (layout(column_major shared ) buffer int)
+0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:36 Constant:
+0:36 0 (const uint)
+0:36 Convert float to int (temp int)
+0:36 indirect index (layout(column_major shared ) temp float)
+0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
+0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:36 Constant:
+0:36 1 (const uint)
+0:36 'gl_LocalInvocationIndex' (in uint LocalInvocationIndex)
+0:39 Test condition and select (temp void)
+0:39 Condition
+0:39 Compare Greater Than (temp bool)
+0:39 'a' (temp int)
+0:39 Constant:
+0:39 10 (const int)
+0:39 true case
+0:40 Barrier (global void)
+0:63 Function Definition: foo( (global void)
+0:63 Function Parameters:
+0:65 Sequence
+0:65 move second child to first child (temp float)
+0:65 direct index (layout(column_major shared ) temp float)
+0:65 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
+0:65 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:65 Constant:
+0:65 1 (const int)
+0:65 Constant:
+0:65 2 (const int)
+0:65 Constant:
+0:65 4.700000
+0:66 array length (temp int)
+0:66 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
+0:66 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:66 Constant:
+0:66 1 (const int)
+0:67 Barrier (global void)
+0:72 Function Definition: fooaoeu( (global void)
+0:72 Function Parameters:
+0:73 Sequence
+0:73 Sequence
+0:73 move second child to first child (temp 2-component vector of int)
+0:73 'storePos' (temp 2-component vector of int)
+0:73 Convert uint to int (temp 2-component vector of int)
+0:73 vector swizzle (temp 2-component vector of uint)
+0:73 'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID)
+0:73 Sequence
+0:73 Constant:
+0:73 0 (const int)
+0:73 Constant:
+0:73 1 (const int)
+0:74 Sequence
+0:74 move second child to first child (temp double)
+0:74 'localCoef' (temp double)
+0:74 Convert float to double (temp double)
+0:74 length (global float)
+0:74 divide (temp 2-component vector of float)
+0:74 Convert int to float (temp 2-component vector of float)
+0:74 subtract (temp 2-component vector of int)
+0:74 Convert uint to int (temp 2-component vector of int)
+0:74 vector swizzle (temp 2-component vector of uint)
+0:74 'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID)
+0:74 Sequence
+0:74 Constant:
+0:74 0 (const int)
+0:74 Constant:
+0:74 1 (const int)
+0:74 Constant:
+0:74 8 (const int)
+0:74 Constant:
+0:74 8.000000
+0:75 Sequence
+0:75 move second child to first child (temp 4-component vector of double)
+0:75 'aa' (temp 4-component vector of double)
+0:75 Constant:
+0:75 0.400000
+0:75 0.200000
+0:75 0.300000
+0:75 0.400000
+0:76 Sequence
+0:76 move second child to first child (temp double)
+0:76 'globalCoef' (temp double)
+0:76 Constant:
+0:76 1.000000
+0:78 Sequence
+0:78 move second child to first child (temp double)
+0:78 'di' (temp double)
+0:78 Convert int to double (temp double)
+0:78 'i' (temp int)
+0:? Linker Objects
+0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)
+0:? 2 (const uint)
+0:? 1 (const uint)
+0:? 4096 (const uint)
+0:? 'total' (const int)
+0:? 66592 (const int)
+0:? 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:? 'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of float values, layout(column_major shared ) buffer int value})
+0:? 'v3' (layout(location=2 ) in 3-component vector of float)
+0:? 'f' (in float)
+0:? 'fo' (out float)
+0:? 's' (shared 4-component vector of float)
+0:? 'sl' (layout(location=2 ) shared 4-component vector of float)
+0:? 'fs' (shared float)
+0:? 'arrX' (global 2-element array of int)
+0:? 'arrY' (global 1-element array of int)
+0:? 'arrZ' (global 4096-element array of int)
+0:? 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:? 'roll' (uniform double)
+0:? 'destTex' (writeonly uniform image2D)
+0:? 'inbi' (in block{in int a})
+0:? 'outbi' (out block{out int a})
+
+
+Linked compute stage:
+
+
+Shader version: 430
+local_size = (2, 1, 4096)
+ERROR: node is still EOpNull!
+0:27 Function Definition: main( (global void)
+0:27 Function Parameters:
+0:29 Sequence
+0:29 Barrier (global void)
+0:30 MemoryBarrier (global void)
+0:31 MemoryBarrierAtomicCounter (global void)
+0:32 MemoryBarrierBuffer (global void)
+0:33 MemoryBarrierShared (global void)
+0:34 MemoryBarrierImage (global void)
+0:35 GroupMemoryBarrier (global void)
+0:36 move second child to first child (temp int)
+0:36 value: direct index for structure (layout(column_major shared ) buffer int)
+0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:36 Constant:
+0:36 0 (const uint)
+0:36 Convert float to int (temp int)
+0:36 indirect index (layout(column_major shared ) temp float)
+0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
+0:36 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:36 Constant:
+0:36 1 (const uint)
+0:36 'gl_LocalInvocationIndex' (in uint LocalInvocationIndex)
+0:39 Test condition and select (temp void)
+0:39 Condition
+0:39 Compare Greater Than (temp bool)
+0:39 'a' (temp int)
+0:39 Constant:
+0:39 10 (const int)
+0:39 true case
+0:40 Barrier (global void)
+0:63 Function Definition: foo( (global void)
+0:63 Function Parameters:
+0:65 Sequence
+0:65 move second child to first child (temp float)
+0:65 direct index (layout(column_major shared ) temp float)
+0:65 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
+0:65 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:65 Constant:
+0:65 1 (const int)
+0:65 Constant:
+0:65 2 (const int)
+0:65 Constant:
+0:65 4.700000
+0:66 array length (temp int)
+0:66 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
+0:66 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:66 Constant:
+0:66 1 (const int)
+0:67 Barrier (global void)
+0:72 Function Definition: fooaoeu( (global void)
+0:72 Function Parameters:
+0:73 Sequence
+0:73 Sequence
+0:73 move second child to first child (temp 2-component vector of int)
+0:73 'storePos' (temp 2-component vector of int)
+0:73 Convert uint to int (temp 2-component vector of int)
+0:73 vector swizzle (temp 2-component vector of uint)
+0:73 'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID)
+0:73 Sequence
+0:73 Constant:
+0:73 0 (const int)
+0:73 Constant:
+0:73 1 (const int)
+0:74 Sequence
+0:74 move second child to first child (temp double)
+0:74 'localCoef' (temp double)
+0:74 Convert float to double (temp double)
+0:74 length (global float)
+0:74 divide (temp 2-component vector of float)
+0:74 Convert int to float (temp 2-component vector of float)
+0:74 subtract (temp 2-component vector of int)
+0:74 Convert uint to int (temp 2-component vector of int)
+0:74 vector swizzle (temp 2-component vector of uint)
+0:74 'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID)
+0:74 Sequence
+0:74 Constant:
+0:74 0 (const int)
+0:74 Constant:
+0:74 1 (const int)
+0:74 Constant:
+0:74 8 (const int)
+0:74 Constant:
+0:74 8.000000
+0:75 Sequence
+0:75 move second child to first child (temp 4-component vector of double)
+0:75 'aa' (temp 4-component vector of double)
+0:75 Constant:
+0:75 0.400000
+0:75 0.200000
+0:75 0.300000
+0:75 0.400000
+0:76 Sequence
+0:76 move second child to first child (temp double)
+0:76 'globalCoef' (temp double)
+0:76 Constant:
+0:76 1.000000
+0:78 Sequence
+0:78 move second child to first child (temp double)
+0:78 'di' (temp double)
+0:78 Convert int to double (temp double)
+0:78 'i' (temp int)
+0:? Linker Objects
+0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)
+0:? 2 (const uint)
+0:? 1 (const uint)
+0:? 4096 (const uint)
+0:? 'total' (const int)
+0:? 66592 (const int)
+0:? 'anon@0' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:? 'invalid' (layout(column_major shared ) buffer block{layout(column_major shared ) buffer implicitly-sized array of float values, layout(column_major shared ) buffer int value})
+0:? 'v3' (layout(location=2 ) in 3-component vector of float)
+0:? 'f' (in float)
+0:? 'fo' (out float)
+0:? 's' (shared 4-component vector of float)
+0:? 'sl' (layout(location=2 ) shared 4-component vector of float)
+0:? 'fs' (shared float)
+0:? 'arrX' (global 2-element array of int)
+0:? 'arrY' (global 1-element array of int)
+0:? 'arrZ' (global 4096-element array of int)
+0:? 'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
+0:? 'roll' (uniform double)
+0:? 'destTex' (writeonly uniform image2D)
+0:? 'inbi' (in block{in int a})
+0:? 'outbi' (out block{out int a})
+
diff --git a/Test/baseResults/430.vert.out b/Test/baseResults/430.vert.out
index 5242983..30e2caf 100644
--- a/Test/baseResults/430.vert.out
+++ b/Test/baseResults/430.vert.out
@@ -1,469 +1,469 @@
-430.vert
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:3: 'location' : can only appy to uniform, buffer, in, or out storage qualifiers
-ERROR: 0:7: 'input block' : not supported in this stage: vertex
-ERROR: 0:7: 'location qualifier on in/out block' : not supported for this version or the enabled extensions
-ERROR: 0:8: 'location qualifier on in/out block' : not supported for this version or the enabled extensions
-ERROR: 0:23: 'invariant' : can only apply to an output
-ERROR: 0:21: 'g' : cannot use storage or interpolation qualifiers on structure members
-ERROR: 0:22: 'h' : cannot use storage or interpolation qualifiers on structure members
-ERROR: 0:23: 'i' : cannot use invariant qualifier on structure members
-ERROR: 0:24: 'j' : cannot use memory qualifiers on structure members
-ERROR: 0:25: 'm3' : cannot use layout qualifiers on structure members
-ERROR: 0:28: '' : cannot use invariant qualifier on a function parameter
-ERROR: 0:30: '' : cannot use layout qualifiers on a function parameter
-ERROR: 0:31: '' : cannot use auxiliary or interpolation qualifiers on a function parameter
-ERROR: 0:42: 'location' : overlapping use of location 53
-ERROR: 0:47: 'gl_ClipDistance array size' : must be less than gl_MaxClipDistances (8)
-ERROR: 0:51: 'start' : undeclared identifier
-ERROR: 0:51: '' : constant expression required
-ERROR: 0:51: 'layout-id value' : scalar integer expression required
-ERROR: 0:53: 'input block' : not supported in this stage: vertex
-ERROR: 0:54: 'location on block member' : not supported for this version or the enabled extensions
-ERROR: 0:57: 'input block' : not supported in this stage: vertex
-ERROR: 0:58: 'location on block member' : not supported for this version or the enabled extensions
-ERROR: 0:59: 'location on block member' : not supported for this version or the enabled extensions
-ERROR: 0:62: 'uniform buffer-member align' : not supported for this version or the enabled extensions
-ERROR: 0:64: 'uniform buffer-member align' : not supported for this version or the enabled extensions
-ERROR: 0:65: 'uniform buffer-member align' : not supported for this version or the enabled extensions
-ERROR: 0:65: 'offset on block member' : not supported for this version or the enabled extensions
-ERROR: 0:66: 'offset on block member' : not supported for this version or the enabled extensions
-ERROR: 0:64: 'offset/align' : can only be used with std140 or std430 layout packing
-ERROR: 0:65: 'align' : can only be used with std140 or std430 layout packing
-ERROR: 0:71: 'offset on block member' : not supported for this version or the enabled extensions
-ERROR: 0:74: 'gl_MaxTransformFeedbackBuffers' : required extension not requested: GL_ARB_enhanced_layouts
-ERROR: 0:75: 'gl_MaxTransformFeedbackInterleavedComponents' : required extension not requested: GL_ARB_enhanced_layouts
-ERROR: 0:78: 'transform feedback qualifier' : not supported for this version or the enabled extensions
-ERROR: 0:81: 'transform feedback qualifier' : not supported for this version or the enabled extensions
-ERROR: 0:81: 'transform feedback qualifier' : not supported for this version or the enabled extensions
-ERROR: 0:83: 'transform feedback qualifier' : not supported for this version or the enabled extensions
-ERROR: 0:83: 'transform feedback qualifier' : not supported for this version or the enabled extensions
-ERROR: 0:83: 'transform feedback qualifier' : not supported for this version or the enabled extensions
-ERROR: 0:84: 'transform feedback qualifier' : not supported for this version or the enabled extensions
-ERROR: 0:84: 'transform feedback qualifier' : not supported for this version or the enabled extensions
-ERROR: 0:86: 'transform feedback qualifier' : not supported for this version or the enabled extensions
-ERROR: 0:86: 'transform feedback qualifier' : not supported for this version or the enabled extensions
-ERROR: 0:86: 'transform feedback qualifier' : not supported for this version or the enabled extensions
-ERROR: 0:92: 'transform feedback qualifier' : not supported for this version or the enabled extensions
-ERROR: 0:93: 'transform feedback qualifier' : not supported for this version or the enabled extensions
-ERROR: 0:93: 'transform feedback qualifier' : not supported for this version or the enabled extensions
-ERROR: 0:93: 'transform feedback qualifier' : not supported for this version or the enabled extensions
-ERROR: 0:117: 'input block' : not supported in this stage: vertex
-ERROR: 0:123: 'input block' : not supported in this stage: vertex
-ERROR: 0:146: 'shared' : not supported in this stage: vertex
-ERROR: 0:150: 'barrier' : no matching overloaded function found
-ERROR: 0:154: 'memoryBarrierShared' : no matching overloaded function found
-ERROR: 0:156: 'groupMemoryBarrier' : no matching overloaded function found
-ERROR: 0:159: 'buffer' : buffers can be declared only as blocks
-ERROR: 0:168: 'textureSamples and imageSamples' : not supported for this version or the enabled extensions
-ERROR: 0:169: 'textureSamples and imageSamples' : not supported for this version or the enabled extensions
-ERROR: 0:170: 'textureSamples and imageSamples' : not supported for this version or the enabled extensions
-ERROR: 0:171: 'textureSamples and imageSamples' : not supported for this version or the enabled extensions
-ERROR: 0:221: 'textureQueryLevels' : no matching overloaded function found
-ERROR: 0:221: 'assign' : cannot convert from 'const float' to 'temp int'
-ERROR: 0:222: 'textureQueryLevels' : no matching overloaded function found
-ERROR: 0:222: 'assign' : cannot convert from 'const float' to 'temp int'
-ERROR: 63 compilation errors. No code generated.
-
-
-Shader version: 430
-Requested GL_ARB_enhanced_layouts
-Requested GL_ARB_shader_texture_image_samples
-in xfb mode
-ERROR: node is still EOpNull!
-0:14 Function Definition: foo( (global void)
-0:14 Function Parameters:
-0:16 Sequence
-0:16 move second child to first child (temp float)
-0:16 direct index (temp float ClipDistance)
-0:16 gl_ClipDistance: direct index for structure (out 17-element array of float ClipDistance)
-0:16 'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })
-0:16 Constant:
-0:16 2 (const uint)
-0:16 Constant:
-0:16 2 (const int)
-0:16 Constant:
-0:16 3.700000
-0:31 Function Definition: foo3(vf4;vf3;vf2;vf3; (global void)
-0:31 Function Parameters:
-0:31 'v4' (in 4-component vector of float)
-0:31 'v3' (volatile in 3-component vector of float)
-0:31 'v2' (in 2-component vector of float)
-0:31 'cv3' (in 3-component vector of float)
-0:148 Function Definition: fooBarrier( (global void)
-0:148 Function Parameters:
-0:150 Sequence
-0:150 Constant:
-0:150 0.000000
-0:151 MemoryBarrier (global void)
-0:152 MemoryBarrierAtomicCounter (global void)
-0:153 MemoryBarrierBuffer (global void)
-0:154 Constant:
-0:154 0.000000
-0:155 MemoryBarrierImage (global void)
-0:156 Constant:
-0:156 0.000000
-0:166 Function Definition: fooq( (global void)
-0:166 Function Parameters:
-0:168 Sequence
-0:168 Sequence
-0:168 move second child to first child (temp int)
-0:168 's' (temp int)
-0:168 textureSamples (global int)
-0:168 's2dms' (uniform sampler2DMS)
-0:169 add second child into first child (temp int)
-0:169 's' (temp int)
-0:169 textureSamples (global int)
-0:169 'us2dmsa' (uniform usampler2DMSArray)
-0:170 add second child into first child (temp int)
-0:170 's' (temp int)
-0:170 imageQuerySamples (global int)
-0:170 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
-0:171 add second child into first child (temp int)
-0:171 's' (temp int)
-0:171 imageQuerySamples (global int)
-0:171 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
-0:176 Function Definition: fooq2( (global void)
-0:176 Function Parameters:
-0:178 Sequence
-0:178 Sequence
-0:178 move second child to first child (temp int)
-0:178 's' (temp int)
-0:178 textureSamples (global int)
-0:178 's2dms' (uniform sampler2DMS)
-0:179 add second child into first child (temp int)
-0:179 's' (temp int)
-0:179 textureSamples (global int)
-0:179 'us2dmsa' (uniform usampler2DMSArray)
-0:180 add second child into first child (temp int)
-0:180 's' (temp int)
-0:180 imageQuerySamples (global int)
-0:180 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
-0:181 add second child into first child (temp int)
-0:181 's' (temp int)
-0:181 imageQuerySamples (global int)
-0:181 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
-0:202 Function Definition: qlod( (global void)
-0:202 Function Parameters:
-0:? Sequence
-0:206 move second child to first child (temp int)
-0:206 'levels' (temp int)
-0:206 textureQueryLevels (global int)
-0:206 'samp1D' (uniform sampler1D)
-0:207 move second child to first child (temp int)
-0:207 'levels' (temp int)
-0:207 textureQueryLevels (global int)
-0:207 'usamp2D' (uniform usampler2D)
-0:208 move second child to first child (temp int)
-0:208 'levels' (temp int)
-0:208 textureQueryLevels (global int)
-0:208 'isamp3D' (uniform isampler3D)
-0:209 move second child to first child (temp int)
-0:209 'levels' (temp int)
-0:209 textureQueryLevels (global int)
-0:209 'isampCube' (uniform isamplerCube)
-0:210 move second child to first child (temp int)
-0:210 'levels' (temp int)
-0:210 textureQueryLevels (global int)
-0:210 'isamp1DA' (uniform isampler1DArray)
-0:211 move second child to first child (temp int)
-0:211 'levels' (temp int)
-0:211 textureQueryLevels (global int)
-0:211 'samp2DA' (uniform sampler2DArray)
-0:212 move second child to first child (temp int)
-0:212 'levels' (temp int)
-0:212 textureQueryLevels (global int)
-0:212 'usampCubeA' (uniform usamplerCubeArray)
-0:214 move second child to first child (temp int)
-0:214 'levels' (temp int)
-0:214 textureQueryLevels (global int)
-0:214 'samp1Ds' (uniform sampler1DShadow)
-0:215 move second child to first child (temp int)
-0:215 'levels' (temp int)
-0:215 textureQueryLevels (global int)
-0:215 'samp2Ds' (uniform sampler2DShadow)
-0:216 move second child to first child (temp int)
-0:216 'levels' (temp int)
-0:216 textureQueryLevels (global int)
-0:216 'sampCubes' (uniform samplerCubeShadow)
-0:217 move second child to first child (temp int)
-0:217 'levels' (temp int)
-0:217 textureQueryLevels (global int)
-0:217 'samp1DAs' (uniform sampler1DArrayShadow)
-0:218 move second child to first child (temp int)
-0:218 'levels' (temp int)
-0:218 textureQueryLevels (global int)
-0:218 'samp2DAs' (uniform sampler2DArrayShadow)
-0:219 move second child to first child (temp int)
-0:219 'levels' (temp int)
-0:219 textureQueryLevels (global int)
-0:219 'sampCubeAs' (uniform samplerCubeArrayShadow)
-0:221 'levels' (temp int)
-0:222 'levels' (temp int)
-0:? Linker Objects
-0:? 'v4' (layout(location=3 ) temp 4-component vector of float)
-0:? 'uv4' (layout(location=4 ) uniform 4-component vector of float)
-0:? 'b1' (layout(location=2 ) in block{in 4-component vector of float v})
-0:? 'b2' (layout(location=2 ) out block{out 4-component vector of float v})
-0:? 'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })
-0:? 'cs' (layout(location=10 ) smooth out 2-element array of structure{global 7-element array of 3X2 matrix of float m, global float f})
-0:? 'cf' (layout(location=54 ) smooth out float)
-0:? 'cg' (layout(location=53 ) smooth out float)
-0:? 'alias1' (layout(location=10 ) in 4-component vector of float)
-0:? 'alias2' (layout(location=10 ) in 4-component vector of float)
-0:? 'v6e' (layout(location=0 ) in 4-component vector of float)
-0:? 'ininst2e' (in block{layout(location=25 ) in float f2})
-0:? 'in4e' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
-0:? 'inst4e' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
-0:? 'inst9e' (layout(column_major shared align=32 ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f, layout(column_major shared offset=20 ) uniform float g})
-0:? 'spinste' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b})
-0:? 'aconste' (global 4-element array of int)
-0:? 'bconste' (global 64-element array of int)
-0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv})
-0:? 'bge' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
-0:? 'bhe' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float)
-0:? 'bbinst4e' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2})
-0:? 'bbinst5e' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2})
-0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
-0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g})
-0:? 'spinst' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b})
-0:? 'aconst' (global 4-element array of int)
-0:? 'bconst' (global 64-element array of int)
-0:? 'start2' (const int)
-0:? 5 (const int)
-0:? 'v6' (layout(location=19 ) in 4-component vector of float)
-0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2})
-0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
-0:? 'bbinst2g' (out block{layout(xfb_buffer=3 xfb_offset=64 ) out 4-component vector of float bbv})
-0:? 'bg' (layout(xfb_buffer=1 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
-0:? 'bh' (layout(xfb_buffer=1 xfb_offset=32 xfb_stride=80 ) smooth out 4-component vector of float)
-0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=1 xfb_offset=16 ) out 4-component vector of float bbv1})
-0:? 'bbinst5' (out block{layout(xfb_buffer=1 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=1 xfb_offset=64 xfb_stride=80 ) out 4-component vector of float bbv2})
-0:? 'sharedv' (shared 4-component vector of float)
-0:? 'v' (buffer 4-component vector of float)
-0:? 's2dms' (uniform sampler2DMS)
-0:? 'us2dmsa' (uniform usampler2DMSArray)
-0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
-0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
-0:? 'samp1D' (uniform sampler1D)
-0:? 'usamp2D' (uniform usampler2D)
-0:? 'isamp3D' (uniform isampler3D)
-0:? 'isampCube' (uniform isamplerCube)
-0:? 'isamp1DA' (uniform isampler1DArray)
-0:? 'samp2DA' (uniform sampler2DArray)
-0:? 'usampCubeA' (uniform usamplerCubeArray)
-0:? 'samp1Ds' (uniform sampler1DShadow)
-0:? 'samp2Ds' (uniform sampler2DShadow)
-0:? 'sampCubes' (uniform samplerCubeShadow)
-0:? 'samp1DAs' (uniform sampler1DArrayShadow)
-0:? 'samp2DAs' (uniform sampler2DArrayShadow)
-0:? 'sampCubeAs' (uniform samplerCubeArrayShadow)
-0:? 'sampBuf' (uniform samplerBuffer)
-0:? 'sampRect' (uniform sampler2DRect)
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
-
-Linked vertex stage:
-
-ERROR: Linking vertex stage: Missing entry point: Each stage requires one "void main()" entry point
-ERROR: Linking vertex stage: xfb_stride is too small to hold all buffer entries:
-ERROR: xfb_buffer 3, xfb_stride 64, minimum stride needed: 80
-
-Shader version: 430
-Requested GL_ARB_enhanced_layouts
-Requested GL_ARB_shader_texture_image_samples
-in xfb mode
-ERROR: node is still EOpNull!
-0:14 Function Definition: foo( (global void)
-0:14 Function Parameters:
-0:16 Sequence
-0:16 move second child to first child (temp float)
-0:16 direct index (temp float ClipDistance)
-0:16 gl_ClipDistance: direct index for structure (out 17-element array of float ClipDistance)
-0:16 'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })
-0:16 Constant:
-0:16 2 (const uint)
-0:16 Constant:
-0:16 2 (const int)
-0:16 Constant:
-0:16 3.700000
-0:31 Function Definition: foo3(vf4;vf3;vf2;vf3; (global void)
-0:31 Function Parameters:
-0:31 'v4' (in 4-component vector of float)
-0:31 'v3' (volatile in 3-component vector of float)
-0:31 'v2' (in 2-component vector of float)
-0:31 'cv3' (in 3-component vector of float)
-0:148 Function Definition: fooBarrier( (global void)
-0:148 Function Parameters:
-0:150 Sequence
-0:150 Constant:
-0:150 0.000000
-0:151 MemoryBarrier (global void)
-0:152 MemoryBarrierAtomicCounter (global void)
-0:153 MemoryBarrierBuffer (global void)
-0:154 Constant:
-0:154 0.000000
-0:155 MemoryBarrierImage (global void)
-0:156 Constant:
-0:156 0.000000
-0:166 Function Definition: fooq( (global void)
-0:166 Function Parameters:
-0:168 Sequence
-0:168 Sequence
-0:168 move second child to first child (temp int)
-0:168 's' (temp int)
-0:168 textureSamples (global int)
-0:168 's2dms' (uniform sampler2DMS)
-0:169 add second child into first child (temp int)
-0:169 's' (temp int)
-0:169 textureSamples (global int)
-0:169 'us2dmsa' (uniform usampler2DMSArray)
-0:170 add second child into first child (temp int)
-0:170 's' (temp int)
-0:170 imageQuerySamples (global int)
-0:170 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
-0:171 add second child into first child (temp int)
-0:171 's' (temp int)
-0:171 imageQuerySamples (global int)
-0:171 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
-0:176 Function Definition: fooq2( (global void)
-0:176 Function Parameters:
-0:178 Sequence
-0:178 Sequence
-0:178 move second child to first child (temp int)
-0:178 's' (temp int)
-0:178 textureSamples (global int)
-0:178 's2dms' (uniform sampler2DMS)
-0:179 add second child into first child (temp int)
-0:179 's' (temp int)
-0:179 textureSamples (global int)
-0:179 'us2dmsa' (uniform usampler2DMSArray)
-0:180 add second child into first child (temp int)
-0:180 's' (temp int)
-0:180 imageQuerySamples (global int)
-0:180 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
-0:181 add second child into first child (temp int)
-0:181 's' (temp int)
-0:181 imageQuerySamples (global int)
-0:181 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
-0:202 Function Definition: qlod( (global void)
-0:202 Function Parameters:
-0:? Sequence
-0:206 move second child to first child (temp int)
-0:206 'levels' (temp int)
-0:206 textureQueryLevels (global int)
-0:206 'samp1D' (uniform sampler1D)
-0:207 move second child to first child (temp int)
-0:207 'levels' (temp int)
-0:207 textureQueryLevels (global int)
-0:207 'usamp2D' (uniform usampler2D)
-0:208 move second child to first child (temp int)
-0:208 'levels' (temp int)
-0:208 textureQueryLevels (global int)
-0:208 'isamp3D' (uniform isampler3D)
-0:209 move second child to first child (temp int)
-0:209 'levels' (temp int)
-0:209 textureQueryLevels (global int)
-0:209 'isampCube' (uniform isamplerCube)
-0:210 move second child to first child (temp int)
-0:210 'levels' (temp int)
-0:210 textureQueryLevels (global int)
-0:210 'isamp1DA' (uniform isampler1DArray)
-0:211 move second child to first child (temp int)
-0:211 'levels' (temp int)
-0:211 textureQueryLevels (global int)
-0:211 'samp2DA' (uniform sampler2DArray)
-0:212 move second child to first child (temp int)
-0:212 'levels' (temp int)
-0:212 textureQueryLevels (global int)
-0:212 'usampCubeA' (uniform usamplerCubeArray)
-0:214 move second child to first child (temp int)
-0:214 'levels' (temp int)
-0:214 textureQueryLevels (global int)
-0:214 'samp1Ds' (uniform sampler1DShadow)
-0:215 move second child to first child (temp int)
-0:215 'levels' (temp int)
-0:215 textureQueryLevels (global int)
-0:215 'samp2Ds' (uniform sampler2DShadow)
-0:216 move second child to first child (temp int)
-0:216 'levels' (temp int)
-0:216 textureQueryLevels (global int)
-0:216 'sampCubes' (uniform samplerCubeShadow)
-0:217 move second child to first child (temp int)
-0:217 'levels' (temp int)
-0:217 textureQueryLevels (global int)
-0:217 'samp1DAs' (uniform sampler1DArrayShadow)
-0:218 move second child to first child (temp int)
-0:218 'levels' (temp int)
-0:218 textureQueryLevels (global int)
-0:218 'samp2DAs' (uniform sampler2DArrayShadow)
-0:219 move second child to first child (temp int)
-0:219 'levels' (temp int)
-0:219 textureQueryLevels (global int)
-0:219 'sampCubeAs' (uniform samplerCubeArrayShadow)
-0:221 'levels' (temp int)
-0:222 'levels' (temp int)
-0:? Linker Objects
-0:? 'v4' (layout(location=3 ) temp 4-component vector of float)
-0:? 'uv4' (layout(location=4 ) uniform 4-component vector of float)
-0:? 'b1' (layout(location=2 ) in block{in 4-component vector of float v})
-0:? 'b2' (layout(location=2 ) out block{out 4-component vector of float v})
-0:? 'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })
-0:? 'cs' (layout(location=10 ) smooth out 2-element array of structure{global 7-element array of 3X2 matrix of float m, global float f})
-0:? 'cf' (layout(location=54 ) smooth out float)
-0:? 'cg' (layout(location=53 ) smooth out float)
-0:? 'alias1' (layout(location=10 ) in 4-component vector of float)
-0:? 'alias2' (layout(location=10 ) in 4-component vector of float)
-0:? 'v6e' (layout(location=0 ) in 4-component vector of float)
-0:? 'ininst2e' (in block{layout(location=25 ) in float f2})
-0:? 'in4e' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
-0:? 'inst4e' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
-0:? 'inst9e' (layout(column_major shared align=32 ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f, layout(column_major shared offset=20 ) uniform float g})
-0:? 'spinste' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b})
-0:? 'aconste' (global 4-element array of int)
-0:? 'bconste' (global 64-element array of int)
-0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv})
-0:? 'bge' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
-0:? 'bhe' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float)
-0:? 'bbinst4e' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2})
-0:? 'bbinst5e' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2})
-0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
-0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g})
-0:? 'spinst' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b})
-0:? 'aconst' (global 4-element array of int)
-0:? 'bconst' (global 64-element array of int)
-0:? 'start2' (const int)
-0:? 5 (const int)
-0:? 'v6' (layout(location=19 ) in 4-component vector of float)
-0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2})
-0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
-0:? 'bbinst2g' (out block{layout(xfb_buffer=3 xfb_offset=64 ) out 4-component vector of float bbv})
-0:? 'bg' (layout(xfb_buffer=1 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
-0:? 'bh' (layout(xfb_buffer=1 xfb_offset=32 xfb_stride=80 ) smooth out 4-component vector of float)
-0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=1 xfb_offset=16 ) out 4-component vector of float bbv1})
-0:? 'bbinst5' (out block{layout(xfb_buffer=1 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=1 xfb_offset=64 xfb_stride=80 ) out 4-component vector of float bbv2})
-0:? 'sharedv' (shared 4-component vector of float)
-0:? 'v' (buffer 4-component vector of float)
-0:? 's2dms' (uniform sampler2DMS)
-0:? 'us2dmsa' (uniform usampler2DMSArray)
-0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
-0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
-0:? 'samp1D' (uniform sampler1D)
-0:? 'usamp2D' (uniform usampler2D)
-0:? 'isamp3D' (uniform isampler3D)
-0:? 'isampCube' (uniform isamplerCube)
-0:? 'isamp1DA' (uniform isampler1DArray)
-0:? 'samp2DA' (uniform sampler2DArray)
-0:? 'usampCubeA' (uniform usamplerCubeArray)
-0:? 'samp1Ds' (uniform sampler1DShadow)
-0:? 'samp2Ds' (uniform sampler2DShadow)
-0:? 'sampCubes' (uniform samplerCubeShadow)
-0:? 'samp1DAs' (uniform sampler1DArrayShadow)
-0:? 'samp2DAs' (uniform sampler2DArrayShadow)
-0:? 'sampCubeAs' (uniform samplerCubeArrayShadow)
-0:? 'sampBuf' (uniform samplerBuffer)
-0:? 'sampRect' (uniform sampler2DRect)
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
+430.vert
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:3: 'location' : can only appy to uniform, buffer, in, or out storage qualifiers
+ERROR: 0:7: 'input block' : not supported in this stage: vertex
+ERROR: 0:7: 'location qualifier on in/out block' : not supported for this version or the enabled extensions
+ERROR: 0:8: 'location qualifier on in/out block' : not supported for this version or the enabled extensions
+ERROR: 0:23: 'invariant' : can only apply to an output
+ERROR: 0:21: 'g' : cannot use storage or interpolation qualifiers on structure members
+ERROR: 0:22: 'h' : cannot use storage or interpolation qualifiers on structure members
+ERROR: 0:23: 'i' : cannot use invariant qualifier on structure members
+ERROR: 0:24: 'j' : cannot use memory qualifiers on structure members
+ERROR: 0:25: 'm3' : cannot use layout qualifiers on structure members
+ERROR: 0:28: '' : cannot use invariant qualifier on a function parameter
+ERROR: 0:30: '' : cannot use layout qualifiers on a function parameter
+ERROR: 0:31: '' : cannot use auxiliary or interpolation qualifiers on a function parameter
+ERROR: 0:42: 'location' : overlapping use of location 53
+ERROR: 0:47: 'gl_ClipDistance array size' : must be less than gl_MaxClipDistances (8)
+ERROR: 0:51: 'start' : undeclared identifier
+ERROR: 0:51: '' : constant expression required
+ERROR: 0:51: 'layout-id value' : scalar integer expression required
+ERROR: 0:53: 'input block' : not supported in this stage: vertex
+ERROR: 0:54: 'location on block member' : not supported for this version or the enabled extensions
+ERROR: 0:57: 'input block' : not supported in this stage: vertex
+ERROR: 0:58: 'location on block member' : not supported for this version or the enabled extensions
+ERROR: 0:59: 'location on block member' : not supported for this version or the enabled extensions
+ERROR: 0:62: 'uniform buffer-member align' : not supported for this version or the enabled extensions
+ERROR: 0:64: 'uniform buffer-member align' : not supported for this version or the enabled extensions
+ERROR: 0:65: 'uniform buffer-member align' : not supported for this version or the enabled extensions
+ERROR: 0:65: 'offset on block member' : not supported for this version or the enabled extensions
+ERROR: 0:66: 'offset on block member' : not supported for this version or the enabled extensions
+ERROR: 0:64: 'offset/align' : can only be used with std140 or std430 layout packing
+ERROR: 0:65: 'align' : can only be used with std140 or std430 layout packing
+ERROR: 0:71: 'offset on block member' : not supported for this version or the enabled extensions
+ERROR: 0:74: 'gl_MaxTransformFeedbackBuffers' : required extension not requested: GL_ARB_enhanced_layouts
+ERROR: 0:75: 'gl_MaxTransformFeedbackInterleavedComponents' : required extension not requested: GL_ARB_enhanced_layouts
+ERROR: 0:78: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:81: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:81: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:83: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:83: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:83: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:84: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:84: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:86: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:86: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:86: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:92: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:93: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:93: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:93: 'transform feedback qualifier' : not supported for this version or the enabled extensions
+ERROR: 0:117: 'input block' : not supported in this stage: vertex
+ERROR: 0:123: 'input block' : not supported in this stage: vertex
+ERROR: 0:146: 'shared' : not supported in this stage: vertex
+ERROR: 0:150: 'barrier' : no matching overloaded function found
+ERROR: 0:154: 'memoryBarrierShared' : no matching overloaded function found
+ERROR: 0:156: 'groupMemoryBarrier' : no matching overloaded function found
+ERROR: 0:159: 'buffer' : buffers can be declared only as blocks
+ERROR: 0:168: 'textureSamples and imageSamples' : not supported for this version or the enabled extensions
+ERROR: 0:169: 'textureSamples and imageSamples' : not supported for this version or the enabled extensions
+ERROR: 0:170: 'textureSamples and imageSamples' : not supported for this version or the enabled extensions
+ERROR: 0:171: 'textureSamples and imageSamples' : not supported for this version or the enabled extensions
+ERROR: 0:221: 'textureQueryLevels' : no matching overloaded function found
+ERROR: 0:221: 'assign' : cannot convert from 'const float' to 'temp int'
+ERROR: 0:222: 'textureQueryLevels' : no matching overloaded function found
+ERROR: 0:222: 'assign' : cannot convert from 'const float' to 'temp int'
+ERROR: 63 compilation errors. No code generated.
+
+
+Shader version: 430
+Requested GL_ARB_enhanced_layouts
+Requested GL_ARB_shader_texture_image_samples
+in xfb mode
+ERROR: node is still EOpNull!
+0:14 Function Definition: foo( (global void)
+0:14 Function Parameters:
+0:16 Sequence
+0:16 move second child to first child (temp float)
+0:16 direct index (temp float ClipDistance)
+0:16 gl_ClipDistance: direct index for structure (out 17-element array of float ClipDistance)
+0:16 'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })
+0:16 Constant:
+0:16 2 (const uint)
+0:16 Constant:
+0:16 2 (const int)
+0:16 Constant:
+0:16 3.700000
+0:31 Function Definition: foo3(vf4;vf3;vf2;vf3; (global void)
+0:31 Function Parameters:
+0:31 'v4' (in 4-component vector of float)
+0:31 'v3' (volatile in 3-component vector of float)
+0:31 'v2' (in 2-component vector of float)
+0:31 'cv3' (in 3-component vector of float)
+0:148 Function Definition: fooBarrier( (global void)
+0:148 Function Parameters:
+0:150 Sequence
+0:150 Constant:
+0:150 0.000000
+0:151 MemoryBarrier (global void)
+0:152 MemoryBarrierAtomicCounter (global void)
+0:153 MemoryBarrierBuffer (global void)
+0:154 Constant:
+0:154 0.000000
+0:155 MemoryBarrierImage (global void)
+0:156 Constant:
+0:156 0.000000
+0:166 Function Definition: fooq( (global void)
+0:166 Function Parameters:
+0:168 Sequence
+0:168 Sequence
+0:168 move second child to first child (temp int)
+0:168 's' (temp int)
+0:168 textureSamples (global int)
+0:168 's2dms' (uniform sampler2DMS)
+0:169 add second child into first child (temp int)
+0:169 's' (temp int)
+0:169 textureSamples (global int)
+0:169 'us2dmsa' (uniform usampler2DMSArray)
+0:170 add second child into first child (temp int)
+0:170 's' (temp int)
+0:170 imageQuerySamples (global int)
+0:170 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:171 add second child into first child (temp int)
+0:171 's' (temp int)
+0:171 imageQuerySamples (global int)
+0:171 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:176 Function Definition: fooq2( (global void)
+0:176 Function Parameters:
+0:178 Sequence
+0:178 Sequence
+0:178 move second child to first child (temp int)
+0:178 's' (temp int)
+0:178 textureSamples (global int)
+0:178 's2dms' (uniform sampler2DMS)
+0:179 add second child into first child (temp int)
+0:179 's' (temp int)
+0:179 textureSamples (global int)
+0:179 'us2dmsa' (uniform usampler2DMSArray)
+0:180 add second child into first child (temp int)
+0:180 's' (temp int)
+0:180 imageQuerySamples (global int)
+0:180 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:181 add second child into first child (temp int)
+0:181 's' (temp int)
+0:181 imageQuerySamples (global int)
+0:181 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:202 Function Definition: qlod( (global void)
+0:202 Function Parameters:
+0:? Sequence
+0:206 move second child to first child (temp int)
+0:206 'levels' (temp int)
+0:206 textureQueryLevels (global int)
+0:206 'samp1D' (uniform sampler1D)
+0:207 move second child to first child (temp int)
+0:207 'levels' (temp int)
+0:207 textureQueryLevels (global int)
+0:207 'usamp2D' (uniform usampler2D)
+0:208 move second child to first child (temp int)
+0:208 'levels' (temp int)
+0:208 textureQueryLevels (global int)
+0:208 'isamp3D' (uniform isampler3D)
+0:209 move second child to first child (temp int)
+0:209 'levels' (temp int)
+0:209 textureQueryLevels (global int)
+0:209 'isampCube' (uniform isamplerCube)
+0:210 move second child to first child (temp int)
+0:210 'levels' (temp int)
+0:210 textureQueryLevels (global int)
+0:210 'isamp1DA' (uniform isampler1DArray)
+0:211 move second child to first child (temp int)
+0:211 'levels' (temp int)
+0:211 textureQueryLevels (global int)
+0:211 'samp2DA' (uniform sampler2DArray)
+0:212 move second child to first child (temp int)
+0:212 'levels' (temp int)
+0:212 textureQueryLevels (global int)
+0:212 'usampCubeA' (uniform usamplerCubeArray)
+0:214 move second child to first child (temp int)
+0:214 'levels' (temp int)
+0:214 textureQueryLevels (global int)
+0:214 'samp1Ds' (uniform sampler1DShadow)
+0:215 move second child to first child (temp int)
+0:215 'levels' (temp int)
+0:215 textureQueryLevels (global int)
+0:215 'samp2Ds' (uniform sampler2DShadow)
+0:216 move second child to first child (temp int)
+0:216 'levels' (temp int)
+0:216 textureQueryLevels (global int)
+0:216 'sampCubes' (uniform samplerCubeShadow)
+0:217 move second child to first child (temp int)
+0:217 'levels' (temp int)
+0:217 textureQueryLevels (global int)
+0:217 'samp1DAs' (uniform sampler1DArrayShadow)
+0:218 move second child to first child (temp int)
+0:218 'levels' (temp int)
+0:218 textureQueryLevels (global int)
+0:218 'samp2DAs' (uniform sampler2DArrayShadow)
+0:219 move second child to first child (temp int)
+0:219 'levels' (temp int)
+0:219 textureQueryLevels (global int)
+0:219 'sampCubeAs' (uniform samplerCubeArrayShadow)
+0:221 'levels' (temp int)
+0:222 'levels' (temp int)
+0:? Linker Objects
+0:? 'v4' (layout(location=3 ) temp 4-component vector of float)
+0:? 'uv4' (layout(location=4 ) uniform 4-component vector of float)
+0:? 'b1' (layout(location=2 ) in block{in 4-component vector of float v})
+0:? 'b2' (layout(location=2 ) out block{out 4-component vector of float v})
+0:? 'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })
+0:? 'cs' (layout(location=10 ) smooth out 2-element array of structure{global 7-element array of 3X2 matrix of float m, global float f})
+0:? 'cf' (layout(location=54 ) smooth out float)
+0:? 'cg' (layout(location=53 ) smooth out float)
+0:? 'alias1' (layout(location=10 ) in 4-component vector of float)
+0:? 'alias2' (layout(location=10 ) in 4-component vector of float)
+0:? 'v6e' (layout(location=0 ) in 4-component vector of float)
+0:? 'ininst2e' (in block{layout(location=25 ) in float f2})
+0:? 'in4e' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
+0:? 'inst4e' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
+0:? 'inst9e' (layout(column_major shared align=32 ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f, layout(column_major shared offset=20 ) uniform float g})
+0:? 'spinste' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b})
+0:? 'aconste' (global 4-element array of int)
+0:? 'bconste' (global 64-element array of int)
+0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv})
+0:? 'bge' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
+0:? 'bhe' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float)
+0:? 'bbinst4e' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2})
+0:? 'bbinst5e' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2})
+0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
+0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g})
+0:? 'spinst' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b})
+0:? 'aconst' (global 4-element array of int)
+0:? 'bconst' (global 64-element array of int)
+0:? 'start2' (const int)
+0:? 5 (const int)
+0:? 'v6' (layout(location=19 ) in 4-component vector of float)
+0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2})
+0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
+0:? 'bbinst2g' (out block{layout(xfb_buffer=3 xfb_offset=64 ) out 4-component vector of float bbv})
+0:? 'bg' (layout(xfb_buffer=1 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
+0:? 'bh' (layout(xfb_buffer=1 xfb_offset=32 xfb_stride=80 ) smooth out 4-component vector of float)
+0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=1 xfb_offset=16 ) out 4-component vector of float bbv1})
+0:? 'bbinst5' (out block{layout(xfb_buffer=1 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=1 xfb_offset=64 xfb_stride=80 ) out 4-component vector of float bbv2})
+0:? 'sharedv' (shared 4-component vector of float)
+0:? 'v' (buffer 4-component vector of float)
+0:? 's2dms' (uniform sampler2DMS)
+0:? 'us2dmsa' (uniform usampler2DMSArray)
+0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:? 'samp1D' (uniform sampler1D)
+0:? 'usamp2D' (uniform usampler2D)
+0:? 'isamp3D' (uniform isampler3D)
+0:? 'isampCube' (uniform isamplerCube)
+0:? 'isamp1DA' (uniform isampler1DArray)
+0:? 'samp2DA' (uniform sampler2DArray)
+0:? 'usampCubeA' (uniform usamplerCubeArray)
+0:? 'samp1Ds' (uniform sampler1DShadow)
+0:? 'samp2Ds' (uniform sampler2DShadow)
+0:? 'sampCubes' (uniform samplerCubeShadow)
+0:? 'samp1DAs' (uniform sampler1DArrayShadow)
+0:? 'samp2DAs' (uniform sampler2DArrayShadow)
+0:? 'sampCubeAs' (uniform samplerCubeArrayShadow)
+0:? 'sampBuf' (uniform samplerBuffer)
+0:? 'sampRect' (uniform sampler2DRect)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+ERROR: Linking vertex stage: Missing entry point: Each stage requires one "void main()" entry point
+ERROR: Linking vertex stage: xfb_stride is too small to hold all buffer entries:
+ERROR: xfb_buffer 3, xfb_stride 64, minimum stride needed: 80
+
+Shader version: 430
+Requested GL_ARB_enhanced_layouts
+Requested GL_ARB_shader_texture_image_samples
+in xfb mode
+ERROR: node is still EOpNull!
+0:14 Function Definition: foo( (global void)
+0:14 Function Parameters:
+0:16 Sequence
+0:16 move second child to first child (temp float)
+0:16 direct index (temp float ClipDistance)
+0:16 gl_ClipDistance: direct index for structure (out 17-element array of float ClipDistance)
+0:16 'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })
+0:16 Constant:
+0:16 2 (const uint)
+0:16 Constant:
+0:16 2 (const int)
+0:16 Constant:
+0:16 3.700000
+0:31 Function Definition: foo3(vf4;vf3;vf2;vf3; (global void)
+0:31 Function Parameters:
+0:31 'v4' (in 4-component vector of float)
+0:31 'v3' (volatile in 3-component vector of float)
+0:31 'v2' (in 2-component vector of float)
+0:31 'cv3' (in 3-component vector of float)
+0:148 Function Definition: fooBarrier( (global void)
+0:148 Function Parameters:
+0:150 Sequence
+0:150 Constant:
+0:150 0.000000
+0:151 MemoryBarrier (global void)
+0:152 MemoryBarrierAtomicCounter (global void)
+0:153 MemoryBarrierBuffer (global void)
+0:154 Constant:
+0:154 0.000000
+0:155 MemoryBarrierImage (global void)
+0:156 Constant:
+0:156 0.000000
+0:166 Function Definition: fooq( (global void)
+0:166 Function Parameters:
+0:168 Sequence
+0:168 Sequence
+0:168 move second child to first child (temp int)
+0:168 's' (temp int)
+0:168 textureSamples (global int)
+0:168 's2dms' (uniform sampler2DMS)
+0:169 add second child into first child (temp int)
+0:169 's' (temp int)
+0:169 textureSamples (global int)
+0:169 'us2dmsa' (uniform usampler2DMSArray)
+0:170 add second child into first child (temp int)
+0:170 's' (temp int)
+0:170 imageQuerySamples (global int)
+0:170 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:171 add second child into first child (temp int)
+0:171 's' (temp int)
+0:171 imageQuerySamples (global int)
+0:171 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:176 Function Definition: fooq2( (global void)
+0:176 Function Parameters:
+0:178 Sequence
+0:178 Sequence
+0:178 move second child to first child (temp int)
+0:178 's' (temp int)
+0:178 textureSamples (global int)
+0:178 's2dms' (uniform sampler2DMS)
+0:179 add second child into first child (temp int)
+0:179 's' (temp int)
+0:179 textureSamples (global int)
+0:179 'us2dmsa' (uniform usampler2DMSArray)
+0:180 add second child into first child (temp int)
+0:180 's' (temp int)
+0:180 imageQuerySamples (global int)
+0:180 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:181 add second child into first child (temp int)
+0:181 's' (temp int)
+0:181 imageQuerySamples (global int)
+0:181 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:202 Function Definition: qlod( (global void)
+0:202 Function Parameters:
+0:? Sequence
+0:206 move second child to first child (temp int)
+0:206 'levels' (temp int)
+0:206 textureQueryLevels (global int)
+0:206 'samp1D' (uniform sampler1D)
+0:207 move second child to first child (temp int)
+0:207 'levels' (temp int)
+0:207 textureQueryLevels (global int)
+0:207 'usamp2D' (uniform usampler2D)
+0:208 move second child to first child (temp int)
+0:208 'levels' (temp int)
+0:208 textureQueryLevels (global int)
+0:208 'isamp3D' (uniform isampler3D)
+0:209 move second child to first child (temp int)
+0:209 'levels' (temp int)
+0:209 textureQueryLevels (global int)
+0:209 'isampCube' (uniform isamplerCube)
+0:210 move second child to first child (temp int)
+0:210 'levels' (temp int)
+0:210 textureQueryLevels (global int)
+0:210 'isamp1DA' (uniform isampler1DArray)
+0:211 move second child to first child (temp int)
+0:211 'levels' (temp int)
+0:211 textureQueryLevels (global int)
+0:211 'samp2DA' (uniform sampler2DArray)
+0:212 move second child to first child (temp int)
+0:212 'levels' (temp int)
+0:212 textureQueryLevels (global int)
+0:212 'usampCubeA' (uniform usamplerCubeArray)
+0:214 move second child to first child (temp int)
+0:214 'levels' (temp int)
+0:214 textureQueryLevels (global int)
+0:214 'samp1Ds' (uniform sampler1DShadow)
+0:215 move second child to first child (temp int)
+0:215 'levels' (temp int)
+0:215 textureQueryLevels (global int)
+0:215 'samp2Ds' (uniform sampler2DShadow)
+0:216 move second child to first child (temp int)
+0:216 'levels' (temp int)
+0:216 textureQueryLevels (global int)
+0:216 'sampCubes' (uniform samplerCubeShadow)
+0:217 move second child to first child (temp int)
+0:217 'levels' (temp int)
+0:217 textureQueryLevels (global int)
+0:217 'samp1DAs' (uniform sampler1DArrayShadow)
+0:218 move second child to first child (temp int)
+0:218 'levels' (temp int)
+0:218 textureQueryLevels (global int)
+0:218 'samp2DAs' (uniform sampler2DArrayShadow)
+0:219 move second child to first child (temp int)
+0:219 'levels' (temp int)
+0:219 textureQueryLevels (global int)
+0:219 'sampCubeAs' (uniform samplerCubeArrayShadow)
+0:221 'levels' (temp int)
+0:222 'levels' (temp int)
+0:? Linker Objects
+0:? 'v4' (layout(location=3 ) temp 4-component vector of float)
+0:? 'uv4' (layout(location=4 ) uniform 4-component vector of float)
+0:? 'b1' (layout(location=2 ) in block{in 4-component vector of float v})
+0:? 'b2' (layout(location=2 ) out block{out 4-component vector of float v})
+0:? 'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })
+0:? 'cs' (layout(location=10 ) smooth out 2-element array of structure{global 7-element array of 3X2 matrix of float m, global float f})
+0:? 'cf' (layout(location=54 ) smooth out float)
+0:? 'cg' (layout(location=53 ) smooth out float)
+0:? 'alias1' (layout(location=10 ) in 4-component vector of float)
+0:? 'alias2' (layout(location=10 ) in 4-component vector of float)
+0:? 'v6e' (layout(location=0 ) in 4-component vector of float)
+0:? 'ininst2e' (in block{layout(location=25 ) in float f2})
+0:? 'in4e' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
+0:? 'inst4e' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
+0:? 'inst9e' (layout(column_major shared align=32 ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f, layout(column_major shared offset=20 ) uniform float g})
+0:? 'spinste' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b})
+0:? 'aconste' (global 4-element array of int)
+0:? 'bconste' (global 64-element array of int)
+0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv})
+0:? 'bge' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
+0:? 'bhe' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float)
+0:? 'bbinst4e' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2})
+0:? 'bbinst5e' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2})
+0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
+0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g})
+0:? 'spinst' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b})
+0:? 'aconst' (global 4-element array of int)
+0:? 'bconst' (global 64-element array of int)
+0:? 'start2' (const int)
+0:? 5 (const int)
+0:? 'v6' (layout(location=19 ) in 4-component vector of float)
+0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2})
+0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})
+0:? 'bbinst2g' (out block{layout(xfb_buffer=3 xfb_offset=64 ) out 4-component vector of float bbv})
+0:? 'bg' (layout(xfb_buffer=1 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
+0:? 'bh' (layout(xfb_buffer=1 xfb_offset=32 xfb_stride=80 ) smooth out 4-component vector of float)
+0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=1 xfb_offset=16 ) out 4-component vector of float bbv1})
+0:? 'bbinst5' (out block{layout(xfb_buffer=1 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=1 xfb_offset=64 xfb_stride=80 ) out 4-component vector of float bbv2})
+0:? 'sharedv' (shared 4-component vector of float)
+0:? 'v' (buffer 4-component vector of float)
+0:? 's2dms' (uniform sampler2DMS)
+0:? 'us2dmsa' (uniform usampler2DMSArray)
+0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:? 'samp1D' (uniform sampler1D)
+0:? 'usamp2D' (uniform usampler2D)
+0:? 'isamp3D' (uniform isampler3D)
+0:? 'isampCube' (uniform isamplerCube)
+0:? 'isamp1DA' (uniform isampler1DArray)
+0:? 'samp2DA' (uniform sampler2DArray)
+0:? 'usampCubeA' (uniform usamplerCubeArray)
+0:? 'samp1Ds' (uniform sampler1DShadow)
+0:? 'samp2Ds' (uniform sampler2DShadow)
+0:? 'sampCubes' (uniform samplerCubeShadow)
+0:? 'samp1DAs' (uniform sampler1DArrayShadow)
+0:? 'samp2DAs' (uniform sampler2DArrayShadow)
+0:? 'sampCubeAs' (uniform samplerCubeArrayShadow)
+0:? 'sampBuf' (uniform samplerBuffer)
+0:? 'sampRect' (uniform sampler2DRect)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/430AofA.frag.out b/Test/baseResults/430AofA.frag.out
index c6ab950..e8b79b7 100644
--- a/Test/baseResults/430AofA.frag.out
+++ b/Test/baseResults/430AofA.frag.out
@@ -1,803 +1,803 @@
-430AofA.frag
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:6: '[]' : only outermost dimension of an array of arrays can be implicitly sized
-ERROR: 0:14: 'constructor' : constructing non-array constituent from array argument
-ERROR: 0:15: 'constructior' : array constructor argument not correct type to construct array element
-ERROR: 0:28: '[' : array index out of range '4'
-ERROR: 0:56: 'constructor' : cannot convert parameter 2 from 'const 3-element array of 4-component vector of float' to 'temp 2-element array of 4-component vector of float'
-ERROR: 0:60: 'constructor' : cannot convert parameter 2 from 'const 2-element array of 4-component vector of float' to 'temp 3-element array of 4-component vector of float'
-ERROR: 0:64: '=' : cannot convert from 'temp 3-element array of 2-element array of 4-component vector of float' to 'temp 4-element array of 2-element array of 4-component vector of float'
-ERROR: 0:70: 'assign' : cannot convert from 'global 4-element array of 7-element array of float' to 'global 5-element array of 7-element array of float'
-ERROR: 0:71: 'assign' : cannot convert from 'global 4-element array of 7-element array of float' to 'global implicitly-sized array of 7-element array of float'
-ERROR: 0:73: 'foo' : no matching overloaded function found
-ERROR: 0:78: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'global 4-element array of 7-element array of float' and a right operand of type 'global 5-element array of 7-element array of float' (or there is no acceptable conversion)
-ERROR: 0:84: '[' : array index out of range '5'
-ERROR: 0:91: 'length' : array must be declared with a size before using this method
-ERROR: 0:93: 'length' : array must be declared with a size before using this method
-ERROR: 0:98: 'length' : does not operate on this type: temp float
-ERROR: 0:98: '' : function call, method, or subroutine call expected
-ERROR: 0:98: '' : no matching overloaded function found
-ERROR: 0:101: 'resize2' : redeclaration of array with a different array dimensions or sizes
-ERROR: 0:104: 'resize3' : redeclaration of array with a different array dimensions or sizes
-ERROR: 0:107: 'resize4' : redeclaration of array with a different element type
-ERROR: 20 compilation errors. No code generated.
-
-
-Shader version: 430
-ERROR: node is still EOpNull!
-0:10 Function Definition: foo(f1[5][7]; (global 4-element array of 7-element array of float)
-0:10 Function Parameters:
-0:10 'a' (in 5-element array of 7-element array of float)
-0:? Sequence
-0:13 move second child to first child (temp 7-element array of float)
-0:13 'r' (temp 7-element array of float)
-0:13 direct index (temp 7-element array of float)
-0:13 'a' (in 5-element array of 7-element array of float)
-0:13 Constant:
-0:13 2 (const int)
-0:14 Constant:
-0:14 0.000000
-0:15 Constant:
-0:15 0.000000
-0:16 Branch: Return with expression
-0:16 Construct float (temp 4-element array of 7-element array of float)
-0:16 direct index (temp 7-element array of float)
-0:16 'a' (in 5-element array of 7-element array of float)
-0:16 Constant:
-0:16 0 (const int)
-0:16 direct index (temp 7-element array of float)
-0:16 'a' (in 5-element array of 7-element array of float)
-0:16 Constant:
-0:16 1 (const int)
-0:16 'r' (temp 7-element array of float)
-0:16 direct index (temp 7-element array of float)
-0:16 'a' (in 5-element array of 7-element array of float)
-0:16 Constant:
-0:16 3 (const int)
-0:17 Branch: Return with expression
-0:17 Construct float (temp 4-element array of 7-element array of float)
-0:17 direct index (temp 7-element array of float)
-0:17 'a' (in 5-element array of 7-element array of float)
-0:17 Constant:
-0:17 0 (const int)
-0:17 direct index (temp 7-element array of float)
-0:17 'a' (in 5-element array of 7-element array of float)
-0:17 Constant:
-0:17 1 (const int)
-0:17 'r' (temp 7-element array of float)
-0:17 direct index (temp 7-element array of float)
-0:17 'a' (in 5-element array of 7-element array of float)
-0:17 Constant:
-0:17 3 (const int)
-0:18 Branch: Return with expression
-0:18 Construct float (temp 4-element array of 7-element array of float)
-0:18 direct index (temp 7-element array of float)
-0:18 'a' (in 5-element array of 7-element array of float)
-0:18 Constant:
-0:18 0 (const int)
-0:18 direct index (temp 7-element array of float)
-0:18 'a' (in 5-element array of 7-element array of float)
-0:18 Constant:
-0:18 1 (const int)
-0:18 direct index (temp 7-element array of float)
-0:18 'a' (in 5-element array of 7-element array of float)
-0:18 Constant:
-0:18 2 (const int)
-0:18 direct index (temp 7-element array of float)
-0:18 'a' (in 5-element array of 7-element array of float)
-0:18 Constant:
-0:18 3 (const int)
-0:21 Function Definition: bar(f1[5][7]; (global void)
-0:21 Function Parameters:
-0:21 '' (in 5-element array of 7-element array of float)
-0:23 Function Definition: main( (global void)
-0:23 Function Parameters:
-0:? Sequence
-0:? Sequence
-0:28 move second child to first child (temp float)
-0:28 direct index (temp float)
-0:28 direct index (temp 2-element array of float)
-0:28 direct index (temp 4-element array of 2-element array of float)
-0:28 'gu' (temp 3-element array of 4-element array of 2-element array of float)
-0:28 Constant:
-0:28 2 (const int)
-0:28 Constant:
-0:28 4 (const int)
-0:28 Constant:
-0:28 1 (const int)
-0:28 Constant:
-0:28 4.000000
-0:30 Sequence
-0:30 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:30 'ca4' (temp 3-element array of 2-element array of 4-component vector of float)
-0:32 Constant:
-0:32 0.000000
-0:32 0.000000
-0:32 0.000000
-0:32 0.000000
-0:32 1.000000
-0:32 1.000000
-0:32 1.000000
-0:32 1.000000
-0:32 0.000000
-0:32 0.000000
-0:32 0.000000
-0:32 0.000000
-0:32 1.000000
-0:32 1.000000
-0:32 1.000000
-0:32 1.000000
-0:32 0.000000
-0:32 0.000000
-0:32 0.000000
-0:32 0.000000
-0:32 1.000000
-0:32 1.000000
-0:32 1.000000
-0:32 1.000000
-0:33 Sequence
-0:33 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:33 'caim' (temp 3-element array of 2-element array of 4-component vector of float)
-0:35 Constant:
-0:35 4.000000
-0:35 4.000000
-0:35 4.000000
-0:35 4.000000
-0:35 2.000000
-0:35 2.000000
-0:35 2.000000
-0:35 2.000000
-0:35 4.000000
-0:35 4.000000
-0:35 4.000000
-0:35 4.000000
-0:35 2.000000
-0:35 2.000000
-0:35 2.000000
-0:35 2.000000
-0:35 4.000000
-0:35 4.000000
-0:35 4.000000
-0:35 4.000000
-0:35 2.000000
-0:35 2.000000
-0:35 2.000000
-0:35 2.000000
-0:36 Sequence
-0:36 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:36 'caim2' (temp 3-element array of 2-element array of 4-component vector of float)
-0:38 Constant:
-0:38 4.000000
-0:38 4.000000
-0:38 4.000000
-0:38 4.000000
-0:38 2.000000
-0:38 2.000000
-0:38 2.000000
-0:38 2.000000
-0:38 4.000000
-0:38 4.000000
-0:38 4.000000
-0:38 4.000000
-0:38 2.000000
-0:38 2.000000
-0:38 2.000000
-0:38 2.000000
-0:38 4.000000
-0:38 4.000000
-0:38 4.000000
-0:38 4.000000
-0:38 2.000000
-0:38 2.000000
-0:38 2.000000
-0:38 2.000000
-0:39 Sequence
-0:39 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:39 'caim3' (temp 3-element array of 2-element array of 4-component vector of float)
-0:41 Constant:
-0:41 4.000000
-0:41 4.000000
-0:41 4.000000
-0:41 4.000000
-0:41 2.000000
-0:41 2.000000
-0:41 2.000000
-0:41 2.000000
-0:41 4.000000
-0:41 4.000000
-0:41 4.000000
-0:41 4.000000
-0:41 2.000000
-0:41 2.000000
-0:41 2.000000
-0:41 2.000000
-0:41 4.000000
-0:41 4.000000
-0:41 4.000000
-0:41 4.000000
-0:41 2.000000
-0:41 2.000000
-0:41 2.000000
-0:41 2.000000
-0:43 Sequence
-0:43 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:43 'a4' (temp 3-element array of 2-element array of 4-component vector of float)
-0:43 Constant:
-0:43 0.000000
-0:43 0.000000
-0:43 0.000000
-0:43 0.000000
-0:43 1.000000
-0:43 1.000000
-0:43 1.000000
-0:43 1.000000
-0:43 0.000000
-0:43 0.000000
-0:43 0.000000
-0:43 0.000000
-0:43 1.000000
-0:43 1.000000
-0:43 1.000000
-0:43 1.000000
-0:43 0.000000
-0:43 0.000000
-0:43 0.000000
-0:43 0.000000
-0:43 1.000000
-0:43 1.000000
-0:43 1.000000
-0:43 1.000000
-0:46 Sequence
-0:46 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:46 'aim' (temp 3-element array of 2-element array of 4-component vector of float)
-0:46 Constant:
-0:46 4.000000
-0:46 4.000000
-0:46 4.000000
-0:46 4.000000
-0:46 2.000000
-0:46 2.000000
-0:46 2.000000
-0:46 2.000000
-0:46 4.000000
-0:46 4.000000
-0:46 4.000000
-0:46 4.000000
-0:46 2.000000
-0:46 2.000000
-0:46 2.000000
-0:46 2.000000
-0:46 4.000000
-0:46 4.000000
-0:46 4.000000
-0:46 4.000000
-0:46 2.000000
-0:46 2.000000
-0:46 2.000000
-0:46 2.000000
-0:49 Sequence
-0:49 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:49 'aim2' (temp 3-element array of 2-element array of 4-component vector of float)
-0:49 Constant:
-0:49 4.000000
-0:49 4.000000
-0:49 4.000000
-0:49 4.000000
-0:49 2.000000
-0:49 2.000000
-0:49 2.000000
-0:49 2.000000
-0:49 4.000000
-0:49 4.000000
-0:49 4.000000
-0:49 4.000000
-0:49 2.000000
-0:49 2.000000
-0:49 2.000000
-0:49 2.000000
-0:49 4.000000
-0:49 4.000000
-0:49 4.000000
-0:49 4.000000
-0:49 2.000000
-0:49 2.000000
-0:49 2.000000
-0:49 2.000000
-0:52 Sequence
-0:52 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:52 'aim3' (temp 3-element array of 2-element array of 4-component vector of float)
-0:52 Constant:
-0:52 4.000000
-0:52 4.000000
-0:52 4.000000
-0:52 4.000000
-0:52 2.000000
-0:52 2.000000
-0:52 2.000000
-0:52 2.000000
-0:52 4.000000
-0:52 4.000000
-0:52 4.000000
-0:52 4.000000
-0:52 2.000000
-0:52 2.000000
-0:52 2.000000
-0:52 2.000000
-0:52 4.000000
-0:52 4.000000
-0:52 4.000000
-0:52 4.000000
-0:52 2.000000
-0:52 2.000000
-0:52 2.000000
-0:52 2.000000
-0:69 move second child to first child (temp 4-element array of 7-element array of float)
-0:69 'g4' (global 4-element array of 7-element array of float)
-0:69 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
-0:69 'g5' (global 5-element array of 7-element array of float)
-0:70 'g5' (global 5-element array of 7-element array of float)
-0:71 'gu' (global implicitly-sized array of 7-element array of float)
-0:73 Constant:
-0:73 0.000000
-0:74 Function Call: bar(f1[5][7]; (global void)
-0:74 'g5' (global 5-element array of 7-element array of float)
-0:76 Test condition and select (temp void)
-0:76 Condition
-0:76 Compare Equal (temp bool)
-0:76 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
-0:76 'g5' (global 5-element array of 7-element array of float)
-0:76 'g4' (global 4-element array of 7-element array of float)
-0:76 true case is null
-0:78 Test condition and select (temp void)
-0:78 Condition
-0:78 Constant:
-0:78 false (const bool)
-0:78 true case is null
-0:82 move second child to first child (temp float)
-0:82 direct index (temp float)
-0:82 direct index (temp 7-element array of float)
-0:82 'u' (temp 5-element array of 7-element array of float)
-0:82 Constant:
-0:82 2 (const int)
-0:82 Constant:
-0:82 2 (const int)
-0:82 Constant:
-0:82 3.000000
-0:84 move second child to first child (temp float)
-0:84 direct index (temp float)
-0:84 direct index (temp 7-element array of float)
-0:84 'u' (temp 5-element array of 7-element array of float)
-0:84 Constant:
-0:84 5 (const int)
-0:84 Constant:
-0:84 2 (const int)
-0:84 Constant:
-0:84 5.000000
-0:85 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
-0:85 'u' (temp 5-element array of 7-element array of float)
-0:88 Function Definition: foo3( (global void)
-0:88 Function Parameters:
-0:? Sequence
-0:91 Constant:
-0:91 1 (const int)
-0:92 move second child to first child (temp float)
-0:92 direct index (temp float)
-0:92 direct index (temp 7-element array of float)
-0:92 direct index (temp 5-element array of 7-element array of float)
-0:92 'resize1' (temp 3-element array of 5-element array of 7-element array of float)
-0:92 Constant:
-0:92 1 (const int)
-0:92 Constant:
-0:92 4 (const int)
-0:92 Constant:
-0:92 5 (const int)
-0:92 Constant:
-0:92 2.000000
-0:93 Constant:
-0:93 1 (const int)
-0:95 Constant:
-0:95 3 (const int)
-0:96 Constant:
-0:96 5 (const int)
-0:97 Constant:
-0:97 7 (const int)
-0:98 Constant:
-0:98 0.000000
-0:? Linker Objects
-0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of float)
-0:? 'gu' (global implicitly-sized array of 7-element array of float)
-0:? 'gimp' (global implicitly-sized array of implicitly-sized array of float)
-0:? 'g4' (global 4-element array of 7-element array of float)
-0:? 'g5' (global 5-element array of 7-element array of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 430
-ERROR: node is still EOpNull!
-0:10 Function Definition: foo(f1[5][7]; (global 4-element array of 7-element array of float)
-0:10 Function Parameters:
-0:10 'a' (in 5-element array of 7-element array of float)
-0:? Sequence
-0:13 move second child to first child (temp 7-element array of float)
-0:13 'r' (temp 7-element array of float)
-0:13 direct index (temp 7-element array of float)
-0:13 'a' (in 5-element array of 7-element array of float)
-0:13 Constant:
-0:13 2 (const int)
-0:14 Constant:
-0:14 0.000000
-0:15 Constant:
-0:15 0.000000
-0:16 Branch: Return with expression
-0:16 Construct float (temp 4-element array of 7-element array of float)
-0:16 direct index (temp 7-element array of float)
-0:16 'a' (in 5-element array of 7-element array of float)
-0:16 Constant:
-0:16 0 (const int)
-0:16 direct index (temp 7-element array of float)
-0:16 'a' (in 5-element array of 7-element array of float)
-0:16 Constant:
-0:16 1 (const int)
-0:16 'r' (temp 7-element array of float)
-0:16 direct index (temp 7-element array of float)
-0:16 'a' (in 5-element array of 7-element array of float)
-0:16 Constant:
-0:16 3 (const int)
-0:17 Branch: Return with expression
-0:17 Construct float (temp 4-element array of 7-element array of float)
-0:17 direct index (temp 7-element array of float)
-0:17 'a' (in 5-element array of 7-element array of float)
-0:17 Constant:
-0:17 0 (const int)
-0:17 direct index (temp 7-element array of float)
-0:17 'a' (in 5-element array of 7-element array of float)
-0:17 Constant:
-0:17 1 (const int)
-0:17 'r' (temp 7-element array of float)
-0:17 direct index (temp 7-element array of float)
-0:17 'a' (in 5-element array of 7-element array of float)
-0:17 Constant:
-0:17 3 (const int)
-0:18 Branch: Return with expression
-0:18 Construct float (temp 4-element array of 7-element array of float)
-0:18 direct index (temp 7-element array of float)
-0:18 'a' (in 5-element array of 7-element array of float)
-0:18 Constant:
-0:18 0 (const int)
-0:18 direct index (temp 7-element array of float)
-0:18 'a' (in 5-element array of 7-element array of float)
-0:18 Constant:
-0:18 1 (const int)
-0:18 direct index (temp 7-element array of float)
-0:18 'a' (in 5-element array of 7-element array of float)
-0:18 Constant:
-0:18 2 (const int)
-0:18 direct index (temp 7-element array of float)
-0:18 'a' (in 5-element array of 7-element array of float)
-0:18 Constant:
-0:18 3 (const int)
-0:21 Function Definition: bar(f1[5][7]; (global void)
-0:21 Function Parameters:
-0:21 '' (in 5-element array of 7-element array of float)
-0:23 Function Definition: main( (global void)
-0:23 Function Parameters:
-0:? Sequence
-0:? Sequence
-0:28 move second child to first child (temp float)
-0:28 direct index (temp float)
-0:28 direct index (temp 2-element array of float)
-0:28 direct index (temp 4-element array of 2-element array of float)
-0:28 'gu' (temp 3-element array of 4-element array of 2-element array of float)
-0:28 Constant:
-0:28 2 (const int)
-0:28 Constant:
-0:28 4 (const int)
-0:28 Constant:
-0:28 1 (const int)
-0:28 Constant:
-0:28 4.000000
-0:30 Sequence
-0:30 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:30 'ca4' (temp 3-element array of 2-element array of 4-component vector of float)
-0:32 Constant:
-0:32 0.000000
-0:32 0.000000
-0:32 0.000000
-0:32 0.000000
-0:32 1.000000
-0:32 1.000000
-0:32 1.000000
-0:32 1.000000
-0:32 0.000000
-0:32 0.000000
-0:32 0.000000
-0:32 0.000000
-0:32 1.000000
-0:32 1.000000
-0:32 1.000000
-0:32 1.000000
-0:32 0.000000
-0:32 0.000000
-0:32 0.000000
-0:32 0.000000
-0:32 1.000000
-0:32 1.000000
-0:32 1.000000
-0:32 1.000000
-0:33 Sequence
-0:33 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:33 'caim' (temp 3-element array of 2-element array of 4-component vector of float)
-0:35 Constant:
-0:35 4.000000
-0:35 4.000000
-0:35 4.000000
-0:35 4.000000
-0:35 2.000000
-0:35 2.000000
-0:35 2.000000
-0:35 2.000000
-0:35 4.000000
-0:35 4.000000
-0:35 4.000000
-0:35 4.000000
-0:35 2.000000
-0:35 2.000000
-0:35 2.000000
-0:35 2.000000
-0:35 4.000000
-0:35 4.000000
-0:35 4.000000
-0:35 4.000000
-0:35 2.000000
-0:35 2.000000
-0:35 2.000000
-0:35 2.000000
-0:36 Sequence
-0:36 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:36 'caim2' (temp 3-element array of 2-element array of 4-component vector of float)
-0:38 Constant:
-0:38 4.000000
-0:38 4.000000
-0:38 4.000000
-0:38 4.000000
-0:38 2.000000
-0:38 2.000000
-0:38 2.000000
-0:38 2.000000
-0:38 4.000000
-0:38 4.000000
-0:38 4.000000
-0:38 4.000000
-0:38 2.000000
-0:38 2.000000
-0:38 2.000000
-0:38 2.000000
-0:38 4.000000
-0:38 4.000000
-0:38 4.000000
-0:38 4.000000
-0:38 2.000000
-0:38 2.000000
-0:38 2.000000
-0:38 2.000000
-0:39 Sequence
-0:39 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:39 'caim3' (temp 3-element array of 2-element array of 4-component vector of float)
-0:41 Constant:
-0:41 4.000000
-0:41 4.000000
-0:41 4.000000
-0:41 4.000000
-0:41 2.000000
-0:41 2.000000
-0:41 2.000000
-0:41 2.000000
-0:41 4.000000
-0:41 4.000000
-0:41 4.000000
-0:41 4.000000
-0:41 2.000000
-0:41 2.000000
-0:41 2.000000
-0:41 2.000000
-0:41 4.000000
-0:41 4.000000
-0:41 4.000000
-0:41 4.000000
-0:41 2.000000
-0:41 2.000000
-0:41 2.000000
-0:41 2.000000
-0:43 Sequence
-0:43 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:43 'a4' (temp 3-element array of 2-element array of 4-component vector of float)
-0:43 Constant:
-0:43 0.000000
-0:43 0.000000
-0:43 0.000000
-0:43 0.000000
-0:43 1.000000
-0:43 1.000000
-0:43 1.000000
-0:43 1.000000
-0:43 0.000000
-0:43 0.000000
-0:43 0.000000
-0:43 0.000000
-0:43 1.000000
-0:43 1.000000
-0:43 1.000000
-0:43 1.000000
-0:43 0.000000
-0:43 0.000000
-0:43 0.000000
-0:43 0.000000
-0:43 1.000000
-0:43 1.000000
-0:43 1.000000
-0:43 1.000000
-0:46 Sequence
-0:46 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:46 'aim' (temp 3-element array of 2-element array of 4-component vector of float)
-0:46 Constant:
-0:46 4.000000
-0:46 4.000000
-0:46 4.000000
-0:46 4.000000
-0:46 2.000000
-0:46 2.000000
-0:46 2.000000
-0:46 2.000000
-0:46 4.000000
-0:46 4.000000
-0:46 4.000000
-0:46 4.000000
-0:46 2.000000
-0:46 2.000000
-0:46 2.000000
-0:46 2.000000
-0:46 4.000000
-0:46 4.000000
-0:46 4.000000
-0:46 4.000000
-0:46 2.000000
-0:46 2.000000
-0:46 2.000000
-0:46 2.000000
-0:49 Sequence
-0:49 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:49 'aim2' (temp 3-element array of 2-element array of 4-component vector of float)
-0:49 Constant:
-0:49 4.000000
-0:49 4.000000
-0:49 4.000000
-0:49 4.000000
-0:49 2.000000
-0:49 2.000000
-0:49 2.000000
-0:49 2.000000
-0:49 4.000000
-0:49 4.000000
-0:49 4.000000
-0:49 4.000000
-0:49 2.000000
-0:49 2.000000
-0:49 2.000000
-0:49 2.000000
-0:49 4.000000
-0:49 4.000000
-0:49 4.000000
-0:49 4.000000
-0:49 2.000000
-0:49 2.000000
-0:49 2.000000
-0:49 2.000000
-0:52 Sequence
-0:52 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:52 'aim3' (temp 3-element array of 2-element array of 4-component vector of float)
-0:52 Constant:
-0:52 4.000000
-0:52 4.000000
-0:52 4.000000
-0:52 4.000000
-0:52 2.000000
-0:52 2.000000
-0:52 2.000000
-0:52 2.000000
-0:52 4.000000
-0:52 4.000000
-0:52 4.000000
-0:52 4.000000
-0:52 2.000000
-0:52 2.000000
-0:52 2.000000
-0:52 2.000000
-0:52 4.000000
-0:52 4.000000
-0:52 4.000000
-0:52 4.000000
-0:52 2.000000
-0:52 2.000000
-0:52 2.000000
-0:52 2.000000
-0:69 move second child to first child (temp 4-element array of 7-element array of float)
-0:69 'g4' (global 4-element array of 7-element array of float)
-0:69 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
-0:69 'g5' (global 5-element array of 7-element array of float)
-0:70 'g5' (global 5-element array of 7-element array of float)
-0:71 'gu' (global 1-element array of 7-element array of float)
-0:73 Constant:
-0:73 0.000000
-0:74 Function Call: bar(f1[5][7]; (global void)
-0:74 'g5' (global 5-element array of 7-element array of float)
-0:76 Test condition and select (temp void)
-0:76 Condition
-0:76 Compare Equal (temp bool)
-0:76 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
-0:76 'g5' (global 5-element array of 7-element array of float)
-0:76 'g4' (global 4-element array of 7-element array of float)
-0:76 true case is null
-0:78 Test condition and select (temp void)
-0:78 Condition
-0:78 Constant:
-0:78 false (const bool)
-0:78 true case is null
-0:82 move second child to first child (temp float)
-0:82 direct index (temp float)
-0:82 direct index (temp 7-element array of float)
-0:82 'u' (temp 5-element array of 7-element array of float)
-0:82 Constant:
-0:82 2 (const int)
-0:82 Constant:
-0:82 2 (const int)
-0:82 Constant:
-0:82 3.000000
-0:84 move second child to first child (temp float)
-0:84 direct index (temp float)
-0:84 direct index (temp 7-element array of float)
-0:84 'u' (temp 5-element array of 7-element array of float)
-0:84 Constant:
-0:84 5 (const int)
-0:84 Constant:
-0:84 2 (const int)
-0:84 Constant:
-0:84 5.000000
-0:85 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
-0:85 'u' (temp 5-element array of 7-element array of float)
-0:88 Function Definition: foo3( (global void)
-0:88 Function Parameters:
-0:? Sequence
-0:91 Constant:
-0:91 1 (const int)
-0:92 move second child to first child (temp float)
-0:92 direct index (temp float)
-0:92 direct index (temp 7-element array of float)
-0:92 direct index (temp 5-element array of 7-element array of float)
-0:92 'resize1' (temp 3-element array of 5-element array of 7-element array of float)
-0:92 Constant:
-0:92 1 (const int)
-0:92 Constant:
-0:92 4 (const int)
-0:92 Constant:
-0:92 5 (const int)
-0:92 Constant:
-0:92 2.000000
-0:93 Constant:
-0:93 1 (const int)
-0:95 Constant:
-0:95 3 (const int)
-0:96 Constant:
-0:96 5 (const int)
-0:97 Constant:
-0:97 7 (const int)
-0:98 Constant:
-0:98 0.000000
-0:? Linker Objects
-0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of float)
-0:? 'gu' (global 1-element array of 7-element array of float)
-0:? 'gimp' (global 1-element array of implicitly-sized array of float)
-0:? 'g4' (global 4-element array of 7-element array of float)
-0:? 'g5' (global 5-element array of 7-element array of float)
-
+430AofA.frag
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:6: '[]' : only outermost dimension of an array of arrays can be implicitly sized
+ERROR: 0:14: 'constructor' : constructing non-array constituent from array argument
+ERROR: 0:15: 'constructior' : array constructor argument not correct type to construct array element
+ERROR: 0:28: '[' : array index out of range '4'
+ERROR: 0:56: 'constructor' : cannot convert parameter 2 from 'const 3-element array of 4-component vector of float' to 'temp 2-element array of 4-component vector of float'
+ERROR: 0:60: 'constructor' : cannot convert parameter 2 from 'const 2-element array of 4-component vector of float' to 'temp 3-element array of 4-component vector of float'
+ERROR: 0:64: '=' : cannot convert from 'temp 3-element array of 2-element array of 4-component vector of float' to 'temp 4-element array of 2-element array of 4-component vector of float'
+ERROR: 0:70: 'assign' : cannot convert from 'global 4-element array of 7-element array of float' to 'global 5-element array of 7-element array of float'
+ERROR: 0:71: 'assign' : cannot convert from 'global 4-element array of 7-element array of float' to 'global implicitly-sized array of 7-element array of float'
+ERROR: 0:73: 'foo' : no matching overloaded function found
+ERROR: 0:78: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'global 4-element array of 7-element array of float' and a right operand of type 'global 5-element array of 7-element array of float' (or there is no acceptable conversion)
+ERROR: 0:84: '[' : array index out of range '5'
+ERROR: 0:91: 'length' : array must be declared with a size before using this method
+ERROR: 0:93: 'length' : array must be declared with a size before using this method
+ERROR: 0:98: 'length' : does not operate on this type: temp float
+ERROR: 0:98: '' : function call, method, or subroutine call expected
+ERROR: 0:98: '' : no matching overloaded function found
+ERROR: 0:101: 'resize2' : redeclaration of array with a different array dimensions or sizes
+ERROR: 0:104: 'resize3' : redeclaration of array with a different array dimensions or sizes
+ERROR: 0:107: 'resize4' : redeclaration of array with a different element type
+ERROR: 20 compilation errors. No code generated.
+
+
+Shader version: 430
+ERROR: node is still EOpNull!
+0:10 Function Definition: foo(f1[5][7]; (global 4-element array of 7-element array of float)
+0:10 Function Parameters:
+0:10 'a' (in 5-element array of 7-element array of float)
+0:? Sequence
+0:13 move second child to first child (temp 7-element array of float)
+0:13 'r' (temp 7-element array of float)
+0:13 direct index (temp 7-element array of float)
+0:13 'a' (in 5-element array of 7-element array of float)
+0:13 Constant:
+0:13 2 (const int)
+0:14 Constant:
+0:14 0.000000
+0:15 Constant:
+0:15 0.000000
+0:16 Branch: Return with expression
+0:16 Construct float (temp 4-element array of 7-element array of float)
+0:16 direct index (temp 7-element array of float)
+0:16 'a' (in 5-element array of 7-element array of float)
+0:16 Constant:
+0:16 0 (const int)
+0:16 direct index (temp 7-element array of float)
+0:16 'a' (in 5-element array of 7-element array of float)
+0:16 Constant:
+0:16 1 (const int)
+0:16 'r' (temp 7-element array of float)
+0:16 direct index (temp 7-element array of float)
+0:16 'a' (in 5-element array of 7-element array of float)
+0:16 Constant:
+0:16 3 (const int)
+0:17 Branch: Return with expression
+0:17 Construct float (temp 4-element array of 7-element array of float)
+0:17 direct index (temp 7-element array of float)
+0:17 'a' (in 5-element array of 7-element array of float)
+0:17 Constant:
+0:17 0 (const int)
+0:17 direct index (temp 7-element array of float)
+0:17 'a' (in 5-element array of 7-element array of float)
+0:17 Constant:
+0:17 1 (const int)
+0:17 'r' (temp 7-element array of float)
+0:17 direct index (temp 7-element array of float)
+0:17 'a' (in 5-element array of 7-element array of float)
+0:17 Constant:
+0:17 3 (const int)
+0:18 Branch: Return with expression
+0:18 Construct float (temp 4-element array of 7-element array of float)
+0:18 direct index (temp 7-element array of float)
+0:18 'a' (in 5-element array of 7-element array of float)
+0:18 Constant:
+0:18 0 (const int)
+0:18 direct index (temp 7-element array of float)
+0:18 'a' (in 5-element array of 7-element array of float)
+0:18 Constant:
+0:18 1 (const int)
+0:18 direct index (temp 7-element array of float)
+0:18 'a' (in 5-element array of 7-element array of float)
+0:18 Constant:
+0:18 2 (const int)
+0:18 direct index (temp 7-element array of float)
+0:18 'a' (in 5-element array of 7-element array of float)
+0:18 Constant:
+0:18 3 (const int)
+0:21 Function Definition: bar(f1[5][7]; (global void)
+0:21 Function Parameters:
+0:21 '' (in 5-element array of 7-element array of float)
+0:23 Function Definition: main( (global void)
+0:23 Function Parameters:
+0:? Sequence
+0:? Sequence
+0:28 move second child to first child (temp float)
+0:28 direct index (temp float)
+0:28 direct index (temp 2-element array of float)
+0:28 direct index (temp 4-element array of 2-element array of float)
+0:28 'gu' (temp 3-element array of 4-element array of 2-element array of float)
+0:28 Constant:
+0:28 2 (const int)
+0:28 Constant:
+0:28 4 (const int)
+0:28 Constant:
+0:28 1 (const int)
+0:28 Constant:
+0:28 4.000000
+0:30 Sequence
+0:30 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:30 'ca4' (temp 3-element array of 2-element array of 4-component vector of float)
+0:32 Constant:
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:33 Sequence
+0:33 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:33 'caim' (temp 3-element array of 2-element array of 4-component vector of float)
+0:35 Constant:
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:36 Sequence
+0:36 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:36 'caim2' (temp 3-element array of 2-element array of 4-component vector of float)
+0:38 Constant:
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:39 Sequence
+0:39 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:39 'caim3' (temp 3-element array of 2-element array of 4-component vector of float)
+0:41 Constant:
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:43 Sequence
+0:43 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:43 'a4' (temp 3-element array of 2-element array of 4-component vector of float)
+0:43 Constant:
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:46 Sequence
+0:46 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:46 'aim' (temp 3-element array of 2-element array of 4-component vector of float)
+0:46 Constant:
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:49 Sequence
+0:49 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:49 'aim2' (temp 3-element array of 2-element array of 4-component vector of float)
+0:49 Constant:
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:52 Sequence
+0:52 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:52 'aim3' (temp 3-element array of 2-element array of 4-component vector of float)
+0:52 Constant:
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:69 move second child to first child (temp 4-element array of 7-element array of float)
+0:69 'g4' (global 4-element array of 7-element array of float)
+0:69 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
+0:69 'g5' (global 5-element array of 7-element array of float)
+0:70 'g5' (global 5-element array of 7-element array of float)
+0:71 'gu' (global implicitly-sized array of 7-element array of float)
+0:73 Constant:
+0:73 0.000000
+0:74 Function Call: bar(f1[5][7]; (global void)
+0:74 'g5' (global 5-element array of 7-element array of float)
+0:76 Test condition and select (temp void)
+0:76 Condition
+0:76 Compare Equal (temp bool)
+0:76 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
+0:76 'g5' (global 5-element array of 7-element array of float)
+0:76 'g4' (global 4-element array of 7-element array of float)
+0:76 true case is null
+0:78 Test condition and select (temp void)
+0:78 Condition
+0:78 Constant:
+0:78 false (const bool)
+0:78 true case is null
+0:82 move second child to first child (temp float)
+0:82 direct index (temp float)
+0:82 direct index (temp 7-element array of float)
+0:82 'u' (temp 5-element array of 7-element array of float)
+0:82 Constant:
+0:82 2 (const int)
+0:82 Constant:
+0:82 2 (const int)
+0:82 Constant:
+0:82 3.000000
+0:84 move second child to first child (temp float)
+0:84 direct index (temp float)
+0:84 direct index (temp 7-element array of float)
+0:84 'u' (temp 5-element array of 7-element array of float)
+0:84 Constant:
+0:84 5 (const int)
+0:84 Constant:
+0:84 2 (const int)
+0:84 Constant:
+0:84 5.000000
+0:85 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
+0:85 'u' (temp 5-element array of 7-element array of float)
+0:88 Function Definition: foo3( (global void)
+0:88 Function Parameters:
+0:? Sequence
+0:91 Constant:
+0:91 1 (const int)
+0:92 move second child to first child (temp float)
+0:92 direct index (temp float)
+0:92 direct index (temp 7-element array of float)
+0:92 direct index (temp 5-element array of 7-element array of float)
+0:92 'resize1' (temp 3-element array of 5-element array of 7-element array of float)
+0:92 Constant:
+0:92 1 (const int)
+0:92 Constant:
+0:92 4 (const int)
+0:92 Constant:
+0:92 5 (const int)
+0:92 Constant:
+0:92 2.000000
+0:93 Constant:
+0:93 1 (const int)
+0:95 Constant:
+0:95 3 (const int)
+0:96 Constant:
+0:96 5 (const int)
+0:97 Constant:
+0:97 7 (const int)
+0:98 Constant:
+0:98 0.000000
+0:? Linker Objects
+0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of float)
+0:? 'gu' (global implicitly-sized array of 7-element array of float)
+0:? 'gimp' (global implicitly-sized array of implicitly-sized array of float)
+0:? 'g4' (global 4-element array of 7-element array of float)
+0:? 'g5' (global 5-element array of 7-element array of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 430
+ERROR: node is still EOpNull!
+0:10 Function Definition: foo(f1[5][7]; (global 4-element array of 7-element array of float)
+0:10 Function Parameters:
+0:10 'a' (in 5-element array of 7-element array of float)
+0:? Sequence
+0:13 move second child to first child (temp 7-element array of float)
+0:13 'r' (temp 7-element array of float)
+0:13 direct index (temp 7-element array of float)
+0:13 'a' (in 5-element array of 7-element array of float)
+0:13 Constant:
+0:13 2 (const int)
+0:14 Constant:
+0:14 0.000000
+0:15 Constant:
+0:15 0.000000
+0:16 Branch: Return with expression
+0:16 Construct float (temp 4-element array of 7-element array of float)
+0:16 direct index (temp 7-element array of float)
+0:16 'a' (in 5-element array of 7-element array of float)
+0:16 Constant:
+0:16 0 (const int)
+0:16 direct index (temp 7-element array of float)
+0:16 'a' (in 5-element array of 7-element array of float)
+0:16 Constant:
+0:16 1 (const int)
+0:16 'r' (temp 7-element array of float)
+0:16 direct index (temp 7-element array of float)
+0:16 'a' (in 5-element array of 7-element array of float)
+0:16 Constant:
+0:16 3 (const int)
+0:17 Branch: Return with expression
+0:17 Construct float (temp 4-element array of 7-element array of float)
+0:17 direct index (temp 7-element array of float)
+0:17 'a' (in 5-element array of 7-element array of float)
+0:17 Constant:
+0:17 0 (const int)
+0:17 direct index (temp 7-element array of float)
+0:17 'a' (in 5-element array of 7-element array of float)
+0:17 Constant:
+0:17 1 (const int)
+0:17 'r' (temp 7-element array of float)
+0:17 direct index (temp 7-element array of float)
+0:17 'a' (in 5-element array of 7-element array of float)
+0:17 Constant:
+0:17 3 (const int)
+0:18 Branch: Return with expression
+0:18 Construct float (temp 4-element array of 7-element array of float)
+0:18 direct index (temp 7-element array of float)
+0:18 'a' (in 5-element array of 7-element array of float)
+0:18 Constant:
+0:18 0 (const int)
+0:18 direct index (temp 7-element array of float)
+0:18 'a' (in 5-element array of 7-element array of float)
+0:18 Constant:
+0:18 1 (const int)
+0:18 direct index (temp 7-element array of float)
+0:18 'a' (in 5-element array of 7-element array of float)
+0:18 Constant:
+0:18 2 (const int)
+0:18 direct index (temp 7-element array of float)
+0:18 'a' (in 5-element array of 7-element array of float)
+0:18 Constant:
+0:18 3 (const int)
+0:21 Function Definition: bar(f1[5][7]; (global void)
+0:21 Function Parameters:
+0:21 '' (in 5-element array of 7-element array of float)
+0:23 Function Definition: main( (global void)
+0:23 Function Parameters:
+0:? Sequence
+0:? Sequence
+0:28 move second child to first child (temp float)
+0:28 direct index (temp float)
+0:28 direct index (temp 2-element array of float)
+0:28 direct index (temp 4-element array of 2-element array of float)
+0:28 'gu' (temp 3-element array of 4-element array of 2-element array of float)
+0:28 Constant:
+0:28 2 (const int)
+0:28 Constant:
+0:28 4 (const int)
+0:28 Constant:
+0:28 1 (const int)
+0:28 Constant:
+0:28 4.000000
+0:30 Sequence
+0:30 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:30 'ca4' (temp 3-element array of 2-element array of 4-component vector of float)
+0:32 Constant:
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 0.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:32 1.000000
+0:33 Sequence
+0:33 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:33 'caim' (temp 3-element array of 2-element array of 4-component vector of float)
+0:35 Constant:
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 4.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:35 2.000000
+0:36 Sequence
+0:36 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:36 'caim2' (temp 3-element array of 2-element array of 4-component vector of float)
+0:38 Constant:
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 4.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:38 2.000000
+0:39 Sequence
+0:39 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:39 'caim3' (temp 3-element array of 2-element array of 4-component vector of float)
+0:41 Constant:
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 4.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:41 2.000000
+0:43 Sequence
+0:43 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:43 'a4' (temp 3-element array of 2-element array of 4-component vector of float)
+0:43 Constant:
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:43 1.000000
+0:46 Sequence
+0:46 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:46 'aim' (temp 3-element array of 2-element array of 4-component vector of float)
+0:46 Constant:
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 4.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:46 2.000000
+0:49 Sequence
+0:49 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:49 'aim2' (temp 3-element array of 2-element array of 4-component vector of float)
+0:49 Constant:
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 4.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:49 2.000000
+0:52 Sequence
+0:52 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:52 'aim3' (temp 3-element array of 2-element array of 4-component vector of float)
+0:52 Constant:
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 4.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:52 2.000000
+0:69 move second child to first child (temp 4-element array of 7-element array of float)
+0:69 'g4' (global 4-element array of 7-element array of float)
+0:69 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
+0:69 'g5' (global 5-element array of 7-element array of float)
+0:70 'g5' (global 5-element array of 7-element array of float)
+0:71 'gu' (global 1-element array of 7-element array of float)
+0:73 Constant:
+0:73 0.000000
+0:74 Function Call: bar(f1[5][7]; (global void)
+0:74 'g5' (global 5-element array of 7-element array of float)
+0:76 Test condition and select (temp void)
+0:76 Condition
+0:76 Compare Equal (temp bool)
+0:76 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
+0:76 'g5' (global 5-element array of 7-element array of float)
+0:76 'g4' (global 4-element array of 7-element array of float)
+0:76 true case is null
+0:78 Test condition and select (temp void)
+0:78 Condition
+0:78 Constant:
+0:78 false (const bool)
+0:78 true case is null
+0:82 move second child to first child (temp float)
+0:82 direct index (temp float)
+0:82 direct index (temp 7-element array of float)
+0:82 'u' (temp 5-element array of 7-element array of float)
+0:82 Constant:
+0:82 2 (const int)
+0:82 Constant:
+0:82 2 (const int)
+0:82 Constant:
+0:82 3.000000
+0:84 move second child to first child (temp float)
+0:84 direct index (temp float)
+0:84 direct index (temp 7-element array of float)
+0:84 'u' (temp 5-element array of 7-element array of float)
+0:84 Constant:
+0:84 5 (const int)
+0:84 Constant:
+0:84 2 (const int)
+0:84 Constant:
+0:84 5.000000
+0:85 Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
+0:85 'u' (temp 5-element array of 7-element array of float)
+0:88 Function Definition: foo3( (global void)
+0:88 Function Parameters:
+0:? Sequence
+0:91 Constant:
+0:91 1 (const int)
+0:92 move second child to first child (temp float)
+0:92 direct index (temp float)
+0:92 direct index (temp 7-element array of float)
+0:92 direct index (temp 5-element array of 7-element array of float)
+0:92 'resize1' (temp 3-element array of 5-element array of 7-element array of float)
+0:92 Constant:
+0:92 1 (const int)
+0:92 Constant:
+0:92 4 (const int)
+0:92 Constant:
+0:92 5 (const int)
+0:92 Constant:
+0:92 2.000000
+0:93 Constant:
+0:93 1 (const int)
+0:95 Constant:
+0:95 3 (const int)
+0:96 Constant:
+0:96 5 (const int)
+0:97 Constant:
+0:97 7 (const int)
+0:98 Constant:
+0:98 0.000000
+0:? Linker Objects
+0:? 'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of float)
+0:? 'gu' (global 1-element array of 7-element array of float)
+0:? 'gimp' (global 1-element array of implicitly-sized array of float)
+0:? 'g4' (global 4-element array of 7-element array of float)
+0:? 'g5' (global 5-element array of 7-element array of float)
+
diff --git a/Test/baseResults/430scope.vert.out b/Test/baseResults/430scope.vert.out
index beb0b32..7460139 100644
--- a/Test/baseResults/430scope.vert.out
+++ b/Test/baseResults/430scope.vert.out
@@ -1,243 +1,243 @@
-430scope.vert
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:5: 'a' : redefinition
-ERROR: 0:17: 'b' : function name is redeclaration of existing name
-ERROR: 0:20: 'c' : redefinition
-ERROR: 0:22: 'f' : redefinition
-ERROR: 0:43: 'sin' : can't use function syntax on variable
-ERROR: 0:57: 'z' : undeclared identifier
-ERROR: 0:57: 'z' : redefinition
-ERROR: 0:73: 'degrees' : can't use function syntax on variable
-ERROR: 8 compilation errors. No code generated.
-
-
-Shader version: 430
-ERROR: node is still EOpNull!
-0:3 Function Definition: f(i1;i1;i1; (global int)
-0:3 Function Parameters:
-0:3 'a' (in int)
-0:3 'b' (in int)
-0:3 'c' (in int)
-0:? Sequence
-0:8 Sequence
-0:8 Sequence
-0:8 move second child to first child (temp float)
-0:8 'a' (temp float)
-0:8 add (temp float)
-0:8 Convert int to float (temp float)
-0:8 'a' (in int)
-0:8 Constant:
-0:8 1.000000
-0:11 Branch: Return with expression
-0:11 'a' (in int)
-0:25 Function Definition: cos(f1; (global float)
-0:25 Function Parameters:
-0:25 'x' (in float)
-0:27 Sequence
-0:27 Branch: Return with expression
-0:27 Constant:
-0:27 1.000000
-0:29 Function Definition: radians(b1; (global bool)
-0:29 Function Parameters:
-0:29 'x' (in bool)
-0:31 Sequence
-0:31 Branch: Return with expression
-0:31 Constant:
-0:31 true (const bool)
-0:36 Function Definition: main( (global void)
-0:36 Function Parameters:
-0:? Sequence
-0:39 Function Call: g( (temp int)
-0:42 'sin' (temp float)
-0:43 Constant:
-0:43 0.000000
-0:44 Function Call: f(i1;i1;i1; (global int)
-0:44 Constant:
-0:44 1 (const int)
-0:44 Constant:
-0:44 2 (const int)
-0:44 Constant:
-0:44 3 (const int)
-0:47 move second child to first child (temp float)
-0:47 'f' (temp float)
-0:47 Constant:
-0:47 3.000000
-0:49 move second child to first child (temp 4-component vector of float)
-0:49 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position)
-0:49 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:49 Constant:
-0:49 0 (const uint)
-0:49 Construct vec4 (temp 4-component vector of float)
-0:49 'f' (temp float)
-0:51 Sequence
-0:51 Sequence
-0:51 move second child to first child (temp int)
-0:51 'f' (temp int)
-0:51 Constant:
-0:51 0 (const int)
-0:51 Loop with condition tested first
-0:51 Loop Condition
-0:51 Compare Less Than (temp bool)
-0:51 'f' (temp int)
-0:51 Constant:
-0:51 10 (const int)
-0:51 Loop Body
-0:52 Pre-Increment (temp int)
-0:52 'f' (temp int)
-0:51 Loop Terminal Expression
-0:51 Pre-Increment (temp int)
-0:51 'f' (temp int)
-0:54 Sequence
-0:54 move second child to first child (temp int)
-0:54 'x' (temp int)
-0:54 Constant:
-0:54 1 (const int)
-0:56 Sequence
-0:56 Sequence
-0:56 move second child to first child (temp float)
-0:56 'x' (temp float)
-0:56 Constant:
-0:56 2.000000
-0:56 move second child to first child (temp float)
-0:56 'y' (temp float)
-0:56 'x' (temp float)
-0:60 Sequence
-0:60 Sequence
-0:60 move second child to first child (temp int)
-0:60 'x' (temp int)
-0:60 'x' (temp int)
-0:68 Sequence
-0:68 Sequence
-0:68 move second child to first child (temp structure{temp int x})
-0:68 'S' (temp structure{temp int x})
-0:68 Constant:
-0:68 0 (const int)
-0:69 x: direct index for structure (temp int)
-0:69 'S' (temp structure{temp int x})
-0:69 Constant:
-0:69 0 (const int)
-0:73 Constant:
-0:73 0.000000
-0:? Linker Objects
-0:? 'b' (global bool)
-0:? 'tan' (global float)
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 430
-ERROR: node is still EOpNull!
-0:3 Function Definition: f(i1;i1;i1; (global int)
-0:3 Function Parameters:
-0:3 'a' (in int)
-0:3 'b' (in int)
-0:3 'c' (in int)
-0:? Sequence
-0:8 Sequence
-0:8 Sequence
-0:8 move second child to first child (temp float)
-0:8 'a' (temp float)
-0:8 add (temp float)
-0:8 Convert int to float (temp float)
-0:8 'a' (in int)
-0:8 Constant:
-0:8 1.000000
-0:11 Branch: Return with expression
-0:11 'a' (in int)
-0:25 Function Definition: cos(f1; (global float)
-0:25 Function Parameters:
-0:25 'x' (in float)
-0:27 Sequence
-0:27 Branch: Return with expression
-0:27 Constant:
-0:27 1.000000
-0:29 Function Definition: radians(b1; (global bool)
-0:29 Function Parameters:
-0:29 'x' (in bool)
-0:31 Sequence
-0:31 Branch: Return with expression
-0:31 Constant:
-0:31 true (const bool)
-0:36 Function Definition: main( (global void)
-0:36 Function Parameters:
-0:? Sequence
-0:39 Function Call: g( (temp int)
-0:42 'sin' (temp float)
-0:43 Constant:
-0:43 0.000000
-0:44 Function Call: f(i1;i1;i1; (global int)
-0:44 Constant:
-0:44 1 (const int)
-0:44 Constant:
-0:44 2 (const int)
-0:44 Constant:
-0:44 3 (const int)
-0:47 move second child to first child (temp float)
-0:47 'f' (temp float)
-0:47 Constant:
-0:47 3.000000
-0:49 move second child to first child (temp 4-component vector of float)
-0:49 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position)
-0:49 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:49 Constant:
-0:49 0 (const uint)
-0:49 Construct vec4 (temp 4-component vector of float)
-0:49 'f' (temp float)
-0:51 Sequence
-0:51 Sequence
-0:51 move second child to first child (temp int)
-0:51 'f' (temp int)
-0:51 Constant:
-0:51 0 (const int)
-0:51 Loop with condition tested first
-0:51 Loop Condition
-0:51 Compare Less Than (temp bool)
-0:51 'f' (temp int)
-0:51 Constant:
-0:51 10 (const int)
-0:51 Loop Body
-0:52 Pre-Increment (temp int)
-0:52 'f' (temp int)
-0:51 Loop Terminal Expression
-0:51 Pre-Increment (temp int)
-0:51 'f' (temp int)
-0:54 Sequence
-0:54 move second child to first child (temp int)
-0:54 'x' (temp int)
-0:54 Constant:
-0:54 1 (const int)
-0:56 Sequence
-0:56 Sequence
-0:56 move second child to first child (temp float)
-0:56 'x' (temp float)
-0:56 Constant:
-0:56 2.000000
-0:56 move second child to first child (temp float)
-0:56 'y' (temp float)
-0:56 'x' (temp float)
-0:60 Sequence
-0:60 Sequence
-0:60 move second child to first child (temp int)
-0:60 'x' (temp int)
-0:60 'x' (temp int)
-0:68 Sequence
-0:68 Sequence
-0:68 move second child to first child (temp structure{temp int x})
-0:68 'S' (temp structure{temp int x})
-0:68 Constant:
-0:68 0 (const int)
-0:69 x: direct index for structure (temp int)
-0:69 'S' (temp structure{temp int x})
-0:69 Constant:
-0:69 0 (const int)
-0:73 Constant:
-0:73 0.000000
-0:? Linker Objects
-0:? 'b' (global bool)
-0:? 'tan' (global float)
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
+430scope.vert
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:5: 'a' : redefinition
+ERROR: 0:17: 'b' : function name is redeclaration of existing name
+ERROR: 0:20: 'c' : redefinition
+ERROR: 0:22: 'f' : redefinition
+ERROR: 0:43: 'sin' : can't use function syntax on variable
+ERROR: 0:57: 'z' : undeclared identifier
+ERROR: 0:57: 'z' : redefinition
+ERROR: 0:73: 'degrees' : can't use function syntax on variable
+ERROR: 8 compilation errors. No code generated.
+
+
+Shader version: 430
+ERROR: node is still EOpNull!
+0:3 Function Definition: f(i1;i1;i1; (global int)
+0:3 Function Parameters:
+0:3 'a' (in int)
+0:3 'b' (in int)
+0:3 'c' (in int)
+0:? Sequence
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'a' (temp float)
+0:8 add (temp float)
+0:8 Convert int to float (temp float)
+0:8 'a' (in int)
+0:8 Constant:
+0:8 1.000000
+0:11 Branch: Return with expression
+0:11 'a' (in int)
+0:25 Function Definition: cos(f1; (global float)
+0:25 Function Parameters:
+0:25 'x' (in float)
+0:27 Sequence
+0:27 Branch: Return with expression
+0:27 Constant:
+0:27 1.000000
+0:29 Function Definition: radians(b1; (global bool)
+0:29 Function Parameters:
+0:29 'x' (in bool)
+0:31 Sequence
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 true (const bool)
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:? Sequence
+0:39 Function Call: g( (temp int)
+0:42 'sin' (temp float)
+0:43 Constant:
+0:43 0.000000
+0:44 Function Call: f(i1;i1;i1; (global int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 3 (const int)
+0:47 move second child to first child (temp float)
+0:47 'f' (temp float)
+0:47 Constant:
+0:47 3.000000
+0:49 move second child to first child (temp 4-component vector of float)
+0:49 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position)
+0:49 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:49 Constant:
+0:49 0 (const uint)
+0:49 Construct vec4 (temp 4-component vector of float)
+0:49 'f' (temp float)
+0:51 Sequence
+0:51 Sequence
+0:51 move second child to first child (temp int)
+0:51 'f' (temp int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Loop with condition tested first
+0:51 Loop Condition
+0:51 Compare Less Than (temp bool)
+0:51 'f' (temp int)
+0:51 Constant:
+0:51 10 (const int)
+0:51 Loop Body
+0:52 Pre-Increment (temp int)
+0:52 'f' (temp int)
+0:51 Loop Terminal Expression
+0:51 Pre-Increment (temp int)
+0:51 'f' (temp int)
+0:54 Sequence
+0:54 move second child to first child (temp int)
+0:54 'x' (temp int)
+0:54 Constant:
+0:54 1 (const int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp float)
+0:56 'x' (temp float)
+0:56 Constant:
+0:56 2.000000
+0:56 move second child to first child (temp float)
+0:56 'y' (temp float)
+0:56 'x' (temp float)
+0:60 Sequence
+0:60 Sequence
+0:60 move second child to first child (temp int)
+0:60 'x' (temp int)
+0:60 'x' (temp int)
+0:68 Sequence
+0:68 Sequence
+0:68 move second child to first child (temp structure{temp int x})
+0:68 'S' (temp structure{temp int x})
+0:68 Constant:
+0:68 0 (const int)
+0:69 x: direct index for structure (temp int)
+0:69 'S' (temp structure{temp int x})
+0:69 Constant:
+0:69 0 (const int)
+0:73 Constant:
+0:73 0.000000
+0:? Linker Objects
+0:? 'b' (global bool)
+0:? 'tan' (global float)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 430
+ERROR: node is still EOpNull!
+0:3 Function Definition: f(i1;i1;i1; (global int)
+0:3 Function Parameters:
+0:3 'a' (in int)
+0:3 'b' (in int)
+0:3 'c' (in int)
+0:? Sequence
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'a' (temp float)
+0:8 add (temp float)
+0:8 Convert int to float (temp float)
+0:8 'a' (in int)
+0:8 Constant:
+0:8 1.000000
+0:11 Branch: Return with expression
+0:11 'a' (in int)
+0:25 Function Definition: cos(f1; (global float)
+0:25 Function Parameters:
+0:25 'x' (in float)
+0:27 Sequence
+0:27 Branch: Return with expression
+0:27 Constant:
+0:27 1.000000
+0:29 Function Definition: radians(b1; (global bool)
+0:29 Function Parameters:
+0:29 'x' (in bool)
+0:31 Sequence
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 true (const bool)
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:? Sequence
+0:39 Function Call: g( (temp int)
+0:42 'sin' (temp float)
+0:43 Constant:
+0:43 0.000000
+0:44 Function Call: f(i1;i1;i1; (global int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 3 (const int)
+0:47 move second child to first child (temp float)
+0:47 'f' (temp float)
+0:47 Constant:
+0:47 3.000000
+0:49 move second child to first child (temp 4-component vector of float)
+0:49 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float Position)
+0:49 'anon@0' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:49 Constant:
+0:49 0 (const uint)
+0:49 Construct vec4 (temp 4-component vector of float)
+0:49 'f' (temp float)
+0:51 Sequence
+0:51 Sequence
+0:51 move second child to first child (temp int)
+0:51 'f' (temp int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Loop with condition tested first
+0:51 Loop Condition
+0:51 Compare Less Than (temp bool)
+0:51 'f' (temp int)
+0:51 Constant:
+0:51 10 (const int)
+0:51 Loop Body
+0:52 Pre-Increment (temp int)
+0:52 'f' (temp int)
+0:51 Loop Terminal Expression
+0:51 Pre-Increment (temp int)
+0:51 'f' (temp int)
+0:54 Sequence
+0:54 move second child to first child (temp int)
+0:54 'x' (temp int)
+0:54 Constant:
+0:54 1 (const int)
+0:56 Sequence
+0:56 Sequence
+0:56 move second child to first child (temp float)
+0:56 'x' (temp float)
+0:56 Constant:
+0:56 2.000000
+0:56 move second child to first child (temp float)
+0:56 'y' (temp float)
+0:56 'x' (temp float)
+0:60 Sequence
+0:60 Sequence
+0:60 move second child to first child (temp int)
+0:60 'x' (temp int)
+0:60 'x' (temp int)
+0:68 Sequence
+0:68 Sequence
+0:68 move second child to first child (temp structure{temp int x})
+0:68 'S' (temp structure{temp int x})
+0:68 Constant:
+0:68 0 (const int)
+0:69 x: direct index for structure (temp int)
+0:69 'S' (temp structure{temp int x})
+0:69 Constant:
+0:69 0 (const int)
+0:73 Constant:
+0:73 0.000000
+0:? Linker Objects
+0:? 'b' (global bool)
+0:? 'tan' (global float)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/440.frag.out b/Test/baseResults/440.frag.out
index 0d43981..cafd85a 100644
--- a/Test/baseResults/440.frag.out
+++ b/Test/baseResults/440.frag.out
@@ -1,194 +1,194 @@
-440.frag
-Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:11: 'location' : overlapping use of location 4
-ERROR: 0:13: 'component' : type overflows the available 4 components
-ERROR: 0:22: 'location' : fragment outputs sharing the same location must be the same basic type 30
-ERROR: 0:24: 'qualifier' : cannot use auxiliary, memory, interpolation, or precision qualifier in a default qualifier declaration (declaration with no type)
-ERROR: 0:25: 'qualifier' : cannot use auxiliary, memory, interpolation, or precision qualifier in a default qualifier declaration (declaration with no type)
-ERROR: 0:26: 'qualifier' : cannot use auxiliary, memory, interpolation, or precision qualifier in a default qualifier declaration (declaration with no type)
-ERROR: 0:29: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
-ERROR: 0:30: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
-ERROR: 0:30: 'layout' : offset/align can only be used on a uniform or buffer
-ERROR: 0:31: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
-ERROR: 0:31: 'layout' : offset/align can only be used on a uniform or buffer
-ERROR: 0:33: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
-ERROR: 0:34: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
-ERROR: 0:34: 'layout' : offset/align can only be used on a uniform or buffer
-ERROR: 0:35: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
-ERROR: 0:35: 'layout' : offset/align can only be used on a uniform or buffer
-ERROR: 0:37: 'offset' : only applies to block members, not blocks
-ERROR: 0:38: 'layout' : offset/align can only be used on a uniform or buffer
-ERROR: 0:38: 'offset' : only applies to block members, not blocks
-ERROR: 0:39: 'output block' : not supported in this stage: fragment
-ERROR: 0:39: 'layout' : offset/align can only be used on a uniform or buffer
-ERROR: 0:39: 'offset' : only applies to block members, not blocks
-ERROR: 0:42: 'offset/align' : can only be used with std140 or std430 layout packing
-ERROR: 0:43: 'offset/align' : can only be used with std140 or std430 layout packing
-ERROR: 0:43: 'layout' : offset/align can only be used on a uniform or buffer
-ERROR: 0:44: 'output block' : not supported in this stage: fragment
-ERROR: 0:44: 'offset/align' : can only be used with std140 or std430 layout packing
-ERROR: 0:44: 'layout' : offset/align can only be used on a uniform or buffer
-ERROR: 0:46: 'offset' : cannot specify on a variable declaration
-ERROR: 0:47: 'layout' : offset/align can only be used on a uniform or buffer
-ERROR: 0:48: 'layout' : offset/align can only be used on a uniform or buffer
-ERROR: 0:50: 'align' : cannot specify on a variable declaration
-ERROR: 0:51: 'layout' : offset/align can only be used on a uniform or buffer
-ERROR: 0:52: 'layout' : offset/align can only be used on a uniform or buffer
-ERROR: 0:54: 'layout' : matrix or packing qualifiers can only be used on a uniform or buffer
-ERROR: 0:55: 'layout' : cannot specify packing on a variable declaration
-ERROR: 0:57: 'align' : must be a power of 2
-ERROR: 0:58: 'align' : can only be used with std140 or std430 layout packing
-ERROR: 0:63: 'align' : can only be used with std140 or std430 layout packing
-ERROR: 0:62: 'layout' : offset/align can only be used on a uniform or buffer
-ERROR: 0:63: 'layout' : offset/align can only be used on a uniform or buffer
-ERROR: 0:84: 'align' : must be a power of 2
-ERROR: 0:83: 'offset' : cannot lie in previous members
-ERROR: 0:85: 'offset' : must be a multiple of the member's alignment
-ERROR: 0:103: 'align' : must be a power of 2
-ERROR: 0:105: 'align' : must be a power of 2
-ERROR: 0:102: 'offset' : cannot lie in previous members
-ERROR: 0:104: 'offset' : must be a multiple of the member's alignment
-ERROR: 48 compilation errors. No code generated.
-
-
-Shader version: 440
-ERROR: node is still EOpNull!
-0:144 Function Definition: interp( (global void)
-0:144 Function Parameters:
-0:146 Sequence
-0:146 interpolateAtCentroid (global 2-component vector of float)
-0:146 vector swizzle (temp 2-component vector of float)
-0:146 direct index (smooth sample temp 3-component vector of float)
-0:146 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:146 Constant:
-0:146 2 (const int)
-0:146 Sequence
-0:146 Constant:
-0:146 0 (const int)
-0:146 Constant:
-0:146 1 (const int)
-0:147 interpolateAtSample (global float)
-0:147 direct index (temp float)
-0:147 direct index (smooth sample temp 3-component vector of float)
-0:147 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:147 Constant:
-0:147 2 (const int)
-0:147 Constant:
-0:147 0 (const int)
-0:147 Constant:
-0:147 2 (const int)
-0:150 Function Definition: layer( (global int)
-0:150 Function Parameters:
-0:152 Sequence
-0:152 Branch: Return with expression
-0:152 'gl_Layer' (flat in int Layer)
-0:? Linker Objects
-0:? 'a' (layout(location=4 component=2 ) smooth in 2-component vector of float)
-0:? 'b' (layout(location=4 component=1 ) smooth in float)
-0:? 'h' (layout(location=4 component=2 ) smooth in 2-component vector of float)
-0:? 'c' (layout(location=3 component=2 ) smooth in 3-component vector of float)
-0:? 'e' (layout(location=20 component=0 ) smooth in 6-element array of 3-component vector of float)
-0:? 'f' (layout(location=20 component=3 ) smooth in 6-element array of float)
-0:? 'be' (layout(location=30 component=3 ) out int)
-0:? 'bf' (layout(location=30 component=0 ) out 3-component vector of float)
-0:? 'inst1' (layout(column_major shared offset=12 ) uniform block{layout(column_major shared ) uniform int a})
-0:? 'inst2' (layout(offset=12 ) in block{in int a})
-0:? 'inst3' (layout(offset=12 ) out block{out int a})
-0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
-0:? 'inst8' (layout(column_major shared align=16 ) uniform block{layout(column_major shared ) uniform int a})
-0:? 'inst5' (layout(align=16 ) in block{in int a})
-0:? 'inst6' (layout(align=16 ) out block{out int a})
-0:? 'v1' (layout(offset=12 ) uniform 4-component vector of float)
-0:? 'v2' (layout(offset=12 ) smooth in 4-component vector of float)
-0:? 'v3' (layout(offset=12 ) out 4-component vector of float)
-0:? 'v4' (layout(align=16 ) uniform 4-component vector of float)
-0:? 'v5' (layout(align=16 ) smooth in 4-component vector of float)
-0:? 'v6' (layout(align=16 ) out 4-component vector of float)
-0:? 'v7' (layout(std140 ) uniform 4-component vector of float)
-0:? 'inst7' (layout(column_major shared ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f})
-0:? 'inst10' (in block{layout(offset=12 ) in float f, layout(align=4 ) in float g})
-0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 align=32 ) uniform float e, layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g, layout(column_major std430 align=32 ) uniform float h})
-0:? 'inst11' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 ) uniform float g})
-0:? 'specExampleErrors' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float c, layout(column_major std140 offset=56 ) uniform double g, layout(column_major std140 offset=72 ) uniform double h})
-0:? 'specExample' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float d, layout(column_major std140 offset=64 align=16 ) uniform float e, layout(column_major std140 offset=72 align=2 ) uniform double f, layout(column_major std140 offset=80 ) uniform float h, layout(column_major std140 offset=128 align=64 ) uniform 3-component vector of double i, layout(column_major std140 offset=168 align=8 ) uniform float j})
-0:? 'specExampleErrors430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float c, layout(column_major std430 offset=56 ) buffer double g, layout(column_major std430 offset=72 ) buffer double h, layout(column_major std430 offset=80 ) buffer double i})
-0:? 'specExample430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float d, layout(column_major std430 offset=64 align=16 ) buffer float e, layout(column_major std430 offset=72 align=2 ) buffer double f, layout(column_major std430 offset=80 ) buffer float h, layout(column_major std430 offset=128 align=64 ) buffer 3-component vector of double i, layout(column_major std430 offset=168 align=8 ) buffer float j})
-0:? 'specExample4300' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=384 align=128 ) buffer float e, layout(column_major std430 offset=512 align=128 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i})
-0:? 'specExample4301' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=512 align=128 ) buffer float e, layout(column_major std430 offset=520 align=8 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i})
-0:? 'aconst' (global 4-element array of int)
-0:? 'bconst' (global 64-element array of int)
-0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-
-
-Linked fragment stage:
-
-ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point
-
-Shader version: 440
-ERROR: node is still EOpNull!
-0:144 Function Definition: interp( (global void)
-0:144 Function Parameters:
-0:146 Sequence
-0:146 interpolateAtCentroid (global 2-component vector of float)
-0:146 vector swizzle (temp 2-component vector of float)
-0:146 direct index (smooth sample temp 3-component vector of float)
-0:146 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:146 Constant:
-0:146 2 (const int)
-0:146 Sequence
-0:146 Constant:
-0:146 0 (const int)
-0:146 Constant:
-0:146 1 (const int)
-0:147 interpolateAtSample (global float)
-0:147 direct index (temp float)
-0:147 direct index (smooth sample temp 3-component vector of float)
-0:147 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:147 Constant:
-0:147 2 (const int)
-0:147 Constant:
-0:147 0 (const int)
-0:147 Constant:
-0:147 2 (const int)
-0:150 Function Definition: layer( (global int)
-0:150 Function Parameters:
-0:152 Sequence
-0:152 Branch: Return with expression
-0:152 'gl_Layer' (flat in int Layer)
-0:? Linker Objects
-0:? 'a' (layout(location=4 component=2 ) smooth in 2-component vector of float)
-0:? 'b' (layout(location=4 component=1 ) smooth in float)
-0:? 'h' (layout(location=4 component=2 ) smooth in 2-component vector of float)
-0:? 'c' (layout(location=3 component=2 ) smooth in 3-component vector of float)
-0:? 'e' (layout(location=20 component=0 ) smooth in 6-element array of 3-component vector of float)
-0:? 'f' (layout(location=20 component=3 ) smooth in 6-element array of float)
-0:? 'be' (layout(location=30 component=3 ) out int)
-0:? 'bf' (layout(location=30 component=0 ) out 3-component vector of float)
-0:? 'inst1' (layout(column_major shared offset=12 ) uniform block{layout(column_major shared ) uniform int a})
-0:? 'inst2' (layout(offset=12 ) in block{in int a})
-0:? 'inst3' (layout(offset=12 ) out block{out int a})
-0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
-0:? 'inst8' (layout(column_major shared align=16 ) uniform block{layout(column_major shared ) uniform int a})
-0:? 'inst5' (layout(align=16 ) in block{in int a})
-0:? 'inst6' (layout(align=16 ) out block{out int a})
-0:? 'v1' (layout(offset=12 ) uniform 4-component vector of float)
-0:? 'v2' (layout(offset=12 ) smooth in 4-component vector of float)
-0:? 'v3' (layout(offset=12 ) out 4-component vector of float)
-0:? 'v4' (layout(align=16 ) uniform 4-component vector of float)
-0:? 'v5' (layout(align=16 ) smooth in 4-component vector of float)
-0:? 'v6' (layout(align=16 ) out 4-component vector of float)
-0:? 'v7' (layout(std140 ) uniform 4-component vector of float)
-0:? 'inst7' (layout(column_major shared ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f})
-0:? 'inst10' (in block{layout(offset=12 ) in float f, layout(align=4 ) in float g})
-0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 align=32 ) uniform float e, layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g, layout(column_major std430 align=32 ) uniform float h})
-0:? 'inst11' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 ) uniform float g})
-0:? 'specExampleErrors' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float c, layout(column_major std140 offset=56 ) uniform double g, layout(column_major std140 offset=72 ) uniform double h})
-0:? 'specExample' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float d, layout(column_major std140 offset=64 align=16 ) uniform float e, layout(column_major std140 offset=72 align=2 ) uniform double f, layout(column_major std140 offset=80 ) uniform float h, layout(column_major std140 offset=128 align=64 ) uniform 3-component vector of double i, layout(column_major std140 offset=168 align=8 ) uniform float j})
-0:? 'specExampleErrors430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float c, layout(column_major std430 offset=56 ) buffer double g, layout(column_major std430 offset=72 ) buffer double h, layout(column_major std430 offset=80 ) buffer double i})
-0:? 'specExample430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float d, layout(column_major std430 offset=64 align=16 ) buffer float e, layout(column_major std430 offset=72 align=2 ) buffer double f, layout(column_major std430 offset=80 ) buffer float h, layout(column_major std430 offset=128 align=64 ) buffer 3-component vector of double i, layout(column_major std430 offset=168 align=8 ) buffer float j})
-0:? 'specExample4300' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=384 align=128 ) buffer float e, layout(column_major std430 offset=512 align=128 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i})
-0:? 'specExample4301' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=512 align=128 ) buffer float e, layout(column_major std430 offset=520 align=8 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i})
-0:? 'aconst' (global 4-element array of int)
-0:? 'bconst' (global 64-element array of int)
-0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-
+440.frag
+Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:11: 'location' : overlapping use of location 4
+ERROR: 0:13: 'component' : type overflows the available 4 components
+ERROR: 0:22: 'location' : fragment outputs sharing the same location must be the same basic type 30
+ERROR: 0:24: 'qualifier' : cannot use auxiliary, memory, interpolation, or precision qualifier in a default qualifier declaration (declaration with no type)
+ERROR: 0:25: 'qualifier' : cannot use auxiliary, memory, interpolation, or precision qualifier in a default qualifier declaration (declaration with no type)
+ERROR: 0:26: 'qualifier' : cannot use auxiliary, memory, interpolation, or precision qualifier in a default qualifier declaration (declaration with no type)
+ERROR: 0:29: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
+ERROR: 0:30: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
+ERROR: 0:30: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:31: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
+ERROR: 0:31: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:33: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
+ERROR: 0:34: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
+ERROR: 0:34: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:35: 'layout qualifier' : cannot use offset or align qualifiers in a default qualifier declaration (declaration with no type)
+ERROR: 0:35: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:37: 'offset' : only applies to block members, not blocks
+ERROR: 0:38: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:38: 'offset' : only applies to block members, not blocks
+ERROR: 0:39: 'output block' : not supported in this stage: fragment
+ERROR: 0:39: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:39: 'offset' : only applies to block members, not blocks
+ERROR: 0:42: 'offset/align' : can only be used with std140 or std430 layout packing
+ERROR: 0:43: 'offset/align' : can only be used with std140 or std430 layout packing
+ERROR: 0:43: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:44: 'output block' : not supported in this stage: fragment
+ERROR: 0:44: 'offset/align' : can only be used with std140 or std430 layout packing
+ERROR: 0:44: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:46: 'offset' : cannot specify on a variable declaration
+ERROR: 0:47: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:48: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:50: 'align' : cannot specify on a variable declaration
+ERROR: 0:51: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:52: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:54: 'layout' : matrix or packing qualifiers can only be used on a uniform or buffer
+ERROR: 0:55: 'layout' : cannot specify packing on a variable declaration
+ERROR: 0:57: 'align' : must be a power of 2
+ERROR: 0:58: 'align' : can only be used with std140 or std430 layout packing
+ERROR: 0:63: 'align' : can only be used with std140 or std430 layout packing
+ERROR: 0:62: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:63: 'layout' : offset/align can only be used on a uniform or buffer
+ERROR: 0:84: 'align' : must be a power of 2
+ERROR: 0:83: 'offset' : cannot lie in previous members
+ERROR: 0:85: 'offset' : must be a multiple of the member's alignment
+ERROR: 0:103: 'align' : must be a power of 2
+ERROR: 0:105: 'align' : must be a power of 2
+ERROR: 0:102: 'offset' : cannot lie in previous members
+ERROR: 0:104: 'offset' : must be a multiple of the member's alignment
+ERROR: 48 compilation errors. No code generated.
+
+
+Shader version: 440
+ERROR: node is still EOpNull!
+0:144 Function Definition: interp( (global void)
+0:144 Function Parameters:
+0:146 Sequence
+0:146 interpolateAtCentroid (global 2-component vector of float)
+0:146 vector swizzle (temp 2-component vector of float)
+0:146 direct index (smooth sample temp 3-component vector of float)
+0:146 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:146 Constant:
+0:146 2 (const int)
+0:146 Sequence
+0:146 Constant:
+0:146 0 (const int)
+0:146 Constant:
+0:146 1 (const int)
+0:147 interpolateAtSample (global float)
+0:147 direct index (temp float)
+0:147 direct index (smooth sample temp 3-component vector of float)
+0:147 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:147 Constant:
+0:147 2 (const int)
+0:147 Constant:
+0:147 0 (const int)
+0:147 Constant:
+0:147 2 (const int)
+0:150 Function Definition: layer( (global int)
+0:150 Function Parameters:
+0:152 Sequence
+0:152 Branch: Return with expression
+0:152 'gl_Layer' (flat in int Layer)
+0:? Linker Objects
+0:? 'a' (layout(location=4 component=2 ) smooth in 2-component vector of float)
+0:? 'b' (layout(location=4 component=1 ) smooth in float)
+0:? 'h' (layout(location=4 component=2 ) smooth in 2-component vector of float)
+0:? 'c' (layout(location=3 component=2 ) smooth in 3-component vector of float)
+0:? 'e' (layout(location=20 component=0 ) smooth in 6-element array of 3-component vector of float)
+0:? 'f' (layout(location=20 component=3 ) smooth in 6-element array of float)
+0:? 'be' (layout(location=30 component=3 ) out int)
+0:? 'bf' (layout(location=30 component=0 ) out 3-component vector of float)
+0:? 'inst1' (layout(column_major shared offset=12 ) uniform block{layout(column_major shared ) uniform int a})
+0:? 'inst2' (layout(offset=12 ) in block{in int a})
+0:? 'inst3' (layout(offset=12 ) out block{out int a})
+0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
+0:? 'inst8' (layout(column_major shared align=16 ) uniform block{layout(column_major shared ) uniform int a})
+0:? 'inst5' (layout(align=16 ) in block{in int a})
+0:? 'inst6' (layout(align=16 ) out block{out int a})
+0:? 'v1' (layout(offset=12 ) uniform 4-component vector of float)
+0:? 'v2' (layout(offset=12 ) smooth in 4-component vector of float)
+0:? 'v3' (layout(offset=12 ) out 4-component vector of float)
+0:? 'v4' (layout(align=16 ) uniform 4-component vector of float)
+0:? 'v5' (layout(align=16 ) smooth in 4-component vector of float)
+0:? 'v6' (layout(align=16 ) out 4-component vector of float)
+0:? 'v7' (layout(std140 ) uniform 4-component vector of float)
+0:? 'inst7' (layout(column_major shared ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f})
+0:? 'inst10' (in block{layout(offset=12 ) in float f, layout(align=4 ) in float g})
+0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 align=32 ) uniform float e, layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g, layout(column_major std430 align=32 ) uniform float h})
+0:? 'inst11' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 ) uniform float g})
+0:? 'specExampleErrors' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float c, layout(column_major std140 offset=56 ) uniform double g, layout(column_major std140 offset=72 ) uniform double h})
+0:? 'specExample' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float d, layout(column_major std140 offset=64 align=16 ) uniform float e, layout(column_major std140 offset=72 align=2 ) uniform double f, layout(column_major std140 offset=80 ) uniform float h, layout(column_major std140 offset=128 align=64 ) uniform 3-component vector of double i, layout(column_major std140 offset=168 align=8 ) uniform float j})
+0:? 'specExampleErrors430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float c, layout(column_major std430 offset=56 ) buffer double g, layout(column_major std430 offset=72 ) buffer double h, layout(column_major std430 offset=80 ) buffer double i})
+0:? 'specExample430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float d, layout(column_major std430 offset=64 align=16 ) buffer float e, layout(column_major std430 offset=72 align=2 ) buffer double f, layout(column_major std430 offset=80 ) buffer float h, layout(column_major std430 offset=128 align=64 ) buffer 3-component vector of double i, layout(column_major std430 offset=168 align=8 ) buffer float j})
+0:? 'specExample4300' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=384 align=128 ) buffer float e, layout(column_major std430 offset=512 align=128 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i})
+0:? 'specExample4301' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=512 align=128 ) buffer float e, layout(column_major std430 offset=520 align=8 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i})
+0:? 'aconst' (global 4-element array of int)
+0:? 'bconst' (global 64-element array of int)
+0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point
+
+Shader version: 440
+ERROR: node is still EOpNull!
+0:144 Function Definition: interp( (global void)
+0:144 Function Parameters:
+0:146 Sequence
+0:146 interpolateAtCentroid (global 2-component vector of float)
+0:146 vector swizzle (temp 2-component vector of float)
+0:146 direct index (smooth sample temp 3-component vector of float)
+0:146 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:146 Constant:
+0:146 2 (const int)
+0:146 Sequence
+0:146 Constant:
+0:146 0 (const int)
+0:146 Constant:
+0:146 1 (const int)
+0:147 interpolateAtSample (global float)
+0:147 direct index (temp float)
+0:147 direct index (smooth sample temp 3-component vector of float)
+0:147 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+0:147 Constant:
+0:147 2 (const int)
+0:147 Constant:
+0:147 0 (const int)
+0:147 Constant:
+0:147 2 (const int)
+0:150 Function Definition: layer( (global int)
+0:150 Function Parameters:
+0:152 Sequence
+0:152 Branch: Return with expression
+0:152 'gl_Layer' (flat in int Layer)
+0:? Linker Objects
+0:? 'a' (layout(location=4 component=2 ) smooth in 2-component vector of float)
+0:? 'b' (layout(location=4 component=1 ) smooth in float)
+0:? 'h' (layout(location=4 component=2 ) smooth in 2-component vector of float)
+0:? 'c' (layout(location=3 component=2 ) smooth in 3-component vector of float)
+0:? 'e' (layout(location=20 component=0 ) smooth in 6-element array of 3-component vector of float)
+0:? 'f' (layout(location=20 component=3 ) smooth in 6-element array of float)
+0:? 'be' (layout(location=30 component=3 ) out int)
+0:? 'bf' (layout(location=30 component=0 ) out 3-component vector of float)
+0:? 'inst1' (layout(column_major shared offset=12 ) uniform block{layout(column_major shared ) uniform int a})
+0:? 'inst2' (layout(offset=12 ) in block{in int a})
+0:? 'inst3' (layout(offset=12 ) out block{out int a})
+0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})
+0:? 'inst8' (layout(column_major shared align=16 ) uniform block{layout(column_major shared ) uniform int a})
+0:? 'inst5' (layout(align=16 ) in block{in int a})
+0:? 'inst6' (layout(align=16 ) out block{out int a})
+0:? 'v1' (layout(offset=12 ) uniform 4-component vector of float)
+0:? 'v2' (layout(offset=12 ) smooth in 4-component vector of float)
+0:? 'v3' (layout(offset=12 ) out 4-component vector of float)
+0:? 'v4' (layout(align=16 ) uniform 4-component vector of float)
+0:? 'v5' (layout(align=16 ) smooth in 4-component vector of float)
+0:? 'v6' (layout(align=16 ) out 4-component vector of float)
+0:? 'v7' (layout(std140 ) uniform 4-component vector of float)
+0:? 'inst7' (layout(column_major shared ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f})
+0:? 'inst10' (in block{layout(offset=12 ) in float f, layout(align=4 ) in float g})
+0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 align=32 ) uniform float e, layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g, layout(column_major std430 align=32 ) uniform float h})
+0:? 'inst11' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 ) uniform float g})
+0:? 'specExampleErrors' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float c, layout(column_major std140 offset=56 ) uniform double g, layout(column_major std140 offset=72 ) uniform double h})
+0:? 'specExample' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float d, layout(column_major std140 offset=64 align=16 ) uniform float e, layout(column_major std140 offset=72 align=2 ) uniform double f, layout(column_major std140 offset=80 ) uniform float h, layout(column_major std140 offset=128 align=64 ) uniform 3-component vector of double i, layout(column_major std140 offset=168 align=8 ) uniform float j})
+0:? 'specExampleErrors430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float c, layout(column_major std430 offset=56 ) buffer double g, layout(column_major std430 offset=72 ) buffer double h, layout(column_major std430 offset=80 ) buffer double i})
+0:? 'specExample430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float d, layout(column_major std430 offset=64 align=16 ) buffer float e, layout(column_major std430 offset=72 align=2 ) buffer double f, layout(column_major std430 offset=80 ) buffer float h, layout(column_major std430 offset=128 align=64 ) buffer 3-component vector of double i, layout(column_major std430 offset=168 align=8 ) buffer float j})
+0:? 'specExample4300' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=384 align=128 ) buffer float e, layout(column_major std430 offset=512 align=128 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i})
+0:? 'specExample4301' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=512 align=128 ) buffer float e, layout(column_major std430 offset=520 align=8 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i})
+0:? 'aconst' (global 4-element array of int)
+0:? 'bconst' (global 64-element array of int)
+0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
+
diff --git a/Test/baseResults/440.vert.out b/Test/baseResults/440.vert.out
index 48dc67e..9ad3c1b 100644
--- a/Test/baseResults/440.vert.out
+++ b/Test/baseResults/440.vert.out
@@ -1,241 +1,241 @@
-440.vert
-Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:8: 'component' : type overflows the available 4 components
-ERROR: 0:15: 'component' : component is too large
-ERROR: 0:23: 'location' : overlapping use of location 4
-ERROR: 0:26: 'location' : overlapping use of location 2
-ERROR: 0:31: 'location' : overlapping use of location 15
-ERROR: 0:32: 'location' : overlapping use of location 10
-ERROR: 0:37: 'location' : overlapping use of location 20
-ERROR: 0:39: 'component' : type overflows the available 4 components
-ERROR: 0:40: 'component' : type overflows the available 4 components
-ERROR: 0:42: 'component' : cannot apply to a matrix, structure, or block
-ERROR: 0:43: 'component' : cannot apply to a matrix, structure, or block
-ERROR: 0:44: 'component' : cannot apply to a matrix, structure, or block
-ERROR: 0:46: 'component' : must specify 'location' to use 'component'
-ERROR: 0:52: 'location' : overlapping use of location 40
-ERROR: 0:54: 'component' : type overflows the available 4 components
-ERROR: 0:55: 'component' : type overflows the available 4 components
-ERROR: 0:57: 'component' : cannot apply to a matrix, structure, or block
-ERROR: 0:58: 'component' : cannot apply to a matrix, structure, or block
-ERROR: 0:61: 'location/component/index' : cannot declare a default, use a full declaration
-ERROR: 0:81: 'xfb layout qualifier' : can only be used on an output
-ERROR: 0:87: 'xfb_offset' : cannot declare a default, use a full declaration
-ERROR: 0:97: 'xfb_buffer' : member cannot contradict block (or what block inherited from global)
-ERROR: 0:102: 'xfb_buffer' : member cannot contradict block (or what block inherited from global)
-ERROR: 0:102: 'xfb_offset' : overlapping offsets at offset 32 in buffer 3
-ERROR: 0:103: 'xfb_offset' : overlapping offsets at offset 0 in buffer 2
-ERROR: 0:105: 'xfb_offset' : overlapping offsets at offset 24 in buffer 2
-ERROR: 0:108: 'xfb_stride' : all stride settings must match for xfb buffer 15
-ERROR: 0:112: 'xfb_offset' : overlapping offsets at offset 4 in buffer 1
-ERROR: 0:114: 'xfb_stride' : all stride settings must match for xfb buffer 3
-ERROR: 0:115: 'xfb_stride' : all stride settings must match for xfb buffer 3
-ERROR: 0:119: 'xfb_stride' : all stride settings must match for xfb buffer 3
-ERROR: 0:117: 'xfb_stride' : all stride settings must match for xfb buffer 3
-ERROR: 0:138: 'xfb_offset' : overlapping offsets at offset 64 in buffer 0
-ERROR: 0:143: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
-ERROR: 0:144: 'xfb_offset' : must be a multiple of size of first component
-ERROR: 0:145: 'xfb_offset' : type contains double; xfb_offset must be a multiple of 8
-ERROR: 0:147: 'xfb_offset' : must be a multiple of size of first component
-ERROR: 0:148: 'xfb_offset' : type contains double; xfb_offset must be a multiple of 8
-ERROR: 0:152: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
-ERROR: 0:155: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
-ERROR: 0:155: 'xfb_stride' : 1/4 stride is too large: gl_MaxTransformFeedbackInterleavedComponents is 64
-ERROR: 0:157: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
-ERROR: 0:165: 'gl_BaseVertexARB' : required extension not requested: GL_ARB_shader_draw_parameters
-ERROR: 0:165: 'gl_BaseInstanceARB' : required extension not requested: GL_ARB_shader_draw_parameters
-ERROR: 0:165: 'gl_DrawIDARB' : required extension not requested: GL_ARB_shader_draw_parameters
-ERROR: 0:173: 'assign' : l-value required "gl_BaseVertexARB" (can't modify shader input)
-ERROR: 0:174: 'assign' : l-value required "gl_BaseInstanceARB" (can't modify shader input)
-ERROR: 0:175: 'assign' : l-value required "gl_DrawIDARB" (can't modify shader input)
-ERROR: 0:176: 'glBaseInstanceARB' : undeclared identifier
-ERROR: 49 compilation errors. No code generated.
-
-
-Shader version: 440
-Requested GL_ARB_shader_draw_parameters
-in xfb mode
-ERROR: node is still EOpNull!
-0:163 Function Definition: drawParamsBad( (global int)
-0:163 Function Parameters:
-0:165 Sequence
-0:165 Branch: Return with expression
-0:165 add (temp int)
-0:165 add (temp int)
-0:165 'gl_BaseVertexARB' (in int BaseVertex)
-0:165 'gl_BaseInstanceARB' (in int BaseInstance)
-0:165 'gl_DrawIDARB' (in int DrawId)
-0:170 Function Definition: drawParams( (global int)
-0:170 Function Parameters:
-0:172 Sequence
-0:172 Branch: Return with expression
-0:172 add (temp int)
-0:172 add (temp int)
-0:172 'gl_BaseVertexARB' (in int BaseVertex)
-0:172 'gl_BaseInstanceARB' (in int BaseInstance)
-0:172 'gl_DrawIDARB' (in int DrawId)
-0:173 move second child to first child (temp int)
-0:173 'gl_BaseVertexARB' (in int BaseVertex)
-0:173 Constant:
-0:173 3 (const int)
-0:174 move second child to first child (temp int)
-0:174 'gl_BaseInstanceARB' (in int BaseInstance)
-0:174 Constant:
-0:174 3 (const int)
-0:175 move second child to first child (temp int)
-0:175 'gl_DrawIDARB' (in int DrawId)
-0:175 Constant:
-0:175 3 (const int)
-0:176 'glBaseInstanceARB' (temp float)
-0:? Linker Objects
-0:? 'a' (layout(location=2 component=2 ) in 2-component vector of float)
-0:? 'b' (layout(location=2 component=1 ) in float)
-0:? 'c' (layout(location=3 component=2 ) in 3-component vector of float)
-0:? 'd' (layout(location=0 component=3 ) in 4-element array of float)
-0:? 'e' (layout(location=4 component=0 ) in 5-element array of 3-component vector of float)
-0:? 'f' (layout(location=4 component=3 ) in 5-element array of float)
-0:? 'g' (layout(location=9 ) in 6-element array of float)
-0:? 'h' (layout(location=4 component=2 ) in 2-component vector of float)
-0:? 'i' (layout(location=3 component=2 ) smooth out 2-component vector of float)
-0:? 'j' (layout(location=3 component=0 ) smooth out 2-component vector of float)
-0:? 'k' (layout(location=4 component=2 ) smooth out 2-component vector of float)
-0:? 'm' (layout(location=4 component=2 ) smooth out 2-component vector of float)
-0:? 'n' (layout(location=2 component=2 ) smooth out 2-component vector of float)
-0:? 'p' (layout(location=2 component=0 ) smooth out 3-component vector of float)
-0:? 'q' (layout(location=10 component=3 ) smooth out 6-element array of float)
-0:? 'r' (layout(location=10 component=0 ) smooth out 6-element array of 3-component vector of float)
-0:? 's' (layout(location=15 component=3 ) smooth out float)
-0:? 't' (layout(location=10 component=1 ) smooth out float)
-0:? 'u' (layout(location=20 component=2 ) smooth out float)
-0:? 'v' (layout(location=20 component=0 ) smooth out float)
-0:? 'w' (layout(location=20 component=3 ) smooth out float)
-0:? 'x' (layout(location=20 component=1 ) smooth out 2-component vector of float)
-0:? 'y' (layout(location=30 component=3 ) smooth out 2-component vector of float)
-0:? 'z' (layout(location=31 component=1 ) smooth out 4-component vector of float)
-0:? 'ba' (layout(location=32 component=1 ) smooth out 4X4 matrix of float)
-0:? 'Ss' (layout(location=33 component=1 ) smooth out structure{global int a})
-0:? 'bb' (layout(location=34 component=1 ) out block{out int a})
-0:? 'bc' (layout(location=4095 component=1 ) smooth out float)
-0:? 'bd' (out block{layout(location=40 component=2 ) out float u, layout(location=40 component=0 ) out float v, layout(location=40 component=3 ) out float w, layout(location=40 component=1 ) out 2-component vector of float x, layout(location=41 component=3 ) out 2-component vector of float y, layout(location=42 component=1 ) out 4-component vector of float z, layout(location=42 component=1 ) out 4X4 matrix of float ba, layout(location=43 component=1 ) out structure{global int a} Ss})
-0:? 'be' (layout(location=50 component=3 ) smooth out int)
-0:? 'bf' (layout(location=50 component=0 ) smooth out 3-component vector of float)
-0:? 'bbinst1' (out block{out 4-component vector of float bbv})
-0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv})
-0:? 'bbinst3' (out block{layout(xfb_buffer=3 xfb_offset=16 ) out 4-component vector of float bbv})
-0:? 'ubbinst3' (layout(column_major shared ) uniform block{layout(column_major shared xfb_offset=16 ) uniform 4-component vector of float bbv})
-0:? 'bg' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
-0:? 'bh' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float)
-0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2})
-0:? 'bbinst5' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2, out 4-component vector of float bbv3})
-0:? 'bbinst6' (out block{layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) out 4-component vector of float bbv2, layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv3, out 4-component vector of float bbv5, layout(xfb_buffer=2 xfb_offset=24 ) out float bbf6})
-0:? 'bj' (layout(xfb_buffer=1 xfb_offset=4 ) smooth out float)
-0:? 'bk' (layout(xfb_buffer=1 xfb_offset=0 ) smooth out 2-component vector of int)
-0:? 'bl' (layout(xfb_stride=48 ) smooth out float)
-0:? 'bbinst7' (layout(xfb_stride=48 ) out block{layout(xfb_stride=64 ) out 4-component vector of float bbv1, layout(xfb_stride=32 ) out 4-component vector of float bbv2})
-0:? 'bbinst8' (layout(xfb_stride=92 ) out block{layout(xfb_buffer=0 xfb_offset=0 ) out bool b, layout(xfb_buffer=0 xfb_offset=8 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout(xfb_buffer=0 xfb_offset=48 ) out int i, layout(xfb_buffer=0 xfb_offset=52 ) out 3X3 matrix of float m3, layout(xfb_buffer=0 xfb_offset=88 ) out float f, layout(xfb_buffer=0 xfb_offset=92 ) out float g})
-0:? 'bbinst9' (out block{layout(xfb_buffer=4 xfb_offset=1 ) out bool b, layout(xfb_buffer=4 xfb_offset=12 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 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{global int a} s})
-0:? 'bm' (layout(xfb_buffer=5 xfb_offset=0 ) smooth out float)
-0:? 'bbinst10' (out block{layout(xfb_buffer=7 xfb_offset=0 ) out 4X4 matrix of double m1, layout(xfb_buffer=7 xfb_offset=128 ) out 4X4 matrix of double m2, layout(xfb_buffer=7 xfb_offset=256 ) out float f})
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
-
-Linked vertex stage:
-
-ERROR: Linking vertex stage: Missing entry point: Each stage requires one "void main()" entry point
-ERROR: Linking vertex stage: xfb_stride is too small to hold all buffer entries:
-ERROR: xfb_buffer 0, xfb_stride 92, minimum stride needed: 96
-ERROR: Linking vertex stage: xfb_stride must be multiple of 8 for buffer holding a double:
-ERROR: xfb_buffer 0, xfb_stride 92
-ERROR: Linking vertex stage: xfb_stride must be multiple of 4:
-ERROR: xfb_buffer 5, xfb_stride 6
-ERROR: Linking vertex stage: xfb_stride is too large:
-ERROR: xfb_buffer 7, components (1/4 stride) needed are 66, gl_MaxTransformFeedbackInterleavedComponents is 64
-
-Shader version: 440
-Requested GL_ARB_shader_draw_parameters
-in xfb mode
-ERROR: node is still EOpNull!
-0:163 Function Definition: drawParamsBad( (global int)
-0:163 Function Parameters:
-0:165 Sequence
-0:165 Branch: Return with expression
-0:165 add (temp int)
-0:165 add (temp int)
-0:165 'gl_BaseVertexARB' (in int BaseVertex)
-0:165 'gl_BaseInstanceARB' (in int BaseInstance)
-0:165 'gl_DrawIDARB' (in int DrawId)
-0:170 Function Definition: drawParams( (global int)
-0:170 Function Parameters:
-0:172 Sequence
-0:172 Branch: Return with expression
-0:172 add (temp int)
-0:172 add (temp int)
-0:172 'gl_BaseVertexARB' (in int BaseVertex)
-0:172 'gl_BaseInstanceARB' (in int BaseInstance)
-0:172 'gl_DrawIDARB' (in int DrawId)
-0:173 move second child to first child (temp int)
-0:173 'gl_BaseVertexARB' (in int BaseVertex)
-0:173 Constant:
-0:173 3 (const int)
-0:174 move second child to first child (temp int)
-0:174 'gl_BaseInstanceARB' (in int BaseInstance)
-0:174 Constant:
-0:174 3 (const int)
-0:175 move second child to first child (temp int)
-0:175 'gl_DrawIDARB' (in int DrawId)
-0:175 Constant:
-0:175 3 (const int)
-0:176 'glBaseInstanceARB' (temp float)
-0:? Linker Objects
-0:? 'a' (layout(location=2 component=2 ) in 2-component vector of float)
-0:? 'b' (layout(location=2 component=1 ) in float)
-0:? 'c' (layout(location=3 component=2 ) in 3-component vector of float)
-0:? 'd' (layout(location=0 component=3 ) in 4-element array of float)
-0:? 'e' (layout(location=4 component=0 ) in 5-element array of 3-component vector of float)
-0:? 'f' (layout(location=4 component=3 ) in 5-element array of float)
-0:? 'g' (layout(location=9 ) in 6-element array of float)
-0:? 'h' (layout(location=4 component=2 ) in 2-component vector of float)
-0:? 'i' (layout(location=3 component=2 ) smooth out 2-component vector of float)
-0:? 'j' (layout(location=3 component=0 ) smooth out 2-component vector of float)
-0:? 'k' (layout(location=4 component=2 ) smooth out 2-component vector of float)
-0:? 'm' (layout(location=4 component=2 ) smooth out 2-component vector of float)
-0:? 'n' (layout(location=2 component=2 ) smooth out 2-component vector of float)
-0:? 'p' (layout(location=2 component=0 ) smooth out 3-component vector of float)
-0:? 'q' (layout(location=10 component=3 ) smooth out 6-element array of float)
-0:? 'r' (layout(location=10 component=0 ) smooth out 6-element array of 3-component vector of float)
-0:? 's' (layout(location=15 component=3 ) smooth out float)
-0:? 't' (layout(location=10 component=1 ) smooth out float)
-0:? 'u' (layout(location=20 component=2 ) smooth out float)
-0:? 'v' (layout(location=20 component=0 ) smooth out float)
-0:? 'w' (layout(location=20 component=3 ) smooth out float)
-0:? 'x' (layout(location=20 component=1 ) smooth out 2-component vector of float)
-0:? 'y' (layout(location=30 component=3 ) smooth out 2-component vector of float)
-0:? 'z' (layout(location=31 component=1 ) smooth out 4-component vector of float)
-0:? 'ba' (layout(location=32 component=1 ) smooth out 4X4 matrix of float)
-0:? 'Ss' (layout(location=33 component=1 ) smooth out structure{global int a})
-0:? 'bb' (layout(location=34 component=1 ) out block{out int a})
-0:? 'bc' (layout(location=4095 component=1 ) smooth out float)
-0:? 'bd' (out block{layout(location=40 component=2 ) out float u, layout(location=40 component=0 ) out float v, layout(location=40 component=3 ) out float w, layout(location=40 component=1 ) out 2-component vector of float x, layout(location=41 component=3 ) out 2-component vector of float y, layout(location=42 component=1 ) out 4-component vector of float z, layout(location=42 component=1 ) out 4X4 matrix of float ba, layout(location=43 component=1 ) out structure{global int a} Ss})
-0:? 'be' (layout(location=50 component=3 ) smooth out int)
-0:? 'bf' (layout(location=50 component=0 ) smooth out 3-component vector of float)
-0:? 'bbinst1' (out block{out 4-component vector of float bbv})
-0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv})
-0:? 'bbinst3' (out block{layout(xfb_buffer=3 xfb_offset=16 ) out 4-component vector of float bbv})
-0:? 'ubbinst3' (layout(column_major shared ) uniform block{layout(column_major shared xfb_offset=16 ) uniform 4-component vector of float bbv})
-0:? 'bg' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
-0:? 'bh' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float)
-0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2})
-0:? 'bbinst5' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2, out 4-component vector of float bbv3})
-0:? 'bbinst6' (out block{layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) out 4-component vector of float bbv2, layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv3, out 4-component vector of float bbv5, layout(xfb_buffer=2 xfb_offset=24 ) out float bbf6})
-0:? 'bj' (layout(xfb_buffer=1 xfb_offset=4 ) smooth out float)
-0:? 'bk' (layout(xfb_buffer=1 xfb_offset=0 ) smooth out 2-component vector of int)
-0:? 'bl' (layout(xfb_stride=48 ) smooth out float)
-0:? 'bbinst7' (layout(xfb_stride=48 ) out block{layout(xfb_stride=64 ) out 4-component vector of float bbv1, layout(xfb_stride=32 ) out 4-component vector of float bbv2})
-0:? 'bbinst8' (layout(xfb_stride=92 ) out block{layout(xfb_buffer=0 xfb_offset=0 ) out bool b, layout(xfb_buffer=0 xfb_offset=8 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout(xfb_buffer=0 xfb_offset=48 ) out int i, layout(xfb_buffer=0 xfb_offset=52 ) out 3X3 matrix of float m3, layout(xfb_buffer=0 xfb_offset=88 ) out float f, layout(xfb_buffer=0 xfb_offset=92 ) out float g})
-0:? 'bbinst9' (out block{layout(xfb_buffer=4 xfb_offset=1 ) out bool b, layout(xfb_buffer=4 xfb_offset=12 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 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{global int a} s})
-0:? 'bm' (layout(xfb_buffer=5 xfb_offset=0 ) smooth out float)
-0:? 'bbinst10' (out block{layout(xfb_buffer=7 xfb_offset=0 ) out 4X4 matrix of double m1, layout(xfb_buffer=7 xfb_offset=128 ) out 4X4 matrix of double m2, layout(xfb_buffer=7 xfb_offset=256 ) out float f})
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
+440.vert
+Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:8: 'component' : type overflows the available 4 components
+ERROR: 0:15: 'component' : component is too large
+ERROR: 0:23: 'location' : overlapping use of location 4
+ERROR: 0:26: 'location' : overlapping use of location 2
+ERROR: 0:31: 'location' : overlapping use of location 15
+ERROR: 0:32: 'location' : overlapping use of location 10
+ERROR: 0:37: 'location' : overlapping use of location 20
+ERROR: 0:39: 'component' : type overflows the available 4 components
+ERROR: 0:40: 'component' : type overflows the available 4 components
+ERROR: 0:42: 'component' : cannot apply to a matrix, structure, or block
+ERROR: 0:43: 'component' : cannot apply to a matrix, structure, or block
+ERROR: 0:44: 'component' : cannot apply to a matrix, structure, or block
+ERROR: 0:46: 'component' : must specify 'location' to use 'component'
+ERROR: 0:52: 'location' : overlapping use of location 40
+ERROR: 0:54: 'component' : type overflows the available 4 components
+ERROR: 0:55: 'component' : type overflows the available 4 components
+ERROR: 0:57: 'component' : cannot apply to a matrix, structure, or block
+ERROR: 0:58: 'component' : cannot apply to a matrix, structure, or block
+ERROR: 0:61: 'location/component/index' : cannot declare a default, use a full declaration
+ERROR: 0:81: 'xfb layout qualifier' : can only be used on an output
+ERROR: 0:87: 'xfb_offset' : cannot declare a default, use a full declaration
+ERROR: 0:97: 'xfb_buffer' : member cannot contradict block (or what block inherited from global)
+ERROR: 0:102: 'xfb_buffer' : member cannot contradict block (or what block inherited from global)
+ERROR: 0:102: 'xfb_offset' : overlapping offsets at offset 32 in buffer 3
+ERROR: 0:103: 'xfb_offset' : overlapping offsets at offset 0 in buffer 2
+ERROR: 0:105: 'xfb_offset' : overlapping offsets at offset 24 in buffer 2
+ERROR: 0:108: 'xfb_stride' : all stride settings must match for xfb buffer 15
+ERROR: 0:112: 'xfb_offset' : overlapping offsets at offset 4 in buffer 1
+ERROR: 0:114: 'xfb_stride' : all stride settings must match for xfb buffer 3
+ERROR: 0:115: 'xfb_stride' : all stride settings must match for xfb buffer 3
+ERROR: 0:119: 'xfb_stride' : all stride settings must match for xfb buffer 3
+ERROR: 0:117: 'xfb_stride' : all stride settings must match for xfb buffer 3
+ERROR: 0:138: 'xfb_offset' : overlapping offsets at offset 64 in buffer 0
+ERROR: 0:143: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
+ERROR: 0:144: 'xfb_offset' : must be a multiple of size of first component
+ERROR: 0:145: 'xfb_offset' : type contains double; xfb_offset must be a multiple of 8
+ERROR: 0:147: 'xfb_offset' : must be a multiple of size of first component
+ERROR: 0:148: 'xfb_offset' : type contains double; xfb_offset must be a multiple of 8
+ERROR: 0:152: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
+ERROR: 0:155: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
+ERROR: 0:155: 'xfb_stride' : 1/4 stride is too large: gl_MaxTransformFeedbackInterleavedComponents is 64
+ERROR: 0:157: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers is 4
+ERROR: 0:165: 'gl_BaseVertexARB' : required extension not requested: GL_ARB_shader_draw_parameters
+ERROR: 0:165: 'gl_BaseInstanceARB' : required extension not requested: GL_ARB_shader_draw_parameters
+ERROR: 0:165: 'gl_DrawIDARB' : required extension not requested: GL_ARB_shader_draw_parameters
+ERROR: 0:173: 'assign' : l-value required "gl_BaseVertexARB" (can't modify shader input)
+ERROR: 0:174: 'assign' : l-value required "gl_BaseInstanceARB" (can't modify shader input)
+ERROR: 0:175: 'assign' : l-value required "gl_DrawIDARB" (can't modify shader input)
+ERROR: 0:176: 'glBaseInstanceARB' : undeclared identifier
+ERROR: 49 compilation errors. No code generated.
+
+
+Shader version: 440
+Requested GL_ARB_shader_draw_parameters
+in xfb mode
+ERROR: node is still EOpNull!
+0:163 Function Definition: drawParamsBad( (global int)
+0:163 Function Parameters:
+0:165 Sequence
+0:165 Branch: Return with expression
+0:165 add (temp int)
+0:165 add (temp int)
+0:165 'gl_BaseVertexARB' (in int BaseVertex)
+0:165 'gl_BaseInstanceARB' (in int BaseInstance)
+0:165 'gl_DrawIDARB' (in int DrawId)
+0:170 Function Definition: drawParams( (global int)
+0:170 Function Parameters:
+0:172 Sequence
+0:172 Branch: Return with expression
+0:172 add (temp int)
+0:172 add (temp int)
+0:172 'gl_BaseVertexARB' (in int BaseVertex)
+0:172 'gl_BaseInstanceARB' (in int BaseInstance)
+0:172 'gl_DrawIDARB' (in int DrawId)
+0:173 move second child to first child (temp int)
+0:173 'gl_BaseVertexARB' (in int BaseVertex)
+0:173 Constant:
+0:173 3 (const int)
+0:174 move second child to first child (temp int)
+0:174 'gl_BaseInstanceARB' (in int BaseInstance)
+0:174 Constant:
+0:174 3 (const int)
+0:175 move second child to first child (temp int)
+0:175 'gl_DrawIDARB' (in int DrawId)
+0:175 Constant:
+0:175 3 (const int)
+0:176 'glBaseInstanceARB' (temp float)
+0:? Linker Objects
+0:? 'a' (layout(location=2 component=2 ) in 2-component vector of float)
+0:? 'b' (layout(location=2 component=1 ) in float)
+0:? 'c' (layout(location=3 component=2 ) in 3-component vector of float)
+0:? 'd' (layout(location=0 component=3 ) in 4-element array of float)
+0:? 'e' (layout(location=4 component=0 ) in 5-element array of 3-component vector of float)
+0:? 'f' (layout(location=4 component=3 ) in 5-element array of float)
+0:? 'g' (layout(location=9 ) in 6-element array of float)
+0:? 'h' (layout(location=4 component=2 ) in 2-component vector of float)
+0:? 'i' (layout(location=3 component=2 ) smooth out 2-component vector of float)
+0:? 'j' (layout(location=3 component=0 ) smooth out 2-component vector of float)
+0:? 'k' (layout(location=4 component=2 ) smooth out 2-component vector of float)
+0:? 'm' (layout(location=4 component=2 ) smooth out 2-component vector of float)
+0:? 'n' (layout(location=2 component=2 ) smooth out 2-component vector of float)
+0:? 'p' (layout(location=2 component=0 ) smooth out 3-component vector of float)
+0:? 'q' (layout(location=10 component=3 ) smooth out 6-element array of float)
+0:? 'r' (layout(location=10 component=0 ) smooth out 6-element array of 3-component vector of float)
+0:? 's' (layout(location=15 component=3 ) smooth out float)
+0:? 't' (layout(location=10 component=1 ) smooth out float)
+0:? 'u' (layout(location=20 component=2 ) smooth out float)
+0:? 'v' (layout(location=20 component=0 ) smooth out float)
+0:? 'w' (layout(location=20 component=3 ) smooth out float)
+0:? 'x' (layout(location=20 component=1 ) smooth out 2-component vector of float)
+0:? 'y' (layout(location=30 component=3 ) smooth out 2-component vector of float)
+0:? 'z' (layout(location=31 component=1 ) smooth out 4-component vector of float)
+0:? 'ba' (layout(location=32 component=1 ) smooth out 4X4 matrix of float)
+0:? 'Ss' (layout(location=33 component=1 ) smooth out structure{global int a})
+0:? 'bb' (layout(location=34 component=1 ) out block{out int a})
+0:? 'bc' (layout(location=4095 component=1 ) smooth out float)
+0:? 'bd' (out block{layout(location=40 component=2 ) out float u, layout(location=40 component=0 ) out float v, layout(location=40 component=3 ) out float w, layout(location=40 component=1 ) out 2-component vector of float x, layout(location=41 component=3 ) out 2-component vector of float y, layout(location=42 component=1 ) out 4-component vector of float z, layout(location=42 component=1 ) out 4X4 matrix of float ba, layout(location=43 component=1 ) out structure{global int a} Ss})
+0:? 'be' (layout(location=50 component=3 ) smooth out int)
+0:? 'bf' (layout(location=50 component=0 ) smooth out 3-component vector of float)
+0:? 'bbinst1' (out block{out 4-component vector of float bbv})
+0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv})
+0:? 'bbinst3' (out block{layout(xfb_buffer=3 xfb_offset=16 ) out 4-component vector of float bbv})
+0:? 'ubbinst3' (layout(column_major shared ) uniform block{layout(column_major shared xfb_offset=16 ) uniform 4-component vector of float bbv})
+0:? 'bg' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
+0:? 'bh' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float)
+0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2})
+0:? 'bbinst5' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2, out 4-component vector of float bbv3})
+0:? 'bbinst6' (out block{layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) out 4-component vector of float bbv2, layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv3, out 4-component vector of float bbv5, layout(xfb_buffer=2 xfb_offset=24 ) out float bbf6})
+0:? 'bj' (layout(xfb_buffer=1 xfb_offset=4 ) smooth out float)
+0:? 'bk' (layout(xfb_buffer=1 xfb_offset=0 ) smooth out 2-component vector of int)
+0:? 'bl' (layout(xfb_stride=48 ) smooth out float)
+0:? 'bbinst7' (layout(xfb_stride=48 ) out block{layout(xfb_stride=64 ) out 4-component vector of float bbv1, layout(xfb_stride=32 ) out 4-component vector of float bbv2})
+0:? 'bbinst8' (layout(xfb_stride=92 ) out block{layout(xfb_buffer=0 xfb_offset=0 ) out bool b, layout(xfb_buffer=0 xfb_offset=8 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout(xfb_buffer=0 xfb_offset=48 ) out int i, layout(xfb_buffer=0 xfb_offset=52 ) out 3X3 matrix of float m3, layout(xfb_buffer=0 xfb_offset=88 ) out float f, layout(xfb_buffer=0 xfb_offset=92 ) out float g})
+0:? 'bbinst9' (out block{layout(xfb_buffer=4 xfb_offset=1 ) out bool b, layout(xfb_buffer=4 xfb_offset=12 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 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{global int a} s})
+0:? 'bm' (layout(xfb_buffer=5 xfb_offset=0 ) smooth out float)
+0:? 'bbinst10' (out block{layout(xfb_buffer=7 xfb_offset=0 ) out 4X4 matrix of double m1, layout(xfb_buffer=7 xfb_offset=128 ) out 4X4 matrix of double m2, layout(xfb_buffer=7 xfb_offset=256 ) out float f})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+ERROR: Linking vertex stage: Missing entry point: Each stage requires one "void main()" entry point
+ERROR: Linking vertex stage: xfb_stride is too small to hold all buffer entries:
+ERROR: xfb_buffer 0, xfb_stride 92, minimum stride needed: 96
+ERROR: Linking vertex stage: xfb_stride must be multiple of 8 for buffer holding a double:
+ERROR: xfb_buffer 0, xfb_stride 92
+ERROR: Linking vertex stage: xfb_stride must be multiple of 4:
+ERROR: xfb_buffer 5, xfb_stride 6
+ERROR: Linking vertex stage: xfb_stride is too large:
+ERROR: xfb_buffer 7, components (1/4 stride) needed are 66, gl_MaxTransformFeedbackInterleavedComponents is 64
+
+Shader version: 440
+Requested GL_ARB_shader_draw_parameters
+in xfb mode
+ERROR: node is still EOpNull!
+0:163 Function Definition: drawParamsBad( (global int)
+0:163 Function Parameters:
+0:165 Sequence
+0:165 Branch: Return with expression
+0:165 add (temp int)
+0:165 add (temp int)
+0:165 'gl_BaseVertexARB' (in int BaseVertex)
+0:165 'gl_BaseInstanceARB' (in int BaseInstance)
+0:165 'gl_DrawIDARB' (in int DrawId)
+0:170 Function Definition: drawParams( (global int)
+0:170 Function Parameters:
+0:172 Sequence
+0:172 Branch: Return with expression
+0:172 add (temp int)
+0:172 add (temp int)
+0:172 'gl_BaseVertexARB' (in int BaseVertex)
+0:172 'gl_BaseInstanceARB' (in int BaseInstance)
+0:172 'gl_DrawIDARB' (in int DrawId)
+0:173 move second child to first child (temp int)
+0:173 'gl_BaseVertexARB' (in int BaseVertex)
+0:173 Constant:
+0:173 3 (const int)
+0:174 move second child to first child (temp int)
+0:174 'gl_BaseInstanceARB' (in int BaseInstance)
+0:174 Constant:
+0:174 3 (const int)
+0:175 move second child to first child (temp int)
+0:175 'gl_DrawIDARB' (in int DrawId)
+0:175 Constant:
+0:175 3 (const int)
+0:176 'glBaseInstanceARB' (temp float)
+0:? Linker Objects
+0:? 'a' (layout(location=2 component=2 ) in 2-component vector of float)
+0:? 'b' (layout(location=2 component=1 ) in float)
+0:? 'c' (layout(location=3 component=2 ) in 3-component vector of float)
+0:? 'd' (layout(location=0 component=3 ) in 4-element array of float)
+0:? 'e' (layout(location=4 component=0 ) in 5-element array of 3-component vector of float)
+0:? 'f' (layout(location=4 component=3 ) in 5-element array of float)
+0:? 'g' (layout(location=9 ) in 6-element array of float)
+0:? 'h' (layout(location=4 component=2 ) in 2-component vector of float)
+0:? 'i' (layout(location=3 component=2 ) smooth out 2-component vector of float)
+0:? 'j' (layout(location=3 component=0 ) smooth out 2-component vector of float)
+0:? 'k' (layout(location=4 component=2 ) smooth out 2-component vector of float)
+0:? 'm' (layout(location=4 component=2 ) smooth out 2-component vector of float)
+0:? 'n' (layout(location=2 component=2 ) smooth out 2-component vector of float)
+0:? 'p' (layout(location=2 component=0 ) smooth out 3-component vector of float)
+0:? 'q' (layout(location=10 component=3 ) smooth out 6-element array of float)
+0:? 'r' (layout(location=10 component=0 ) smooth out 6-element array of 3-component vector of float)
+0:? 's' (layout(location=15 component=3 ) smooth out float)
+0:? 't' (layout(location=10 component=1 ) smooth out float)
+0:? 'u' (layout(location=20 component=2 ) smooth out float)
+0:? 'v' (layout(location=20 component=0 ) smooth out float)
+0:? 'w' (layout(location=20 component=3 ) smooth out float)
+0:? 'x' (layout(location=20 component=1 ) smooth out 2-component vector of float)
+0:? 'y' (layout(location=30 component=3 ) smooth out 2-component vector of float)
+0:? 'z' (layout(location=31 component=1 ) smooth out 4-component vector of float)
+0:? 'ba' (layout(location=32 component=1 ) smooth out 4X4 matrix of float)
+0:? 'Ss' (layout(location=33 component=1 ) smooth out structure{global int a})
+0:? 'bb' (layout(location=34 component=1 ) out block{out int a})
+0:? 'bc' (layout(location=4095 component=1 ) smooth out float)
+0:? 'bd' (out block{layout(location=40 component=2 ) out float u, layout(location=40 component=0 ) out float v, layout(location=40 component=3 ) out float w, layout(location=40 component=1 ) out 2-component vector of float x, layout(location=41 component=3 ) out 2-component vector of float y, layout(location=42 component=1 ) out 4-component vector of float z, layout(location=42 component=1 ) out 4X4 matrix of float ba, layout(location=43 component=1 ) out structure{global int a} Ss})
+0:? 'be' (layout(location=50 component=3 ) smooth out int)
+0:? 'bf' (layout(location=50 component=0 ) smooth out 3-component vector of float)
+0:? 'bbinst1' (out block{out 4-component vector of float bbv})
+0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv})
+0:? 'bbinst3' (out block{layout(xfb_buffer=3 xfb_offset=16 ) out 4-component vector of float bbv})
+0:? 'ubbinst3' (layout(column_major shared ) uniform block{layout(column_major shared xfb_offset=16 ) uniform 4-component vector of float bbv})
+0:? 'bg' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)
+0:? 'bh' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float)
+0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2})
+0:? 'bbinst5' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2, out 4-component vector of float bbv3})
+0:? 'bbinst6' (out block{layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) out 4-component vector of float bbv2, layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv3, out 4-component vector of float bbv5, layout(xfb_buffer=2 xfb_offset=24 ) out float bbf6})
+0:? 'bj' (layout(xfb_buffer=1 xfb_offset=4 ) smooth out float)
+0:? 'bk' (layout(xfb_buffer=1 xfb_offset=0 ) smooth out 2-component vector of int)
+0:? 'bl' (layout(xfb_stride=48 ) smooth out float)
+0:? 'bbinst7' (layout(xfb_stride=48 ) out block{layout(xfb_stride=64 ) out 4-component vector of float bbv1, layout(xfb_stride=32 ) out 4-component vector of float bbv2})
+0:? 'bbinst8' (layout(xfb_stride=92 ) out block{layout(xfb_buffer=0 xfb_offset=0 ) out bool b, layout(xfb_buffer=0 xfb_offset=8 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 2-component vector of float v2} t, layout(xfb_buffer=0 xfb_offset=48 ) out int i, layout(xfb_buffer=0 xfb_offset=52 ) out 3X3 matrix of float m3, layout(xfb_buffer=0 xfb_offset=88 ) out float f, layout(xfb_buffer=0 xfb_offset=92 ) out float g})
+0:? 'bbinst9' (out block{layout(xfb_buffer=4 xfb_offset=1 ) out bool b, layout(xfb_buffer=4 xfb_offset=12 ) out structure{global bool b, global structure{global int i, global double d, global float f} s, global 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{global int a} s})
+0:? 'bm' (layout(xfb_buffer=5 xfb_offset=0 ) smooth out float)
+0:? 'bbinst10' (out block{layout(xfb_buffer=7 xfb_offset=0 ) out 4X4 matrix of double m1, layout(xfb_buffer=7 xfb_offset=128 ) out 4X4 matrix of double m2, layout(xfb_buffer=7 xfb_offset=256 ) out float f})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/450.comp.out b/Test/baseResults/450.comp.out
index 67ec647..d5d1eca 100644
--- a/Test/baseResults/450.comp.out
+++ b/Test/baseResults/450.comp.out
@@ -1,18 +1,18 @@
-450.comp
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
-Shader version: 450
-local_size = (1, 1, 1)
-0:? Sequence
-0:? Linker Objects
-
-
-Linked compute stage:
-
-ERROR: Linking compute stage: Missing entry point: Each stage requires one "void main()" entry point
-
-Shader version: 450
-local_size = (1, 1, 1)
-0:? Sequence
-0:? Linker Objects
-
+450.comp
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 450
+local_size = (1, 1, 1)
+0:? Sequence
+0:? Linker Objects
+
+
+Linked compute stage:
+
+ERROR: Linking compute stage: Missing entry point: Each stage requires one "void main()" entry point
+
+Shader version: 450
+local_size = (1, 1, 1)
+0:? Sequence
+0:? Linker Objects
+
diff --git a/Test/baseResults/450.frag.out b/Test/baseResults/450.frag.out
index 09a4163..5d7035f 100644
--- a/Test/baseResults/450.frag.out
+++ b/Test/baseResults/450.frag.out
@@ -1,287 +1,287 @@
-450.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
-Shader version: 450
-0:? Sequence
-0:8 Function Definition: main( (global void)
-0:8 Function Parameters:
-0:10 Sequence
-0:10 Sequence
-0:10 move second child to first child (temp 2-component vector of float)
-0:10 'v2' (temp 2-component vector of float)
-0:10 dPdxFine (global 2-component vector of float)
-0:10 'in2' (smooth in 2-component vector of float)
-0:11 Sequence
-0:11 move second child to first child (temp 3-component vector of float)
-0:11 'v3' (temp 3-component vector of float)
-0:11 dPdyCoarse (global 3-component vector of float)
-0:11 'in3' (smooth in 3-component vector of float)
-0:12 Sequence
-0:12 move second child to first child (temp 4-component vector of float)
-0:12 'v4' (temp 4-component vector of float)
-0:12 fwidth (global 4-component vector of float)
-0:12 'in4' (smooth in 4-component vector of float)
-0:13 move second child to first child (temp 4-component vector of float)
-0:13 'v4' (temp 4-component vector of float)
-0:13 dPdyFine (global 4-component vector of float)
-0:13 'in4' (smooth in 4-component vector of float)
-0:14 move second child to first child (temp 3-component vector of float)
-0:14 'v3' (temp 3-component vector of float)
-0:14 dPdyFine (global 3-component vector of float)
-0:14 'in3' (smooth in 3-component vector of float)
-0:15 Sequence
-0:15 move second child to first child (temp float)
-0:15 'f' (temp float)
-0:15 add (temp float)
-0:15 add (temp float)
-0:15 dPdx (global float)
-0:15 'in1' (smooth in float)
-0:15 dPdxFine (global float)
-0:15 'in1' (smooth in float)
-0:15 dPdxCoarse (global float)
-0:15 'in1' (smooth in float)
-0:16 move second child to first child (temp 4-component vector of float)
-0:16 'v4' (temp 4-component vector of float)
-0:16 add (temp 4-component vector of float)
-0:16 fwidthCoarse (global 4-component vector of float)
-0:16 'in4' (smooth in 4-component vector of float)
-0:16 fwidthFine (global 4-component vector of float)
-0:16 'in4' (smooth in 4-component vector of float)
-0:18 Sequence
-0:18 move second child to first child (temp float)
-0:18 'cull' (temp float)
-0:18 direct index (smooth temp float CullDistance)
-0:18 'gl_CullDistance' (smooth in implicitly-sized array of float CullDistance)
-0:18 Constant:
-0:18 2 (const int)
-0:19 Sequence
-0:19 move second child to first child (temp float)
-0:19 'consts' (temp float)
-0:19 Constant:
-0:19 20.000000
-0:21 Test condition and select (temp void)
-0:21 Condition
-0:21 'gl_HelperInvocation' (in bool HelperInvocation)
-0:21 true case
-0:22 Pre-Increment (temp 4-component vector of float)
-0:22 'v4' (temp 4-component vector of float)
-0:24 Sequence
-0:24 move second child to first child (temp int)
-0:24 'sum' (temp int)
-0:24 Constant:
-0:24 32 (const int)
-0:32 Sequence
-0:32 move second child to first child (temp 2-component vector of bool)
-0:32 'b2' (temp 2-component vector of bool)
-0:32 mix (global 2-component vector of bool)
-0:32 Construct bvec2 (temp 2-component vector of bool)
-0:32 'b1' (temp bool)
-0:32 Construct bvec2 (temp 2-component vector of bool)
-0:32 'b3' (temp bool)
-0:32 Construct bvec2 (temp 2-component vector of bool)
-0:32 'b' (temp bool)
-0:33 Sequence
-0:33 move second child to first child (temp uint)
-0:33 'um' (temp uint)
-0:33 mix (global uint)
-0:33 'uin' (temp uint)
-0:33 'uin' (temp uint)
-0:33 'b' (temp bool)
-0:34 Sequence
-0:34 move second child to first child (temp 3-component vector of int)
-0:34 'im3' (temp 3-component vector of int)
-0:34 mix (global 3-component vector of int)
-0:34 Construct ivec3 (temp 3-component vector of int)
-0:34 Convert uint to int (temp int)
-0:34 'uin' (temp uint)
-0:34 Construct ivec3 (temp 3-component vector of int)
-0:34 Convert uint to int (temp int)
-0:34 'uin' (temp uint)
-0:34 Construct bvec3 (temp 3-component vector of bool)
-0:34 'b' (temp bool)
-0:42 Function Definition: foo( (global void)
-0:42 Function Parameters:
-0:44 Sequence
-0:44 Sequence
-0:44 move second child to first child (temp int)
-0:44 's' (temp int)
-0:44 textureSamples (global int)
-0:44 's2dms' (uniform sampler2DMS)
-0:45 add second child into first child (temp int)
-0:45 's' (temp int)
-0:45 textureSamples (global int)
-0:45 'us2dmsa' (uniform usampler2DMSArray)
-0:46 add second child into first child (temp int)
-0:46 's' (temp int)
-0:46 imageQuerySamples (global int)
-0:46 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
-0:47 add second child into first child (temp int)
-0:47 's' (temp int)
-0:47 imageQuerySamples (global int)
-0:47 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
-0:48 Sequence
-0:48 move second child to first child (temp float)
-0:48 'f' (temp float)
-0:48 imageAtomicExchange (global float)
-0:48 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
-0:48 Convert float to int (temp 3-component vector of int)
-0:48 'in3' (smooth in 3-component vector of float)
-0:48 Constant:
-0:48 2 (const int)
-0:48 Constant:
-0:48 4.500000
-0:? Linker Objects
-0:? 'in1' (smooth in float)
-0:? 'in2' (smooth in 2-component vector of float)
-0:? 'in3' (smooth in 3-component vector of float)
-0:? 'in4' (smooth in 4-component vector of float)
-0:? 'gl_CullDistance' (smooth in implicitly-sized array of float CullDistance)
-0:? 's2dms' (uniform sampler2DMS)
-0:? 'us2dmsa' (uniform usampler2DMSArray)
-0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
-0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
-
-
-Linked fragment stage:
-
-
-Shader version: 450
-0:? Sequence
-0:8 Function Definition: main( (global void)
-0:8 Function Parameters:
-0:10 Sequence
-0:10 Sequence
-0:10 move second child to first child (temp 2-component vector of float)
-0:10 'v2' (temp 2-component vector of float)
-0:10 dPdxFine (global 2-component vector of float)
-0:10 'in2' (smooth in 2-component vector of float)
-0:11 Sequence
-0:11 move second child to first child (temp 3-component vector of float)
-0:11 'v3' (temp 3-component vector of float)
-0:11 dPdyCoarse (global 3-component vector of float)
-0:11 'in3' (smooth in 3-component vector of float)
-0:12 Sequence
-0:12 move second child to first child (temp 4-component vector of float)
-0:12 'v4' (temp 4-component vector of float)
-0:12 fwidth (global 4-component vector of float)
-0:12 'in4' (smooth in 4-component vector of float)
-0:13 move second child to first child (temp 4-component vector of float)
-0:13 'v4' (temp 4-component vector of float)
-0:13 dPdyFine (global 4-component vector of float)
-0:13 'in4' (smooth in 4-component vector of float)
-0:14 move second child to first child (temp 3-component vector of float)
-0:14 'v3' (temp 3-component vector of float)
-0:14 dPdyFine (global 3-component vector of float)
-0:14 'in3' (smooth in 3-component vector of float)
-0:15 Sequence
-0:15 move second child to first child (temp float)
-0:15 'f' (temp float)
-0:15 add (temp float)
-0:15 add (temp float)
-0:15 dPdx (global float)
-0:15 'in1' (smooth in float)
-0:15 dPdxFine (global float)
-0:15 'in1' (smooth in float)
-0:15 dPdxCoarse (global float)
-0:15 'in1' (smooth in float)
-0:16 move second child to first child (temp 4-component vector of float)
-0:16 'v4' (temp 4-component vector of float)
-0:16 add (temp 4-component vector of float)
-0:16 fwidthCoarse (global 4-component vector of float)
-0:16 'in4' (smooth in 4-component vector of float)
-0:16 fwidthFine (global 4-component vector of float)
-0:16 'in4' (smooth in 4-component vector of float)
-0:18 Sequence
-0:18 move second child to first child (temp float)
-0:18 'cull' (temp float)
-0:18 direct index (smooth temp float CullDistance)
-0:18 'gl_CullDistance' (smooth in 3-element array of float CullDistance)
-0:18 Constant:
-0:18 2 (const int)
-0:19 Sequence
-0:19 move second child to first child (temp float)
-0:19 'consts' (temp float)
-0:19 Constant:
-0:19 20.000000
-0:21 Test condition and select (temp void)
-0:21 Condition
-0:21 'gl_HelperInvocation' (in bool HelperInvocation)
-0:21 true case
-0:22 Pre-Increment (temp 4-component vector of float)
-0:22 'v4' (temp 4-component vector of float)
-0:24 Sequence
-0:24 move second child to first child (temp int)
-0:24 'sum' (temp int)
-0:24 Constant:
-0:24 32 (const int)
-0:32 Sequence
-0:32 move second child to first child (temp 2-component vector of bool)
-0:32 'b2' (temp 2-component vector of bool)
-0:32 mix (global 2-component vector of bool)
-0:32 Construct bvec2 (temp 2-component vector of bool)
-0:32 'b1' (temp bool)
-0:32 Construct bvec2 (temp 2-component vector of bool)
-0:32 'b3' (temp bool)
-0:32 Construct bvec2 (temp 2-component vector of bool)
-0:32 'b' (temp bool)
-0:33 Sequence
-0:33 move second child to first child (temp uint)
-0:33 'um' (temp uint)
-0:33 mix (global uint)
-0:33 'uin' (temp uint)
-0:33 'uin' (temp uint)
-0:33 'b' (temp bool)
-0:34 Sequence
-0:34 move second child to first child (temp 3-component vector of int)
-0:34 'im3' (temp 3-component vector of int)
-0:34 mix (global 3-component vector of int)
-0:34 Construct ivec3 (temp 3-component vector of int)
-0:34 Convert uint to int (temp int)
-0:34 'uin' (temp uint)
-0:34 Construct ivec3 (temp 3-component vector of int)
-0:34 Convert uint to int (temp int)
-0:34 'uin' (temp uint)
-0:34 Construct bvec3 (temp 3-component vector of bool)
-0:34 'b' (temp bool)
-0:42 Function Definition: foo( (global void)
-0:42 Function Parameters:
-0:44 Sequence
-0:44 Sequence
-0:44 move second child to first child (temp int)
-0:44 's' (temp int)
-0:44 textureSamples (global int)
-0:44 's2dms' (uniform sampler2DMS)
-0:45 add second child into first child (temp int)
-0:45 's' (temp int)
-0:45 textureSamples (global int)
-0:45 'us2dmsa' (uniform usampler2DMSArray)
-0:46 add second child into first child (temp int)
-0:46 's' (temp int)
-0:46 imageQuerySamples (global int)
-0:46 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
-0:47 add second child into first child (temp int)
-0:47 's' (temp int)
-0:47 imageQuerySamples (global int)
-0:47 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
-0:48 Sequence
-0:48 move second child to first child (temp float)
-0:48 'f' (temp float)
-0:48 imageAtomicExchange (global float)
-0:48 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
-0:48 Convert float to int (temp 3-component vector of int)
-0:48 'in3' (smooth in 3-component vector of float)
-0:48 Constant:
-0:48 2 (const int)
-0:48 Constant:
-0:48 4.500000
-0:? Linker Objects
-0:? 'in1' (smooth in float)
-0:? 'in2' (smooth in 2-component vector of float)
-0:? 'in3' (smooth in 3-component vector of float)
-0:? 'in4' (smooth in 4-component vector of float)
-0:? 'gl_CullDistance' (smooth in 3-element array of float CullDistance)
-0:? 's2dms' (uniform sampler2DMS)
-0:? 'us2dmsa' (uniform usampler2DMSArray)
-0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
-0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
-
+450.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 450
+0:? Sequence
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:10 Sequence
+0:10 Sequence
+0:10 move second child to first child (temp 2-component vector of float)
+0:10 'v2' (temp 2-component vector of float)
+0:10 dPdxFine (global 2-component vector of float)
+0:10 'in2' (smooth in 2-component vector of float)
+0:11 Sequence
+0:11 move second child to first child (temp 3-component vector of float)
+0:11 'v3' (temp 3-component vector of float)
+0:11 dPdyCoarse (global 3-component vector of float)
+0:11 'in3' (smooth in 3-component vector of float)
+0:12 Sequence
+0:12 move second child to first child (temp 4-component vector of float)
+0:12 'v4' (temp 4-component vector of float)
+0:12 fwidth (global 4-component vector of float)
+0:12 'in4' (smooth in 4-component vector of float)
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'v4' (temp 4-component vector of float)
+0:13 dPdyFine (global 4-component vector of float)
+0:13 'in4' (smooth in 4-component vector of float)
+0:14 move second child to first child (temp 3-component vector of float)
+0:14 'v3' (temp 3-component vector of float)
+0:14 dPdyFine (global 3-component vector of float)
+0:14 'in3' (smooth in 3-component vector of float)
+0:15 Sequence
+0:15 move second child to first child (temp float)
+0:15 'f' (temp float)
+0:15 add (temp float)
+0:15 add (temp float)
+0:15 dPdx (global float)
+0:15 'in1' (smooth in float)
+0:15 dPdxFine (global float)
+0:15 'in1' (smooth in float)
+0:15 dPdxCoarse (global float)
+0:15 'in1' (smooth in float)
+0:16 move second child to first child (temp 4-component vector of float)
+0:16 'v4' (temp 4-component vector of float)
+0:16 add (temp 4-component vector of float)
+0:16 fwidthCoarse (global 4-component vector of float)
+0:16 'in4' (smooth in 4-component vector of float)
+0:16 fwidthFine (global 4-component vector of float)
+0:16 'in4' (smooth in 4-component vector of float)
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'cull' (temp float)
+0:18 direct index (smooth temp float CullDistance)
+0:18 'gl_CullDistance' (smooth in implicitly-sized array of float CullDistance)
+0:18 Constant:
+0:18 2 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'consts' (temp float)
+0:19 Constant:
+0:19 20.000000
+0:21 Test condition and select (temp void)
+0:21 Condition
+0:21 'gl_HelperInvocation' (in bool HelperInvocation)
+0:21 true case
+0:22 Pre-Increment (temp 4-component vector of float)
+0:22 'v4' (temp 4-component vector of float)
+0:24 Sequence
+0:24 move second child to first child (temp int)
+0:24 'sum' (temp int)
+0:24 Constant:
+0:24 32 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp 2-component vector of bool)
+0:32 'b2' (temp 2-component vector of bool)
+0:32 mix (global 2-component vector of bool)
+0:32 Construct bvec2 (temp 2-component vector of bool)
+0:32 'b1' (temp bool)
+0:32 Construct bvec2 (temp 2-component vector of bool)
+0:32 'b3' (temp bool)
+0:32 Construct bvec2 (temp 2-component vector of bool)
+0:32 'b' (temp bool)
+0:33 Sequence
+0:33 move second child to first child (temp uint)
+0:33 'um' (temp uint)
+0:33 mix (global uint)
+0:33 'uin' (temp uint)
+0:33 'uin' (temp uint)
+0:33 'b' (temp bool)
+0:34 Sequence
+0:34 move second child to first child (temp 3-component vector of int)
+0:34 'im3' (temp 3-component vector of int)
+0:34 mix (global 3-component vector of int)
+0:34 Construct ivec3 (temp 3-component vector of int)
+0:34 Convert uint to int (temp int)
+0:34 'uin' (temp uint)
+0:34 Construct ivec3 (temp 3-component vector of int)
+0:34 Convert uint to int (temp int)
+0:34 'uin' (temp uint)
+0:34 Construct bvec3 (temp 3-component vector of bool)
+0:34 'b' (temp bool)
+0:42 Function Definition: foo( (global void)
+0:42 Function Parameters:
+0:44 Sequence
+0:44 Sequence
+0:44 move second child to first child (temp int)
+0:44 's' (temp int)
+0:44 textureSamples (global int)
+0:44 's2dms' (uniform sampler2DMS)
+0:45 add second child into first child (temp int)
+0:45 's' (temp int)
+0:45 textureSamples (global int)
+0:45 'us2dmsa' (uniform usampler2DMSArray)
+0:46 add second child into first child (temp int)
+0:46 's' (temp int)
+0:46 imageQuerySamples (global int)
+0:46 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:47 add second child into first child (temp int)
+0:47 's' (temp int)
+0:47 imageQuerySamples (global int)
+0:47 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:48 Sequence
+0:48 move second child to first child (temp float)
+0:48 'f' (temp float)
+0:48 imageAtomicExchange (global float)
+0:48 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:48 Convert float to int (temp 3-component vector of int)
+0:48 'in3' (smooth in 3-component vector of float)
+0:48 Constant:
+0:48 2 (const int)
+0:48 Constant:
+0:48 4.500000
+0:? Linker Objects
+0:? 'in1' (smooth in float)
+0:? 'in2' (smooth in 2-component vector of float)
+0:? 'in3' (smooth in 3-component vector of float)
+0:? 'in4' (smooth in 4-component vector of float)
+0:? 'gl_CullDistance' (smooth in implicitly-sized array of float CullDistance)
+0:? 's2dms' (uniform sampler2DMS)
+0:? 'us2dmsa' (uniform usampler2DMSArray)
+0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+0:? Sequence
+0:8 Function Definition: main( (global void)
+0:8 Function Parameters:
+0:10 Sequence
+0:10 Sequence
+0:10 move second child to first child (temp 2-component vector of float)
+0:10 'v2' (temp 2-component vector of float)
+0:10 dPdxFine (global 2-component vector of float)
+0:10 'in2' (smooth in 2-component vector of float)
+0:11 Sequence
+0:11 move second child to first child (temp 3-component vector of float)
+0:11 'v3' (temp 3-component vector of float)
+0:11 dPdyCoarse (global 3-component vector of float)
+0:11 'in3' (smooth in 3-component vector of float)
+0:12 Sequence
+0:12 move second child to first child (temp 4-component vector of float)
+0:12 'v4' (temp 4-component vector of float)
+0:12 fwidth (global 4-component vector of float)
+0:12 'in4' (smooth in 4-component vector of float)
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'v4' (temp 4-component vector of float)
+0:13 dPdyFine (global 4-component vector of float)
+0:13 'in4' (smooth in 4-component vector of float)
+0:14 move second child to first child (temp 3-component vector of float)
+0:14 'v3' (temp 3-component vector of float)
+0:14 dPdyFine (global 3-component vector of float)
+0:14 'in3' (smooth in 3-component vector of float)
+0:15 Sequence
+0:15 move second child to first child (temp float)
+0:15 'f' (temp float)
+0:15 add (temp float)
+0:15 add (temp float)
+0:15 dPdx (global float)
+0:15 'in1' (smooth in float)
+0:15 dPdxFine (global float)
+0:15 'in1' (smooth in float)
+0:15 dPdxCoarse (global float)
+0:15 'in1' (smooth in float)
+0:16 move second child to first child (temp 4-component vector of float)
+0:16 'v4' (temp 4-component vector of float)
+0:16 add (temp 4-component vector of float)
+0:16 fwidthCoarse (global 4-component vector of float)
+0:16 'in4' (smooth in 4-component vector of float)
+0:16 fwidthFine (global 4-component vector of float)
+0:16 'in4' (smooth in 4-component vector of float)
+0:18 Sequence
+0:18 move second child to first child (temp float)
+0:18 'cull' (temp float)
+0:18 direct index (smooth temp float CullDistance)
+0:18 'gl_CullDistance' (smooth in 3-element array of float CullDistance)
+0:18 Constant:
+0:18 2 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'consts' (temp float)
+0:19 Constant:
+0:19 20.000000
+0:21 Test condition and select (temp void)
+0:21 Condition
+0:21 'gl_HelperInvocation' (in bool HelperInvocation)
+0:21 true case
+0:22 Pre-Increment (temp 4-component vector of float)
+0:22 'v4' (temp 4-component vector of float)
+0:24 Sequence
+0:24 move second child to first child (temp int)
+0:24 'sum' (temp int)
+0:24 Constant:
+0:24 32 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp 2-component vector of bool)
+0:32 'b2' (temp 2-component vector of bool)
+0:32 mix (global 2-component vector of bool)
+0:32 Construct bvec2 (temp 2-component vector of bool)
+0:32 'b1' (temp bool)
+0:32 Construct bvec2 (temp 2-component vector of bool)
+0:32 'b3' (temp bool)
+0:32 Construct bvec2 (temp 2-component vector of bool)
+0:32 'b' (temp bool)
+0:33 Sequence
+0:33 move second child to first child (temp uint)
+0:33 'um' (temp uint)
+0:33 mix (global uint)
+0:33 'uin' (temp uint)
+0:33 'uin' (temp uint)
+0:33 'b' (temp bool)
+0:34 Sequence
+0:34 move second child to first child (temp 3-component vector of int)
+0:34 'im3' (temp 3-component vector of int)
+0:34 mix (global 3-component vector of int)
+0:34 Construct ivec3 (temp 3-component vector of int)
+0:34 Convert uint to int (temp int)
+0:34 'uin' (temp uint)
+0:34 Construct ivec3 (temp 3-component vector of int)
+0:34 Convert uint to int (temp int)
+0:34 'uin' (temp uint)
+0:34 Construct bvec3 (temp 3-component vector of bool)
+0:34 'b' (temp bool)
+0:42 Function Definition: foo( (global void)
+0:42 Function Parameters:
+0:44 Sequence
+0:44 Sequence
+0:44 move second child to first child (temp int)
+0:44 's' (temp int)
+0:44 textureSamples (global int)
+0:44 's2dms' (uniform sampler2DMS)
+0:45 add second child into first child (temp int)
+0:45 's' (temp int)
+0:45 textureSamples (global int)
+0:45 'us2dmsa' (uniform usampler2DMSArray)
+0:46 add second child into first child (temp int)
+0:46 's' (temp int)
+0:46 imageQuerySamples (global int)
+0:46 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:47 add second child into first child (temp int)
+0:47 's' (temp int)
+0:47 imageQuerySamples (global int)
+0:47 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:48 Sequence
+0:48 move second child to first child (temp float)
+0:48 'f' (temp float)
+0:48 imageAtomicExchange (global float)
+0:48 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+0:48 Convert float to int (temp 3-component vector of int)
+0:48 'in3' (smooth in 3-component vector of float)
+0:48 Constant:
+0:48 2 (const int)
+0:48 Constant:
+0:48 4.500000
+0:? Linker Objects
+0:? 'in1' (smooth in float)
+0:? 'in2' (smooth in 2-component vector of float)
+0:? 'in3' (smooth in 3-component vector of float)
+0:? 'in4' (smooth in 4-component vector of float)
+0:? 'gl_CullDistance' (smooth in 3-element array of float CullDistance)
+0:? 's2dms' (uniform sampler2DMS)
+0:? 'us2dmsa' (uniform usampler2DMSArray)
+0:? 'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
+0:? 'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
+
diff --git a/Test/baseResults/450.geom.out b/Test/baseResults/450.geom.out
index b54f58d..d39c099 100644
--- a/Test/baseResults/450.geom.out
+++ b/Test/baseResults/450.geom.out
@@ -1,72 +1,72 @@
-450.geom
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
-Shader version: 450
-invocations = 0
-max_vertices = 0
-input primitive = none
-output primitive = none
-0:? Sequence
-0:11 Function Definition: main( (global void)
-0:11 Function Parameters:
-0:13 Sequence
-0:13 move second child to first child (temp float)
-0:13 direct index (layout(stream=0 ) temp float CullDistance)
-0:13 gl_CullDistance: direct index for structure (layout(stream=0 ) out implicitly-sized array of float CullDistance)
-0:13 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out implicitly-sized array of float CullDistance gl_CullDistance})
-0:13 Constant:
-0:13 3 (const uint)
-0:13 Constant:
-0:13 2 (const int)
-0:13 direct index (temp float CullDistance)
-0:13 gl_CullDistance: direct index for structure (in implicitly-sized array of float CullDistance)
-0:13 direct index (temp block{in implicitly-sized array of float CullDistance gl_CullDistance})
-0:13 'gl_in' (in implicitly-sized array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
-0:13 Constant:
-0:13 1 (const int)
-0:13 Constant:
-0:13 0 (const int)
-0:13 Constant:
-0:13 2 (const int)
-0:? Linker Objects
-0:? 'gl_in' (in implicitly-sized array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
-0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out implicitly-sized array of float CullDistance gl_CullDistance})
-
-
-Linked geometry stage:
-
-ERROR: Linking geometry stage: At least one shader must specify an input layout primitive
-ERROR: Linking geometry stage: At least one shader must specify an output layout primitive
-ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value)
-
-Shader version: 450
-invocations = 0
-max_vertices = 0
-input primitive = none
-output primitive = none
-0:? Sequence
-0:11 Function Definition: main( (global void)
-0:11 Function Parameters:
-0:13 Sequence
-0:13 move second child to first child (temp float)
-0:13 direct index (layout(stream=0 ) temp float CullDistance)
-0:13 gl_CullDistance: direct index for structure (layout(stream=0 ) out 3-element array of float CullDistance)
-0:13 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float CullDistance gl_CullDistance})
-0:13 Constant:
-0:13 3 (const uint)
-0:13 Constant:
-0:13 2 (const int)
-0:13 direct index (temp float CullDistance)
-0:13 gl_CullDistance: direct index for structure (in 1-element array of float CullDistance)
-0:13 direct index (temp block{in 1-element array of float CullDistance gl_CullDistance})
-0:13 'gl_in' (in 2-element array of block{in 1-element array of float CullDistance gl_CullDistance})
-0:13 Constant:
-0:13 1 (const int)
-0:13 Constant:
-0:13 0 (const int)
-0:13 Constant:
-0:13 2 (const int)
-0:? Linker Objects
-0:? 'gl_in' (in 2-element array of block{in 1-element array of float CullDistance gl_CullDistance})
-0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float CullDistance gl_CullDistance})
-
+450.geom
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 450
+invocations = 0
+max_vertices = 0
+input primitive = none
+output primitive = none
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child (temp float)
+0:13 direct index (layout(stream=0 ) temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (layout(stream=0 ) out implicitly-sized array of float CullDistance)
+0:13 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out implicitly-sized array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 3 (const uint)
+0:13 Constant:
+0:13 2 (const int)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (in implicitly-sized array of float CullDistance)
+0:13 direct index (temp block{in implicitly-sized array of float CullDistance gl_CullDistance})
+0:13 'gl_in' (in implicitly-sized array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 1 (const int)
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 2 (const int)
+0:? Linker Objects
+0:? 'gl_in' (in implicitly-sized array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out implicitly-sized array of float CullDistance gl_CullDistance})
+
+
+Linked geometry stage:
+
+ERROR: Linking geometry stage: At least one shader must specify an input layout primitive
+ERROR: Linking geometry stage: At least one shader must specify an output layout primitive
+ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value)
+
+Shader version: 450
+invocations = 0
+max_vertices = 0
+input primitive = none
+output primitive = none
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child (temp float)
+0:13 direct index (layout(stream=0 ) temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (layout(stream=0 ) out 3-element array of float CullDistance)
+0:13 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 3 (const uint)
+0:13 Constant:
+0:13 2 (const int)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (in 1-element array of float CullDistance)
+0:13 direct index (temp block{in 1-element array of float CullDistance gl_CullDistance})
+0:13 'gl_in' (in 2-element array of block{in 1-element array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 1 (const int)
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 2 (const int)
+0:? Linker Objects
+0:? 'gl_in' (in 2-element array of block{in 1-element array of float CullDistance gl_CullDistance})
+0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float CullDistance gl_CullDistance})
+
diff --git a/Test/baseResults/450.tesc.out b/Test/baseResults/450.tesc.out
index 26d9307..8f8c2a4 100644
--- a/Test/baseResults/450.tesc.out
+++ b/Test/baseResults/450.tesc.out
@@ -1,68 +1,68 @@
-450.tesc
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
-Shader version: 450
-vertices = 0
-0:? Sequence
-0:11 Function Definition: main( (global void)
-0:11 Function Parameters:
-0:13 Sequence
-0:13 move second child to first child (temp float)
-0:13 direct index (temp float CullDistance)
-0:13 gl_CullDistance: direct index for structure (out implicitly-sized array of float CullDistance)
-0:13 indirect index (temp block{out implicitly-sized array of float CullDistance gl_CullDistance})
-0:13 'gl_out' (out 4-element array of block{out implicitly-sized array of float CullDistance gl_CullDistance})
-0:13 'gl_InvocationID' (in int InvocationID)
-0:13 Constant:
-0:13 0 (const int)
-0:13 Constant:
-0:13 2 (const int)
-0:13 direct index (temp float CullDistance)
-0:13 gl_CullDistance: direct index for structure (in implicitly-sized array of float CullDistance)
-0:13 direct index (temp block{in implicitly-sized array of float CullDistance gl_CullDistance})
-0:13 'gl_in' (in 32-element array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
-0:13 Constant:
-0:13 1 (const int)
-0:13 Constant:
-0:13 0 (const int)
-0:13 Constant:
-0:13 2 (const int)
-0:? Linker Objects
-0:? 'gl_in' (in 32-element array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
-0:? 'gl_out' (out 4-element array of block{out implicitly-sized array of float CullDistance gl_CullDistance})
-
-
-Linked tessellation control stage:
-
-ERROR: Linking tessellation control stage: At least one shader must specify an output layout(vertices=...)
-
-Shader version: 450
-vertices = 0
-0:? Sequence
-0:11 Function Definition: main( (global void)
-0:11 Function Parameters:
-0:13 Sequence
-0:13 move second child to first child (temp float)
-0:13 direct index (temp float CullDistance)
-0:13 gl_CullDistance: direct index for structure (out 1-element array of float CullDistance)
-0:13 indirect index (temp block{out 1-element array of float CullDistance gl_CullDistance})
-0:13 'gl_out' (out 4-element array of block{out 1-element array of float CullDistance gl_CullDistance})
-0:13 'gl_InvocationID' (in int InvocationID)
-0:13 Constant:
-0:13 0 (const int)
-0:13 Constant:
-0:13 2 (const int)
-0:13 direct index (temp float CullDistance)
-0:13 gl_CullDistance: direct index for structure (in 1-element array of float CullDistance)
-0:13 direct index (temp block{in 1-element array of float CullDistance gl_CullDistance})
-0:13 'gl_in' (in 32-element array of block{in 1-element array of float CullDistance gl_CullDistance})
-0:13 Constant:
-0:13 1 (const int)
-0:13 Constant:
-0:13 0 (const int)
-0:13 Constant:
-0:13 2 (const int)
-0:? Linker Objects
-0:? 'gl_in' (in 32-element array of block{in 1-element array of float CullDistance gl_CullDistance})
-0:? 'gl_out' (out 4-element array of block{out 1-element array of float CullDistance gl_CullDistance})
-
+450.tesc
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 450
+vertices = 0
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child (temp float)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (out implicitly-sized array of float CullDistance)
+0:13 indirect index (temp block{out implicitly-sized array of float CullDistance gl_CullDistance})
+0:13 'gl_out' (out 4-element array of block{out implicitly-sized array of float CullDistance gl_CullDistance})
+0:13 'gl_InvocationID' (in int InvocationID)
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 2 (const int)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (in implicitly-sized array of float CullDistance)
+0:13 direct index (temp block{in implicitly-sized array of float CullDistance gl_CullDistance})
+0:13 'gl_in' (in 32-element array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 1 (const int)
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 2 (const int)
+0:? Linker Objects
+0:? 'gl_in' (in 32-element array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
+0:? 'gl_out' (out 4-element array of block{out implicitly-sized array of float CullDistance gl_CullDistance})
+
+
+Linked tessellation control stage:
+
+ERROR: Linking tessellation control stage: At least one shader must specify an output layout(vertices=...)
+
+Shader version: 450
+vertices = 0
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child (temp float)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (out 1-element array of float CullDistance)
+0:13 indirect index (temp block{out 1-element array of float CullDistance gl_CullDistance})
+0:13 'gl_out' (out 4-element array of block{out 1-element array of float CullDistance gl_CullDistance})
+0:13 'gl_InvocationID' (in int InvocationID)
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 2 (const int)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (in 1-element array of float CullDistance)
+0:13 direct index (temp block{in 1-element array of float CullDistance gl_CullDistance})
+0:13 'gl_in' (in 32-element array of block{in 1-element array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 1 (const int)
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 2 (const int)
+0:? Linker Objects
+0:? 'gl_in' (in 32-element array of block{in 1-element array of float CullDistance gl_CullDistance})
+0:? 'gl_out' (out 4-element array of block{out 1-element array of float CullDistance gl_CullDistance})
+
diff --git a/Test/baseResults/450.tese.out b/Test/baseResults/450.tese.out
index 04f58b3..c6e97b8 100644
--- a/Test/baseResults/450.tese.out
+++ b/Test/baseResults/450.tese.out
@@ -1,68 +1,68 @@
-450.tese
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
-Shader version: 450
-input primitive = none
-vertex spacing = none
-triangle order = none
-0:? Sequence
-0:11 Function Definition: main( (global void)
-0:11 Function Parameters:
-0:13 Sequence
-0:13 move second child to first child (temp float)
-0:13 direct index (temp float CullDistance)
-0:13 gl_CullDistance: direct index for structure (out implicitly-sized array of float CullDistance)
-0:13 'anon@0' (out block{out implicitly-sized array of float CullDistance gl_CullDistance})
-0:13 Constant:
-0:13 3 (const uint)
-0:13 Constant:
-0:13 2 (const int)
-0:13 direct index (temp float CullDistance)
-0:13 gl_CullDistance: direct index for structure (in implicitly-sized array of float CullDistance)
-0:13 direct index (temp block{in implicitly-sized array of float CullDistance gl_CullDistance})
-0:13 'gl_in' (in 32-element array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
-0:13 Constant:
-0:13 1 (const int)
-0:13 Constant:
-0:13 0 (const int)
-0:13 Constant:
-0:13 2 (const int)
-0:? Linker Objects
-0:? 'gl_in' (in 32-element array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
-0:? 'anon@0' (out block{out implicitly-sized array of float CullDistance gl_CullDistance})
-
-
-Linked tessellation evaluation stage:
-
-ERROR: Linking tessellation evaluation stage: At least one shader must specify an input layout primitive
-
-Shader version: 450
-input primitive = none
-vertex spacing = equal_spacing
-triangle order = ccw
-0:? Sequence
-0:11 Function Definition: main( (global void)
-0:11 Function Parameters:
-0:13 Sequence
-0:13 move second child to first child (temp float)
-0:13 direct index (temp float CullDistance)
-0:13 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance)
-0:13 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
-0:13 Constant:
-0:13 3 (const uint)
-0:13 Constant:
-0:13 2 (const int)
-0:13 direct index (temp float CullDistance)
-0:13 gl_CullDistance: direct index for structure (in 1-element array of float CullDistance)
-0:13 direct index (temp block{in 1-element array of float CullDistance gl_CullDistance})
-0:13 'gl_in' (in 32-element array of block{in 1-element array of float CullDistance gl_CullDistance})
-0:13 Constant:
-0:13 1 (const int)
-0:13 Constant:
-0:13 0 (const int)
-0:13 Constant:
-0:13 2 (const int)
-0:? Linker Objects
-0:? 'gl_in' (in 32-element array of block{in 1-element array of float CullDistance gl_CullDistance})
-0:? 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
-
+450.tese
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 450
+input primitive = none
+vertex spacing = none
+triangle order = none
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child (temp float)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (out implicitly-sized array of float CullDistance)
+0:13 'anon@0' (out block{out implicitly-sized array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 3 (const uint)
+0:13 Constant:
+0:13 2 (const int)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (in implicitly-sized array of float CullDistance)
+0:13 direct index (temp block{in implicitly-sized array of float CullDistance gl_CullDistance})
+0:13 'gl_in' (in 32-element array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 1 (const int)
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 2 (const int)
+0:? Linker Objects
+0:? 'gl_in' (in 32-element array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
+0:? 'anon@0' (out block{out implicitly-sized array of float CullDistance gl_CullDistance})
+
+
+Linked tessellation evaluation stage:
+
+ERROR: Linking tessellation evaluation stage: At least one shader must specify an input layout primitive
+
+Shader version: 450
+input primitive = none
+vertex spacing = equal_spacing
+triangle order = ccw
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child (temp float)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance)
+0:13 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 3 (const uint)
+0:13 Constant:
+0:13 2 (const int)
+0:13 direct index (temp float CullDistance)
+0:13 gl_CullDistance: direct index for structure (in 1-element array of float CullDistance)
+0:13 direct index (temp block{in 1-element array of float CullDistance gl_CullDistance})
+0:13 'gl_in' (in 32-element array of block{in 1-element array of float CullDistance gl_CullDistance})
+0:13 Constant:
+0:13 1 (const int)
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 2 (const int)
+0:? Linker Objects
+0:? 'gl_in' (in 32-element array of block{in 1-element array of float CullDistance gl_CullDistance})
+0:? 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
+
diff --git a/Test/baseResults/450.vert.out b/Test/baseResults/450.vert.out
index 44aff42..39cce38 100644
--- a/Test/baseResults/450.vert.out
+++ b/Test/baseResults/450.vert.out
@@ -1,69 +1,69 @@
-450.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:12: 'out' : cannot be bool
-ERROR: 0:13: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: outo
-ERROR: 2 compilation errors. No code generated.
-
-
-Shader version: 450
-ERROR: node is still EOpNull!
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:9 Sequence
-0:9 move second child to first child (temp float)
-0:9 direct index (temp float CullDistance)
-0:9 gl_CullDistance: direct index for structure (out implicitly-sized array of float CullDistance)
-0:9 'anon@0' (out block{out implicitly-sized array of float CullDistance gl_CullDistance})
-0:9 Constant:
-0:9 10 (const uint)
-0:9 Constant:
-0:9 2 (const int)
-0:9 Constant:
-0:9 4.500000
-0:? Linker Objects
-0:? 'anon@0' (out block{out implicitly-sized array of float CullDistance gl_CullDistance})
-0:? 'outb' (smooth out bool)
-0:? 'outo' (smooth out sampler2D)
-0:? 'outa' (smooth out 4-element array of float)
-0:? 'outaa' (smooth out 4-element array of 2-element array of float)
-0:? 'outs' (smooth out structure{global float f})
-0:? 'outasa' (smooth out 4-element array of structure{global float f})
-0:? 'outsa' (smooth out 4-element array of structure{global float f})
-0:? 'outSA' (smooth out structure{global 4-element array of float f})
-0:? 'outSS' (smooth out structure{global float f, global structure{global float f} s})
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 450
-ERROR: node is still EOpNull!
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:9 Sequence
-0:9 move second child to first child (temp float)
-0:9 direct index (temp float CullDistance)
-0:9 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance)
-0:9 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
-0:9 Constant:
-0:9 10 (const uint)
-0:9 Constant:
-0:9 2 (const int)
-0:9 Constant:
-0:9 4.500000
-0:? Linker Objects
-0:? 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
-0:? 'outb' (smooth out bool)
-0:? 'outo' (smooth out sampler2D)
-0:? 'outa' (smooth out 4-element array of float)
-0:? 'outaa' (smooth out 4-element array of 2-element array of float)
-0:? 'outs' (smooth out structure{global float f})
-0:? 'outasa' (smooth out 4-element array of structure{global float f})
-0:? 'outsa' (smooth out 4-element array of structure{global float f})
-0:? 'outSA' (smooth out structure{global 4-element array of float f})
-0:? 'outSS' (smooth out structure{global float f, global structure{global float f} s})
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
+450.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:12: 'out' : cannot be bool
+ERROR: 0:13: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: outo
+ERROR: 2 compilation errors. No code generated.
+
+
+Shader version: 450
+ERROR: node is still EOpNull!
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 move second child to first child (temp float)
+0:9 direct index (temp float CullDistance)
+0:9 gl_CullDistance: direct index for structure (out implicitly-sized array of float CullDistance)
+0:9 'anon@0' (out block{out implicitly-sized array of float CullDistance gl_CullDistance})
+0:9 Constant:
+0:9 10 (const uint)
+0:9 Constant:
+0:9 2 (const int)
+0:9 Constant:
+0:9 4.500000
+0:? Linker Objects
+0:? 'anon@0' (out block{out implicitly-sized array of float CullDistance gl_CullDistance})
+0:? 'outb' (smooth out bool)
+0:? 'outo' (smooth out sampler2D)
+0:? 'outa' (smooth out 4-element array of float)
+0:? 'outaa' (smooth out 4-element array of 2-element array of float)
+0:? 'outs' (smooth out structure{global float f})
+0:? 'outasa' (smooth out 4-element array of structure{global float f})
+0:? 'outsa' (smooth out 4-element array of structure{global float f})
+0:? 'outSA' (smooth out structure{global 4-element array of float f})
+0:? 'outSS' (smooth out structure{global float f, global structure{global float f} s})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 450
+ERROR: node is still EOpNull!
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 move second child to first child (temp float)
+0:9 direct index (temp float CullDistance)
+0:9 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance)
+0:9 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
+0:9 Constant:
+0:9 10 (const uint)
+0:9 Constant:
+0:9 2 (const int)
+0:9 Constant:
+0:9 4.500000
+0:? Linker Objects
+0:? 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
+0:? 'outb' (smooth out bool)
+0:? 'outo' (smooth out sampler2D)
+0:? 'outa' (smooth out 4-element array of float)
+0:? 'outaa' (smooth out 4-element array of 2-element array of float)
+0:? 'outs' (smooth out structure{global float f})
+0:? 'outasa' (smooth out 4-element array of structure{global float f})
+0:? 'outsa' (smooth out 4-element array of structure{global float f})
+0:? 'outSA' (smooth out structure{global 4-element array of float f})
+0:? 'outSS' (smooth out structure{global float f, global structure{global float f} s})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/Operations.frag.out b/Test/baseResults/Operations.frag.out
index ce6a78f..4bf1969 100644
--- a/Test/baseResults/Operations.frag.out
+++ b/Test/baseResults/Operations.frag.out
@@ -1,871 +1,871 @@
-Operations.frag
-Shader version: 130
-0:? Sequence
-0:15 Function Definition: main( (global void)
-0:15 Function Parameters:
-0:? Sequence
-0:27 move second child to first child (temp 4-component vector of float)
-0:27 'v' (temp 4-component vector of float)
-0:27 radians (global 4-component vector of float)
-0:27 'uv4' (uniform 4-component vector of float)
-0:28 add second child into first child (temp 4-component vector of float)
-0:28 'v' (temp 4-component vector of float)
-0:28 degrees (global 4-component vector of float)
-0:28 'v' (temp 4-component vector of float)
-0:29 add second child into first child (temp 4-component vector of float)
-0:29 'v' (temp 4-component vector of float)
-0:29 Comma (temp 4-component vector of float)
-0:29 move second child to first child (temp int)
-0:29 'i' (temp int)
-0:29 component-wise multiply (temp int)
-0:29 'ui' (uniform int)
-0:29 'ui' (uniform int)
-0:29 sine (global 4-component vector of float)
-0:29 'v' (temp 4-component vector of float)
-0:30 add second child into first child (temp 4-component vector of float)
-0:30 'v' (temp 4-component vector of float)
-0:30 cosine (global 4-component vector of float)
-0:30 'v' (temp 4-component vector of float)
-0:31 add second child into first child (temp 4-component vector of float)
-0:31 'v' (temp 4-component vector of float)
-0:31 tangent (global 4-component vector of float)
-0:31 'v' (temp 4-component vector of float)
-0:32 add second child into first child (temp 4-component vector of float)
-0:32 'v' (temp 4-component vector of float)
-0:32 arc sine (global 4-component vector of float)
-0:32 'v' (temp 4-component vector of float)
-0:33 add second child into first child (temp 4-component vector of float)
-0:33 'v' (temp 4-component vector of float)
-0:33 arc cosine (global 4-component vector of float)
-0:33 'v' (temp 4-component vector of float)
-0:35 add second child into first child (temp 4-component vector of float)
-0:35 'v' (temp 4-component vector of float)
-0:35 arc tangent (global 4-component vector of float)
-0:35 'v' (temp 4-component vector of float)
-0:36 add second child into first child (temp 4-component vector of float)
-0:36 'v' (temp 4-component vector of float)
-0:36 hyp. sine (global 4-component vector of float)
-0:36 'v' (temp 4-component vector of float)
-0:37 add second child into first child (temp 4-component vector of float)
-0:37 'v' (temp 4-component vector of float)
-0:37 hyp. cosine (global 4-component vector of float)
-0:37 'v' (temp 4-component vector of float)
-0:38 add second child into first child (temp 4-component vector of float)
-0:38 'v' (temp 4-component vector of float)
-0:38 hyp. tangent (global 4-component vector of float)
-0:38 'v' (temp 4-component vector of float)
-0:39 add second child into first child (temp 4-component vector of float)
-0:39 'v' (temp 4-component vector of float)
-0:39 arc hyp. sine (global 4-component vector of float)
-0:39 'v' (temp 4-component vector of float)
-0:40 add second child into first child (temp 4-component vector of float)
-0:40 'v' (temp 4-component vector of float)
-0:40 arc hyp. cosine (global 4-component vector of float)
-0:40 'v' (temp 4-component vector of float)
-0:41 add second child into first child (temp 4-component vector of float)
-0:41 'v' (temp 4-component vector of float)
-0:41 arc hyp. tangent (global 4-component vector of float)
-0:41 'v' (temp 4-component vector of float)
-0:43 add second child into first child (temp 4-component vector of float)
-0:43 'v' (temp 4-component vector of float)
-0:43 pow (global 4-component vector of float)
-0:43 'v' (temp 4-component vector of float)
-0:43 'v' (temp 4-component vector of float)
-0:44 add second child into first child (temp 4-component vector of float)
-0:44 'v' (temp 4-component vector of float)
-0:44 exp (global 4-component vector of float)
-0:44 'v' (temp 4-component vector of float)
-0:45 add second child into first child (temp 4-component vector of float)
-0:45 'v' (temp 4-component vector of float)
-0:45 log (global 4-component vector of float)
-0:45 'v' (temp 4-component vector of float)
-0:46 add second child into first child (temp 4-component vector of float)
-0:46 'v' (temp 4-component vector of float)
-0:46 exp2 (global 4-component vector of float)
-0:46 'v' (temp 4-component vector of float)
-0:47 add second child into first child (temp 4-component vector of float)
-0:47 'v' (temp 4-component vector of float)
-0:47 log2 (global 4-component vector of float)
-0:47 'v' (temp 4-component vector of float)
-0:48 add second child into first child (temp 4-component vector of float)
-0:48 'v' (temp 4-component vector of float)
-0:48 sqrt (global 4-component vector of float)
-0:48 'v' (temp 4-component vector of float)
-0:49 add second child into first child (temp 4-component vector of float)
-0:49 'v' (temp 4-component vector of float)
-0:49 inverse sqrt (global 4-component vector of float)
-0:49 'v' (temp 4-component vector of float)
-0:50 add second child into first child (temp 4-component vector of float)
-0:50 'v' (temp 4-component vector of float)
-0:50 Absolute value (global 4-component vector of float)
-0:50 'v' (temp 4-component vector of float)
-0:51 add second child into first child (temp 4-component vector of float)
-0:51 'v' (temp 4-component vector of float)
-0:51 Sign (global 4-component vector of float)
-0:51 'v' (temp 4-component vector of float)
-0:52 add second child into first child (temp 4-component vector of float)
-0:52 'v' (temp 4-component vector of float)
-0:52 Floor (global 4-component vector of float)
-0:52 'v' (temp 4-component vector of float)
-0:60 add second child into first child (temp 4-component vector of float)
-0:60 'v' (temp 4-component vector of float)
-0:60 Ceiling (global 4-component vector of float)
-0:60 'v' (temp 4-component vector of float)
-0:61 add second child into first child (temp 4-component vector of float)
-0:61 'v' (temp 4-component vector of float)
-0:61 Fraction (global 4-component vector of float)
-0:61 'v' (temp 4-component vector of float)
-0:62 add second child into first child (temp 4-component vector of float)
-0:62 'v' (temp 4-component vector of float)
-0:62 mod (global 4-component vector of float)
-0:62 'v' (temp 4-component vector of float)
-0:62 'v' (temp 4-component vector of float)
-0:63 add second child into first child (temp 4-component vector of float)
-0:63 'v' (temp 4-component vector of float)
-0:63 mod (global 4-component vector of float)
-0:63 'v' (temp 4-component vector of float)
-0:63 direct index (temp float)
-0:63 'v' (temp 4-component vector of float)
-0:63 Constant:
-0:63 0 (const int)
-0:69 add second child into first child (temp 4-component vector of float)
-0:69 'v' (temp 4-component vector of float)
-0:69 min (global 4-component vector of float)
-0:69 'v' (temp 4-component vector of float)
-0:69 'uv4' (uniform 4-component vector of float)
-0:70 add second child into first child (temp 4-component vector of float)
-0:70 'v' (temp 4-component vector of float)
-0:70 max (global 4-component vector of float)
-0:70 'v' (temp 4-component vector of float)
-0:70 'uv4' (uniform 4-component vector of float)
-0:71 add second child into first child (temp 4-component vector of float)
-0:71 'v' (temp 4-component vector of float)
-0:71 clamp (global 4-component vector of float)
-0:71 'v' (temp 4-component vector of float)
-0:71 'uv4' (uniform 4-component vector of float)
-0:71 'uv4' (uniform 4-component vector of float)
-0:72 add second child into first child (temp 4-component vector of float)
-0:72 'v' (temp 4-component vector of float)
-0:72 mix (global 4-component vector of float)
-0:72 'v' (temp 4-component vector of float)
-0:72 'v' (temp 4-component vector of float)
-0:72 'v' (temp 4-component vector of float)
-0:86 add second child into first child (temp 4-component vector of float)
-0:86 'v' (temp 4-component vector of float)
-0:86 step (global 4-component vector of float)
-0:86 'v' (temp 4-component vector of float)
-0:86 'v' (temp 4-component vector of float)
-0:87 add second child into first child (temp 4-component vector of float)
-0:87 'v' (temp 4-component vector of float)
-0:87 smoothstep (global 4-component vector of float)
-0:87 'v' (temp 4-component vector of float)
-0:87 'v' (temp 4-component vector of float)
-0:87 'v' (temp 4-component vector of float)
-0:88 add second child into first child (temp 4-component vector of float)
-0:88 'v' (temp 4-component vector of float)
-0:88 step (global 4-component vector of float)
-0:88 'uf' (uniform float)
-0:88 'v' (temp 4-component vector of float)
-0:89 add second child into first child (temp 4-component vector of float)
-0:89 'v' (temp 4-component vector of float)
-0:89 smoothstep (global 4-component vector of float)
-0:89 'uf' (uniform float)
-0:89 'uf' (uniform float)
-0:89 'v' (temp 4-component vector of float)
-0:90 add second child into first child (temp 4-component vector of float)
-0:90 'v' (temp 4-component vector of float)
-0:90 normalize (global 4-component vector of float)
-0:90 'v' (temp 4-component vector of float)
-0:91 add second child into first child (temp 4-component vector of float)
-0:91 'v' (temp 4-component vector of float)
-0:91 face-forward (global 4-component vector of float)
-0:91 'v' (temp 4-component vector of float)
-0:91 'v' (temp 4-component vector of float)
-0:91 'v' (temp 4-component vector of float)
-0:92 add second child into first child (temp 4-component vector of float)
-0:92 'v' (temp 4-component vector of float)
-0:92 reflect (global 4-component vector of float)
-0:92 'v' (temp 4-component vector of float)
-0:92 'v' (temp 4-component vector of float)
-0:93 add second child into first child (temp 4-component vector of float)
-0:93 'v' (temp 4-component vector of float)
-0:93 refract (global 4-component vector of float)
-0:93 'v' (temp 4-component vector of float)
-0:93 'v' (temp 4-component vector of float)
-0:93 'uf' (uniform float)
-0:94 add second child into first child (temp 4-component vector of float)
-0:94 'v' (temp 4-component vector of float)
-0:94 dPdx (global 4-component vector of float)
-0:94 'v' (temp 4-component vector of float)
-0:95 add second child into first child (temp 4-component vector of float)
-0:95 'v' (temp 4-component vector of float)
-0:95 dPdy (global 4-component vector of float)
-0:95 'v' (temp 4-component vector of float)
-0:96 add second child into first child (temp 4-component vector of float)
-0:96 'v' (temp 4-component vector of float)
-0:96 fwidth (global 4-component vector of float)
-0:96 'v' (temp 4-component vector of float)
-0:130 move second child to first child (temp bool)
-0:130 'b' (temp bool)
-0:130 any (global bool)
-0:130 Compare Less Than (global 4-component vector of bool)
-0:130 'v' (temp 4-component vector of float)
-0:130 'uv4' (uniform 4-component vector of float)
-0:131 move second child to first child (temp bool)
-0:131 'b' (temp bool)
-0:131 logical-and (temp bool)
-0:131 'b' (temp bool)
-0:131 any (global bool)
-0:131 Compare Less Than or Equal (global 4-component vector of bool)
-0:131 'v' (temp 4-component vector of float)
-0:131 'uv4' (uniform 4-component vector of float)
-0:132 move second child to first child (temp bool)
-0:132 'b' (temp bool)
-0:132 logical-and (temp bool)
-0:132 'b' (temp bool)
-0:132 any (global bool)
-0:132 Compare Greater Than (global 4-component vector of bool)
-0:132 'v' (temp 4-component vector of float)
-0:132 'uv4' (uniform 4-component vector of float)
-0:133 move second child to first child (temp bool)
-0:133 'b' (temp bool)
-0:133 logical-and (temp bool)
-0:133 'b' (temp bool)
-0:133 any (global bool)
-0:133 Compare Greater Than or Equal (global 4-component vector of bool)
-0:133 'v' (temp 4-component vector of float)
-0:133 'uv4' (uniform 4-component vector of float)
-0:134 move second child to first child (temp bool)
-0:134 'b' (temp bool)
-0:134 logical-and (temp bool)
-0:134 'b' (temp bool)
-0:134 any (global bool)
-0:134 Equal (global 4-component vector of bool)
-0:134 'ub41' (uniform 4-component vector of bool)
-0:134 'ub42' (uniform 4-component vector of bool)
-0:135 move second child to first child (temp bool)
-0:135 'b' (temp bool)
-0:135 logical-and (temp bool)
-0:135 'b' (temp bool)
-0:135 any (global bool)
-0:135 NotEqual (global 4-component vector of bool)
-0:135 'ub41' (uniform 4-component vector of bool)
-0:135 'ub42' (uniform 4-component vector of bool)
-0:136 move second child to first child (temp bool)
-0:136 'b' (temp bool)
-0:136 logical-and (temp bool)
-0:136 'b' (temp bool)
-0:136 any (global bool)
-0:136 'ub41' (uniform 4-component vector of bool)
-0:137 move second child to first child (temp bool)
-0:137 'b' (temp bool)
-0:137 logical-and (temp bool)
-0:137 'b' (temp bool)
-0:137 all (global bool)
-0:137 'ub41' (uniform 4-component vector of bool)
-0:138 move second child to first child (temp bool)
-0:138 'b' (temp bool)
-0:138 logical-and (temp bool)
-0:138 'b' (temp bool)
-0:138 any (global bool)
-0:138 Negate conditional (global 4-component vector of bool)
-0:138 'ub41' (uniform 4-component vector of bool)
-0:140 move second child to first child (temp int)
-0:140 'i' (temp int)
-0:140 divide (temp int)
-0:140 subtract (temp int)
-0:140 component-wise multiply (temp int)
-0:140 add (temp int)
-0:140 'i' (temp int)
-0:140 'ui' (uniform int)
-0:140 'i' (temp int)
-0:140 'ui' (uniform int)
-0:140 'i' (temp int)
-0:141 move second child to first child (temp int)
-0:141 'i' (temp int)
-0:141 mod (temp int)
-0:141 'i' (temp int)
-0:141 'ui' (uniform int)
-0:142 Test condition and select (temp void)
-0:142 Condition
-0:142 logical-or (temp bool)
-0:142 Compare Equal (temp bool)
-0:142 'i' (temp int)
-0:142 'ui' (uniform int)
-0:142 logical-xor (temp bool)
-0:142 logical-and (temp bool)
-0:142 Compare Not Equal (temp bool)
-0:142 'i' (temp int)
-0:142 'ui' (uniform int)
-0:142 Compare Equal (temp bool)
-0:142 'i' (temp int)
-0:142 'ui' (uniform int)
-0:142 Compare Not Equal (temp bool)
-0:142 'i' (temp int)
-0:142 Constant:
-0:142 2 (const int)
-0:142 true case
-0:143 Pre-Increment (temp int)
-0:143 'i' (temp int)
-0:145 move second child to first child (temp float)
-0:145 'f' (temp float)
-0:145 divide (temp float)
-0:145 subtract (temp float)
-0:145 component-wise multiply (temp float)
-0:145 add (temp float)
-0:145 'uf' (uniform float)
-0:145 'uf' (uniform float)
-0:145 'uf' (uniform float)
-0:145 'uf' (uniform float)
-0:145 'uf' (uniform float)
-0:147 add second child into first child (temp float)
-0:147 'f' (temp float)
-0:147 length (global float)
-0:147 'v' (temp 4-component vector of float)
-0:148 add second child into first child (temp float)
-0:148 'f' (temp float)
-0:148 distance (global float)
-0:148 'v' (temp 4-component vector of float)
-0:148 'v' (temp 4-component vector of float)
-0:149 add second child into first child (temp float)
-0:149 'f' (temp float)
-0:149 dot-product (global float)
-0:149 'v' (temp 4-component vector of float)
-0:149 'v' (temp 4-component vector of float)
-0:150 add second child into first child (temp float)
-0:150 'f' (temp float)
-0:150 dot-product (global float)
-0:150 'f' (temp float)
-0:150 'uf' (uniform float)
-0:151 add second child into first child (temp float)
-0:151 'f' (temp float)
-0:151 direct index (temp float)
-0:151 cross-product (global 3-component vector of float)
-0:151 vector swizzle (temp 3-component vector of float)
-0:151 'v' (temp 4-component vector of float)
-0:151 Sequence
-0:151 Constant:
-0:151 0 (const int)
-0:151 Constant:
-0:151 1 (const int)
-0:151 Constant:
-0:151 2 (const int)
-0:151 vector swizzle (temp 3-component vector of float)
-0:151 'v' (temp 4-component vector of float)
-0:151 Sequence
-0:151 Constant:
-0:151 0 (const int)
-0:151 Constant:
-0:151 1 (const int)
-0:151 Constant:
-0:151 2 (const int)
-0:151 Constant:
-0:151 0 (const int)
-0:153 Test condition and select (temp void)
-0:153 Condition
-0:153 logical-or (temp bool)
-0:153 Compare Equal (temp bool)
-0:153 'f' (temp float)
-0:153 'uf' (uniform float)
-0:153 logical-and (temp bool)
-0:153 Compare Not Equal (temp bool)
-0:153 'f' (temp float)
-0:153 'uf' (uniform float)
-0:153 Compare Not Equal (temp bool)
-0:153 'f' (temp float)
-0:153 Constant:
-0:153 2.000000
-0:153 true case
-0:154 Pre-Increment (temp float)
-0:154 'f' (temp float)
-0:156 and second child into first child (temp int)
-0:156 'i' (temp int)
-0:156 'ui' (uniform int)
-0:157 or second child into first child (temp int)
-0:157 'i' (temp int)
-0:157 Constant:
-0:157 66 (const int)
-0:158 exclusive or second child into first child (temp int)
-0:158 'i' (temp int)
-0:158 'ui' (uniform int)
-0:159 mod second child into first child (temp int)
-0:159 'i' (temp int)
-0:159 Constant:
-0:159 17 (const int)
-0:160 right shift second child into first child (temp int)
-0:160 'i' (temp int)
-0:160 Constant:
-0:160 2 (const int)
-0:161 left shift second child into first child (temp int)
-0:161 'i' (temp int)
-0:161 'ui' (uniform int)
-0:162 move second child to first child (temp int)
-0:162 'i' (temp int)
-0:162 Bitwise not (temp int)
-0:162 'i' (temp int)
-0:163 move second child to first child (temp bool)
-0:163 'b' (temp bool)
-0:163 Negate conditional (temp bool)
-0:163 'b' (temp bool)
-0:165 move second child to first child (temp 4-component vector of float)
-0:165 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:165 Test condition and select (temp 4-component vector of float)
-0:165 Condition
-0:165 'b' (temp bool)
-0:165 true case
-0:165 add (temp 4-component vector of float)
-0:165 add (temp 4-component vector of float)
-0:165 Construct vec4 (temp 4-component vector of float)
-0:165 Convert int to float (temp float)
-0:165 'i' (temp int)
-0:165 Construct vec4 (temp 4-component vector of float)
-0:165 'f' (temp float)
-0:165 'v' (temp 4-component vector of float)
-0:165 false case
-0:165 'v' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'uiv4' (uniform 4-component vector of int)
-0:? 'uv4' (uniform 4-component vector of float)
-0:? 'ub' (uniform bool)
-0:? 'ub41' (uniform 4-component vector of bool)
-0:? 'ub42' (uniform 4-component vector of bool)
-0:? 'uf' (uniform float)
-0:? 'ui' (uniform int)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:15 Function Definition: main( (global void)
-0:15 Function Parameters:
-0:? Sequence
-0:27 move second child to first child (temp 4-component vector of float)
-0:27 'v' (temp 4-component vector of float)
-0:27 radians (global 4-component vector of float)
-0:27 'uv4' (uniform 4-component vector of float)
-0:28 add second child into first child (temp 4-component vector of float)
-0:28 'v' (temp 4-component vector of float)
-0:28 degrees (global 4-component vector of float)
-0:28 'v' (temp 4-component vector of float)
-0:29 add second child into first child (temp 4-component vector of float)
-0:29 'v' (temp 4-component vector of float)
-0:29 Comma (temp 4-component vector of float)
-0:29 move second child to first child (temp int)
-0:29 'i' (temp int)
-0:29 component-wise multiply (temp int)
-0:29 'ui' (uniform int)
-0:29 'ui' (uniform int)
-0:29 sine (global 4-component vector of float)
-0:29 'v' (temp 4-component vector of float)
-0:30 add second child into first child (temp 4-component vector of float)
-0:30 'v' (temp 4-component vector of float)
-0:30 cosine (global 4-component vector of float)
-0:30 'v' (temp 4-component vector of float)
-0:31 add second child into first child (temp 4-component vector of float)
-0:31 'v' (temp 4-component vector of float)
-0:31 tangent (global 4-component vector of float)
-0:31 'v' (temp 4-component vector of float)
-0:32 add second child into first child (temp 4-component vector of float)
-0:32 'v' (temp 4-component vector of float)
-0:32 arc sine (global 4-component vector of float)
-0:32 'v' (temp 4-component vector of float)
-0:33 add second child into first child (temp 4-component vector of float)
-0:33 'v' (temp 4-component vector of float)
-0:33 arc cosine (global 4-component vector of float)
-0:33 'v' (temp 4-component vector of float)
-0:35 add second child into first child (temp 4-component vector of float)
-0:35 'v' (temp 4-component vector of float)
-0:35 arc tangent (global 4-component vector of float)
-0:35 'v' (temp 4-component vector of float)
-0:36 add second child into first child (temp 4-component vector of float)
-0:36 'v' (temp 4-component vector of float)
-0:36 hyp. sine (global 4-component vector of float)
-0:36 'v' (temp 4-component vector of float)
-0:37 add second child into first child (temp 4-component vector of float)
-0:37 'v' (temp 4-component vector of float)
-0:37 hyp. cosine (global 4-component vector of float)
-0:37 'v' (temp 4-component vector of float)
-0:38 add second child into first child (temp 4-component vector of float)
-0:38 'v' (temp 4-component vector of float)
-0:38 hyp. tangent (global 4-component vector of float)
-0:38 'v' (temp 4-component vector of float)
-0:39 add second child into first child (temp 4-component vector of float)
-0:39 'v' (temp 4-component vector of float)
-0:39 arc hyp. sine (global 4-component vector of float)
-0:39 'v' (temp 4-component vector of float)
-0:40 add second child into first child (temp 4-component vector of float)
-0:40 'v' (temp 4-component vector of float)
-0:40 arc hyp. cosine (global 4-component vector of float)
-0:40 'v' (temp 4-component vector of float)
-0:41 add second child into first child (temp 4-component vector of float)
-0:41 'v' (temp 4-component vector of float)
-0:41 arc hyp. tangent (global 4-component vector of float)
-0:41 'v' (temp 4-component vector of float)
-0:43 add second child into first child (temp 4-component vector of float)
-0:43 'v' (temp 4-component vector of float)
-0:43 pow (global 4-component vector of float)
-0:43 'v' (temp 4-component vector of float)
-0:43 'v' (temp 4-component vector of float)
-0:44 add second child into first child (temp 4-component vector of float)
-0:44 'v' (temp 4-component vector of float)
-0:44 exp (global 4-component vector of float)
-0:44 'v' (temp 4-component vector of float)
-0:45 add second child into first child (temp 4-component vector of float)
-0:45 'v' (temp 4-component vector of float)
-0:45 log (global 4-component vector of float)
-0:45 'v' (temp 4-component vector of float)
-0:46 add second child into first child (temp 4-component vector of float)
-0:46 'v' (temp 4-component vector of float)
-0:46 exp2 (global 4-component vector of float)
-0:46 'v' (temp 4-component vector of float)
-0:47 add second child into first child (temp 4-component vector of float)
-0:47 'v' (temp 4-component vector of float)
-0:47 log2 (global 4-component vector of float)
-0:47 'v' (temp 4-component vector of float)
-0:48 add second child into first child (temp 4-component vector of float)
-0:48 'v' (temp 4-component vector of float)
-0:48 sqrt (global 4-component vector of float)
-0:48 'v' (temp 4-component vector of float)
-0:49 add second child into first child (temp 4-component vector of float)
-0:49 'v' (temp 4-component vector of float)
-0:49 inverse sqrt (global 4-component vector of float)
-0:49 'v' (temp 4-component vector of float)
-0:50 add second child into first child (temp 4-component vector of float)
-0:50 'v' (temp 4-component vector of float)
-0:50 Absolute value (global 4-component vector of float)
-0:50 'v' (temp 4-component vector of float)
-0:51 add second child into first child (temp 4-component vector of float)
-0:51 'v' (temp 4-component vector of float)
-0:51 Sign (global 4-component vector of float)
-0:51 'v' (temp 4-component vector of float)
-0:52 add second child into first child (temp 4-component vector of float)
-0:52 'v' (temp 4-component vector of float)
-0:52 Floor (global 4-component vector of float)
-0:52 'v' (temp 4-component vector of float)
-0:60 add second child into first child (temp 4-component vector of float)
-0:60 'v' (temp 4-component vector of float)
-0:60 Ceiling (global 4-component vector of float)
-0:60 'v' (temp 4-component vector of float)
-0:61 add second child into first child (temp 4-component vector of float)
-0:61 'v' (temp 4-component vector of float)
-0:61 Fraction (global 4-component vector of float)
-0:61 'v' (temp 4-component vector of float)
-0:62 add second child into first child (temp 4-component vector of float)
-0:62 'v' (temp 4-component vector of float)
-0:62 mod (global 4-component vector of float)
-0:62 'v' (temp 4-component vector of float)
-0:62 'v' (temp 4-component vector of float)
-0:63 add second child into first child (temp 4-component vector of float)
-0:63 'v' (temp 4-component vector of float)
-0:63 mod (global 4-component vector of float)
-0:63 'v' (temp 4-component vector of float)
-0:63 direct index (temp float)
-0:63 'v' (temp 4-component vector of float)
-0:63 Constant:
-0:63 0 (const int)
-0:69 add second child into first child (temp 4-component vector of float)
-0:69 'v' (temp 4-component vector of float)
-0:69 min (global 4-component vector of float)
-0:69 'v' (temp 4-component vector of float)
-0:69 'uv4' (uniform 4-component vector of float)
-0:70 add second child into first child (temp 4-component vector of float)
-0:70 'v' (temp 4-component vector of float)
-0:70 max (global 4-component vector of float)
-0:70 'v' (temp 4-component vector of float)
-0:70 'uv4' (uniform 4-component vector of float)
-0:71 add second child into first child (temp 4-component vector of float)
-0:71 'v' (temp 4-component vector of float)
-0:71 clamp (global 4-component vector of float)
-0:71 'v' (temp 4-component vector of float)
-0:71 'uv4' (uniform 4-component vector of float)
-0:71 'uv4' (uniform 4-component vector of float)
-0:72 add second child into first child (temp 4-component vector of float)
-0:72 'v' (temp 4-component vector of float)
-0:72 mix (global 4-component vector of float)
-0:72 'v' (temp 4-component vector of float)
-0:72 'v' (temp 4-component vector of float)
-0:72 'v' (temp 4-component vector of float)
-0:86 add second child into first child (temp 4-component vector of float)
-0:86 'v' (temp 4-component vector of float)
-0:86 step (global 4-component vector of float)
-0:86 'v' (temp 4-component vector of float)
-0:86 'v' (temp 4-component vector of float)
-0:87 add second child into first child (temp 4-component vector of float)
-0:87 'v' (temp 4-component vector of float)
-0:87 smoothstep (global 4-component vector of float)
-0:87 'v' (temp 4-component vector of float)
-0:87 'v' (temp 4-component vector of float)
-0:87 'v' (temp 4-component vector of float)
-0:88 add second child into first child (temp 4-component vector of float)
-0:88 'v' (temp 4-component vector of float)
-0:88 step (global 4-component vector of float)
-0:88 'uf' (uniform float)
-0:88 'v' (temp 4-component vector of float)
-0:89 add second child into first child (temp 4-component vector of float)
-0:89 'v' (temp 4-component vector of float)
-0:89 smoothstep (global 4-component vector of float)
-0:89 'uf' (uniform float)
-0:89 'uf' (uniform float)
-0:89 'v' (temp 4-component vector of float)
-0:90 add second child into first child (temp 4-component vector of float)
-0:90 'v' (temp 4-component vector of float)
-0:90 normalize (global 4-component vector of float)
-0:90 'v' (temp 4-component vector of float)
-0:91 add second child into first child (temp 4-component vector of float)
-0:91 'v' (temp 4-component vector of float)
-0:91 face-forward (global 4-component vector of float)
-0:91 'v' (temp 4-component vector of float)
-0:91 'v' (temp 4-component vector of float)
-0:91 'v' (temp 4-component vector of float)
-0:92 add second child into first child (temp 4-component vector of float)
-0:92 'v' (temp 4-component vector of float)
-0:92 reflect (global 4-component vector of float)
-0:92 'v' (temp 4-component vector of float)
-0:92 'v' (temp 4-component vector of float)
-0:93 add second child into first child (temp 4-component vector of float)
-0:93 'v' (temp 4-component vector of float)
-0:93 refract (global 4-component vector of float)
-0:93 'v' (temp 4-component vector of float)
-0:93 'v' (temp 4-component vector of float)
-0:93 'uf' (uniform float)
-0:94 add second child into first child (temp 4-component vector of float)
-0:94 'v' (temp 4-component vector of float)
-0:94 dPdx (global 4-component vector of float)
-0:94 'v' (temp 4-component vector of float)
-0:95 add second child into first child (temp 4-component vector of float)
-0:95 'v' (temp 4-component vector of float)
-0:95 dPdy (global 4-component vector of float)
-0:95 'v' (temp 4-component vector of float)
-0:96 add second child into first child (temp 4-component vector of float)
-0:96 'v' (temp 4-component vector of float)
-0:96 fwidth (global 4-component vector of float)
-0:96 'v' (temp 4-component vector of float)
-0:130 move second child to first child (temp bool)
-0:130 'b' (temp bool)
-0:130 any (global bool)
-0:130 Compare Less Than (global 4-component vector of bool)
-0:130 'v' (temp 4-component vector of float)
-0:130 'uv4' (uniform 4-component vector of float)
-0:131 move second child to first child (temp bool)
-0:131 'b' (temp bool)
-0:131 logical-and (temp bool)
-0:131 'b' (temp bool)
-0:131 any (global bool)
-0:131 Compare Less Than or Equal (global 4-component vector of bool)
-0:131 'v' (temp 4-component vector of float)
-0:131 'uv4' (uniform 4-component vector of float)
-0:132 move second child to first child (temp bool)
-0:132 'b' (temp bool)
-0:132 logical-and (temp bool)
-0:132 'b' (temp bool)
-0:132 any (global bool)
-0:132 Compare Greater Than (global 4-component vector of bool)
-0:132 'v' (temp 4-component vector of float)
-0:132 'uv4' (uniform 4-component vector of float)
-0:133 move second child to first child (temp bool)
-0:133 'b' (temp bool)
-0:133 logical-and (temp bool)
-0:133 'b' (temp bool)
-0:133 any (global bool)
-0:133 Compare Greater Than or Equal (global 4-component vector of bool)
-0:133 'v' (temp 4-component vector of float)
-0:133 'uv4' (uniform 4-component vector of float)
-0:134 move second child to first child (temp bool)
-0:134 'b' (temp bool)
-0:134 logical-and (temp bool)
-0:134 'b' (temp bool)
-0:134 any (global bool)
-0:134 Equal (global 4-component vector of bool)
-0:134 'ub41' (uniform 4-component vector of bool)
-0:134 'ub42' (uniform 4-component vector of bool)
-0:135 move second child to first child (temp bool)
-0:135 'b' (temp bool)
-0:135 logical-and (temp bool)
-0:135 'b' (temp bool)
-0:135 any (global bool)
-0:135 NotEqual (global 4-component vector of bool)
-0:135 'ub41' (uniform 4-component vector of bool)
-0:135 'ub42' (uniform 4-component vector of bool)
-0:136 move second child to first child (temp bool)
-0:136 'b' (temp bool)
-0:136 logical-and (temp bool)
-0:136 'b' (temp bool)
-0:136 any (global bool)
-0:136 'ub41' (uniform 4-component vector of bool)
-0:137 move second child to first child (temp bool)
-0:137 'b' (temp bool)
-0:137 logical-and (temp bool)
-0:137 'b' (temp bool)
-0:137 all (global bool)
-0:137 'ub41' (uniform 4-component vector of bool)
-0:138 move second child to first child (temp bool)
-0:138 'b' (temp bool)
-0:138 logical-and (temp bool)
-0:138 'b' (temp bool)
-0:138 any (global bool)
-0:138 Negate conditional (global 4-component vector of bool)
-0:138 'ub41' (uniform 4-component vector of bool)
-0:140 move second child to first child (temp int)
-0:140 'i' (temp int)
-0:140 divide (temp int)
-0:140 subtract (temp int)
-0:140 component-wise multiply (temp int)
-0:140 add (temp int)
-0:140 'i' (temp int)
-0:140 'ui' (uniform int)
-0:140 'i' (temp int)
-0:140 'ui' (uniform int)
-0:140 'i' (temp int)
-0:141 move second child to first child (temp int)
-0:141 'i' (temp int)
-0:141 mod (temp int)
-0:141 'i' (temp int)
-0:141 'ui' (uniform int)
-0:142 Test condition and select (temp void)
-0:142 Condition
-0:142 logical-or (temp bool)
-0:142 Compare Equal (temp bool)
-0:142 'i' (temp int)
-0:142 'ui' (uniform int)
-0:142 logical-xor (temp bool)
-0:142 logical-and (temp bool)
-0:142 Compare Not Equal (temp bool)
-0:142 'i' (temp int)
-0:142 'ui' (uniform int)
-0:142 Compare Equal (temp bool)
-0:142 'i' (temp int)
-0:142 'ui' (uniform int)
-0:142 Compare Not Equal (temp bool)
-0:142 'i' (temp int)
-0:142 Constant:
-0:142 2 (const int)
-0:142 true case
-0:143 Pre-Increment (temp int)
-0:143 'i' (temp int)
-0:145 move second child to first child (temp float)
-0:145 'f' (temp float)
-0:145 divide (temp float)
-0:145 subtract (temp float)
-0:145 component-wise multiply (temp float)
-0:145 add (temp float)
-0:145 'uf' (uniform float)
-0:145 'uf' (uniform float)
-0:145 'uf' (uniform float)
-0:145 'uf' (uniform float)
-0:145 'uf' (uniform float)
-0:147 add second child into first child (temp float)
-0:147 'f' (temp float)
-0:147 length (global float)
-0:147 'v' (temp 4-component vector of float)
-0:148 add second child into first child (temp float)
-0:148 'f' (temp float)
-0:148 distance (global float)
-0:148 'v' (temp 4-component vector of float)
-0:148 'v' (temp 4-component vector of float)
-0:149 add second child into first child (temp float)
-0:149 'f' (temp float)
-0:149 dot-product (global float)
-0:149 'v' (temp 4-component vector of float)
-0:149 'v' (temp 4-component vector of float)
-0:150 add second child into first child (temp float)
-0:150 'f' (temp float)
-0:150 dot-product (global float)
-0:150 'f' (temp float)
-0:150 'uf' (uniform float)
-0:151 add second child into first child (temp float)
-0:151 'f' (temp float)
-0:151 direct index (temp float)
-0:151 cross-product (global 3-component vector of float)
-0:151 vector swizzle (temp 3-component vector of float)
-0:151 'v' (temp 4-component vector of float)
-0:151 Sequence
-0:151 Constant:
-0:151 0 (const int)
-0:151 Constant:
-0:151 1 (const int)
-0:151 Constant:
-0:151 2 (const int)
-0:151 vector swizzle (temp 3-component vector of float)
-0:151 'v' (temp 4-component vector of float)
-0:151 Sequence
-0:151 Constant:
-0:151 0 (const int)
-0:151 Constant:
-0:151 1 (const int)
-0:151 Constant:
-0:151 2 (const int)
-0:151 Constant:
-0:151 0 (const int)
-0:153 Test condition and select (temp void)
-0:153 Condition
-0:153 logical-or (temp bool)
-0:153 Compare Equal (temp bool)
-0:153 'f' (temp float)
-0:153 'uf' (uniform float)
-0:153 logical-and (temp bool)
-0:153 Compare Not Equal (temp bool)
-0:153 'f' (temp float)
-0:153 'uf' (uniform float)
-0:153 Compare Not Equal (temp bool)
-0:153 'f' (temp float)
-0:153 Constant:
-0:153 2.000000
-0:153 true case
-0:154 Pre-Increment (temp float)
-0:154 'f' (temp float)
-0:156 and second child into first child (temp int)
-0:156 'i' (temp int)
-0:156 'ui' (uniform int)
-0:157 or second child into first child (temp int)
-0:157 'i' (temp int)
-0:157 Constant:
-0:157 66 (const int)
-0:158 exclusive or second child into first child (temp int)
-0:158 'i' (temp int)
-0:158 'ui' (uniform int)
-0:159 mod second child into first child (temp int)
-0:159 'i' (temp int)
-0:159 Constant:
-0:159 17 (const int)
-0:160 right shift second child into first child (temp int)
-0:160 'i' (temp int)
-0:160 Constant:
-0:160 2 (const int)
-0:161 left shift second child into first child (temp int)
-0:161 'i' (temp int)
-0:161 'ui' (uniform int)
-0:162 move second child to first child (temp int)
-0:162 'i' (temp int)
-0:162 Bitwise not (temp int)
-0:162 'i' (temp int)
-0:163 move second child to first child (temp bool)
-0:163 'b' (temp bool)
-0:163 Negate conditional (temp bool)
-0:163 'b' (temp bool)
-0:165 move second child to first child (temp 4-component vector of float)
-0:165 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:165 Test condition and select (temp 4-component vector of float)
-0:165 Condition
-0:165 'b' (temp bool)
-0:165 true case
-0:165 add (temp 4-component vector of float)
-0:165 add (temp 4-component vector of float)
-0:165 Construct vec4 (temp 4-component vector of float)
-0:165 Convert int to float (temp float)
-0:165 'i' (temp int)
-0:165 Construct vec4 (temp 4-component vector of float)
-0:165 'f' (temp float)
-0:165 'v' (temp 4-component vector of float)
-0:165 false case
-0:165 'v' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'uiv4' (uniform 4-component vector of int)
-0:? 'uv4' (uniform 4-component vector of float)
-0:? 'ub' (uniform bool)
-0:? 'ub41' (uniform 4-component vector of bool)
-0:? 'ub42' (uniform 4-component vector of bool)
-0:? 'uf' (uniform float)
-0:? 'ui' (uniform int)
-
+Operations.frag
+Shader version: 130
+0:? Sequence
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:? Sequence
+0:27 move second child to first child (temp 4-component vector of float)
+0:27 'v' (temp 4-component vector of float)
+0:27 radians (global 4-component vector of float)
+0:27 'uv4' (uniform 4-component vector of float)
+0:28 add second child into first child (temp 4-component vector of float)
+0:28 'v' (temp 4-component vector of float)
+0:28 degrees (global 4-component vector of float)
+0:28 'v' (temp 4-component vector of float)
+0:29 add second child into first child (temp 4-component vector of float)
+0:29 'v' (temp 4-component vector of float)
+0:29 Comma (temp 4-component vector of float)
+0:29 move second child to first child (temp int)
+0:29 'i' (temp int)
+0:29 component-wise multiply (temp int)
+0:29 'ui' (uniform int)
+0:29 'ui' (uniform int)
+0:29 sine (global 4-component vector of float)
+0:29 'v' (temp 4-component vector of float)
+0:30 add second child into first child (temp 4-component vector of float)
+0:30 'v' (temp 4-component vector of float)
+0:30 cosine (global 4-component vector of float)
+0:30 'v' (temp 4-component vector of float)
+0:31 add second child into first child (temp 4-component vector of float)
+0:31 'v' (temp 4-component vector of float)
+0:31 tangent (global 4-component vector of float)
+0:31 'v' (temp 4-component vector of float)
+0:32 add second child into first child (temp 4-component vector of float)
+0:32 'v' (temp 4-component vector of float)
+0:32 arc sine (global 4-component vector of float)
+0:32 'v' (temp 4-component vector of float)
+0:33 add second child into first child (temp 4-component vector of float)
+0:33 'v' (temp 4-component vector of float)
+0:33 arc cosine (global 4-component vector of float)
+0:33 'v' (temp 4-component vector of float)
+0:35 add second child into first child (temp 4-component vector of float)
+0:35 'v' (temp 4-component vector of float)
+0:35 arc tangent (global 4-component vector of float)
+0:35 'v' (temp 4-component vector of float)
+0:36 add second child into first child (temp 4-component vector of float)
+0:36 'v' (temp 4-component vector of float)
+0:36 hyp. sine (global 4-component vector of float)
+0:36 'v' (temp 4-component vector of float)
+0:37 add second child into first child (temp 4-component vector of float)
+0:37 'v' (temp 4-component vector of float)
+0:37 hyp. cosine (global 4-component vector of float)
+0:37 'v' (temp 4-component vector of float)
+0:38 add second child into first child (temp 4-component vector of float)
+0:38 'v' (temp 4-component vector of float)
+0:38 hyp. tangent (global 4-component vector of float)
+0:38 'v' (temp 4-component vector of float)
+0:39 add second child into first child (temp 4-component vector of float)
+0:39 'v' (temp 4-component vector of float)
+0:39 arc hyp. sine (global 4-component vector of float)
+0:39 'v' (temp 4-component vector of float)
+0:40 add second child into first child (temp 4-component vector of float)
+0:40 'v' (temp 4-component vector of float)
+0:40 arc hyp. cosine (global 4-component vector of float)
+0:40 'v' (temp 4-component vector of float)
+0:41 add second child into first child (temp 4-component vector of float)
+0:41 'v' (temp 4-component vector of float)
+0:41 arc hyp. tangent (global 4-component vector of float)
+0:41 'v' (temp 4-component vector of float)
+0:43 add second child into first child (temp 4-component vector of float)
+0:43 'v' (temp 4-component vector of float)
+0:43 pow (global 4-component vector of float)
+0:43 'v' (temp 4-component vector of float)
+0:43 'v' (temp 4-component vector of float)
+0:44 add second child into first child (temp 4-component vector of float)
+0:44 'v' (temp 4-component vector of float)
+0:44 exp (global 4-component vector of float)
+0:44 'v' (temp 4-component vector of float)
+0:45 add second child into first child (temp 4-component vector of float)
+0:45 'v' (temp 4-component vector of float)
+0:45 log (global 4-component vector of float)
+0:45 'v' (temp 4-component vector of float)
+0:46 add second child into first child (temp 4-component vector of float)
+0:46 'v' (temp 4-component vector of float)
+0:46 exp2 (global 4-component vector of float)
+0:46 'v' (temp 4-component vector of float)
+0:47 add second child into first child (temp 4-component vector of float)
+0:47 'v' (temp 4-component vector of float)
+0:47 log2 (global 4-component vector of float)
+0:47 'v' (temp 4-component vector of float)
+0:48 add second child into first child (temp 4-component vector of float)
+0:48 'v' (temp 4-component vector of float)
+0:48 sqrt (global 4-component vector of float)
+0:48 'v' (temp 4-component vector of float)
+0:49 add second child into first child (temp 4-component vector of float)
+0:49 'v' (temp 4-component vector of float)
+0:49 inverse sqrt (global 4-component vector of float)
+0:49 'v' (temp 4-component vector of float)
+0:50 add second child into first child (temp 4-component vector of float)
+0:50 'v' (temp 4-component vector of float)
+0:50 Absolute value (global 4-component vector of float)
+0:50 'v' (temp 4-component vector of float)
+0:51 add second child into first child (temp 4-component vector of float)
+0:51 'v' (temp 4-component vector of float)
+0:51 Sign (global 4-component vector of float)
+0:51 'v' (temp 4-component vector of float)
+0:52 add second child into first child (temp 4-component vector of float)
+0:52 'v' (temp 4-component vector of float)
+0:52 Floor (global 4-component vector of float)
+0:52 'v' (temp 4-component vector of float)
+0:60 add second child into first child (temp 4-component vector of float)
+0:60 'v' (temp 4-component vector of float)
+0:60 Ceiling (global 4-component vector of float)
+0:60 'v' (temp 4-component vector of float)
+0:61 add second child into first child (temp 4-component vector of float)
+0:61 'v' (temp 4-component vector of float)
+0:61 Fraction (global 4-component vector of float)
+0:61 'v' (temp 4-component vector of float)
+0:62 add second child into first child (temp 4-component vector of float)
+0:62 'v' (temp 4-component vector of float)
+0:62 mod (global 4-component vector of float)
+0:62 'v' (temp 4-component vector of float)
+0:62 'v' (temp 4-component vector of float)
+0:63 add second child into first child (temp 4-component vector of float)
+0:63 'v' (temp 4-component vector of float)
+0:63 mod (global 4-component vector of float)
+0:63 'v' (temp 4-component vector of float)
+0:63 direct index (temp float)
+0:63 'v' (temp 4-component vector of float)
+0:63 Constant:
+0:63 0 (const int)
+0:69 add second child into first child (temp 4-component vector of float)
+0:69 'v' (temp 4-component vector of float)
+0:69 min (global 4-component vector of float)
+0:69 'v' (temp 4-component vector of float)
+0:69 'uv4' (uniform 4-component vector of float)
+0:70 add second child into first child (temp 4-component vector of float)
+0:70 'v' (temp 4-component vector of float)
+0:70 max (global 4-component vector of float)
+0:70 'v' (temp 4-component vector of float)
+0:70 'uv4' (uniform 4-component vector of float)
+0:71 add second child into first child (temp 4-component vector of float)
+0:71 'v' (temp 4-component vector of float)
+0:71 clamp (global 4-component vector of float)
+0:71 'v' (temp 4-component vector of float)
+0:71 'uv4' (uniform 4-component vector of float)
+0:71 'uv4' (uniform 4-component vector of float)
+0:72 add second child into first child (temp 4-component vector of float)
+0:72 'v' (temp 4-component vector of float)
+0:72 mix (global 4-component vector of float)
+0:72 'v' (temp 4-component vector of float)
+0:72 'v' (temp 4-component vector of float)
+0:72 'v' (temp 4-component vector of float)
+0:86 add second child into first child (temp 4-component vector of float)
+0:86 'v' (temp 4-component vector of float)
+0:86 step (global 4-component vector of float)
+0:86 'v' (temp 4-component vector of float)
+0:86 'v' (temp 4-component vector of float)
+0:87 add second child into first child (temp 4-component vector of float)
+0:87 'v' (temp 4-component vector of float)
+0:87 smoothstep (global 4-component vector of float)
+0:87 'v' (temp 4-component vector of float)
+0:87 'v' (temp 4-component vector of float)
+0:87 'v' (temp 4-component vector of float)
+0:88 add second child into first child (temp 4-component vector of float)
+0:88 'v' (temp 4-component vector of float)
+0:88 step (global 4-component vector of float)
+0:88 'uf' (uniform float)
+0:88 'v' (temp 4-component vector of float)
+0:89 add second child into first child (temp 4-component vector of float)
+0:89 'v' (temp 4-component vector of float)
+0:89 smoothstep (global 4-component vector of float)
+0:89 'uf' (uniform float)
+0:89 'uf' (uniform float)
+0:89 'v' (temp 4-component vector of float)
+0:90 add second child into first child (temp 4-component vector of float)
+0:90 'v' (temp 4-component vector of float)
+0:90 normalize (global 4-component vector of float)
+0:90 'v' (temp 4-component vector of float)
+0:91 add second child into first child (temp 4-component vector of float)
+0:91 'v' (temp 4-component vector of float)
+0:91 face-forward (global 4-component vector of float)
+0:91 'v' (temp 4-component vector of float)
+0:91 'v' (temp 4-component vector of float)
+0:91 'v' (temp 4-component vector of float)
+0:92 add second child into first child (temp 4-component vector of float)
+0:92 'v' (temp 4-component vector of float)
+0:92 reflect (global 4-component vector of float)
+0:92 'v' (temp 4-component vector of float)
+0:92 'v' (temp 4-component vector of float)
+0:93 add second child into first child (temp 4-component vector of float)
+0:93 'v' (temp 4-component vector of float)
+0:93 refract (global 4-component vector of float)
+0:93 'v' (temp 4-component vector of float)
+0:93 'v' (temp 4-component vector of float)
+0:93 'uf' (uniform float)
+0:94 add second child into first child (temp 4-component vector of float)
+0:94 'v' (temp 4-component vector of float)
+0:94 dPdx (global 4-component vector of float)
+0:94 'v' (temp 4-component vector of float)
+0:95 add second child into first child (temp 4-component vector of float)
+0:95 'v' (temp 4-component vector of float)
+0:95 dPdy (global 4-component vector of float)
+0:95 'v' (temp 4-component vector of float)
+0:96 add second child into first child (temp 4-component vector of float)
+0:96 'v' (temp 4-component vector of float)
+0:96 fwidth (global 4-component vector of float)
+0:96 'v' (temp 4-component vector of float)
+0:130 move second child to first child (temp bool)
+0:130 'b' (temp bool)
+0:130 any (global bool)
+0:130 Compare Less Than (global 4-component vector of bool)
+0:130 'v' (temp 4-component vector of float)
+0:130 'uv4' (uniform 4-component vector of float)
+0:131 move second child to first child (temp bool)
+0:131 'b' (temp bool)
+0:131 logical-and (temp bool)
+0:131 'b' (temp bool)
+0:131 any (global bool)
+0:131 Compare Less Than or Equal (global 4-component vector of bool)
+0:131 'v' (temp 4-component vector of float)
+0:131 'uv4' (uniform 4-component vector of float)
+0:132 move second child to first child (temp bool)
+0:132 'b' (temp bool)
+0:132 logical-and (temp bool)
+0:132 'b' (temp bool)
+0:132 any (global bool)
+0:132 Compare Greater Than (global 4-component vector of bool)
+0:132 'v' (temp 4-component vector of float)
+0:132 'uv4' (uniform 4-component vector of float)
+0:133 move second child to first child (temp bool)
+0:133 'b' (temp bool)
+0:133 logical-and (temp bool)
+0:133 'b' (temp bool)
+0:133 any (global bool)
+0:133 Compare Greater Than or Equal (global 4-component vector of bool)
+0:133 'v' (temp 4-component vector of float)
+0:133 'uv4' (uniform 4-component vector of float)
+0:134 move second child to first child (temp bool)
+0:134 'b' (temp bool)
+0:134 logical-and (temp bool)
+0:134 'b' (temp bool)
+0:134 any (global bool)
+0:134 Equal (global 4-component vector of bool)
+0:134 'ub41' (uniform 4-component vector of bool)
+0:134 'ub42' (uniform 4-component vector of bool)
+0:135 move second child to first child (temp bool)
+0:135 'b' (temp bool)
+0:135 logical-and (temp bool)
+0:135 'b' (temp bool)
+0:135 any (global bool)
+0:135 NotEqual (global 4-component vector of bool)
+0:135 'ub41' (uniform 4-component vector of bool)
+0:135 'ub42' (uniform 4-component vector of bool)
+0:136 move second child to first child (temp bool)
+0:136 'b' (temp bool)
+0:136 logical-and (temp bool)
+0:136 'b' (temp bool)
+0:136 any (global bool)
+0:136 'ub41' (uniform 4-component vector of bool)
+0:137 move second child to first child (temp bool)
+0:137 'b' (temp bool)
+0:137 logical-and (temp bool)
+0:137 'b' (temp bool)
+0:137 all (global bool)
+0:137 'ub41' (uniform 4-component vector of bool)
+0:138 move second child to first child (temp bool)
+0:138 'b' (temp bool)
+0:138 logical-and (temp bool)
+0:138 'b' (temp bool)
+0:138 any (global bool)
+0:138 Negate conditional (global 4-component vector of bool)
+0:138 'ub41' (uniform 4-component vector of bool)
+0:140 move second child to first child (temp int)
+0:140 'i' (temp int)
+0:140 divide (temp int)
+0:140 subtract (temp int)
+0:140 component-wise multiply (temp int)
+0:140 add (temp int)
+0:140 'i' (temp int)
+0:140 'ui' (uniform int)
+0:140 'i' (temp int)
+0:140 'ui' (uniform int)
+0:140 'i' (temp int)
+0:141 move second child to first child (temp int)
+0:141 'i' (temp int)
+0:141 mod (temp int)
+0:141 'i' (temp int)
+0:141 'ui' (uniform int)
+0:142 Test condition and select (temp void)
+0:142 Condition
+0:142 logical-or (temp bool)
+0:142 Compare Equal (temp bool)
+0:142 'i' (temp int)
+0:142 'ui' (uniform int)
+0:142 logical-xor (temp bool)
+0:142 logical-and (temp bool)
+0:142 Compare Not Equal (temp bool)
+0:142 'i' (temp int)
+0:142 'ui' (uniform int)
+0:142 Compare Equal (temp bool)
+0:142 'i' (temp int)
+0:142 'ui' (uniform int)
+0:142 Compare Not Equal (temp bool)
+0:142 'i' (temp int)
+0:142 Constant:
+0:142 2 (const int)
+0:142 true case
+0:143 Pre-Increment (temp int)
+0:143 'i' (temp int)
+0:145 move second child to first child (temp float)
+0:145 'f' (temp float)
+0:145 divide (temp float)
+0:145 subtract (temp float)
+0:145 component-wise multiply (temp float)
+0:145 add (temp float)
+0:145 'uf' (uniform float)
+0:145 'uf' (uniform float)
+0:145 'uf' (uniform float)
+0:145 'uf' (uniform float)
+0:145 'uf' (uniform float)
+0:147 add second child into first child (temp float)
+0:147 'f' (temp float)
+0:147 length (global float)
+0:147 'v' (temp 4-component vector of float)
+0:148 add second child into first child (temp float)
+0:148 'f' (temp float)
+0:148 distance (global float)
+0:148 'v' (temp 4-component vector of float)
+0:148 'v' (temp 4-component vector of float)
+0:149 add second child into first child (temp float)
+0:149 'f' (temp float)
+0:149 dot-product (global float)
+0:149 'v' (temp 4-component vector of float)
+0:149 'v' (temp 4-component vector of float)
+0:150 add second child into first child (temp float)
+0:150 'f' (temp float)
+0:150 dot-product (global float)
+0:150 'f' (temp float)
+0:150 'uf' (uniform float)
+0:151 add second child into first child (temp float)
+0:151 'f' (temp float)
+0:151 direct index (temp float)
+0:151 cross-product (global 3-component vector of float)
+0:151 vector swizzle (temp 3-component vector of float)
+0:151 'v' (temp 4-component vector of float)
+0:151 Sequence
+0:151 Constant:
+0:151 0 (const int)
+0:151 Constant:
+0:151 1 (const int)
+0:151 Constant:
+0:151 2 (const int)
+0:151 vector swizzle (temp 3-component vector of float)
+0:151 'v' (temp 4-component vector of float)
+0:151 Sequence
+0:151 Constant:
+0:151 0 (const int)
+0:151 Constant:
+0:151 1 (const int)
+0:151 Constant:
+0:151 2 (const int)
+0:151 Constant:
+0:151 0 (const int)
+0:153 Test condition and select (temp void)
+0:153 Condition
+0:153 logical-or (temp bool)
+0:153 Compare Equal (temp bool)
+0:153 'f' (temp float)
+0:153 'uf' (uniform float)
+0:153 logical-and (temp bool)
+0:153 Compare Not Equal (temp bool)
+0:153 'f' (temp float)
+0:153 'uf' (uniform float)
+0:153 Compare Not Equal (temp bool)
+0:153 'f' (temp float)
+0:153 Constant:
+0:153 2.000000
+0:153 true case
+0:154 Pre-Increment (temp float)
+0:154 'f' (temp float)
+0:156 and second child into first child (temp int)
+0:156 'i' (temp int)
+0:156 'ui' (uniform int)
+0:157 or second child into first child (temp int)
+0:157 'i' (temp int)
+0:157 Constant:
+0:157 66 (const int)
+0:158 exclusive or second child into first child (temp int)
+0:158 'i' (temp int)
+0:158 'ui' (uniform int)
+0:159 mod second child into first child (temp int)
+0:159 'i' (temp int)
+0:159 Constant:
+0:159 17 (const int)
+0:160 right shift second child into first child (temp int)
+0:160 'i' (temp int)
+0:160 Constant:
+0:160 2 (const int)
+0:161 left shift second child into first child (temp int)
+0:161 'i' (temp int)
+0:161 'ui' (uniform int)
+0:162 move second child to first child (temp int)
+0:162 'i' (temp int)
+0:162 Bitwise not (temp int)
+0:162 'i' (temp int)
+0:163 move second child to first child (temp bool)
+0:163 'b' (temp bool)
+0:163 Negate conditional (temp bool)
+0:163 'b' (temp bool)
+0:165 move second child to first child (temp 4-component vector of float)
+0:165 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:165 Test condition and select (temp 4-component vector of float)
+0:165 Condition
+0:165 'b' (temp bool)
+0:165 true case
+0:165 add (temp 4-component vector of float)
+0:165 add (temp 4-component vector of float)
+0:165 Construct vec4 (temp 4-component vector of float)
+0:165 Convert int to float (temp float)
+0:165 'i' (temp int)
+0:165 Construct vec4 (temp 4-component vector of float)
+0:165 'f' (temp float)
+0:165 'v' (temp 4-component vector of float)
+0:165 false case
+0:165 'v' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'uiv4' (uniform 4-component vector of int)
+0:? 'uv4' (uniform 4-component vector of float)
+0:? 'ub' (uniform bool)
+0:? 'ub41' (uniform 4-component vector of bool)
+0:? 'ub42' (uniform 4-component vector of bool)
+0:? 'uf' (uniform float)
+0:? 'ui' (uniform int)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:? Sequence
+0:27 move second child to first child (temp 4-component vector of float)
+0:27 'v' (temp 4-component vector of float)
+0:27 radians (global 4-component vector of float)
+0:27 'uv4' (uniform 4-component vector of float)
+0:28 add second child into first child (temp 4-component vector of float)
+0:28 'v' (temp 4-component vector of float)
+0:28 degrees (global 4-component vector of float)
+0:28 'v' (temp 4-component vector of float)
+0:29 add second child into first child (temp 4-component vector of float)
+0:29 'v' (temp 4-component vector of float)
+0:29 Comma (temp 4-component vector of float)
+0:29 move second child to first child (temp int)
+0:29 'i' (temp int)
+0:29 component-wise multiply (temp int)
+0:29 'ui' (uniform int)
+0:29 'ui' (uniform int)
+0:29 sine (global 4-component vector of float)
+0:29 'v' (temp 4-component vector of float)
+0:30 add second child into first child (temp 4-component vector of float)
+0:30 'v' (temp 4-component vector of float)
+0:30 cosine (global 4-component vector of float)
+0:30 'v' (temp 4-component vector of float)
+0:31 add second child into first child (temp 4-component vector of float)
+0:31 'v' (temp 4-component vector of float)
+0:31 tangent (global 4-component vector of float)
+0:31 'v' (temp 4-component vector of float)
+0:32 add second child into first child (temp 4-component vector of float)
+0:32 'v' (temp 4-component vector of float)
+0:32 arc sine (global 4-component vector of float)
+0:32 'v' (temp 4-component vector of float)
+0:33 add second child into first child (temp 4-component vector of float)
+0:33 'v' (temp 4-component vector of float)
+0:33 arc cosine (global 4-component vector of float)
+0:33 'v' (temp 4-component vector of float)
+0:35 add second child into first child (temp 4-component vector of float)
+0:35 'v' (temp 4-component vector of float)
+0:35 arc tangent (global 4-component vector of float)
+0:35 'v' (temp 4-component vector of float)
+0:36 add second child into first child (temp 4-component vector of float)
+0:36 'v' (temp 4-component vector of float)
+0:36 hyp. sine (global 4-component vector of float)
+0:36 'v' (temp 4-component vector of float)
+0:37 add second child into first child (temp 4-component vector of float)
+0:37 'v' (temp 4-component vector of float)
+0:37 hyp. cosine (global 4-component vector of float)
+0:37 'v' (temp 4-component vector of float)
+0:38 add second child into first child (temp 4-component vector of float)
+0:38 'v' (temp 4-component vector of float)
+0:38 hyp. tangent (global 4-component vector of float)
+0:38 'v' (temp 4-component vector of float)
+0:39 add second child into first child (temp 4-component vector of float)
+0:39 'v' (temp 4-component vector of float)
+0:39 arc hyp. sine (global 4-component vector of float)
+0:39 'v' (temp 4-component vector of float)
+0:40 add second child into first child (temp 4-component vector of float)
+0:40 'v' (temp 4-component vector of float)
+0:40 arc hyp. cosine (global 4-component vector of float)
+0:40 'v' (temp 4-component vector of float)
+0:41 add second child into first child (temp 4-component vector of float)
+0:41 'v' (temp 4-component vector of float)
+0:41 arc hyp. tangent (global 4-component vector of float)
+0:41 'v' (temp 4-component vector of float)
+0:43 add second child into first child (temp 4-component vector of float)
+0:43 'v' (temp 4-component vector of float)
+0:43 pow (global 4-component vector of float)
+0:43 'v' (temp 4-component vector of float)
+0:43 'v' (temp 4-component vector of float)
+0:44 add second child into first child (temp 4-component vector of float)
+0:44 'v' (temp 4-component vector of float)
+0:44 exp (global 4-component vector of float)
+0:44 'v' (temp 4-component vector of float)
+0:45 add second child into first child (temp 4-component vector of float)
+0:45 'v' (temp 4-component vector of float)
+0:45 log (global 4-component vector of float)
+0:45 'v' (temp 4-component vector of float)
+0:46 add second child into first child (temp 4-component vector of float)
+0:46 'v' (temp 4-component vector of float)
+0:46 exp2 (global 4-component vector of float)
+0:46 'v' (temp 4-component vector of float)
+0:47 add second child into first child (temp 4-component vector of float)
+0:47 'v' (temp 4-component vector of float)
+0:47 log2 (global 4-component vector of float)
+0:47 'v' (temp 4-component vector of float)
+0:48 add second child into first child (temp 4-component vector of float)
+0:48 'v' (temp 4-component vector of float)
+0:48 sqrt (global 4-component vector of float)
+0:48 'v' (temp 4-component vector of float)
+0:49 add second child into first child (temp 4-component vector of float)
+0:49 'v' (temp 4-component vector of float)
+0:49 inverse sqrt (global 4-component vector of float)
+0:49 'v' (temp 4-component vector of float)
+0:50 add second child into first child (temp 4-component vector of float)
+0:50 'v' (temp 4-component vector of float)
+0:50 Absolute value (global 4-component vector of float)
+0:50 'v' (temp 4-component vector of float)
+0:51 add second child into first child (temp 4-component vector of float)
+0:51 'v' (temp 4-component vector of float)
+0:51 Sign (global 4-component vector of float)
+0:51 'v' (temp 4-component vector of float)
+0:52 add second child into first child (temp 4-component vector of float)
+0:52 'v' (temp 4-component vector of float)
+0:52 Floor (global 4-component vector of float)
+0:52 'v' (temp 4-component vector of float)
+0:60 add second child into first child (temp 4-component vector of float)
+0:60 'v' (temp 4-component vector of float)
+0:60 Ceiling (global 4-component vector of float)
+0:60 'v' (temp 4-component vector of float)
+0:61 add second child into first child (temp 4-component vector of float)
+0:61 'v' (temp 4-component vector of float)
+0:61 Fraction (global 4-component vector of float)
+0:61 'v' (temp 4-component vector of float)
+0:62 add second child into first child (temp 4-component vector of float)
+0:62 'v' (temp 4-component vector of float)
+0:62 mod (global 4-component vector of float)
+0:62 'v' (temp 4-component vector of float)
+0:62 'v' (temp 4-component vector of float)
+0:63 add second child into first child (temp 4-component vector of float)
+0:63 'v' (temp 4-component vector of float)
+0:63 mod (global 4-component vector of float)
+0:63 'v' (temp 4-component vector of float)
+0:63 direct index (temp float)
+0:63 'v' (temp 4-component vector of float)
+0:63 Constant:
+0:63 0 (const int)
+0:69 add second child into first child (temp 4-component vector of float)
+0:69 'v' (temp 4-component vector of float)
+0:69 min (global 4-component vector of float)
+0:69 'v' (temp 4-component vector of float)
+0:69 'uv4' (uniform 4-component vector of float)
+0:70 add second child into first child (temp 4-component vector of float)
+0:70 'v' (temp 4-component vector of float)
+0:70 max (global 4-component vector of float)
+0:70 'v' (temp 4-component vector of float)
+0:70 'uv4' (uniform 4-component vector of float)
+0:71 add second child into first child (temp 4-component vector of float)
+0:71 'v' (temp 4-component vector of float)
+0:71 clamp (global 4-component vector of float)
+0:71 'v' (temp 4-component vector of float)
+0:71 'uv4' (uniform 4-component vector of float)
+0:71 'uv4' (uniform 4-component vector of float)
+0:72 add second child into first child (temp 4-component vector of float)
+0:72 'v' (temp 4-component vector of float)
+0:72 mix (global 4-component vector of float)
+0:72 'v' (temp 4-component vector of float)
+0:72 'v' (temp 4-component vector of float)
+0:72 'v' (temp 4-component vector of float)
+0:86 add second child into first child (temp 4-component vector of float)
+0:86 'v' (temp 4-component vector of float)
+0:86 step (global 4-component vector of float)
+0:86 'v' (temp 4-component vector of float)
+0:86 'v' (temp 4-component vector of float)
+0:87 add second child into first child (temp 4-component vector of float)
+0:87 'v' (temp 4-component vector of float)
+0:87 smoothstep (global 4-component vector of float)
+0:87 'v' (temp 4-component vector of float)
+0:87 'v' (temp 4-component vector of float)
+0:87 'v' (temp 4-component vector of float)
+0:88 add second child into first child (temp 4-component vector of float)
+0:88 'v' (temp 4-component vector of float)
+0:88 step (global 4-component vector of float)
+0:88 'uf' (uniform float)
+0:88 'v' (temp 4-component vector of float)
+0:89 add second child into first child (temp 4-component vector of float)
+0:89 'v' (temp 4-component vector of float)
+0:89 smoothstep (global 4-component vector of float)
+0:89 'uf' (uniform float)
+0:89 'uf' (uniform float)
+0:89 'v' (temp 4-component vector of float)
+0:90 add second child into first child (temp 4-component vector of float)
+0:90 'v' (temp 4-component vector of float)
+0:90 normalize (global 4-component vector of float)
+0:90 'v' (temp 4-component vector of float)
+0:91 add second child into first child (temp 4-component vector of float)
+0:91 'v' (temp 4-component vector of float)
+0:91 face-forward (global 4-component vector of float)
+0:91 'v' (temp 4-component vector of float)
+0:91 'v' (temp 4-component vector of float)
+0:91 'v' (temp 4-component vector of float)
+0:92 add second child into first child (temp 4-component vector of float)
+0:92 'v' (temp 4-component vector of float)
+0:92 reflect (global 4-component vector of float)
+0:92 'v' (temp 4-component vector of float)
+0:92 'v' (temp 4-component vector of float)
+0:93 add second child into first child (temp 4-component vector of float)
+0:93 'v' (temp 4-component vector of float)
+0:93 refract (global 4-component vector of float)
+0:93 'v' (temp 4-component vector of float)
+0:93 'v' (temp 4-component vector of float)
+0:93 'uf' (uniform float)
+0:94 add second child into first child (temp 4-component vector of float)
+0:94 'v' (temp 4-component vector of float)
+0:94 dPdx (global 4-component vector of float)
+0:94 'v' (temp 4-component vector of float)
+0:95 add second child into first child (temp 4-component vector of float)
+0:95 'v' (temp 4-component vector of float)
+0:95 dPdy (global 4-component vector of float)
+0:95 'v' (temp 4-component vector of float)
+0:96 add second child into first child (temp 4-component vector of float)
+0:96 'v' (temp 4-component vector of float)
+0:96 fwidth (global 4-component vector of float)
+0:96 'v' (temp 4-component vector of float)
+0:130 move second child to first child (temp bool)
+0:130 'b' (temp bool)
+0:130 any (global bool)
+0:130 Compare Less Than (global 4-component vector of bool)
+0:130 'v' (temp 4-component vector of float)
+0:130 'uv4' (uniform 4-component vector of float)
+0:131 move second child to first child (temp bool)
+0:131 'b' (temp bool)
+0:131 logical-and (temp bool)
+0:131 'b' (temp bool)
+0:131 any (global bool)
+0:131 Compare Less Than or Equal (global 4-component vector of bool)
+0:131 'v' (temp 4-component vector of float)
+0:131 'uv4' (uniform 4-component vector of float)
+0:132 move second child to first child (temp bool)
+0:132 'b' (temp bool)
+0:132 logical-and (temp bool)
+0:132 'b' (temp bool)
+0:132 any (global bool)
+0:132 Compare Greater Than (global 4-component vector of bool)
+0:132 'v' (temp 4-component vector of float)
+0:132 'uv4' (uniform 4-component vector of float)
+0:133 move second child to first child (temp bool)
+0:133 'b' (temp bool)
+0:133 logical-and (temp bool)
+0:133 'b' (temp bool)
+0:133 any (global bool)
+0:133 Compare Greater Than or Equal (global 4-component vector of bool)
+0:133 'v' (temp 4-component vector of float)
+0:133 'uv4' (uniform 4-component vector of float)
+0:134 move second child to first child (temp bool)
+0:134 'b' (temp bool)
+0:134 logical-and (temp bool)
+0:134 'b' (temp bool)
+0:134 any (global bool)
+0:134 Equal (global 4-component vector of bool)
+0:134 'ub41' (uniform 4-component vector of bool)
+0:134 'ub42' (uniform 4-component vector of bool)
+0:135 move second child to first child (temp bool)
+0:135 'b' (temp bool)
+0:135 logical-and (temp bool)
+0:135 'b' (temp bool)
+0:135 any (global bool)
+0:135 NotEqual (global 4-component vector of bool)
+0:135 'ub41' (uniform 4-component vector of bool)
+0:135 'ub42' (uniform 4-component vector of bool)
+0:136 move second child to first child (temp bool)
+0:136 'b' (temp bool)
+0:136 logical-and (temp bool)
+0:136 'b' (temp bool)
+0:136 any (global bool)
+0:136 'ub41' (uniform 4-component vector of bool)
+0:137 move second child to first child (temp bool)
+0:137 'b' (temp bool)
+0:137 logical-and (temp bool)
+0:137 'b' (temp bool)
+0:137 all (global bool)
+0:137 'ub41' (uniform 4-component vector of bool)
+0:138 move second child to first child (temp bool)
+0:138 'b' (temp bool)
+0:138 logical-and (temp bool)
+0:138 'b' (temp bool)
+0:138 any (global bool)
+0:138 Negate conditional (global 4-component vector of bool)
+0:138 'ub41' (uniform 4-component vector of bool)
+0:140 move second child to first child (temp int)
+0:140 'i' (temp int)
+0:140 divide (temp int)
+0:140 subtract (temp int)
+0:140 component-wise multiply (temp int)
+0:140 add (temp int)
+0:140 'i' (temp int)
+0:140 'ui' (uniform int)
+0:140 'i' (temp int)
+0:140 'ui' (uniform int)
+0:140 'i' (temp int)
+0:141 move second child to first child (temp int)
+0:141 'i' (temp int)
+0:141 mod (temp int)
+0:141 'i' (temp int)
+0:141 'ui' (uniform int)
+0:142 Test condition and select (temp void)
+0:142 Condition
+0:142 logical-or (temp bool)
+0:142 Compare Equal (temp bool)
+0:142 'i' (temp int)
+0:142 'ui' (uniform int)
+0:142 logical-xor (temp bool)
+0:142 logical-and (temp bool)
+0:142 Compare Not Equal (temp bool)
+0:142 'i' (temp int)
+0:142 'ui' (uniform int)
+0:142 Compare Equal (temp bool)
+0:142 'i' (temp int)
+0:142 'ui' (uniform int)
+0:142 Compare Not Equal (temp bool)
+0:142 'i' (temp int)
+0:142 Constant:
+0:142 2 (const int)
+0:142 true case
+0:143 Pre-Increment (temp int)
+0:143 'i' (temp int)
+0:145 move second child to first child (temp float)
+0:145 'f' (temp float)
+0:145 divide (temp float)
+0:145 subtract (temp float)
+0:145 component-wise multiply (temp float)
+0:145 add (temp float)
+0:145 'uf' (uniform float)
+0:145 'uf' (uniform float)
+0:145 'uf' (uniform float)
+0:145 'uf' (uniform float)
+0:145 'uf' (uniform float)
+0:147 add second child into first child (temp float)
+0:147 'f' (temp float)
+0:147 length (global float)
+0:147 'v' (temp 4-component vector of float)
+0:148 add second child into first child (temp float)
+0:148 'f' (temp float)
+0:148 distance (global float)
+0:148 'v' (temp 4-component vector of float)
+0:148 'v' (temp 4-component vector of float)
+0:149 add second child into first child (temp float)
+0:149 'f' (temp float)
+0:149 dot-product (global float)
+0:149 'v' (temp 4-component vector of float)
+0:149 'v' (temp 4-component vector of float)
+0:150 add second child into first child (temp float)
+0:150 'f' (temp float)
+0:150 dot-product (global float)
+0:150 'f' (temp float)
+0:150 'uf' (uniform float)
+0:151 add second child into first child (temp float)
+0:151 'f' (temp float)
+0:151 direct index (temp float)
+0:151 cross-product (global 3-component vector of float)
+0:151 vector swizzle (temp 3-component vector of float)
+0:151 'v' (temp 4-component vector of float)
+0:151 Sequence
+0:151 Constant:
+0:151 0 (const int)
+0:151 Constant:
+0:151 1 (const int)
+0:151 Constant:
+0:151 2 (const int)
+0:151 vector swizzle (temp 3-component vector of float)
+0:151 'v' (temp 4-component vector of float)
+0:151 Sequence
+0:151 Constant:
+0:151 0 (const int)
+0:151 Constant:
+0:151 1 (const int)
+0:151 Constant:
+0:151 2 (const int)
+0:151 Constant:
+0:151 0 (const int)
+0:153 Test condition and select (temp void)
+0:153 Condition
+0:153 logical-or (temp bool)
+0:153 Compare Equal (temp bool)
+0:153 'f' (temp float)
+0:153 'uf' (uniform float)
+0:153 logical-and (temp bool)
+0:153 Compare Not Equal (temp bool)
+0:153 'f' (temp float)
+0:153 'uf' (uniform float)
+0:153 Compare Not Equal (temp bool)
+0:153 'f' (temp float)
+0:153 Constant:
+0:153 2.000000
+0:153 true case
+0:154 Pre-Increment (temp float)
+0:154 'f' (temp float)
+0:156 and second child into first child (temp int)
+0:156 'i' (temp int)
+0:156 'ui' (uniform int)
+0:157 or second child into first child (temp int)
+0:157 'i' (temp int)
+0:157 Constant:
+0:157 66 (const int)
+0:158 exclusive or second child into first child (temp int)
+0:158 'i' (temp int)
+0:158 'ui' (uniform int)
+0:159 mod second child into first child (temp int)
+0:159 'i' (temp int)
+0:159 Constant:
+0:159 17 (const int)
+0:160 right shift second child into first child (temp int)
+0:160 'i' (temp int)
+0:160 Constant:
+0:160 2 (const int)
+0:161 left shift second child into first child (temp int)
+0:161 'i' (temp int)
+0:161 'ui' (uniform int)
+0:162 move second child to first child (temp int)
+0:162 'i' (temp int)
+0:162 Bitwise not (temp int)
+0:162 'i' (temp int)
+0:163 move second child to first child (temp bool)
+0:163 'b' (temp bool)
+0:163 Negate conditional (temp bool)
+0:163 'b' (temp bool)
+0:165 move second child to first child (temp 4-component vector of float)
+0:165 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:165 Test condition and select (temp 4-component vector of float)
+0:165 Condition
+0:165 'b' (temp bool)
+0:165 true case
+0:165 add (temp 4-component vector of float)
+0:165 add (temp 4-component vector of float)
+0:165 Construct vec4 (temp 4-component vector of float)
+0:165 Convert int to float (temp float)
+0:165 'i' (temp int)
+0:165 Construct vec4 (temp 4-component vector of float)
+0:165 'f' (temp float)
+0:165 'v' (temp 4-component vector of float)
+0:165 false case
+0:165 'v' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'uiv4' (uniform 4-component vector of int)
+0:? 'uv4' (uniform 4-component vector of float)
+0:? 'ub' (uniform bool)
+0:? 'ub41' (uniform 4-component vector of bool)
+0:? 'ub42' (uniform 4-component vector of bool)
+0:? 'uf' (uniform float)
+0:? 'ui' (uniform int)
+
diff --git a/Test/baseResults/aggOps.frag.out b/Test/baseResults/aggOps.frag.out
index 9f26d3b..7a60fbc 100644
--- a/Test/baseResults/aggOps.frag.out
+++ b/Test/baseResults/aggOps.frag.out
@@ -1,298 +1,298 @@
-aggOps.frag
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-WARNING: 0:6: varying deprecated in version 130; may be removed in future release
-
-Shader version: 130
-0:? Sequence
-0:23 Function Definition: main( (global void)
-0:23 Function Parameters:
-0:? Sequence
-0:27 move second child to first child (temp 3-element array of structure{global int i, global float f})
-0:27 'a' (temp 3-element array of structure{global int i, global float f})
-0:27 Construct structure (temp 3-element array of structure{global int i, global float f})
-0:27 Construct structure (temp structure{global int i, global float f})
-0:27 Convert float to int (temp int)
-0:27 direct index (temp float)
-0:27 'u' (smooth in 4-component vector of float)
-0:27 Constant:
-0:27 0 (const int)
-0:27 direct index (temp float)
-0:27 'u' (smooth in 4-component vector of float)
-0:27 Constant:
-0:27 1 (const int)
-0:27 Construct structure (temp structure{global int i, global float f})
-0:27 Convert float to int (temp int)
-0:27 direct index (temp float)
-0:27 'u' (smooth in 4-component vector of float)
-0:27 Constant:
-0:27 2 (const int)
-0:27 direct index (temp float)
-0:27 'u' (smooth in 4-component vector of float)
-0:27 Constant:
-0:27 3 (const int)
-0:27 Constant:
-0:27 14 (const int)
-0:27 14.000000
-0:28 move second child to first child (temp 3-element array of structure{global int i, global float f})
-0:28 'b' (temp 3-element array of structure{global int i, global float f})
-0:28 Construct structure (temp 3-element array of structure{global int i, global float f})
-0:28 Constant:
-0:28 17 (const int)
-0:28 17.000000
-0:28 Construct structure (temp structure{global int i, global float f})
-0:28 Convert float to int (temp int)
-0:28 direct index (temp float)
-0:28 'w' (smooth in 4-component vector of float)
-0:28 Constant:
-0:28 0 (const int)
-0:28 direct index (temp float)
-0:28 'w' (smooth in 4-component vector of float)
-0:28 Constant:
-0:28 1 (const int)
-0:28 Construct structure (temp structure{global int i, global float f})
-0:28 Convert float to int (temp int)
-0:28 direct index (temp float)
-0:28 'w' (smooth in 4-component vector of float)
-0:28 Constant:
-0:28 2 (const int)
-0:28 direct index (temp float)
-0:28 'w' (smooth in 4-component vector of float)
-0:28 Constant:
-0:28 3 (const int)
-0:30 Test condition and select (temp void)
-0:30 Condition
-0:30 Compare Equal (temp bool)
-0:30 'foo2a' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:30 'foo2b' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:30 true case
-0:31 move second child to first child (temp 4-component vector of float)
-0:31 'v' (temp 4-component vector of float)
-0:31 texture (global 4-component vector of float)
-0:31 'sampler' (uniform sampler2D)
-0:31 'coord' (smooth in 2-component vector of float)
-0:30 false case
-0:33 move second child to first child (temp 4-component vector of float)
-0:33 'v' (temp 4-component vector of float)
-0:33 texture (global 4-component vector of float)
-0:33 'sampler' (uniform sampler2D)
-0:33 vector-scale (temp 2-component vector of float)
-0:33 Constant:
-0:33 2.000000
-0:33 'coord' (smooth in 2-component vector of float)
-0:35 Test condition and select (temp void)
-0:35 Condition
-0:35 Compare Equal (temp bool)
-0:35 'u' (smooth in 4-component vector of float)
-0:35 'v' (temp 4-component vector of float)
-0:35 true case
-0:36 vector scale second child into first child (temp 4-component vector of float)
-0:36 'v' (temp 4-component vector of float)
-0:36 Constant:
-0:36 3.000000
-0:38 Test condition and select (temp void)
-0:38 Condition
-0:38 Compare Not Equal (temp bool)
-0:38 'u' (smooth in 4-component vector of float)
-0:38 'v' (temp 4-component vector of float)
-0:38 true case
-0:39 vector scale second child into first child (temp 4-component vector of float)
-0:39 'v' (temp 4-component vector of float)
-0:39 Constant:
-0:39 4.000000
-0:41 Test condition and select (temp void)
-0:41 Condition
-0:41 Compare Equal (temp bool)
-0:41 'coord' (smooth in 2-component vector of float)
-0:41 vector swizzle (temp 2-component vector of float)
-0:41 'v' (temp 4-component vector of float)
-0:41 Sequence
-0:41 Constant:
-0:41 1 (const int)
-0:41 Constant:
-0:41 3 (const int)
-0:41 true case
-0:42 vector scale second child into first child (temp 4-component vector of float)
-0:42 'v' (temp 4-component vector of float)
-0:42 Constant:
-0:42 5.000000
-0:44 Test condition and select (temp void)
-0:44 Condition
-0:44 Compare Equal (temp bool)
-0:44 'a' (temp 3-element array of structure{global int i, global float f})
-0:44 'b' (temp 3-element array of structure{global int i, global float f})
-0:44 true case
-0:45 vector scale second child into first child (temp 4-component vector of float)
-0:45 'v' (temp 4-component vector of float)
-0:45 Constant:
-0:45 6.000000
-0:47 Test condition and select (temp void)
-0:47 Condition
-0:47 Compare Not Equal (temp bool)
-0:47 'a' (temp 3-element array of structure{global int i, global float f})
-0:47 'b' (temp 3-element array of structure{global int i, global float f})
-0:47 true case
-0:48 vector scale second child into first child (temp 4-component vector of float)
-0:48 'v' (temp 4-component vector of float)
-0:48 Constant:
-0:48 7.000000
-0:50 move second child to first child (temp 4-component vector of float)
-0:50 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:50 'v' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'sampler' (uniform sampler2D)
-0:? 'coord' (smooth in 2-component vector of float)
-0:? 'u' (smooth in 4-component vector of float)
-0:? 'w' (smooth in 4-component vector of float)
-0:? 'foo1' (uniform structure{global int i, global float f})
-0:? 'foo2a' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:? 'foo2b' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:23 Function Definition: main( (global void)
-0:23 Function Parameters:
-0:? Sequence
-0:27 move second child to first child (temp 3-element array of structure{global int i, global float f})
-0:27 'a' (temp 3-element array of structure{global int i, global float f})
-0:27 Construct structure (temp 3-element array of structure{global int i, global float f})
-0:27 Construct structure (temp structure{global int i, global float f})
-0:27 Convert float to int (temp int)
-0:27 direct index (temp float)
-0:27 'u' (smooth in 4-component vector of float)
-0:27 Constant:
-0:27 0 (const int)
-0:27 direct index (temp float)
-0:27 'u' (smooth in 4-component vector of float)
-0:27 Constant:
-0:27 1 (const int)
-0:27 Construct structure (temp structure{global int i, global float f})
-0:27 Convert float to int (temp int)
-0:27 direct index (temp float)
-0:27 'u' (smooth in 4-component vector of float)
-0:27 Constant:
-0:27 2 (const int)
-0:27 direct index (temp float)
-0:27 'u' (smooth in 4-component vector of float)
-0:27 Constant:
-0:27 3 (const int)
-0:27 Constant:
-0:27 14 (const int)
-0:27 14.000000
-0:28 move second child to first child (temp 3-element array of structure{global int i, global float f})
-0:28 'b' (temp 3-element array of structure{global int i, global float f})
-0:28 Construct structure (temp 3-element array of structure{global int i, global float f})
-0:28 Constant:
-0:28 17 (const int)
-0:28 17.000000
-0:28 Construct structure (temp structure{global int i, global float f})
-0:28 Convert float to int (temp int)
-0:28 direct index (temp float)
-0:28 'w' (smooth in 4-component vector of float)
-0:28 Constant:
-0:28 0 (const int)
-0:28 direct index (temp float)
-0:28 'w' (smooth in 4-component vector of float)
-0:28 Constant:
-0:28 1 (const int)
-0:28 Construct structure (temp structure{global int i, global float f})
-0:28 Convert float to int (temp int)
-0:28 direct index (temp float)
-0:28 'w' (smooth in 4-component vector of float)
-0:28 Constant:
-0:28 2 (const int)
-0:28 direct index (temp float)
-0:28 'w' (smooth in 4-component vector of float)
-0:28 Constant:
-0:28 3 (const int)
-0:30 Test condition and select (temp void)
-0:30 Condition
-0:30 Compare Equal (temp bool)
-0:30 'foo2a' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:30 'foo2b' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:30 true case
-0:31 move second child to first child (temp 4-component vector of float)
-0:31 'v' (temp 4-component vector of float)
-0:31 texture (global 4-component vector of float)
-0:31 'sampler' (uniform sampler2D)
-0:31 'coord' (smooth in 2-component vector of float)
-0:30 false case
-0:33 move second child to first child (temp 4-component vector of float)
-0:33 'v' (temp 4-component vector of float)
-0:33 texture (global 4-component vector of float)
-0:33 'sampler' (uniform sampler2D)
-0:33 vector-scale (temp 2-component vector of float)
-0:33 Constant:
-0:33 2.000000
-0:33 'coord' (smooth in 2-component vector of float)
-0:35 Test condition and select (temp void)
-0:35 Condition
-0:35 Compare Equal (temp bool)
-0:35 'u' (smooth in 4-component vector of float)
-0:35 'v' (temp 4-component vector of float)
-0:35 true case
-0:36 vector scale second child into first child (temp 4-component vector of float)
-0:36 'v' (temp 4-component vector of float)
-0:36 Constant:
-0:36 3.000000
-0:38 Test condition and select (temp void)
-0:38 Condition
-0:38 Compare Not Equal (temp bool)
-0:38 'u' (smooth in 4-component vector of float)
-0:38 'v' (temp 4-component vector of float)
-0:38 true case
-0:39 vector scale second child into first child (temp 4-component vector of float)
-0:39 'v' (temp 4-component vector of float)
-0:39 Constant:
-0:39 4.000000
-0:41 Test condition and select (temp void)
-0:41 Condition
-0:41 Compare Equal (temp bool)
-0:41 'coord' (smooth in 2-component vector of float)
-0:41 vector swizzle (temp 2-component vector of float)
-0:41 'v' (temp 4-component vector of float)
-0:41 Sequence
-0:41 Constant:
-0:41 1 (const int)
-0:41 Constant:
-0:41 3 (const int)
-0:41 true case
-0:42 vector scale second child into first child (temp 4-component vector of float)
-0:42 'v' (temp 4-component vector of float)
-0:42 Constant:
-0:42 5.000000
-0:44 Test condition and select (temp void)
-0:44 Condition
-0:44 Compare Equal (temp bool)
-0:44 'a' (temp 3-element array of structure{global int i, global float f})
-0:44 'b' (temp 3-element array of structure{global int i, global float f})
-0:44 true case
-0:45 vector scale second child into first child (temp 4-component vector of float)
-0:45 'v' (temp 4-component vector of float)
-0:45 Constant:
-0:45 6.000000
-0:47 Test condition and select (temp void)
-0:47 Condition
-0:47 Compare Not Equal (temp bool)
-0:47 'a' (temp 3-element array of structure{global int i, global float f})
-0:47 'b' (temp 3-element array of structure{global int i, global float f})
-0:47 true case
-0:48 vector scale second child into first child (temp 4-component vector of float)
-0:48 'v' (temp 4-component vector of float)
-0:48 Constant:
-0:48 7.000000
-0:50 move second child to first child (temp 4-component vector of float)
-0:50 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:50 'v' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'sampler' (uniform sampler2D)
-0:? 'coord' (smooth in 2-component vector of float)
-0:? 'u' (smooth in 4-component vector of float)
-0:? 'w' (smooth in 4-component vector of float)
-0:? 'foo1' (uniform structure{global int i, global float f})
-0:? 'foo2a' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:? 'foo2b' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-
+aggOps.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+WARNING: 0:6: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:23 Function Definition: main( (global void)
+0:23 Function Parameters:
+0:? Sequence
+0:27 move second child to first child (temp 3-element array of structure{global int i, global float f})
+0:27 'a' (temp 3-element array of structure{global int i, global float f})
+0:27 Construct structure (temp 3-element array of structure{global int i, global float f})
+0:27 Construct structure (temp structure{global int i, global float f})
+0:27 Convert float to int (temp int)
+0:27 direct index (temp float)
+0:27 'u' (smooth in 4-component vector of float)
+0:27 Constant:
+0:27 0 (const int)
+0:27 direct index (temp float)
+0:27 'u' (smooth in 4-component vector of float)
+0:27 Constant:
+0:27 1 (const int)
+0:27 Construct structure (temp structure{global int i, global float f})
+0:27 Convert float to int (temp int)
+0:27 direct index (temp float)
+0:27 'u' (smooth in 4-component vector of float)
+0:27 Constant:
+0:27 2 (const int)
+0:27 direct index (temp float)
+0:27 'u' (smooth in 4-component vector of float)
+0:27 Constant:
+0:27 3 (const int)
+0:27 Constant:
+0:27 14 (const int)
+0:27 14.000000
+0:28 move second child to first child (temp 3-element array of structure{global int i, global float f})
+0:28 'b' (temp 3-element array of structure{global int i, global float f})
+0:28 Construct structure (temp 3-element array of structure{global int i, global float f})
+0:28 Constant:
+0:28 17 (const int)
+0:28 17.000000
+0:28 Construct structure (temp structure{global int i, global float f})
+0:28 Convert float to int (temp int)
+0:28 direct index (temp float)
+0:28 'w' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 0 (const int)
+0:28 direct index (temp float)
+0:28 'w' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 1 (const int)
+0:28 Construct structure (temp structure{global int i, global float f})
+0:28 Convert float to int (temp int)
+0:28 direct index (temp float)
+0:28 'w' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 2 (const int)
+0:28 direct index (temp float)
+0:28 'w' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 3 (const int)
+0:30 Test condition and select (temp void)
+0:30 Condition
+0:30 Compare Equal (temp bool)
+0:30 'foo2a' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:30 'foo2b' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:30 true case
+0:31 move second child to first child (temp 4-component vector of float)
+0:31 'v' (temp 4-component vector of float)
+0:31 texture (global 4-component vector of float)
+0:31 'sampler' (uniform sampler2D)
+0:31 'coord' (smooth in 2-component vector of float)
+0:30 false case
+0:33 move second child to first child (temp 4-component vector of float)
+0:33 'v' (temp 4-component vector of float)
+0:33 texture (global 4-component vector of float)
+0:33 'sampler' (uniform sampler2D)
+0:33 vector-scale (temp 2-component vector of float)
+0:33 Constant:
+0:33 2.000000
+0:33 'coord' (smooth in 2-component vector of float)
+0:35 Test condition and select (temp void)
+0:35 Condition
+0:35 Compare Equal (temp bool)
+0:35 'u' (smooth in 4-component vector of float)
+0:35 'v' (temp 4-component vector of float)
+0:35 true case
+0:36 vector scale second child into first child (temp 4-component vector of float)
+0:36 'v' (temp 4-component vector of float)
+0:36 Constant:
+0:36 3.000000
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Not Equal (temp bool)
+0:38 'u' (smooth in 4-component vector of float)
+0:38 'v' (temp 4-component vector of float)
+0:38 true case
+0:39 vector scale second child into first child (temp 4-component vector of float)
+0:39 'v' (temp 4-component vector of float)
+0:39 Constant:
+0:39 4.000000
+0:41 Test condition and select (temp void)
+0:41 Condition
+0:41 Compare Equal (temp bool)
+0:41 'coord' (smooth in 2-component vector of float)
+0:41 vector swizzle (temp 2-component vector of float)
+0:41 'v' (temp 4-component vector of float)
+0:41 Sequence
+0:41 Constant:
+0:41 1 (const int)
+0:41 Constant:
+0:41 3 (const int)
+0:41 true case
+0:42 vector scale second child into first child (temp 4-component vector of float)
+0:42 'v' (temp 4-component vector of float)
+0:42 Constant:
+0:42 5.000000
+0:44 Test condition and select (temp void)
+0:44 Condition
+0:44 Compare Equal (temp bool)
+0:44 'a' (temp 3-element array of structure{global int i, global float f})
+0:44 'b' (temp 3-element array of structure{global int i, global float f})
+0:44 true case
+0:45 vector scale second child into first child (temp 4-component vector of float)
+0:45 'v' (temp 4-component vector of float)
+0:45 Constant:
+0:45 6.000000
+0:47 Test condition and select (temp void)
+0:47 Condition
+0:47 Compare Not Equal (temp bool)
+0:47 'a' (temp 3-element array of structure{global int i, global float f})
+0:47 'b' (temp 3-element array of structure{global int i, global float f})
+0:47 true case
+0:48 vector scale second child into first child (temp 4-component vector of float)
+0:48 'v' (temp 4-component vector of float)
+0:48 Constant:
+0:48 7.000000
+0:50 move second child to first child (temp 4-component vector of float)
+0:50 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:50 'v' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'u' (smooth in 4-component vector of float)
+0:? 'w' (smooth in 4-component vector of float)
+0:? 'foo1' (uniform structure{global int i, global float f})
+0:? 'foo2a' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'foo2b' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:23 Function Definition: main( (global void)
+0:23 Function Parameters:
+0:? Sequence
+0:27 move second child to first child (temp 3-element array of structure{global int i, global float f})
+0:27 'a' (temp 3-element array of structure{global int i, global float f})
+0:27 Construct structure (temp 3-element array of structure{global int i, global float f})
+0:27 Construct structure (temp structure{global int i, global float f})
+0:27 Convert float to int (temp int)
+0:27 direct index (temp float)
+0:27 'u' (smooth in 4-component vector of float)
+0:27 Constant:
+0:27 0 (const int)
+0:27 direct index (temp float)
+0:27 'u' (smooth in 4-component vector of float)
+0:27 Constant:
+0:27 1 (const int)
+0:27 Construct structure (temp structure{global int i, global float f})
+0:27 Convert float to int (temp int)
+0:27 direct index (temp float)
+0:27 'u' (smooth in 4-component vector of float)
+0:27 Constant:
+0:27 2 (const int)
+0:27 direct index (temp float)
+0:27 'u' (smooth in 4-component vector of float)
+0:27 Constant:
+0:27 3 (const int)
+0:27 Constant:
+0:27 14 (const int)
+0:27 14.000000
+0:28 move second child to first child (temp 3-element array of structure{global int i, global float f})
+0:28 'b' (temp 3-element array of structure{global int i, global float f})
+0:28 Construct structure (temp 3-element array of structure{global int i, global float f})
+0:28 Constant:
+0:28 17 (const int)
+0:28 17.000000
+0:28 Construct structure (temp structure{global int i, global float f})
+0:28 Convert float to int (temp int)
+0:28 direct index (temp float)
+0:28 'w' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 0 (const int)
+0:28 direct index (temp float)
+0:28 'w' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 1 (const int)
+0:28 Construct structure (temp structure{global int i, global float f})
+0:28 Convert float to int (temp int)
+0:28 direct index (temp float)
+0:28 'w' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 2 (const int)
+0:28 direct index (temp float)
+0:28 'w' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 3 (const int)
+0:30 Test condition and select (temp void)
+0:30 Condition
+0:30 Compare Equal (temp bool)
+0:30 'foo2a' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:30 'foo2b' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:30 true case
+0:31 move second child to first child (temp 4-component vector of float)
+0:31 'v' (temp 4-component vector of float)
+0:31 texture (global 4-component vector of float)
+0:31 'sampler' (uniform sampler2D)
+0:31 'coord' (smooth in 2-component vector of float)
+0:30 false case
+0:33 move second child to first child (temp 4-component vector of float)
+0:33 'v' (temp 4-component vector of float)
+0:33 texture (global 4-component vector of float)
+0:33 'sampler' (uniform sampler2D)
+0:33 vector-scale (temp 2-component vector of float)
+0:33 Constant:
+0:33 2.000000
+0:33 'coord' (smooth in 2-component vector of float)
+0:35 Test condition and select (temp void)
+0:35 Condition
+0:35 Compare Equal (temp bool)
+0:35 'u' (smooth in 4-component vector of float)
+0:35 'v' (temp 4-component vector of float)
+0:35 true case
+0:36 vector scale second child into first child (temp 4-component vector of float)
+0:36 'v' (temp 4-component vector of float)
+0:36 Constant:
+0:36 3.000000
+0:38 Test condition and select (temp void)
+0:38 Condition
+0:38 Compare Not Equal (temp bool)
+0:38 'u' (smooth in 4-component vector of float)
+0:38 'v' (temp 4-component vector of float)
+0:38 true case
+0:39 vector scale second child into first child (temp 4-component vector of float)
+0:39 'v' (temp 4-component vector of float)
+0:39 Constant:
+0:39 4.000000
+0:41 Test condition and select (temp void)
+0:41 Condition
+0:41 Compare Equal (temp bool)
+0:41 'coord' (smooth in 2-component vector of float)
+0:41 vector swizzle (temp 2-component vector of float)
+0:41 'v' (temp 4-component vector of float)
+0:41 Sequence
+0:41 Constant:
+0:41 1 (const int)
+0:41 Constant:
+0:41 3 (const int)
+0:41 true case
+0:42 vector scale second child into first child (temp 4-component vector of float)
+0:42 'v' (temp 4-component vector of float)
+0:42 Constant:
+0:42 5.000000
+0:44 Test condition and select (temp void)
+0:44 Condition
+0:44 Compare Equal (temp bool)
+0:44 'a' (temp 3-element array of structure{global int i, global float f})
+0:44 'b' (temp 3-element array of structure{global int i, global float f})
+0:44 true case
+0:45 vector scale second child into first child (temp 4-component vector of float)
+0:45 'v' (temp 4-component vector of float)
+0:45 Constant:
+0:45 6.000000
+0:47 Test condition and select (temp void)
+0:47 Condition
+0:47 Compare Not Equal (temp bool)
+0:47 'a' (temp 3-element array of structure{global int i, global float f})
+0:47 'b' (temp 3-element array of structure{global int i, global float f})
+0:47 true case
+0:48 vector scale second child into first child (temp 4-component vector of float)
+0:48 'v' (temp 4-component vector of float)
+0:48 Constant:
+0:48 7.000000
+0:50 move second child to first child (temp 4-component vector of float)
+0:50 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:50 'v' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'u' (smooth in 4-component vector of float)
+0:? 'w' (smooth in 4-component vector of float)
+0:? 'foo1' (uniform structure{global int i, global float f})
+0:? 'foo2a' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'foo2b' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+
diff --git a/Test/baseResults/always-discard.frag.out b/Test/baseResults/always-discard.frag.out
index 709c056..e1eeae3 100644
--- a/Test/baseResults/always-discard.frag.out
+++ b/Test/baseResults/always-discard.frag.out
@@ -1,239 +1,239 @@
-always-discard.frag
-Shader version: 110
-0:? Sequence
-0:4 Function Definition: main( (global void)
-0:4 Function Parameters:
-0:6 Sequence
-0:6 Sequence
-0:6 move second child to first child (temp 4-component vector of float)
-0:6 'white' (temp 4-component vector of float)
-0:6 Constant:
-0:6 1.000000
-0:6 1.000000
-0:6 1.000000
-0:6 1.000000
-0:7 Sequence
-0:7 move second child to first child (temp 4-component vector of float)
-0:7 'black' (temp 4-component vector of float)
-0:7 Constant:
-0:7 0.200000
-0:7 0.200000
-0:7 0.200000
-0:7 0.200000
-0:8 Sequence
-0:8 move second child to first child (temp 4-component vector of float)
-0:8 'color' (temp 4-component vector of float)
-0:8 'white' (temp 4-component vector of float)
-0:11 Sequence
-0:11 move second child to first child (temp float)
-0:11 'x' (temp float)
-0:11 subtract (temp float)
-0:11 component-wise multiply (temp float)
-0:11 direct index (temp float)
-0:11 'tex_coord' (smooth in 2-component vector of float)
-0:11 Constant:
-0:11 0 (const int)
-0:11 Constant:
-0:11 2.000000
-0:11 Constant:
-0:11 1.000000
-0:12 Sequence
-0:12 move second child to first child (temp float)
-0:12 'y' (temp float)
-0:12 subtract (temp float)
-0:12 component-wise multiply (temp float)
-0:12 direct index (temp float)
-0:12 'tex_coord' (smooth in 2-component vector of float)
-0:12 Constant:
-0:12 1 (const int)
-0:12 Constant:
-0:12 2.000000
-0:12 Constant:
-0:12 1.000000
-0:14 Sequence
-0:14 move second child to first child (temp float)
-0:14 'radius' (temp float)
-0:14 sqrt (global float)
-0:14 add (temp float)
-0:14 component-wise multiply (temp float)
-0:14 'x' (temp float)
-0:14 'x' (temp float)
-0:14 component-wise multiply (temp float)
-0:14 'y' (temp float)
-0:14 'y' (temp float)
-0:15 Test condition and select (temp void)
-0:15 Condition
-0:15 Compare Greater Than (temp bool)
-0:15 'radius' (temp float)
-0:15 Constant:
-0:15 1.000000
-0:15 true case
-0:16 Sequence
-0:16 Test condition and select (temp void)
-0:16 Condition
-0:16 Compare Greater Than (temp bool)
-0:16 'radius' (temp float)
-0:16 Constant:
-0:16 1.100000
-0:16 true case
-0:17 Sequence
-0:17 Pre-Increment (temp 4-component vector of float)
-0:17 'color' (temp 4-component vector of float)
-0:20 move second child to first child (temp 4-component vector of float)
-0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:20 'color' (temp 4-component vector of float)
-0:22 Test condition and select (temp void)
-0:22 Condition
-0:22 Compare Greater Than (temp bool)
-0:22 'radius' (temp float)
-0:22 Constant:
-0:22 1.200000
-0:22 true case
-0:23 Sequence
-0:23 Pre-Increment (temp 4-component vector of float)
-0:23 'color' (temp 4-component vector of float)
-0:28 Branch: Kill
-0:31 Test condition and select (temp void)
-0:31 Condition
-0:31 Compare Greater Than or Equal (temp bool)
-0:31 'radius' (temp float)
-0:31 Constant:
-0:31 0.750000
-0:31 true case
-0:32 subtract second child into first child (temp 4-component vector of float)
-0:32 'color' (temp 4-component vector of float)
-0:32 Absolute value (global float)
-0:32 divide (temp float)
-0:32 pow (global float)
-0:32 'radius' (temp float)
-0:32 Constant:
-0:32 16.000000
-0:32 Constant:
-0:32 2.000000
-0:34 move second child to first child (temp 4-component vector of float)
-0:34 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:34 'color' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'tex_coord' (smooth in 2-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 110
-0:? Sequence
-0:4 Function Definition: main( (global void)
-0:4 Function Parameters:
-0:6 Sequence
-0:6 Sequence
-0:6 move second child to first child (temp 4-component vector of float)
-0:6 'white' (temp 4-component vector of float)
-0:6 Constant:
-0:6 1.000000
-0:6 1.000000
-0:6 1.000000
-0:6 1.000000
-0:7 Sequence
-0:7 move second child to first child (temp 4-component vector of float)
-0:7 'black' (temp 4-component vector of float)
-0:7 Constant:
-0:7 0.200000
-0:7 0.200000
-0:7 0.200000
-0:7 0.200000
-0:8 Sequence
-0:8 move second child to first child (temp 4-component vector of float)
-0:8 'color' (temp 4-component vector of float)
-0:8 'white' (temp 4-component vector of float)
-0:11 Sequence
-0:11 move second child to first child (temp float)
-0:11 'x' (temp float)
-0:11 subtract (temp float)
-0:11 component-wise multiply (temp float)
-0:11 direct index (temp float)
-0:11 'tex_coord' (smooth in 2-component vector of float)
-0:11 Constant:
-0:11 0 (const int)
-0:11 Constant:
-0:11 2.000000
-0:11 Constant:
-0:11 1.000000
-0:12 Sequence
-0:12 move second child to first child (temp float)
-0:12 'y' (temp float)
-0:12 subtract (temp float)
-0:12 component-wise multiply (temp float)
-0:12 direct index (temp float)
-0:12 'tex_coord' (smooth in 2-component vector of float)
-0:12 Constant:
-0:12 1 (const int)
-0:12 Constant:
-0:12 2.000000
-0:12 Constant:
-0:12 1.000000
-0:14 Sequence
-0:14 move second child to first child (temp float)
-0:14 'radius' (temp float)
-0:14 sqrt (global float)
-0:14 add (temp float)
-0:14 component-wise multiply (temp float)
-0:14 'x' (temp float)
-0:14 'x' (temp float)
-0:14 component-wise multiply (temp float)
-0:14 'y' (temp float)
-0:14 'y' (temp float)
-0:15 Test condition and select (temp void)
-0:15 Condition
-0:15 Compare Greater Than (temp bool)
-0:15 'radius' (temp float)
-0:15 Constant:
-0:15 1.000000
-0:15 true case
-0:16 Sequence
-0:16 Test condition and select (temp void)
-0:16 Condition
-0:16 Compare Greater Than (temp bool)
-0:16 'radius' (temp float)
-0:16 Constant:
-0:16 1.100000
-0:16 true case
-0:17 Sequence
-0:17 Pre-Increment (temp 4-component vector of float)
-0:17 'color' (temp 4-component vector of float)
-0:20 move second child to first child (temp 4-component vector of float)
-0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:20 'color' (temp 4-component vector of float)
-0:22 Test condition and select (temp void)
-0:22 Condition
-0:22 Compare Greater Than (temp bool)
-0:22 'radius' (temp float)
-0:22 Constant:
-0:22 1.200000
-0:22 true case
-0:23 Sequence
-0:23 Pre-Increment (temp 4-component vector of float)
-0:23 'color' (temp 4-component vector of float)
-0:28 Branch: Kill
-0:31 Test condition and select (temp void)
-0:31 Condition
-0:31 Compare Greater Than or Equal (temp bool)
-0:31 'radius' (temp float)
-0:31 Constant:
-0:31 0.750000
-0:31 true case
-0:32 subtract second child into first child (temp 4-component vector of float)
-0:32 'color' (temp 4-component vector of float)
-0:32 Absolute value (global float)
-0:32 divide (temp float)
-0:32 pow (global float)
-0:32 'radius' (temp float)
-0:32 Constant:
-0:32 16.000000
-0:32 Constant:
-0:32 2.000000
-0:34 move second child to first child (temp 4-component vector of float)
-0:34 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:34 'color' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'tex_coord' (smooth in 2-component vector of float)
-
+always-discard.frag
+Shader version: 110
+0:? Sequence
+0:4 Function Definition: main( (global void)
+0:4 Function Parameters:
+0:6 Sequence
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'white' (temp 4-component vector of float)
+0:6 Constant:
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 'black' (temp 4-component vector of float)
+0:7 Constant:
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'color' (temp 4-component vector of float)
+0:8 'white' (temp 4-component vector of float)
+0:11 Sequence
+0:11 move second child to first child (temp float)
+0:11 'x' (temp float)
+0:11 subtract (temp float)
+0:11 component-wise multiply (temp float)
+0:11 direct index (temp float)
+0:11 'tex_coord' (smooth in 2-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 Constant:
+0:11 2.000000
+0:11 Constant:
+0:11 1.000000
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'y' (temp float)
+0:12 subtract (temp float)
+0:12 component-wise multiply (temp float)
+0:12 direct index (temp float)
+0:12 'tex_coord' (smooth in 2-component vector of float)
+0:12 Constant:
+0:12 1 (const int)
+0:12 Constant:
+0:12 2.000000
+0:12 Constant:
+0:12 1.000000
+0:14 Sequence
+0:14 move second child to first child (temp float)
+0:14 'radius' (temp float)
+0:14 sqrt (global float)
+0:14 add (temp float)
+0:14 component-wise multiply (temp float)
+0:14 'x' (temp float)
+0:14 'x' (temp float)
+0:14 component-wise multiply (temp float)
+0:14 'y' (temp float)
+0:14 'y' (temp float)
+0:15 Test condition and select (temp void)
+0:15 Condition
+0:15 Compare Greater Than (temp bool)
+0:15 'radius' (temp float)
+0:15 Constant:
+0:15 1.000000
+0:15 true case
+0:16 Sequence
+0:16 Test condition and select (temp void)
+0:16 Condition
+0:16 Compare Greater Than (temp bool)
+0:16 'radius' (temp float)
+0:16 Constant:
+0:16 1.100000
+0:16 true case
+0:17 Sequence
+0:17 Pre-Increment (temp 4-component vector of float)
+0:17 'color' (temp 4-component vector of float)
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:20 'color' (temp 4-component vector of float)
+0:22 Test condition and select (temp void)
+0:22 Condition
+0:22 Compare Greater Than (temp bool)
+0:22 'radius' (temp float)
+0:22 Constant:
+0:22 1.200000
+0:22 true case
+0:23 Sequence
+0:23 Pre-Increment (temp 4-component vector of float)
+0:23 'color' (temp 4-component vector of float)
+0:28 Branch: Kill
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Compare Greater Than or Equal (temp bool)
+0:31 'radius' (temp float)
+0:31 Constant:
+0:31 0.750000
+0:31 true case
+0:32 subtract second child into first child (temp 4-component vector of float)
+0:32 'color' (temp 4-component vector of float)
+0:32 Absolute value (global float)
+0:32 divide (temp float)
+0:32 pow (global float)
+0:32 'radius' (temp float)
+0:32 Constant:
+0:32 16.000000
+0:32 Constant:
+0:32 2.000000
+0:34 move second child to first child (temp 4-component vector of float)
+0:34 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:34 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'tex_coord' (smooth in 2-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:4 Function Definition: main( (global void)
+0:4 Function Parameters:
+0:6 Sequence
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'white' (temp 4-component vector of float)
+0:6 Constant:
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 'black' (temp 4-component vector of float)
+0:7 Constant:
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'color' (temp 4-component vector of float)
+0:8 'white' (temp 4-component vector of float)
+0:11 Sequence
+0:11 move second child to first child (temp float)
+0:11 'x' (temp float)
+0:11 subtract (temp float)
+0:11 component-wise multiply (temp float)
+0:11 direct index (temp float)
+0:11 'tex_coord' (smooth in 2-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 Constant:
+0:11 2.000000
+0:11 Constant:
+0:11 1.000000
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'y' (temp float)
+0:12 subtract (temp float)
+0:12 component-wise multiply (temp float)
+0:12 direct index (temp float)
+0:12 'tex_coord' (smooth in 2-component vector of float)
+0:12 Constant:
+0:12 1 (const int)
+0:12 Constant:
+0:12 2.000000
+0:12 Constant:
+0:12 1.000000
+0:14 Sequence
+0:14 move second child to first child (temp float)
+0:14 'radius' (temp float)
+0:14 sqrt (global float)
+0:14 add (temp float)
+0:14 component-wise multiply (temp float)
+0:14 'x' (temp float)
+0:14 'x' (temp float)
+0:14 component-wise multiply (temp float)
+0:14 'y' (temp float)
+0:14 'y' (temp float)
+0:15 Test condition and select (temp void)
+0:15 Condition
+0:15 Compare Greater Than (temp bool)
+0:15 'radius' (temp float)
+0:15 Constant:
+0:15 1.000000
+0:15 true case
+0:16 Sequence
+0:16 Test condition and select (temp void)
+0:16 Condition
+0:16 Compare Greater Than (temp bool)
+0:16 'radius' (temp float)
+0:16 Constant:
+0:16 1.100000
+0:16 true case
+0:17 Sequence
+0:17 Pre-Increment (temp 4-component vector of float)
+0:17 'color' (temp 4-component vector of float)
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:20 'color' (temp 4-component vector of float)
+0:22 Test condition and select (temp void)
+0:22 Condition
+0:22 Compare Greater Than (temp bool)
+0:22 'radius' (temp float)
+0:22 Constant:
+0:22 1.200000
+0:22 true case
+0:23 Sequence
+0:23 Pre-Increment (temp 4-component vector of float)
+0:23 'color' (temp 4-component vector of float)
+0:28 Branch: Kill
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Compare Greater Than or Equal (temp bool)
+0:31 'radius' (temp float)
+0:31 Constant:
+0:31 0.750000
+0:31 true case
+0:32 subtract second child into first child (temp 4-component vector of float)
+0:32 'color' (temp 4-component vector of float)
+0:32 Absolute value (global float)
+0:32 divide (temp float)
+0:32 pow (global float)
+0:32 'radius' (temp float)
+0:32 Constant:
+0:32 16.000000
+0:32 Constant:
+0:32 2.000000
+0:34 move second child to first child (temp 4-component vector of float)
+0:34 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:34 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'tex_coord' (smooth in 2-component vector of float)
+
diff --git a/Test/baseResults/always-discard2.frag.out b/Test/baseResults/always-discard2.frag.out
index 0fd1104..72f21d2 100644
--- a/Test/baseResults/always-discard2.frag.out
+++ b/Test/baseResults/always-discard2.frag.out
@@ -1,121 +1,121 @@
-always-discard2.frag
-Shader version: 110
-0:? Sequence
-0:4 Function Definition: main( (global void)
-0:4 Function Parameters:
-0:6 Sequence
-0:6 Sequence
-0:6 move second child to first child (temp 4-component vector of float)
-0:6 'white' (temp 4-component vector of float)
-0:6 Constant:
-0:6 1.000000
-0:6 1.000000
-0:6 1.000000
-0:6 1.000000
-0:7 Sequence
-0:7 move second child to first child (temp 4-component vector of float)
-0:7 'black' (temp 4-component vector of float)
-0:7 Constant:
-0:7 0.200000
-0:7 0.200000
-0:7 0.200000
-0:7 0.200000
-0:8 Sequence
-0:8 move second child to first child (temp 4-component vector of float)
-0:8 'color' (temp 4-component vector of float)
-0:8 'white' (temp 4-component vector of float)
-0:11 Sequence
-0:11 move second child to first child (temp float)
-0:11 'x' (temp float)
-0:11 subtract (temp float)
-0:11 component-wise multiply (temp float)
-0:11 direct index (temp float)
-0:11 'tex_coord' (smooth in 2-component vector of float)
-0:11 Constant:
-0:11 0 (const int)
-0:11 Constant:
-0:11 2.000000
-0:11 Constant:
-0:11 1.000000
-0:12 Sequence
-0:12 move second child to first child (temp float)
-0:12 'y' (temp float)
-0:12 subtract (temp float)
-0:12 component-wise multiply (temp float)
-0:12 direct index (temp float)
-0:12 'tex_coord' (smooth in 2-component vector of float)
-0:12 Constant:
-0:12 1 (const int)
-0:12 Constant:
-0:12 2.000000
-0:12 Constant:
-0:12 1.000000
-0:14 Branch: Kill
-0:17 move second child to first child (temp 4-component vector of float)
-0:17 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:17 'color' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'tex_coord' (smooth in 2-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 110
-0:? Sequence
-0:4 Function Definition: main( (global void)
-0:4 Function Parameters:
-0:6 Sequence
-0:6 Sequence
-0:6 move second child to first child (temp 4-component vector of float)
-0:6 'white' (temp 4-component vector of float)
-0:6 Constant:
-0:6 1.000000
-0:6 1.000000
-0:6 1.000000
-0:6 1.000000
-0:7 Sequence
-0:7 move second child to first child (temp 4-component vector of float)
-0:7 'black' (temp 4-component vector of float)
-0:7 Constant:
-0:7 0.200000
-0:7 0.200000
-0:7 0.200000
-0:7 0.200000
-0:8 Sequence
-0:8 move second child to first child (temp 4-component vector of float)
-0:8 'color' (temp 4-component vector of float)
-0:8 'white' (temp 4-component vector of float)
-0:11 Sequence
-0:11 move second child to first child (temp float)
-0:11 'x' (temp float)
-0:11 subtract (temp float)
-0:11 component-wise multiply (temp float)
-0:11 direct index (temp float)
-0:11 'tex_coord' (smooth in 2-component vector of float)
-0:11 Constant:
-0:11 0 (const int)
-0:11 Constant:
-0:11 2.000000
-0:11 Constant:
-0:11 1.000000
-0:12 Sequence
-0:12 move second child to first child (temp float)
-0:12 'y' (temp float)
-0:12 subtract (temp float)
-0:12 component-wise multiply (temp float)
-0:12 direct index (temp float)
-0:12 'tex_coord' (smooth in 2-component vector of float)
-0:12 Constant:
-0:12 1 (const int)
-0:12 Constant:
-0:12 2.000000
-0:12 Constant:
-0:12 1.000000
-0:14 Branch: Kill
-0:17 move second child to first child (temp 4-component vector of float)
-0:17 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:17 'color' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'tex_coord' (smooth in 2-component vector of float)
-
+always-discard2.frag
+Shader version: 110
+0:? Sequence
+0:4 Function Definition: main( (global void)
+0:4 Function Parameters:
+0:6 Sequence
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'white' (temp 4-component vector of float)
+0:6 Constant:
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 'black' (temp 4-component vector of float)
+0:7 Constant:
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'color' (temp 4-component vector of float)
+0:8 'white' (temp 4-component vector of float)
+0:11 Sequence
+0:11 move second child to first child (temp float)
+0:11 'x' (temp float)
+0:11 subtract (temp float)
+0:11 component-wise multiply (temp float)
+0:11 direct index (temp float)
+0:11 'tex_coord' (smooth in 2-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 Constant:
+0:11 2.000000
+0:11 Constant:
+0:11 1.000000
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'y' (temp float)
+0:12 subtract (temp float)
+0:12 component-wise multiply (temp float)
+0:12 direct index (temp float)
+0:12 'tex_coord' (smooth in 2-component vector of float)
+0:12 Constant:
+0:12 1 (const int)
+0:12 Constant:
+0:12 2.000000
+0:12 Constant:
+0:12 1.000000
+0:14 Branch: Kill
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:17 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'tex_coord' (smooth in 2-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:4 Function Definition: main( (global void)
+0:4 Function Parameters:
+0:6 Sequence
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'white' (temp 4-component vector of float)
+0:6 Constant:
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 'black' (temp 4-component vector of float)
+0:7 Constant:
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'color' (temp 4-component vector of float)
+0:8 'white' (temp 4-component vector of float)
+0:11 Sequence
+0:11 move second child to first child (temp float)
+0:11 'x' (temp float)
+0:11 subtract (temp float)
+0:11 component-wise multiply (temp float)
+0:11 direct index (temp float)
+0:11 'tex_coord' (smooth in 2-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 Constant:
+0:11 2.000000
+0:11 Constant:
+0:11 1.000000
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'y' (temp float)
+0:12 subtract (temp float)
+0:12 component-wise multiply (temp float)
+0:12 direct index (temp float)
+0:12 'tex_coord' (smooth in 2-component vector of float)
+0:12 Constant:
+0:12 1 (const int)
+0:12 Constant:
+0:12 2.000000
+0:12 Constant:
+0:12 1.000000
+0:14 Branch: Kill
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:17 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'tex_coord' (smooth in 2-component vector of float)
+
diff --git a/Test/baseResults/array.frag.out b/Test/baseResults/array.frag.out
index 1715ae8..8b3cf80 100644
--- a/Test/baseResults/array.frag.out
+++ b/Test/baseResults/array.frag.out
@@ -1,530 +1,530 @@
-array.frag
-ERROR: 0:21: '[' : array index out of range '2'
-ERROR: 0:27: '[' : array must be redeclared with a size before being indexed with a variable
-ERROR: 0:30: 'assign' : cannot convert from 'global 4-element array of float' to 'global 5-element array of float'
-ERROR: 0:31: 'assign' : cannot convert from 'global 4-element array of float' to 'global implicitly-sized array of float'
-ERROR: 0:33: 'foo' : no matching overloaded function found
-ERROR: 0:42: '[' : array index out of range '5'
-ERROR: 0:45: '[' : array index out of range '1000'
-ERROR: 0:46: '[' : index out of range '-1'
-ERROR: 0:52: '[' : array index out of range '2'
-ERROR: 0:54: 'const' : non-matching or non-convertible constant type for const initializer
-ERROR: 0:56: '=' : cannot convert from 'const 2-element array of int' to 'temp 3-element array of int'
-ERROR: 0:57: '[]' : scalar integer expression required
-ERROR: 0:57: '[' : index out of range '-858993459'
-ERROR: 0:58: '[]' : scalar integer expression required
-ERROR: 0:61: '' : array size required
-ERROR: 0:62: '' : array size required
-ERROR: 0:63: '' : array size required
-ERROR: 0:66: '=' : cannot convert from 'temp 3-component vector of float' to 'global float'
-ERROR: 0:76: 'bar' : no matching overloaded function found
-ERROR: 0:79: '' : array size required
-ERROR: 0:84: 'return' : type does not match, or is not convertible to, the function's return type
-ERROR: 0:93: 'length' : array must be declared with a size before using this method
-ERROR: 0:101: '[' : array index out of range '5'
-ERROR: 0:104: 'constructor' : array constructor must have at least one argument
-ERROR: 0:104: '=' : cannot convert from 'const float' to 'global implicitly-sized array of int'
-ERROR: 0:106: 'constructor' : array argument must be sized
-ERROR: 26 compilation errors. No code generated.
-
-
-Shader version: 130
-ERROR: node is still EOpNull!
-0:9 Function Definition: foo(f1[5]; (global 4-element array of float)
-0:9 Function Parameters:
-0:9 'a' (in 5-element array of float)
-0:11 Sequence
-0:11 Branch: Return with expression
-0:11 Construct float (temp 4-element array of float)
-0:11 direct index (temp float)
-0:11 'a' (in 5-element array of float)
-0:11 Constant:
-0:11 0 (const int)
-0:11 direct index (temp float)
-0:11 'a' (in 5-element array of float)
-0:11 Constant:
-0:11 1 (const int)
-0:11 direct index (temp float)
-0:11 'a' (in 5-element array of float)
-0:11 Constant:
-0:11 2 (const int)
-0:11 direct index (temp float)
-0:11 'a' (in 5-element array of float)
-0:11 Constant:
-0:11 3 (const int)
-0:14 Function Definition: bar(f1[5]; (global void)
-0:14 Function Parameters:
-0:14 '' (in 5-element array of float)
-0:16 Function Definition: main( (global void)
-0:16 Function Parameters:
-0:? Sequence
-0:? Sequence
-0:21 move second child to first child (temp float)
-0:21 direct index (temp float)
-0:21 'gu' (temp 2-element array of float)
-0:21 Constant:
-0:21 2 (const int)
-0:21 Constant:
-0:21 4.000000
-0:24 move second child to first child (temp float)
-0:24 direct index (temp float)
-0:24 'gu' (global implicitly-sized array of float)
-0:24 Constant:
-0:24 2 (const int)
-0:24 Constant:
-0:24 4.000000
-0:26 move second child to first child (temp float)
-0:26 direct index (temp float)
-0:26 'gu' (global implicitly-sized array of float)
-0:26 Constant:
-0:26 3 (const int)
-0:26 Constant:
-0:26 3.000000
-0:27 move second child to first child (temp float)
-0:27 indirect index (temp float)
-0:27 'gu' (global implicitly-sized array of float)
-0:27 'a' (uniform int)
-0:27 Constant:
-0:27 5.000000
-0:29 move second child to first child (temp 4-element array of float)
-0:29 'g4' (global 4-element array of float)
-0:29 Function Call: foo(f1[5]; (global 4-element array of float)
-0:29 'g5' (global 5-element array of float)
-0:30 'g5' (global 5-element array of float)
-0:31 'gu' (global implicitly-sized array of float)
-0:33 Constant:
-0:33 0.000000
-0:34 Function Call: bar(f1[5]; (global void)
-0:34 'g5' (global 5-element array of float)
-0:36 Test condition and select (temp void)
-0:36 Condition
-0:36 Compare Equal (temp bool)
-0:36 Constant:
-0:36 1.000000
-0:36 2.000000
-0:36 3.000000
-0:36 4.000000
-0:36 'g4' (global 4-element array of float)
-0:36 true case
-0:37 move second child to first child (temp float)
-0:37 direct index (temp float)
-0:37 'gu' (global implicitly-sized array of float)
-0:37 Constant:
-0:37 0 (const int)
-0:37 Constant:
-0:37 2.000000
-0:40 move second child to first child (temp float)
-0:40 direct index (temp float)
-0:40 'u' (temp 5-element array of float)
-0:40 Constant:
-0:40 2 (const int)
-0:40 Constant:
-0:40 3.000000
-0:42 move second child to first child (temp float)
-0:42 direct index (temp float)
-0:42 'u' (temp 5-element array of float)
-0:42 Constant:
-0:42 5 (const int)
-0:42 Constant:
-0:42 5.000000
-0:43 Function Call: foo(f1[5]; (global 4-element array of float)
-0:43 'u' (temp 5-element array of float)
-0:45 move second child to first child (temp 4-component vector of float)
-0:45 direct index (temp 4-component vector of float FragData)
-0:45 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
-0:45 Constant:
-0:45 1000 (const int)
-0:45 Constant:
-0:45 1.000000
-0:45 1.000000
-0:45 1.000000
-0:45 1.000000
-0:46 move second child to first child (temp 4-component vector of float)
-0:46 direct index (temp 4-component vector of float FragData)
-0:46 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
-0:46 Constant:
-0:46 -1 (const int)
-0:46 Constant:
-0:46 1.000000
-0:46 1.000000
-0:46 1.000000
-0:46 1.000000
-0:47 move second child to first child (temp 4-component vector of float)
-0:47 direct index (temp 4-component vector of float FragData)
-0:47 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
-0:47 Constant:
-0:47 3 (const int)
-0:47 Constant:
-0:47 1.000000
-0:47 1.000000
-0:47 1.000000
-0:47 1.000000
-0:50 Sequence
-0:50 move second child to first child (temp int)
-0:50 'sum' (temp int)
-0:50 Constant:
-0:50 3 (const int)
-0:51 add second child into first child (temp int)
-0:51 'sum' (temp int)
-0:51 Constant:
-0:51 2 (const int)
-0:52 add second child into first child (temp int)
-0:52 'sum' (temp int)
-0:52 Constant:
-0:52 2 (const int)
-0:55 Sequence
-0:55 move second child to first child (temp 2-element array of int)
-0:55 'ica' (temp 2-element array of int)
-0:55 Constant:
-0:55 3 (const int)
-0:55 2 (const int)
-0:57 move second child to first child (temp int)
-0:57 direct index (temp int)
-0:57 'ica' (temp 2-element array of int)
-0:57 Constant:
-0:57 3.100000
-0:57 Constant:
-0:57 3 (const int)
-0:58 move second child to first child (temp int)
-0:58 indirect index (temp int)
-0:58 'ica' (temp 2-element array of int)
-0:58 direct index (temp float)
-0:58 'u' (temp 5-element array of float)
-0:58 Constant:
-0:58 1 (const int)
-0:58 Constant:
-0:58 4 (const int)
-0:68 Function Definition: foo( (global void)
-0:68 Function Parameters:
-0:? Sequence
-0:71 move second child to first child (temp int)
-0:71 direct index (temp int)
-0:71 'uns' (temp implicitly-sized array of int)
-0:71 Constant:
-0:71 3 (const int)
-0:71 Constant:
-0:71 40 (const int)
-0:72 move second child to first child (temp int)
-0:72 direct index (temp int)
-0:72 'uns' (temp implicitly-sized array of int)
-0:72 Constant:
-0:72 1 (const int)
-0:72 Constant:
-0:72 30 (const int)
-0:73 move second child to first child (temp 3-component vector of float)
-0:73 direct index (temp 3-component vector of float)
-0:73 'guns' (global implicitly-sized array of 3-component vector of float)
-0:73 Constant:
-0:73 2 (const int)
-0:73 Constant:
-0:73 2.400000
-0:73 2.400000
-0:73 2.400000
-0:76 Constant:
-0:76 0.000000
-0:79 Function Definition: foo2( (global implicitly-sized array of float)
-0:79 Function Parameters:
-0:? Sequence
-0:82 Branch: Return with expression
-0:82 'f' (temp implicitly-sized array of float)
-0:84 Branch: Return with expression
-0:84 'g' (temp 9-element array of float)
-0:89 Function Definition: foo3( (global void)
-0:89 Function Parameters:
-0:? Sequence
-0:92 move second child to first child (temp float)
-0:92 direct index (temp float)
-0:92 'resize1' (temp 3-element array of float)
-0:92 Constant:
-0:92 2 (const int)
-0:92 Constant:
-0:92 4.000000
-0:93 Constant:
-0:93 1 (const int)
-0:95 Constant:
-0:95 3 (const int)
-0:98 move second child to first child (temp float)
-0:98 direct index (temp float)
-0:98 'resize2' (temp 5-element array of float)
-0:98 Constant:
-0:98 5 (const int)
-0:98 Constant:
-0:98 4.000000
-0:100 Constant:
-0:100 5 (const int)
-0:101 move second child to first child (temp float)
-0:101 direct index (temp float)
-0:101 'resize2' (temp 5-element array of float)
-0:101 Constant:
-0:101 5 (const int)
-0:101 Constant:
-0:101 4.000000
-0:106 Sequence
-0:106 move second child to first child (temp float)
-0:106 'b' (global float)
-0:106 Constant:
-0:106 0.000000
-0:? Linker Objects
-0:? 'gu' (global implicitly-sized array of float)
-0:? 'g4' (global 4-element array of float)
-0:? 'g5' (global 5-element array of float)
-0:? 'a' (uniform int)
-0:? 'guns' (global implicitly-sized array of 3-component vector of float)
-0:? 'f' (global float)
-0:? 'gUnusedUnsized' (global implicitly-sized array of float)
-0:? 'i' (global implicitly-sized array of int)
-0:? 'emptyA' (global implicitly-sized array of float)
-0:? 'b' (global float)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-ERROR: node is still EOpNull!
-0:9 Function Definition: foo(f1[5]; (global 4-element array of float)
-0:9 Function Parameters:
-0:9 'a' (in 5-element array of float)
-0:11 Sequence
-0:11 Branch: Return with expression
-0:11 Construct float (temp 4-element array of float)
-0:11 direct index (temp float)
-0:11 'a' (in 5-element array of float)
-0:11 Constant:
-0:11 0 (const int)
-0:11 direct index (temp float)
-0:11 'a' (in 5-element array of float)
-0:11 Constant:
-0:11 1 (const int)
-0:11 direct index (temp float)
-0:11 'a' (in 5-element array of float)
-0:11 Constant:
-0:11 2 (const int)
-0:11 direct index (temp float)
-0:11 'a' (in 5-element array of float)
-0:11 Constant:
-0:11 3 (const int)
-0:14 Function Definition: bar(f1[5]; (global void)
-0:14 Function Parameters:
-0:14 '' (in 5-element array of float)
-0:16 Function Definition: main( (global void)
-0:16 Function Parameters:
-0:? Sequence
-0:? Sequence
-0:21 move second child to first child (temp float)
-0:21 direct index (temp float)
-0:21 'gu' (temp 2-element array of float)
-0:21 Constant:
-0:21 2 (const int)
-0:21 Constant:
-0:21 4.000000
-0:24 move second child to first child (temp float)
-0:24 direct index (temp float)
-0:24 'gu' (global 4-element array of float)
-0:24 Constant:
-0:24 2 (const int)
-0:24 Constant:
-0:24 4.000000
-0:26 move second child to first child (temp float)
-0:26 direct index (temp float)
-0:26 'gu' (global 4-element array of float)
-0:26 Constant:
-0:26 3 (const int)
-0:26 Constant:
-0:26 3.000000
-0:27 move second child to first child (temp float)
-0:27 indirect index (temp float)
-0:27 'gu' (global 4-element array of float)
-0:27 'a' (uniform int)
-0:27 Constant:
-0:27 5.000000
-0:29 move second child to first child (temp 4-element array of float)
-0:29 'g4' (global 4-element array of float)
-0:29 Function Call: foo(f1[5]; (global 4-element array of float)
-0:29 'g5' (global 5-element array of float)
-0:30 'g5' (global 5-element array of float)
-0:31 'gu' (global 4-element array of float)
-0:33 Constant:
-0:33 0.000000
-0:34 Function Call: bar(f1[5]; (global void)
-0:34 'g5' (global 5-element array of float)
-0:36 Test condition and select (temp void)
-0:36 Condition
-0:36 Compare Equal (temp bool)
-0:36 Constant:
-0:36 1.000000
-0:36 2.000000
-0:36 3.000000
-0:36 4.000000
-0:36 'g4' (global 4-element array of float)
-0:36 true case
-0:37 move second child to first child (temp float)
-0:37 direct index (temp float)
-0:37 'gu' (global 4-element array of float)
-0:37 Constant:
-0:37 0 (const int)
-0:37 Constant:
-0:37 2.000000
-0:40 move second child to first child (temp float)
-0:40 direct index (temp float)
-0:40 'u' (temp 5-element array of float)
-0:40 Constant:
-0:40 2 (const int)
-0:40 Constant:
-0:40 3.000000
-0:42 move second child to first child (temp float)
-0:42 direct index (temp float)
-0:42 'u' (temp 5-element array of float)
-0:42 Constant:
-0:42 5 (const int)
-0:42 Constant:
-0:42 5.000000
-0:43 Function Call: foo(f1[5]; (global 4-element array of float)
-0:43 'u' (temp 5-element array of float)
-0:45 move second child to first child (temp 4-component vector of float)
-0:45 direct index (temp 4-component vector of float FragData)
-0:45 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
-0:45 Constant:
-0:45 1000 (const int)
-0:45 Constant:
-0:45 1.000000
-0:45 1.000000
-0:45 1.000000
-0:45 1.000000
-0:46 move second child to first child (temp 4-component vector of float)
-0:46 direct index (temp 4-component vector of float FragData)
-0:46 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
-0:46 Constant:
-0:46 -1 (const int)
-0:46 Constant:
-0:46 1.000000
-0:46 1.000000
-0:46 1.000000
-0:46 1.000000
-0:47 move second child to first child (temp 4-component vector of float)
-0:47 direct index (temp 4-component vector of float FragData)
-0:47 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
-0:47 Constant:
-0:47 3 (const int)
-0:47 Constant:
-0:47 1.000000
-0:47 1.000000
-0:47 1.000000
-0:47 1.000000
-0:50 Sequence
-0:50 move second child to first child (temp int)
-0:50 'sum' (temp int)
-0:50 Constant:
-0:50 3 (const int)
-0:51 add second child into first child (temp int)
-0:51 'sum' (temp int)
-0:51 Constant:
-0:51 2 (const int)
-0:52 add second child into first child (temp int)
-0:52 'sum' (temp int)
-0:52 Constant:
-0:52 2 (const int)
-0:55 Sequence
-0:55 move second child to first child (temp 2-element array of int)
-0:55 'ica' (temp 2-element array of int)
-0:55 Constant:
-0:55 3 (const int)
-0:55 2 (const int)
-0:57 move second child to first child (temp int)
-0:57 direct index (temp int)
-0:57 'ica' (temp 2-element array of int)
-0:57 Constant:
-0:57 3.100000
-0:57 Constant:
-0:57 3 (const int)
-0:58 move second child to first child (temp int)
-0:58 indirect index (temp int)
-0:58 'ica' (temp 2-element array of int)
-0:58 direct index (temp float)
-0:58 'u' (temp 5-element array of float)
-0:58 Constant:
-0:58 1 (const int)
-0:58 Constant:
-0:58 4 (const int)
-0:68 Function Definition: foo( (global void)
-0:68 Function Parameters:
-0:? Sequence
-0:71 move second child to first child (temp int)
-0:71 direct index (temp int)
-0:71 'uns' (temp 4-element array of int)
-0:71 Constant:
-0:71 3 (const int)
-0:71 Constant:
-0:71 40 (const int)
-0:72 move second child to first child (temp int)
-0:72 direct index (temp int)
-0:72 'uns' (temp 4-element array of int)
-0:72 Constant:
-0:72 1 (const int)
-0:72 Constant:
-0:72 30 (const int)
-0:73 move second child to first child (temp 3-component vector of float)
-0:73 direct index (temp 3-component vector of float)
-0:73 'guns' (global 8-element array of 3-component vector of float)
-0:73 Constant:
-0:73 2 (const int)
-0:73 Constant:
-0:73 2.400000
-0:73 2.400000
-0:73 2.400000
-0:76 Constant:
-0:76 0.000000
-0:79 Function Definition: foo2( (global implicitly-sized array of float)
-0:79 Function Parameters:
-0:? Sequence
-0:82 Branch: Return with expression
-0:82 'f' (temp 1-element array of float)
-0:84 Branch: Return with expression
-0:84 'g' (temp 9-element array of float)
-0:89 Function Definition: foo3( (global void)
-0:89 Function Parameters:
-0:? Sequence
-0:92 move second child to first child (temp float)
-0:92 direct index (temp float)
-0:92 'resize1' (temp 3-element array of float)
-0:92 Constant:
-0:92 2 (const int)
-0:92 Constant:
-0:92 4.000000
-0:93 Constant:
-0:93 1 (const int)
-0:95 Constant:
-0:95 3 (const int)
-0:98 move second child to first child (temp float)
-0:98 direct index (temp float)
-0:98 'resize2' (temp 5-element array of float)
-0:98 Constant:
-0:98 5 (const int)
-0:98 Constant:
-0:98 4.000000
-0:100 Constant:
-0:100 5 (const int)
-0:101 move second child to first child (temp float)
-0:101 direct index (temp float)
-0:101 'resize2' (temp 5-element array of float)
-0:101 Constant:
-0:101 5 (const int)
-0:101 Constant:
-0:101 4.000000
-0:106 Sequence
-0:106 move second child to first child (temp float)
-0:106 'b' (global float)
-0:106 Constant:
-0:106 0.000000
-0:? Linker Objects
-0:? 'gu' (global 4-element array of float)
-0:? 'g4' (global 4-element array of float)
-0:? 'g5' (global 5-element array of float)
-0:? 'a' (uniform int)
-0:? 'guns' (global 8-element array of 3-component vector of float)
-0:? 'f' (global float)
-0:? 'gUnusedUnsized' (global 1-element array of float)
-0:? 'i' (global 1-element array of int)
-0:? 'emptyA' (global 1-element array of float)
-0:? 'b' (global float)
-
+array.frag
+ERROR: 0:21: '[' : array index out of range '2'
+ERROR: 0:27: '[' : array must be redeclared with a size before being indexed with a variable
+ERROR: 0:30: 'assign' : cannot convert from 'global 4-element array of float' to 'global 5-element array of float'
+ERROR: 0:31: 'assign' : cannot convert from 'global 4-element array of float' to 'global implicitly-sized array of float'
+ERROR: 0:33: 'foo' : no matching overloaded function found
+ERROR: 0:42: '[' : array index out of range '5'
+ERROR: 0:45: '[' : array index out of range '1000'
+ERROR: 0:46: '[' : index out of range '-1'
+ERROR: 0:52: '[' : array index out of range '2'
+ERROR: 0:54: 'const' : non-matching or non-convertible constant type for const initializer
+ERROR: 0:56: '=' : cannot convert from 'const 2-element array of int' to 'temp 3-element array of int'
+ERROR: 0:57: '[]' : scalar integer expression required
+ERROR: 0:57: '[' : index out of range '-858993459'
+ERROR: 0:58: '[]' : scalar integer expression required
+ERROR: 0:61: '' : array size required
+ERROR: 0:62: '' : array size required
+ERROR: 0:63: '' : array size required
+ERROR: 0:66: '=' : cannot convert from 'temp 3-component vector of float' to 'global float'
+ERROR: 0:76: 'bar' : no matching overloaded function found
+ERROR: 0:79: '' : array size required
+ERROR: 0:84: 'return' : type does not match, or is not convertible to, the function's return type
+ERROR: 0:93: 'length' : array must be declared with a size before using this method
+ERROR: 0:101: '[' : array index out of range '5'
+ERROR: 0:104: 'constructor' : array constructor must have at least one argument
+ERROR: 0:104: '=' : cannot convert from 'const float' to 'global implicitly-sized array of int'
+ERROR: 0:106: 'constructor' : array argument must be sized
+ERROR: 26 compilation errors. No code generated.
+
+
+Shader version: 130
+ERROR: node is still EOpNull!
+0:9 Function Definition: foo(f1[5]; (global 4-element array of float)
+0:9 Function Parameters:
+0:9 'a' (in 5-element array of float)
+0:11 Sequence
+0:11 Branch: Return with expression
+0:11 Construct float (temp 4-element array of float)
+0:11 direct index (temp float)
+0:11 'a' (in 5-element array of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 direct index (temp float)
+0:11 'a' (in 5-element array of float)
+0:11 Constant:
+0:11 1 (const int)
+0:11 direct index (temp float)
+0:11 'a' (in 5-element array of float)
+0:11 Constant:
+0:11 2 (const int)
+0:11 direct index (temp float)
+0:11 'a' (in 5-element array of float)
+0:11 Constant:
+0:11 3 (const int)
+0:14 Function Definition: bar(f1[5]; (global void)
+0:14 Function Parameters:
+0:14 '' (in 5-element array of float)
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:? Sequence
+0:? Sequence
+0:21 move second child to first child (temp float)
+0:21 direct index (temp float)
+0:21 'gu' (temp 2-element array of float)
+0:21 Constant:
+0:21 2 (const int)
+0:21 Constant:
+0:21 4.000000
+0:24 move second child to first child (temp float)
+0:24 direct index (temp float)
+0:24 'gu' (global implicitly-sized array of float)
+0:24 Constant:
+0:24 2 (const int)
+0:24 Constant:
+0:24 4.000000
+0:26 move second child to first child (temp float)
+0:26 direct index (temp float)
+0:26 'gu' (global implicitly-sized array of float)
+0:26 Constant:
+0:26 3 (const int)
+0:26 Constant:
+0:26 3.000000
+0:27 move second child to first child (temp float)
+0:27 indirect index (temp float)
+0:27 'gu' (global implicitly-sized array of float)
+0:27 'a' (uniform int)
+0:27 Constant:
+0:27 5.000000
+0:29 move second child to first child (temp 4-element array of float)
+0:29 'g4' (global 4-element array of float)
+0:29 Function Call: foo(f1[5]; (global 4-element array of float)
+0:29 'g5' (global 5-element array of float)
+0:30 'g5' (global 5-element array of float)
+0:31 'gu' (global implicitly-sized array of float)
+0:33 Constant:
+0:33 0.000000
+0:34 Function Call: bar(f1[5]; (global void)
+0:34 'g5' (global 5-element array of float)
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 Compare Equal (temp bool)
+0:36 Constant:
+0:36 1.000000
+0:36 2.000000
+0:36 3.000000
+0:36 4.000000
+0:36 'g4' (global 4-element array of float)
+0:36 true case
+0:37 move second child to first child (temp float)
+0:37 direct index (temp float)
+0:37 'gu' (global implicitly-sized array of float)
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 2.000000
+0:40 move second child to first child (temp float)
+0:40 direct index (temp float)
+0:40 'u' (temp 5-element array of float)
+0:40 Constant:
+0:40 2 (const int)
+0:40 Constant:
+0:40 3.000000
+0:42 move second child to first child (temp float)
+0:42 direct index (temp float)
+0:42 'u' (temp 5-element array of float)
+0:42 Constant:
+0:42 5 (const int)
+0:42 Constant:
+0:42 5.000000
+0:43 Function Call: foo(f1[5]; (global 4-element array of float)
+0:43 'u' (temp 5-element array of float)
+0:45 move second child to first child (temp 4-component vector of float)
+0:45 direct index (temp 4-component vector of float FragData)
+0:45 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:45 Constant:
+0:45 1000 (const int)
+0:45 Constant:
+0:45 1.000000
+0:45 1.000000
+0:45 1.000000
+0:45 1.000000
+0:46 move second child to first child (temp 4-component vector of float)
+0:46 direct index (temp 4-component vector of float FragData)
+0:46 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:46 Constant:
+0:46 -1 (const int)
+0:46 Constant:
+0:46 1.000000
+0:46 1.000000
+0:46 1.000000
+0:46 1.000000
+0:47 move second child to first child (temp 4-component vector of float)
+0:47 direct index (temp 4-component vector of float FragData)
+0:47 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:47 Constant:
+0:47 3 (const int)
+0:47 Constant:
+0:47 1.000000
+0:47 1.000000
+0:47 1.000000
+0:47 1.000000
+0:50 Sequence
+0:50 move second child to first child (temp int)
+0:50 'sum' (temp int)
+0:50 Constant:
+0:50 3 (const int)
+0:51 add second child into first child (temp int)
+0:51 'sum' (temp int)
+0:51 Constant:
+0:51 2 (const int)
+0:52 add second child into first child (temp int)
+0:52 'sum' (temp int)
+0:52 Constant:
+0:52 2 (const int)
+0:55 Sequence
+0:55 move second child to first child (temp 2-element array of int)
+0:55 'ica' (temp 2-element array of int)
+0:55 Constant:
+0:55 3 (const int)
+0:55 2 (const int)
+0:57 move second child to first child (temp int)
+0:57 direct index (temp int)
+0:57 'ica' (temp 2-element array of int)
+0:57 Constant:
+0:57 3.100000
+0:57 Constant:
+0:57 3 (const int)
+0:58 move second child to first child (temp int)
+0:58 indirect index (temp int)
+0:58 'ica' (temp 2-element array of int)
+0:58 direct index (temp float)
+0:58 'u' (temp 5-element array of float)
+0:58 Constant:
+0:58 1 (const int)
+0:58 Constant:
+0:58 4 (const int)
+0:68 Function Definition: foo( (global void)
+0:68 Function Parameters:
+0:? Sequence
+0:71 move second child to first child (temp int)
+0:71 direct index (temp int)
+0:71 'uns' (temp implicitly-sized array of int)
+0:71 Constant:
+0:71 3 (const int)
+0:71 Constant:
+0:71 40 (const int)
+0:72 move second child to first child (temp int)
+0:72 direct index (temp int)
+0:72 'uns' (temp implicitly-sized array of int)
+0:72 Constant:
+0:72 1 (const int)
+0:72 Constant:
+0:72 30 (const int)
+0:73 move second child to first child (temp 3-component vector of float)
+0:73 direct index (temp 3-component vector of float)
+0:73 'guns' (global implicitly-sized array of 3-component vector of float)
+0:73 Constant:
+0:73 2 (const int)
+0:73 Constant:
+0:73 2.400000
+0:73 2.400000
+0:73 2.400000
+0:76 Constant:
+0:76 0.000000
+0:79 Function Definition: foo2( (global implicitly-sized array of float)
+0:79 Function Parameters:
+0:? Sequence
+0:82 Branch: Return with expression
+0:82 'f' (temp implicitly-sized array of float)
+0:84 Branch: Return with expression
+0:84 'g' (temp 9-element array of float)
+0:89 Function Definition: foo3( (global void)
+0:89 Function Parameters:
+0:? Sequence
+0:92 move second child to first child (temp float)
+0:92 direct index (temp float)
+0:92 'resize1' (temp 3-element array of float)
+0:92 Constant:
+0:92 2 (const int)
+0:92 Constant:
+0:92 4.000000
+0:93 Constant:
+0:93 1 (const int)
+0:95 Constant:
+0:95 3 (const int)
+0:98 move second child to first child (temp float)
+0:98 direct index (temp float)
+0:98 'resize2' (temp 5-element array of float)
+0:98 Constant:
+0:98 5 (const int)
+0:98 Constant:
+0:98 4.000000
+0:100 Constant:
+0:100 5 (const int)
+0:101 move second child to first child (temp float)
+0:101 direct index (temp float)
+0:101 'resize2' (temp 5-element array of float)
+0:101 Constant:
+0:101 5 (const int)
+0:101 Constant:
+0:101 4.000000
+0:106 Sequence
+0:106 move second child to first child (temp float)
+0:106 'b' (global float)
+0:106 Constant:
+0:106 0.000000
+0:? Linker Objects
+0:? 'gu' (global implicitly-sized array of float)
+0:? 'g4' (global 4-element array of float)
+0:? 'g5' (global 5-element array of float)
+0:? 'a' (uniform int)
+0:? 'guns' (global implicitly-sized array of 3-component vector of float)
+0:? 'f' (global float)
+0:? 'gUnusedUnsized' (global implicitly-sized array of float)
+0:? 'i' (global implicitly-sized array of int)
+0:? 'emptyA' (global implicitly-sized array of float)
+0:? 'b' (global float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+ERROR: node is still EOpNull!
+0:9 Function Definition: foo(f1[5]; (global 4-element array of float)
+0:9 Function Parameters:
+0:9 'a' (in 5-element array of float)
+0:11 Sequence
+0:11 Branch: Return with expression
+0:11 Construct float (temp 4-element array of float)
+0:11 direct index (temp float)
+0:11 'a' (in 5-element array of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 direct index (temp float)
+0:11 'a' (in 5-element array of float)
+0:11 Constant:
+0:11 1 (const int)
+0:11 direct index (temp float)
+0:11 'a' (in 5-element array of float)
+0:11 Constant:
+0:11 2 (const int)
+0:11 direct index (temp float)
+0:11 'a' (in 5-element array of float)
+0:11 Constant:
+0:11 3 (const int)
+0:14 Function Definition: bar(f1[5]; (global void)
+0:14 Function Parameters:
+0:14 '' (in 5-element array of float)
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:? Sequence
+0:? Sequence
+0:21 move second child to first child (temp float)
+0:21 direct index (temp float)
+0:21 'gu' (temp 2-element array of float)
+0:21 Constant:
+0:21 2 (const int)
+0:21 Constant:
+0:21 4.000000
+0:24 move second child to first child (temp float)
+0:24 direct index (temp float)
+0:24 'gu' (global 4-element array of float)
+0:24 Constant:
+0:24 2 (const int)
+0:24 Constant:
+0:24 4.000000
+0:26 move second child to first child (temp float)
+0:26 direct index (temp float)
+0:26 'gu' (global 4-element array of float)
+0:26 Constant:
+0:26 3 (const int)
+0:26 Constant:
+0:26 3.000000
+0:27 move second child to first child (temp float)
+0:27 indirect index (temp float)
+0:27 'gu' (global 4-element array of float)
+0:27 'a' (uniform int)
+0:27 Constant:
+0:27 5.000000
+0:29 move second child to first child (temp 4-element array of float)
+0:29 'g4' (global 4-element array of float)
+0:29 Function Call: foo(f1[5]; (global 4-element array of float)
+0:29 'g5' (global 5-element array of float)
+0:30 'g5' (global 5-element array of float)
+0:31 'gu' (global 4-element array of float)
+0:33 Constant:
+0:33 0.000000
+0:34 Function Call: bar(f1[5]; (global void)
+0:34 'g5' (global 5-element array of float)
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 Compare Equal (temp bool)
+0:36 Constant:
+0:36 1.000000
+0:36 2.000000
+0:36 3.000000
+0:36 4.000000
+0:36 'g4' (global 4-element array of float)
+0:36 true case
+0:37 move second child to first child (temp float)
+0:37 direct index (temp float)
+0:37 'gu' (global 4-element array of float)
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 2.000000
+0:40 move second child to first child (temp float)
+0:40 direct index (temp float)
+0:40 'u' (temp 5-element array of float)
+0:40 Constant:
+0:40 2 (const int)
+0:40 Constant:
+0:40 3.000000
+0:42 move second child to first child (temp float)
+0:42 direct index (temp float)
+0:42 'u' (temp 5-element array of float)
+0:42 Constant:
+0:42 5 (const int)
+0:42 Constant:
+0:42 5.000000
+0:43 Function Call: foo(f1[5]; (global 4-element array of float)
+0:43 'u' (temp 5-element array of float)
+0:45 move second child to first child (temp 4-component vector of float)
+0:45 direct index (temp 4-component vector of float FragData)
+0:45 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:45 Constant:
+0:45 1000 (const int)
+0:45 Constant:
+0:45 1.000000
+0:45 1.000000
+0:45 1.000000
+0:45 1.000000
+0:46 move second child to first child (temp 4-component vector of float)
+0:46 direct index (temp 4-component vector of float FragData)
+0:46 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:46 Constant:
+0:46 -1 (const int)
+0:46 Constant:
+0:46 1.000000
+0:46 1.000000
+0:46 1.000000
+0:46 1.000000
+0:47 move second child to first child (temp 4-component vector of float)
+0:47 direct index (temp 4-component vector of float FragData)
+0:47 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:47 Constant:
+0:47 3 (const int)
+0:47 Constant:
+0:47 1.000000
+0:47 1.000000
+0:47 1.000000
+0:47 1.000000
+0:50 Sequence
+0:50 move second child to first child (temp int)
+0:50 'sum' (temp int)
+0:50 Constant:
+0:50 3 (const int)
+0:51 add second child into first child (temp int)
+0:51 'sum' (temp int)
+0:51 Constant:
+0:51 2 (const int)
+0:52 add second child into first child (temp int)
+0:52 'sum' (temp int)
+0:52 Constant:
+0:52 2 (const int)
+0:55 Sequence
+0:55 move second child to first child (temp 2-element array of int)
+0:55 'ica' (temp 2-element array of int)
+0:55 Constant:
+0:55 3 (const int)
+0:55 2 (const int)
+0:57 move second child to first child (temp int)
+0:57 direct index (temp int)
+0:57 'ica' (temp 2-element array of int)
+0:57 Constant:
+0:57 3.100000
+0:57 Constant:
+0:57 3 (const int)
+0:58 move second child to first child (temp int)
+0:58 indirect index (temp int)
+0:58 'ica' (temp 2-element array of int)
+0:58 direct index (temp float)
+0:58 'u' (temp 5-element array of float)
+0:58 Constant:
+0:58 1 (const int)
+0:58 Constant:
+0:58 4 (const int)
+0:68 Function Definition: foo( (global void)
+0:68 Function Parameters:
+0:? Sequence
+0:71 move second child to first child (temp int)
+0:71 direct index (temp int)
+0:71 'uns' (temp 4-element array of int)
+0:71 Constant:
+0:71 3 (const int)
+0:71 Constant:
+0:71 40 (const int)
+0:72 move second child to first child (temp int)
+0:72 direct index (temp int)
+0:72 'uns' (temp 4-element array of int)
+0:72 Constant:
+0:72 1 (const int)
+0:72 Constant:
+0:72 30 (const int)
+0:73 move second child to first child (temp 3-component vector of float)
+0:73 direct index (temp 3-component vector of float)
+0:73 'guns' (global 8-element array of 3-component vector of float)
+0:73 Constant:
+0:73 2 (const int)
+0:73 Constant:
+0:73 2.400000
+0:73 2.400000
+0:73 2.400000
+0:76 Constant:
+0:76 0.000000
+0:79 Function Definition: foo2( (global implicitly-sized array of float)
+0:79 Function Parameters:
+0:? Sequence
+0:82 Branch: Return with expression
+0:82 'f' (temp 1-element array of float)
+0:84 Branch: Return with expression
+0:84 'g' (temp 9-element array of float)
+0:89 Function Definition: foo3( (global void)
+0:89 Function Parameters:
+0:? Sequence
+0:92 move second child to first child (temp float)
+0:92 direct index (temp float)
+0:92 'resize1' (temp 3-element array of float)
+0:92 Constant:
+0:92 2 (const int)
+0:92 Constant:
+0:92 4.000000
+0:93 Constant:
+0:93 1 (const int)
+0:95 Constant:
+0:95 3 (const int)
+0:98 move second child to first child (temp float)
+0:98 direct index (temp float)
+0:98 'resize2' (temp 5-element array of float)
+0:98 Constant:
+0:98 5 (const int)
+0:98 Constant:
+0:98 4.000000
+0:100 Constant:
+0:100 5 (const int)
+0:101 move second child to first child (temp float)
+0:101 direct index (temp float)
+0:101 'resize2' (temp 5-element array of float)
+0:101 Constant:
+0:101 5 (const int)
+0:101 Constant:
+0:101 4.000000
+0:106 Sequence
+0:106 move second child to first child (temp float)
+0:106 'b' (global float)
+0:106 Constant:
+0:106 0.000000
+0:? Linker Objects
+0:? 'gu' (global 4-element array of float)
+0:? 'g4' (global 4-element array of float)
+0:? 'g5' (global 5-element array of float)
+0:? 'a' (uniform int)
+0:? 'guns' (global 8-element array of 3-component vector of float)
+0:? 'f' (global float)
+0:? 'gUnusedUnsized' (global 1-element array of float)
+0:? 'i' (global 1-element array of int)
+0:? 'emptyA' (global 1-element array of float)
+0:? 'b' (global float)
+
diff --git a/Test/baseResults/array100.frag.out b/Test/baseResults/array100.frag.out
index 8195fd3..b44f6a0 100644
--- a/Test/baseResults/array100.frag.out
+++ b/Test/baseResults/array100.frag.out
@@ -1,296 +1,296 @@
-array100.frag
-ERROR: 0:3: 'float' : type requires declaration of default precision qualifier
-ERROR: 0:3: '' : array size required
-ERROR: 0:9: 'arrayed type' : not supported for this version or the enabled extensions
-ERROR: 0:9: 'arrayed type' : not supported for this version or the enabled extensions
-ERROR: 0:9: 'array in function return type' : not supported for this version or the enabled extensions
-ERROR: 0:11: 'arrayed constructor' : not supported for this version or the enabled extensions
-ERROR: 0:21: '[' : array index out of range '2'
-ERROR: 0:24: 'array assignment' : not supported for this version or the enabled extensions
-ERROR: 0:25: 'array assignment' : not supported for this version or the enabled extensions
-ERROR: 0:25: 'assign' : cannot convert from 'global 4-element array of mediump float' to 'global 5-element array of mediump float'
-ERROR: 0:26: 'array assignment' : not supported for this version or the enabled extensions
-ERROR: 0:26: 'assign' : cannot convert from 'global 4-element array of mediump float' to 'global implicitly-sized array of mediump float'
-ERROR: 0:28: 'foo' : no matching overloaded function found
-ERROR: 0:31: 'arrayed constructor' : not supported for this version or the enabled extensions
-ERROR: 0:31: 'array comparison' : not supported for this version or the enabled extensions
-ERROR: 0:35: '[' : array index out of range '5'
-ERROR: 0:38: '[' : array index out of range '1000'
-ERROR: 0:39: '[' : index out of range '-1'
-ERROR: 0:53: 'array in function return type' : not supported for this version or the enabled extensions
-ERROR: 0:66: 'array assignment' : not supported for this version or the enabled extensions
-ERROR: 0:68: 'array assignment' : not supported for this version or the enabled extensions
-ERROR: 0:69: 'array initializer' : not supported for this version or the enabled extensions
-ERROR: 22 compilation errors. No code generated.
-
-
-Shader version: 100
-ERROR: node is still EOpNull!
-0:9 Function Definition: foo(f1[5]; (global 4-element array of mediump float)
-0:9 Function Parameters:
-0:9 'a' (in 5-element array of mediump float)
-0:11 Sequence
-0:11 Branch: Return with expression
-0:11 Construct float (temp 4-element array of float)
-0:11 direct index (temp mediump float)
-0:11 'a' (in 5-element array of mediump float)
-0:11 Constant:
-0:11 0 (const int)
-0:11 direct index (temp mediump float)
-0:11 'a' (in 5-element array of mediump float)
-0:11 Constant:
-0:11 1 (const int)
-0:11 direct index (temp mediump float)
-0:11 'a' (in 5-element array of mediump float)
-0:11 Constant:
-0:11 2 (const int)
-0:11 direct index (temp mediump float)
-0:11 'a' (in 5-element array of mediump float)
-0:11 Constant:
-0:11 3 (const int)
-0:14 Function Definition: bar(f1[5]; (global void)
-0:14 Function Parameters:
-0:14 '' (in 5-element array of mediump float)
-0:16 Function Definition: main( (global void)
-0:16 Function Parameters:
-0:? Sequence
-0:? Sequence
-0:21 move second child to first child (temp mediump float)
-0:21 direct index (temp mediump float)
-0:21 'gu' (temp 2-element array of mediump float)
-0:21 Constant:
-0:21 2 (const int)
-0:21 Constant:
-0:21 4.000000
-0:24 move second child to first child (temp 4-element array of mediump float)
-0:24 'g4' (global 4-element array of mediump float)
-0:24 Function Call: foo(f1[5]; (global 4-element array of mediump float)
-0:24 'g5' (global 5-element array of mediump float)
-0:25 'g5' (global 5-element array of mediump float)
-0:26 'gu' (global implicitly-sized array of mediump float)
-0:28 Constant:
-0:28 0.000000
-0:29 Function Call: bar(f1[5]; (global void)
-0:29 'g5' (global 5-element array of mediump float)
-0:31 Test condition and select (temp void)
-0:31 Condition
-0:31 Compare Equal (temp bool)
-0:31 Constant:
-0:31 1.000000
-0:31 2.000000
-0:31 3.000000
-0:31 4.000000
-0:31 'g4' (global 4-element array of mediump float)
-0:31 true case
-0:32 move second child to first child (temp mediump float)
-0:32 direct index (temp mediump float)
-0:32 'gu' (global implicitly-sized array of mediump float)
-0:32 Constant:
-0:32 0 (const int)
-0:32 Constant:
-0:32 2.000000
-0:35 move second child to first child (temp mediump float)
-0:35 direct index (temp mediump float)
-0:35 'u' (temp 5-element array of mediump float)
-0:35 Constant:
-0:35 5 (const int)
-0:35 Constant:
-0:35 5.000000
-0:36 Function Call: foo(f1[5]; (global 4-element array of mediump float)
-0:36 'u' (temp 5-element array of mediump float)
-0:38 move second child to first child (temp mediump 4-component vector of float)
-0:38 direct index (temp mediump 4-component vector of float FragData)
-0:38 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
-0:38 Constant:
-0:38 1000 (const int)
-0:38 Constant:
-0:38 1.000000
-0:38 1.000000
-0:38 1.000000
-0:38 1.000000
-0:39 move second child to first child (temp mediump 4-component vector of float)
-0:39 direct index (temp mediump 4-component vector of float FragData)
-0:39 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
-0:39 Constant:
-0:39 -1 (const int)
-0:39 Constant:
-0:39 1.000000
-0:39 1.000000
-0:39 1.000000
-0:39 1.000000
-0:40 move second child to first child (temp mediump 4-component vector of float)
-0:40 direct index (temp mediump 4-component vector of float FragData)
-0:40 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
-0:40 Constant:
-0:40 3 (const int)
-0:40 Constant:
-0:40 1.000000
-0:40 1.000000
-0:40 1.000000
-0:40 1.000000
-0:53 Function Definition: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:53 Function Parameters:
-0:? Sequence
-0:56 Branch: Return with expression
-0:56 's' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:59 Function Definition: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
-0:59 Function Parameters:
-0:59 's' (in structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:63 Function Definition: bar11( (global void)
-0:63 Function Parameters:
-0:? Sequence
-0:66 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:66 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:66 's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:67 Function Call: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
-0:67 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:68 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:68 's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:68 Function Call: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:69 Sequence
-0:69 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:69 'initSb' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:69 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:? Linker Objects
-0:? 'gu' (global implicitly-sized array of mediump float)
-0:? 'g4' (global 4-element array of mediump float)
-0:? 'g5' (global 5-element array of mediump float)
-0:? 'a' (uniform mediump int)
-
-
-Linked fragment stage:
-
-
-Shader version: 100
-ERROR: node is still EOpNull!
-0:9 Function Definition: foo(f1[5]; (global 4-element array of mediump float)
-0:9 Function Parameters:
-0:9 'a' (in 5-element array of mediump float)
-0:11 Sequence
-0:11 Branch: Return with expression
-0:11 Construct float (temp 4-element array of float)
-0:11 direct index (temp mediump float)
-0:11 'a' (in 5-element array of mediump float)
-0:11 Constant:
-0:11 0 (const int)
-0:11 direct index (temp mediump float)
-0:11 'a' (in 5-element array of mediump float)
-0:11 Constant:
-0:11 1 (const int)
-0:11 direct index (temp mediump float)
-0:11 'a' (in 5-element array of mediump float)
-0:11 Constant:
-0:11 2 (const int)
-0:11 direct index (temp mediump float)
-0:11 'a' (in 5-element array of mediump float)
-0:11 Constant:
-0:11 3 (const int)
-0:14 Function Definition: bar(f1[5]; (global void)
-0:14 Function Parameters:
-0:14 '' (in 5-element array of mediump float)
-0:16 Function Definition: main( (global void)
-0:16 Function Parameters:
-0:? Sequence
-0:? Sequence
-0:21 move second child to first child (temp mediump float)
-0:21 direct index (temp mediump float)
-0:21 'gu' (temp 2-element array of mediump float)
-0:21 Constant:
-0:21 2 (const int)
-0:21 Constant:
-0:21 4.000000
-0:24 move second child to first child (temp 4-element array of mediump float)
-0:24 'g4' (global 4-element array of mediump float)
-0:24 Function Call: foo(f1[5]; (global 4-element array of mediump float)
-0:24 'g5' (global 5-element array of mediump float)
-0:25 'g5' (global 5-element array of mediump float)
-0:26 'gu' (global 1-element array of mediump float)
-0:28 Constant:
-0:28 0.000000
-0:29 Function Call: bar(f1[5]; (global void)
-0:29 'g5' (global 5-element array of mediump float)
-0:31 Test condition and select (temp void)
-0:31 Condition
-0:31 Compare Equal (temp bool)
-0:31 Constant:
-0:31 1.000000
-0:31 2.000000
-0:31 3.000000
-0:31 4.000000
-0:31 'g4' (global 4-element array of mediump float)
-0:31 true case
-0:32 move second child to first child (temp mediump float)
-0:32 direct index (temp mediump float)
-0:32 'gu' (global 1-element array of mediump float)
-0:32 Constant:
-0:32 0 (const int)
-0:32 Constant:
-0:32 2.000000
-0:35 move second child to first child (temp mediump float)
-0:35 direct index (temp mediump float)
-0:35 'u' (temp 5-element array of mediump float)
-0:35 Constant:
-0:35 5 (const int)
-0:35 Constant:
-0:35 5.000000
-0:36 Function Call: foo(f1[5]; (global 4-element array of mediump float)
-0:36 'u' (temp 5-element array of mediump float)
-0:38 move second child to first child (temp mediump 4-component vector of float)
-0:38 direct index (temp mediump 4-component vector of float FragData)
-0:38 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
-0:38 Constant:
-0:38 1000 (const int)
-0:38 Constant:
-0:38 1.000000
-0:38 1.000000
-0:38 1.000000
-0:38 1.000000
-0:39 move second child to first child (temp mediump 4-component vector of float)
-0:39 direct index (temp mediump 4-component vector of float FragData)
-0:39 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
-0:39 Constant:
-0:39 -1 (const int)
-0:39 Constant:
-0:39 1.000000
-0:39 1.000000
-0:39 1.000000
-0:39 1.000000
-0:40 move second child to first child (temp mediump 4-component vector of float)
-0:40 direct index (temp mediump 4-component vector of float FragData)
-0:40 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
-0:40 Constant:
-0:40 3 (const int)
-0:40 Constant:
-0:40 1.000000
-0:40 1.000000
-0:40 1.000000
-0:40 1.000000
-0:53 Function Definition: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:53 Function Parameters:
-0:? Sequence
-0:56 Branch: Return with expression
-0:56 's' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:59 Function Definition: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
-0:59 Function Parameters:
-0:59 's' (in structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:63 Function Definition: bar11( (global void)
-0:63 Function Parameters:
-0:? Sequence
-0:66 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:66 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:66 's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:67 Function Call: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
-0:67 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:68 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:68 's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:68 Function Call: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:69 Sequence
-0:69 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:69 'initSb' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:69 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:? Linker Objects
-0:? 'gu' (global 1-element array of mediump float)
-0:? 'g4' (global 4-element array of mediump float)
-0:? 'g5' (global 5-element array of mediump float)
-0:? 'a' (uniform mediump int)
-
+array100.frag
+ERROR: 0:3: 'float' : type requires declaration of default precision qualifier
+ERROR: 0:3: '' : array size required
+ERROR: 0:9: 'arrayed type' : not supported for this version or the enabled extensions
+ERROR: 0:9: 'arrayed type' : not supported for this version or the enabled extensions
+ERROR: 0:9: 'array in function return type' : not supported for this version or the enabled extensions
+ERROR: 0:11: 'arrayed constructor' : not supported for this version or the enabled extensions
+ERROR: 0:21: '[' : array index out of range '2'
+ERROR: 0:24: 'array assignment' : not supported for this version or the enabled extensions
+ERROR: 0:25: 'array assignment' : not supported for this version or the enabled extensions
+ERROR: 0:25: 'assign' : cannot convert from 'global 4-element array of mediump float' to 'global 5-element array of mediump float'
+ERROR: 0:26: 'array assignment' : not supported for this version or the enabled extensions
+ERROR: 0:26: 'assign' : cannot convert from 'global 4-element array of mediump float' to 'global implicitly-sized array of mediump float'
+ERROR: 0:28: 'foo' : no matching overloaded function found
+ERROR: 0:31: 'arrayed constructor' : not supported for this version or the enabled extensions
+ERROR: 0:31: 'array comparison' : not supported for this version or the enabled extensions
+ERROR: 0:35: '[' : array index out of range '5'
+ERROR: 0:38: '[' : array index out of range '1000'
+ERROR: 0:39: '[' : index out of range '-1'
+ERROR: 0:53: 'array in function return type' : not supported for this version or the enabled extensions
+ERROR: 0:66: 'array assignment' : not supported for this version or the enabled extensions
+ERROR: 0:68: 'array assignment' : not supported for this version or the enabled extensions
+ERROR: 0:69: 'array initializer' : not supported for this version or the enabled extensions
+ERROR: 22 compilation errors. No code generated.
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:9 Function Definition: foo(f1[5]; (global 4-element array of mediump float)
+0:9 Function Parameters:
+0:9 'a' (in 5-element array of mediump float)
+0:11 Sequence
+0:11 Branch: Return with expression
+0:11 Construct float (temp 4-element array of float)
+0:11 direct index (temp mediump float)
+0:11 'a' (in 5-element array of mediump float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 direct index (temp mediump float)
+0:11 'a' (in 5-element array of mediump float)
+0:11 Constant:
+0:11 1 (const int)
+0:11 direct index (temp mediump float)
+0:11 'a' (in 5-element array of mediump float)
+0:11 Constant:
+0:11 2 (const int)
+0:11 direct index (temp mediump float)
+0:11 'a' (in 5-element array of mediump float)
+0:11 Constant:
+0:11 3 (const int)
+0:14 Function Definition: bar(f1[5]; (global void)
+0:14 Function Parameters:
+0:14 '' (in 5-element array of mediump float)
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:? Sequence
+0:? Sequence
+0:21 move second child to first child (temp mediump float)
+0:21 direct index (temp mediump float)
+0:21 'gu' (temp 2-element array of mediump float)
+0:21 Constant:
+0:21 2 (const int)
+0:21 Constant:
+0:21 4.000000
+0:24 move second child to first child (temp 4-element array of mediump float)
+0:24 'g4' (global 4-element array of mediump float)
+0:24 Function Call: foo(f1[5]; (global 4-element array of mediump float)
+0:24 'g5' (global 5-element array of mediump float)
+0:25 'g5' (global 5-element array of mediump float)
+0:26 'gu' (global implicitly-sized array of mediump float)
+0:28 Constant:
+0:28 0.000000
+0:29 Function Call: bar(f1[5]; (global void)
+0:29 'g5' (global 5-element array of mediump float)
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Compare Equal (temp bool)
+0:31 Constant:
+0:31 1.000000
+0:31 2.000000
+0:31 3.000000
+0:31 4.000000
+0:31 'g4' (global 4-element array of mediump float)
+0:31 true case
+0:32 move second child to first child (temp mediump float)
+0:32 direct index (temp mediump float)
+0:32 'gu' (global implicitly-sized array of mediump float)
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 2.000000
+0:35 move second child to first child (temp mediump float)
+0:35 direct index (temp mediump float)
+0:35 'u' (temp 5-element array of mediump float)
+0:35 Constant:
+0:35 5 (const int)
+0:35 Constant:
+0:35 5.000000
+0:36 Function Call: foo(f1[5]; (global 4-element array of mediump float)
+0:36 'u' (temp 5-element array of mediump float)
+0:38 move second child to first child (temp mediump 4-component vector of float)
+0:38 direct index (temp mediump 4-component vector of float FragData)
+0:38 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
+0:38 Constant:
+0:38 1000 (const int)
+0:38 Constant:
+0:38 1.000000
+0:38 1.000000
+0:38 1.000000
+0:38 1.000000
+0:39 move second child to first child (temp mediump 4-component vector of float)
+0:39 direct index (temp mediump 4-component vector of float FragData)
+0:39 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
+0:39 Constant:
+0:39 -1 (const int)
+0:39 Constant:
+0:39 1.000000
+0:39 1.000000
+0:39 1.000000
+0:39 1.000000
+0:40 move second child to first child (temp mediump 4-component vector of float)
+0:40 direct index (temp mediump 4-component vector of float FragData)
+0:40 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
+0:40 Constant:
+0:40 3 (const int)
+0:40 Constant:
+0:40 1.000000
+0:40 1.000000
+0:40 1.000000
+0:40 1.000000
+0:53 Function Definition: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:53 Function Parameters:
+0:? Sequence
+0:56 Branch: Return with expression
+0:56 's' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:59 Function Definition: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
+0:59 Function Parameters:
+0:59 's' (in structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:63 Function Definition: bar11( (global void)
+0:63 Function Parameters:
+0:? Sequence
+0:66 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:66 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:66 's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:67 Function Call: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
+0:67 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:68 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:68 's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:68 Function Call: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:69 Sequence
+0:69 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:69 'initSb' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:69 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:? Linker Objects
+0:? 'gu' (global implicitly-sized array of mediump float)
+0:? 'g4' (global 4-element array of mediump float)
+0:? 'g5' (global 5-element array of mediump float)
+0:? 'a' (uniform mediump int)
+
+
+Linked fragment stage:
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:9 Function Definition: foo(f1[5]; (global 4-element array of mediump float)
+0:9 Function Parameters:
+0:9 'a' (in 5-element array of mediump float)
+0:11 Sequence
+0:11 Branch: Return with expression
+0:11 Construct float (temp 4-element array of float)
+0:11 direct index (temp mediump float)
+0:11 'a' (in 5-element array of mediump float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 direct index (temp mediump float)
+0:11 'a' (in 5-element array of mediump float)
+0:11 Constant:
+0:11 1 (const int)
+0:11 direct index (temp mediump float)
+0:11 'a' (in 5-element array of mediump float)
+0:11 Constant:
+0:11 2 (const int)
+0:11 direct index (temp mediump float)
+0:11 'a' (in 5-element array of mediump float)
+0:11 Constant:
+0:11 3 (const int)
+0:14 Function Definition: bar(f1[5]; (global void)
+0:14 Function Parameters:
+0:14 '' (in 5-element array of mediump float)
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:? Sequence
+0:? Sequence
+0:21 move second child to first child (temp mediump float)
+0:21 direct index (temp mediump float)
+0:21 'gu' (temp 2-element array of mediump float)
+0:21 Constant:
+0:21 2 (const int)
+0:21 Constant:
+0:21 4.000000
+0:24 move second child to first child (temp 4-element array of mediump float)
+0:24 'g4' (global 4-element array of mediump float)
+0:24 Function Call: foo(f1[5]; (global 4-element array of mediump float)
+0:24 'g5' (global 5-element array of mediump float)
+0:25 'g5' (global 5-element array of mediump float)
+0:26 'gu' (global 1-element array of mediump float)
+0:28 Constant:
+0:28 0.000000
+0:29 Function Call: bar(f1[5]; (global void)
+0:29 'g5' (global 5-element array of mediump float)
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Compare Equal (temp bool)
+0:31 Constant:
+0:31 1.000000
+0:31 2.000000
+0:31 3.000000
+0:31 4.000000
+0:31 'g4' (global 4-element array of mediump float)
+0:31 true case
+0:32 move second child to first child (temp mediump float)
+0:32 direct index (temp mediump float)
+0:32 'gu' (global 1-element array of mediump float)
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 2.000000
+0:35 move second child to first child (temp mediump float)
+0:35 direct index (temp mediump float)
+0:35 'u' (temp 5-element array of mediump float)
+0:35 Constant:
+0:35 5 (const int)
+0:35 Constant:
+0:35 5.000000
+0:36 Function Call: foo(f1[5]; (global 4-element array of mediump float)
+0:36 'u' (temp 5-element array of mediump float)
+0:38 move second child to first child (temp mediump 4-component vector of float)
+0:38 direct index (temp mediump 4-component vector of float FragData)
+0:38 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
+0:38 Constant:
+0:38 1000 (const int)
+0:38 Constant:
+0:38 1.000000
+0:38 1.000000
+0:38 1.000000
+0:38 1.000000
+0:39 move second child to first child (temp mediump 4-component vector of float)
+0:39 direct index (temp mediump 4-component vector of float FragData)
+0:39 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
+0:39 Constant:
+0:39 -1 (const int)
+0:39 Constant:
+0:39 1.000000
+0:39 1.000000
+0:39 1.000000
+0:39 1.000000
+0:40 move second child to first child (temp mediump 4-component vector of float)
+0:40 direct index (temp mediump 4-component vector of float FragData)
+0:40 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float FragData)
+0:40 Constant:
+0:40 3 (const int)
+0:40 Constant:
+0:40 1.000000
+0:40 1.000000
+0:40 1.000000
+0:40 1.000000
+0:53 Function Definition: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:53 Function Parameters:
+0:? Sequence
+0:56 Branch: Return with expression
+0:56 's' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:59 Function Definition: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
+0:59 Function Parameters:
+0:59 's' (in structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:63 Function Definition: bar11( (global void)
+0:63 Function Parameters:
+0:? Sequence
+0:66 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:66 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:66 's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:67 Function Call: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
+0:67 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:68 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:68 's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:68 Function Call: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:69 Sequence
+0:69 move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:69 'initSb' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:69 's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
+0:? Linker Objects
+0:? 'gu' (global 1-element array of mediump float)
+0:? 'g4' (global 4-element array of mediump float)
+0:? 'g5' (global 5-element array of mediump float)
+0:? 'a' (uniform mediump int)
+
diff --git a/Test/baseResults/atomic_uint.frag.out b/Test/baseResults/atomic_uint.frag.out
index 1eef5c3..4d05756 100644
--- a/Test/baseResults/atomic_uint.frag.out
+++ b/Test/baseResults/atomic_uint.frag.out
@@ -1,145 +1,145 @@
-atomic_uint.frag
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:10: 'atomic_uint' : samplers and atomic_uints cannot be output parameters
-ERROR: 0:12: 'return' : type does not match, or is not convertible to, the function's return type
-ERROR: 0:18: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: non_uniform_counter
-ERROR: 0:18: 'atomic_uint' : layout(binding=X) is required
-ERROR: 0:23: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
-ERROR: 0:28: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout(binding=0 offset=0 ) uniform atomic_uint' and a right operand of type 'layout(binding=0 offset=0 ) uniform atomic_uint' (or there is no acceptable conversion)
-ERROR: 0:29: '-' : wrong operand type no operation '-' exists that takes an operand of type layout(binding=0 offset=0 ) uniform atomic_uint (or there is no acceptable conversion)
-ERROR: 0:31: '[]' : scalar integer expression required
-ERROR: 0:34: 'assign' : l-value required "counter" (can't modify a uniform)
-ERROR: 0:34: 'assign' : cannot convert from 'const int' to 'layout(binding=0 offset=0 ) uniform atomic_uint'
-ERROR: 0:37: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: acin
-ERROR: 0:37: 'atomic_uint' : layout(binding=X) is required
-ERROR: 0:38: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: acg
-ERROR: 0:38: 'atomic_uint' : layout(binding=X) is required
-ERROR: 0:40: 'atomic_uint' : layout(binding=X) is required
-ERROR: 0:46: 'atomic_uint' : layout(binding=X) is required
-ERROR: 0:47: 'offset' : atomic counters sharing the same offset: 12
-ERROR: 0:48: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
-ERROR: 18 compilation errors. No code generated.
-
-
-Shader version: 420
-ERROR: node is still EOpNull!
-0:5 Function Definition: func(au1; (global uint)
-0:5 Function Parameters:
-0:5 'c' (in atomic_uint)
-0:7 Sequence
-0:7 Branch: Return with expression
-0:7 AtomicCounterIncrement (global uint)
-0:7 'c' (in atomic_uint)
-0:10 Function Definition: func2(au1; (global uint)
-0:10 Function Parameters:
-0:10 'c' (out atomic_uint)
-0:12 Sequence
-0:12 Branch: Return with expression
-0:12 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:13 Branch: Return with expression
-0:13 AtomicCounter (global uint)
-0:13 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:16 Function Definition: main( (global void)
-0:16 Function Parameters:
-0:? Sequence
-0:19 Sequence
-0:19 move second child to first child (temp uint)
-0:19 'val' (temp uint)
-0:19 AtomicCounter (global uint)
-0:19 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:20 AtomicCounterDecrement (global uint)
-0:20 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:26 Function Definition: opac( (global void)
-0:26 Function Parameters:
-0:28 Sequence
-0:28 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:29 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:31 indirect index (temp int)
-0:31 'a' (temp 3-element array of int)
-0:31 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:32 direct index (layout(binding=1 offset=3 ) temp atomic_uint)
-0:32 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
-0:32 Constant:
-0:32 2 (const int)
-0:33 indirect index (layout(binding=1 offset=3 ) temp atomic_uint)
-0:33 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
-0:33 'i' (uniform int)
-0:34 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:? Linker Objects
-0:? 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:? 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
-0:? 'i' (uniform int)
-0:? 'acin' (smooth in atomic_uint)
-0:? 'acg' (global atomic_uint)
-0:? 'aNoBind' (uniform atomic_uint)
-0:? 'aOffset' (layout(binding=0 offset=32 ) uniform atomic_uint)
-0:? 'bar3' (layout(binding=0 offset=4 ) uniform atomic_uint)
-0:? 'ac' (layout(binding=0 offset=8 ) uniform 3-element array of atomic_uint)
-0:? 'ad' (layout(binding=0 offset=20 ) uniform atomic_uint)
-0:? 'bar4' (layout(offset=8 ) uniform atomic_uint)
-0:? 'overlap' (layout(binding=0 offset=12 ) uniform atomic_uint)
-0:? 'bigBind' (layout(binding=20 ) uniform atomic_uint)
-
-
-Linked fragment stage:
-
-
-Shader version: 420
-ERROR: node is still EOpNull!
-0:5 Function Definition: func(au1; (global uint)
-0:5 Function Parameters:
-0:5 'c' (in atomic_uint)
-0:7 Sequence
-0:7 Branch: Return with expression
-0:7 AtomicCounterIncrement (global uint)
-0:7 'c' (in atomic_uint)
-0:10 Function Definition: func2(au1; (global uint)
-0:10 Function Parameters:
-0:10 'c' (out atomic_uint)
-0:12 Sequence
-0:12 Branch: Return with expression
-0:12 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:13 Branch: Return with expression
-0:13 AtomicCounter (global uint)
-0:13 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:16 Function Definition: main( (global void)
-0:16 Function Parameters:
-0:? Sequence
-0:19 Sequence
-0:19 move second child to first child (temp uint)
-0:19 'val' (temp uint)
-0:19 AtomicCounter (global uint)
-0:19 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:20 AtomicCounterDecrement (global uint)
-0:20 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:26 Function Definition: opac( (global void)
-0:26 Function Parameters:
-0:28 Sequence
-0:28 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:29 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:31 indirect index (temp int)
-0:31 'a' (temp 3-element array of int)
-0:31 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:32 direct index (layout(binding=1 offset=3 ) temp atomic_uint)
-0:32 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
-0:32 Constant:
-0:32 2 (const int)
-0:33 indirect index (layout(binding=1 offset=3 ) temp atomic_uint)
-0:33 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
-0:33 'i' (uniform int)
-0:34 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:? Linker Objects
-0:? 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:? 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
-0:? 'i' (uniform int)
-0:? 'acin' (smooth in atomic_uint)
-0:? 'acg' (global atomic_uint)
-0:? 'aNoBind' (uniform atomic_uint)
-0:? 'aOffset' (layout(binding=0 offset=32 ) uniform atomic_uint)
-0:? 'bar3' (layout(binding=0 offset=4 ) uniform atomic_uint)
-0:? 'ac' (layout(binding=0 offset=8 ) uniform 3-element array of atomic_uint)
-0:? 'ad' (layout(binding=0 offset=20 ) uniform atomic_uint)
-0:? 'bar4' (layout(offset=8 ) uniform atomic_uint)
-0:? 'overlap' (layout(binding=0 offset=12 ) uniform atomic_uint)
-0:? 'bigBind' (layout(binding=20 ) uniform atomic_uint)
-
+atomic_uint.frag
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:10: 'atomic_uint' : samplers and atomic_uints cannot be output parameters
+ERROR: 0:12: 'return' : type does not match, or is not convertible to, the function's return type
+ERROR: 0:18: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: non_uniform_counter
+ERROR: 0:18: 'atomic_uint' : layout(binding=X) is required
+ERROR: 0:23: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 0:28: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout(binding=0 offset=0 ) uniform atomic_uint' and a right operand of type 'layout(binding=0 offset=0 ) uniform atomic_uint' (or there is no acceptable conversion)
+ERROR: 0:29: '-' : wrong operand type no operation '-' exists that takes an operand of type layout(binding=0 offset=0 ) uniform atomic_uint (or there is no acceptable conversion)
+ERROR: 0:31: '[]' : scalar integer expression required
+ERROR: 0:34: 'assign' : l-value required "counter" (can't modify a uniform)
+ERROR: 0:34: 'assign' : cannot convert from 'const int' to 'layout(binding=0 offset=0 ) uniform atomic_uint'
+ERROR: 0:37: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: acin
+ERROR: 0:37: 'atomic_uint' : layout(binding=X) is required
+ERROR: 0:38: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: acg
+ERROR: 0:38: 'atomic_uint' : layout(binding=X) is required
+ERROR: 0:40: 'atomic_uint' : layout(binding=X) is required
+ERROR: 0:46: 'atomic_uint' : layout(binding=X) is required
+ERROR: 0:47: 'offset' : atomic counters sharing the same offset: 12
+ERROR: 0:48: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 18 compilation errors. No code generated.
+
+
+Shader version: 420
+ERROR: node is still EOpNull!
+0:5 Function Definition: func(au1; (global uint)
+0:5 Function Parameters:
+0:5 'c' (in atomic_uint)
+0:7 Sequence
+0:7 Branch: Return with expression
+0:7 AtomicCounterIncrement (global uint)
+0:7 'c' (in atomic_uint)
+0:10 Function Definition: func2(au1; (global uint)
+0:10 Function Parameters:
+0:10 'c' (out atomic_uint)
+0:12 Sequence
+0:12 Branch: Return with expression
+0:12 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:13 Branch: Return with expression
+0:13 AtomicCounter (global uint)
+0:13 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:? Sequence
+0:19 Sequence
+0:19 move second child to first child (temp uint)
+0:19 'val' (temp uint)
+0:19 AtomicCounter (global uint)
+0:19 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:20 AtomicCounterDecrement (global uint)
+0:20 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:26 Function Definition: opac( (global void)
+0:26 Function Parameters:
+0:28 Sequence
+0:28 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:29 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:31 indirect index (temp int)
+0:31 'a' (temp 3-element array of int)
+0:31 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:32 direct index (layout(binding=1 offset=3 ) temp atomic_uint)
+0:32 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
+0:32 Constant:
+0:32 2 (const int)
+0:33 indirect index (layout(binding=1 offset=3 ) temp atomic_uint)
+0:33 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
+0:33 'i' (uniform int)
+0:34 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:? Linker Objects
+0:? 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:? 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
+0:? 'i' (uniform int)
+0:? 'acin' (smooth in atomic_uint)
+0:? 'acg' (global atomic_uint)
+0:? 'aNoBind' (uniform atomic_uint)
+0:? 'aOffset' (layout(binding=0 offset=32 ) uniform atomic_uint)
+0:? 'bar3' (layout(binding=0 offset=4 ) uniform atomic_uint)
+0:? 'ac' (layout(binding=0 offset=8 ) uniform 3-element array of atomic_uint)
+0:? 'ad' (layout(binding=0 offset=20 ) uniform atomic_uint)
+0:? 'bar4' (layout(offset=8 ) uniform atomic_uint)
+0:? 'overlap' (layout(binding=0 offset=12 ) uniform atomic_uint)
+0:? 'bigBind' (layout(binding=20 ) uniform atomic_uint)
+
+
+Linked fragment stage:
+
+
+Shader version: 420
+ERROR: node is still EOpNull!
+0:5 Function Definition: func(au1; (global uint)
+0:5 Function Parameters:
+0:5 'c' (in atomic_uint)
+0:7 Sequence
+0:7 Branch: Return with expression
+0:7 AtomicCounterIncrement (global uint)
+0:7 'c' (in atomic_uint)
+0:10 Function Definition: func2(au1; (global uint)
+0:10 Function Parameters:
+0:10 'c' (out atomic_uint)
+0:12 Sequence
+0:12 Branch: Return with expression
+0:12 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:13 Branch: Return with expression
+0:13 AtomicCounter (global uint)
+0:13 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:? Sequence
+0:19 Sequence
+0:19 move second child to first child (temp uint)
+0:19 'val' (temp uint)
+0:19 AtomicCounter (global uint)
+0:19 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:20 AtomicCounterDecrement (global uint)
+0:20 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:26 Function Definition: opac( (global void)
+0:26 Function Parameters:
+0:28 Sequence
+0:28 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:29 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:31 indirect index (temp int)
+0:31 'a' (temp 3-element array of int)
+0:31 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:32 direct index (layout(binding=1 offset=3 ) temp atomic_uint)
+0:32 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
+0:32 Constant:
+0:32 2 (const int)
+0:33 indirect index (layout(binding=1 offset=3 ) temp atomic_uint)
+0:33 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
+0:33 'i' (uniform int)
+0:34 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:? Linker Objects
+0:? 'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
+0:? 'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
+0:? 'i' (uniform int)
+0:? 'acin' (smooth in atomic_uint)
+0:? 'acg' (global atomic_uint)
+0:? 'aNoBind' (uniform atomic_uint)
+0:? 'aOffset' (layout(binding=0 offset=32 ) uniform atomic_uint)
+0:? 'bar3' (layout(binding=0 offset=4 ) uniform atomic_uint)
+0:? 'ac' (layout(binding=0 offset=8 ) uniform 3-element array of atomic_uint)
+0:? 'ad' (layout(binding=0 offset=20 ) uniform atomic_uint)
+0:? 'bar4' (layout(offset=8 ) uniform atomic_uint)
+0:? 'overlap' (layout(binding=0 offset=12 ) uniform atomic_uint)
+0:? 'bigBind' (layout(binding=20 ) uniform atomic_uint)
+
diff --git a/Test/baseResults/badChars.frag.out b/Test/baseResults/badChars.frag.out
index e3ab945..37af287 100644
--- a/Test/baseResults/badChars.frag.out
+++ b/Test/baseResults/badChars.frag.out
@@ -1,26 +1,26 @@
-badChars.frag
-ERROR: 0:1: 'preprocessor evaluation' : bad expression
-ERROR: 0:1: '#if' : unexpected tokens following directive
-ERROR: 0:3: '#error' : A <bad token> B
-ERROR: 0:4: 'preprocessor evaluation' : bad expression
-ERROR: 0:4: '#if' : unexpected tokens following directive
-ERROR: 0:6: 'ÿ' : unexpected token
-ERROR: 0:7: '' : syntax error
-ERROR: 7 compilation errors. No code generated.
-
-
-Shader version: 100
-ERROR: node is still EOpNull!
-0:? Linker Objects
-0:? 'a' (global mediump int)
-
-
-Linked fragment stage:
-
-ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point
-
-Shader version: 100
-ERROR: node is still EOpNull!
-0:? Linker Objects
-0:? 'a' (global mediump int)
-
+badChars.frag
+ERROR: 0:1: 'preprocessor evaluation' : bad expression
+ERROR: 0:1: '#if' : unexpected tokens following directive
+ERROR: 0:3: '#error' : A <bad token> B
+ERROR: 0:4: 'preprocessor evaluation' : bad expression
+ERROR: 0:4: '#if' : unexpected tokens following directive
+ERROR: 0:6: 'ÿ' : unexpected token
+ERROR: 0:7: '' : syntax error
+ERROR: 7 compilation errors. No code generated.
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:? Linker Objects
+0:? 'a' (global mediump int)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:? Linker Objects
+0:? 'a' (global mediump int)
+
diff --git a/Test/baseResults/comment.frag.out b/Test/baseResults/comment.frag.out
index cf008a6..1c876bb 100644
--- a/Test/baseResults/comment.frag.out
+++ b/Test/baseResults/comment.frag.out
@@ -1,23 +1,23 @@
-comment.frag
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-WARNING: 0:10: 'line continuation' : used at end of comment; the following line is still part of the comment
-WARNING: 0:12: 'line continuation' : used at end of comment; the following line is still part of the comment
-
-Shader version: 430
-0:? Sequence
-0:17 Function Definition: main( (global void)
-0:17 Function Parameters:
-0:? Linker Objects
-0:? 'v' (smooth in 4-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 430
-0:? Sequence
-0:17 Function Definition: main( (global void)
-0:17 Function Parameters:
-0:? Linker Objects
-0:? 'v' (smooth in 4-component vector of float)
-
+comment.frag
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+WARNING: 0:10: 'line continuation' : used at end of comment; the following line is still part of the comment
+WARNING: 0:12: 'line continuation' : used at end of comment; the following line is still part of the comment
+
+Shader version: 430
+0:? Sequence
+0:17 Function Definition: main( (global void)
+0:17 Function Parameters:
+0:? Linker Objects
+0:? 'v' (smooth in 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 430
+0:? Sequence
+0:17 Function Definition: main( (global void)
+0:17 Function Parameters:
+0:? Linker Objects
+0:? 'v' (smooth in 4-component vector of float)
+
diff --git a/Test/baseResults/conditionalDiscard.frag.out b/Test/baseResults/conditionalDiscard.frag.out
index 13b385f..169787f 100644
--- a/Test/baseResults/conditionalDiscard.frag.out
+++ b/Test/baseResults/conditionalDiscard.frag.out
@@ -1,63 +1,63 @@
-conditionalDiscard.frag
-Shader version: 110
-0:? Sequence
-0:6 Function Definition: main( (global void)
-0:6 Function Parameters:
-0:8 Sequence
-0:8 Sequence
-0:8 move second child to first child (temp 4-component vector of float)
-0:8 'v' (temp 4-component vector of float)
-0:8 texture (global 4-component vector of float)
-0:8 'tex' (uniform sampler2D)
-0:8 'coord' (smooth in 2-component vector of float)
-0:10 Test condition and select (temp void)
-0:10 Condition
-0:10 Compare Equal (temp bool)
-0:10 'v' (temp 4-component vector of float)
-0:10 Constant:
-0:10 0.100000
-0:10 0.200000
-0:10 0.300000
-0:10 0.400000
-0:10 true case
-0:11 Branch: Kill
-0:13 move second child to first child (temp 4-component vector of float)
-0:13 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:13 'v' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'tex' (uniform sampler2D)
-0:? 'coord' (smooth in 2-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 110
-0:? Sequence
-0:6 Function Definition: main( (global void)
-0:6 Function Parameters:
-0:8 Sequence
-0:8 Sequence
-0:8 move second child to first child (temp 4-component vector of float)
-0:8 'v' (temp 4-component vector of float)
-0:8 texture (global 4-component vector of float)
-0:8 'tex' (uniform sampler2D)
-0:8 'coord' (smooth in 2-component vector of float)
-0:10 Test condition and select (temp void)
-0:10 Condition
-0:10 Compare Equal (temp bool)
-0:10 'v' (temp 4-component vector of float)
-0:10 Constant:
-0:10 0.100000
-0:10 0.200000
-0:10 0.300000
-0:10 0.400000
-0:10 true case
-0:11 Branch: Kill
-0:13 move second child to first child (temp 4-component vector of float)
-0:13 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:13 'v' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'tex' (uniform sampler2D)
-0:? 'coord' (smooth in 2-component vector of float)
-
+conditionalDiscard.frag
+Shader version: 110
+0:? Sequence
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'v' (temp 4-component vector of float)
+0:8 texture (global 4-component vector of float)
+0:8 'tex' (uniform sampler2D)
+0:8 'coord' (smooth in 2-component vector of float)
+0:10 Test condition and select (temp void)
+0:10 Condition
+0:10 Compare Equal (temp bool)
+0:10 'v' (temp 4-component vector of float)
+0:10 Constant:
+0:10 0.100000
+0:10 0.200000
+0:10 0.300000
+0:10 0.400000
+0:10 true case
+0:11 Branch: Kill
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:13 'v' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'tex' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'v' (temp 4-component vector of float)
+0:8 texture (global 4-component vector of float)
+0:8 'tex' (uniform sampler2D)
+0:8 'coord' (smooth in 2-component vector of float)
+0:10 Test condition and select (temp void)
+0:10 Condition
+0:10 Compare Equal (temp bool)
+0:10 'v' (temp 4-component vector of float)
+0:10 Constant:
+0:10 0.100000
+0:10 0.200000
+0:10 0.300000
+0:10 0.400000
+0:10 true case
+0:11 Branch: Kill
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:13 'v' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'tex' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+
diff --git a/Test/baseResults/constErrors.frag.out b/Test/baseResults/constErrors.frag.out
index 9ecf330..6f12aec 100644
--- a/Test/baseResults/constErrors.frag.out
+++ b/Test/baseResults/constErrors.frag.out
@@ -1,57 +1,57 @@
-constErrors.frag
-ERROR: 0:14: 'non-constant initializer' : not supported for this version or the enabled extensions
-ERROR: 0:17: '' : constant expression required
-ERROR: 0:17: '' : array size must be a constant integer expression
-ERROR: 0:18: '' : constant expression required
-ERROR: 0:18: '' : array size must be a constant integer expression
-ERROR: 0:19: '' : constant expression required
-ERROR: 0:19: '' : array size must be a constant integer expression
-ERROR: 0:27: '=' : global const initializers must be constant 'const structure{global 3-component vector of float v3, global 2-component vector of int iv2}'
-ERROR: 0:33: '=' : global const initializers must be constant 'const structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m}'
-ERROR: 9 compilation errors. No code generated.
-
-
-Shader version: 330
-ERROR: node is still EOpNull!
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:? Sequence
-0:14 Sequence
-0:14 move second child to first child (temp int)
-0:14 'a3' (const (read only) int)
-0:14 'uniformInt' (uniform int)
-0:? Linker Objects
-0:? 'inVar' (smooth in 4-component vector of float)
-0:? 'outVar' (out 4-component vector of float)
-0:? 'constInt' (const int)
-0:? 3 (const int)
-0:? 'uniformInt' (uniform int)
-0:? 's' (temp structure{global 3-component vector of float v3, global 2-component vector of int iv2})
-0:? 's2' (temp structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m})
-0:? 'f' (const float)
-0:? 3.000000
-
-
-Linked fragment stage:
-
-
-Shader version: 330
-ERROR: node is still EOpNull!
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:? Sequence
-0:14 Sequence
-0:14 move second child to first child (temp int)
-0:14 'a3' (const (read only) int)
-0:14 'uniformInt' (uniform int)
-0:? Linker Objects
-0:? 'inVar' (smooth in 4-component vector of float)
-0:? 'outVar' (out 4-component vector of float)
-0:? 'constInt' (const int)
-0:? 3 (const int)
-0:? 'uniformInt' (uniform int)
-0:? 's' (temp structure{global 3-component vector of float v3, global 2-component vector of int iv2})
-0:? 's2' (temp structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m})
-0:? 'f' (const float)
-0:? 3.000000
-
+constErrors.frag
+ERROR: 0:14: 'non-constant initializer' : not supported for this version or the enabled extensions
+ERROR: 0:17: '' : constant expression required
+ERROR: 0:17: '' : array size must be a constant integer expression
+ERROR: 0:18: '' : constant expression required
+ERROR: 0:18: '' : array size must be a constant integer expression
+ERROR: 0:19: '' : constant expression required
+ERROR: 0:19: '' : array size must be a constant integer expression
+ERROR: 0:27: '=' : global const initializers must be constant 'const structure{global 3-component vector of float v3, global 2-component vector of int iv2}'
+ERROR: 0:33: '=' : global const initializers must be constant 'const structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m}'
+ERROR: 9 compilation errors. No code generated.
+
+
+Shader version: 330
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:? Sequence
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'a3' (const (read only) int)
+0:14 'uniformInt' (uniform int)
+0:? Linker Objects
+0:? 'inVar' (smooth in 4-component vector of float)
+0:? 'outVar' (out 4-component vector of float)
+0:? 'constInt' (const int)
+0:? 3 (const int)
+0:? 'uniformInt' (uniform int)
+0:? 's' (temp structure{global 3-component vector of float v3, global 2-component vector of int iv2})
+0:? 's2' (temp structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m})
+0:? 'f' (const float)
+0:? 3.000000
+
+
+Linked fragment stage:
+
+
+Shader version: 330
+ERROR: node is still EOpNull!
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:? Sequence
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'a3' (const (read only) int)
+0:14 'uniformInt' (uniform int)
+0:? Linker Objects
+0:? 'inVar' (smooth in 4-component vector of float)
+0:? 'outVar' (out 4-component vector of float)
+0:? 'constInt' (const int)
+0:? 3 (const int)
+0:? 'uniformInt' (uniform int)
+0:? 's' (temp structure{global 3-component vector of float v3, global 2-component vector of int iv2})
+0:? 's2' (temp structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m})
+0:? 'f' (const float)
+0:? 3.000000
+
diff --git a/Test/baseResults/constFold.frag.out b/Test/baseResults/constFold.frag.out
index 7d6d6b5..bd6e040 100644
--- a/Test/baseResults/constFold.frag.out
+++ b/Test/baseResults/constFold.frag.out
@@ -1,661 +1,661 @@
-constFold.frag
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:109: '[' : index out of range '-1'
-ERROR: 0:110: '[' : vector index out of range '4'
-ERROR: 0:111: '[' : index out of range '-2'
-ERROR: 0:112: '[' : index out of range '-1'
-ERROR: 0:113: '[' : vector index out of range '3'
-ERROR: 0:114: '[' : matrix index out of range '3'
-ERROR: 6 compilation errors. No code generated.
-
-
-Shader version: 430
-ERROR: node is still EOpNull!
-0:28 Function Definition: main( (global void)
-0:28 Function Parameters:
-0:30 Sequence
-0:30 Sequence
-0:30 move second child to first child (temp 4-component vector of float)
-0:30 'dx' (temp 4-component vector of float)
-0:30 dPdx (global 4-component vector of float)
-0:30 'inv' (smooth in 4-component vector of float)
-0:37 move second child to first child (temp 4-component vector of float)
-0:37 'FragColor' (out 4-component vector of float)
-0:37 Constant:
-0:37 2.000000
-0:37 6.000000
-0:37 3.000000
-0:37 171.887339
-0:42 move second child to first child (temp 4-component vector of float)
-0:42 'FragColor' (out 4-component vector of float)
-0:42 Constant:
-0:42 3.000000
-0:42 2.000000
-0:42 0.001593
-0:42 -0.999999
-0:43 move second child to first child (temp 2-component vector of float)
-0:43 'out2' (out 2-component vector of float)
-0:43 Constant:
-0:43 5.600000
-0:43 5.800000
-0:44 move second child to first child (temp 4-component vector of float)
-0:44 'out3' (out 4-component vector of float)
-0:44 Constant:
-0:44 20.085537
-0:44 2.302585
-0:44 16.000000
-0:44 8.000000
-0:45 move second child to first child (temp 4-component vector of float)
-0:45 'out4' (out 4-component vector of float)
-0:45 Constant:
-0:45 10.000000
-0:45 0.100000
-0:45 4.700000
-0:45 10.900000
-0:46 move second child to first child (temp 4-component vector of int)
-0:46 'out5' (out 4-component vector of int)
-0:46 Constant:
-0:46 8 (const int)
-0:46 17 (const int)
-0:46 -1 (const int)
-0:46 1 (const int)
-0:47 move second child to first child (temp 3-component vector of float)
-0:47 'out6' (out 3-component vector of float)
-0:47 Constant:
-0:47 -1.000000
-0:47 1.000000
-0:47 0.000000
-0:48 move second child to first child (temp 4-component vector of float)
-0:48 'out7' (out 4-component vector of float)
-0:48 Constant:
-0:48 4.000000
-0:48 -4.000000
-0:48 5.000000
-0:48 -5.000000
-0:49 move second child to first child (temp 4-component vector of float)
-0:49 'out8' (out 4-component vector of float)
-0:49 Constant:
-0:49 4.000000
-0:49 5.000000
-0:49 4.000000
-0:49 -6.000000
-0:50 move second child to first child (temp 4-component vector of float)
-0:50 'out9' (out 4-component vector of float)
-0:50 Constant:
-0:50 8.000000
-0:50 -4.000000
-0:50 0.345000
-0:50 0.400000
-0:51 move second child to first child (temp 4-component vector of float)
-0:51 'out10' (out 4-component vector of float)
-0:51 Constant:
-0:51 1.000000
-0:51 1.000000
-0:51 0.000000
-0:51 0.000000
-0:52 move second child to first child (temp 4-component vector of float)
-0:52 'out11' (out 4-component vector of float)
-0:52 Constant:
-0:52 0.000000
-0:52 0.000000
-0:52 1.000000
-0:52 0.000000
-0:53 move second child to first child (temp 4-component vector of float)
-0:53 'out11' (out 4-component vector of float)
-0:53 Constant:
-0:53 1.029639
-0:53 0.799690
-0:53 0.674741
-0:53 1.570696
-0:54 move second child to first child (temp 4-component vector of float)
-0:54 'out11' (out 4-component vector of float)
-0:54 Constant:
-0:54 0.000000
-0:54 0.523599
-0:54 1.570796
-0:54 1.047198
-0:58 move second child to first child (temp 4-component vector of float)
-0:58 'out11' (out 4-component vector of float)
-0:58 Constant:
-0:58 1.373401
-0:58 0.000000
-0:58 0.896055
-0:58 -0.380506
-0:62 move second child to first child (temp 2-component vector of int)
-0:62 'out12' (out 2-component vector of int)
-0:62 Constant:
-0:62 15 (const int)
-0:62 16 (const int)
-0:63 move second child to first child (temp 2-component vector of int)
-0:63 'out12' (out 2-component vector of int)
-0:63 Constant:
-0:63 17 (const int)
-0:63 17 (const int)
-0:64 move second child to first child (temp 2-component vector of float)
-0:64 'out2' (out 2-component vector of float)
-0:64 Constant:
-0:64 871.421253
-0:64 4913.000000
-0:65 move second child to first child (temp 3-component vector of uint)
-0:65 'out13' (out 3-component vector of uint)
-0:65 Constant:
-0:65 10 (const uint)
-0:65 20 (const uint)
-0:65 30 (const uint)
-0:66 move second child to first child (temp 2-component vector of float)
-0:66 'out2' (out 2-component vector of float)
-0:66 Constant:
-0:66 3.000000
-0:66 6.000000
-0:67 move second child to first child (temp 2-component vector of float)
-0:67 'out2' (out 2-component vector of float)
-0:67 Constant:
-0:67 3.500000
-0:67 4.500000
-0:68 move second child to first child (temp 2-component vector of float)
-0:68 'out2' (out 2-component vector of float)
-0:68 Constant:
-0:68 0.000000
-0:68 1.000000
-0:69 move second child to first child (temp 4-component vector of float)
-0:69 'out11' (out 4-component vector of float)
-0:69 Constant:
-0:69 0.000000
-0:69 0.028000
-0:69 0.500000
-0:69 1.000000
-0:78 Function Definition: foo( (global void)
-0:78 Function Parameters:
-0:? Sequence
-0:81 move second child to first child (temp float)
-0:81 direct index (temp float)
-0:81 'a' (temp 3-element array of float)
-0:81 Constant:
-0:81 0 (const int)
-0:81 Constant:
-0:81 7.000000
-0:82 Constant:
-0:82 2 (const int)
-0:83 Constant:
-0:83 2147483647 (const int)
-0:84 Constant:
-0:84 inf
-0:88 Constant:
-0:88 2 (const uint)
-0:88 3 (const uint)
-0:89 Constant:
-0:89 0 (const uint)
-0:90 Constant:
-0:90 6 (const uint)
-0:90 7 (const uint)
-0:103 Function Definition: foo2( (global void)
-0:103 Function Parameters:
-0:105 Sequence
-0:105 direct index (temp float)
-0:105 'a1' (global 1-element array of float)
-0:105 Constant:
-0:105 0 (const int)
-0:106 direct index (temp float)
-0:106 'a2' (global 2-element array of float)
-0:106 Constant:
-0:106 0 (const int)
-0:107 direct index (temp float)
-0:107 'a3' (global 4-element array of float)
-0:107 Constant:
-0:107 0 (const int)
-0:108 direct index (temp float)
-0:108 'a4' (global 2-element array of float)
-0:108 Constant:
-0:108 0 (const int)
-0:109 Constant:
-0:109 1.000000
-0:110 Constant:
-0:110 5.000000
-0:111 Constant:
-0:111 2.000000
-0:112 Constant:
-0:112 3.000000
-0:113 Constant:
-0:113 0.000000
-0:114 Constant:
-0:114 0.000000
-0:116 move second child to first child (temp int)
-0:116 'p' (temp int)
-0:116 Constant:
-0:116 2147483647 (const int)
-0:117 move second child to first child (temp int)
-0:117 'p' (temp int)
-0:117 Constant:
-0:117 -2147483648 (const int)
-0:118 move second child to first child (temp int)
-0:118 'p' (temp int)
-0:118 Constant:
-0:118 -2147483647 (const int)
-0:119 Sequence
-0:119 move second child to first child (temp float)
-0:119 'f' (temp float)
-0:119 Constant:
-0:119 1.444000
-0:120 move second child to first child (temp float)
-0:120 'f' (temp float)
-0:120 direct index (temp float)
-0:120 Construct vec4 (temp 4-component vector of float)
-0:120 Test condition and select (temp float)
-0:120 Condition
-0:120 Compare Less Than (temp bool)
-0:120 direct index (temp float)
-0:120 'inv' (smooth in 4-component vector of float)
-0:120 Constant:
-0:120 0 (const int)
-0:120 Constant:
-0:120 2.400000
-0:120 true case
-0:120 Constant:
-0:120 -1.000000
-0:120 false case
-0:120 Constant:
-0:120 1.000000
-0:120 Constant:
-0:120 3 (const int)
-0:? Linker Objects
-0:? 'a' (const int)
-0:? 1 (const int)
-0:? 'b' (const int)
-0:? 2 (const int)
-0:? 'c' (const int)
-0:? 3 (const int)
-0:? 'd' (const int)
-0:? 2 (const int)
-0:? 'e' (const float)
-0:? 2.000000
-0:? 'f' (const float)
-0:? 6.000000
-0:? 'g' (const float)
-0:? 3.000000
-0:? 'pytho' (const 2-component vector of float)
-0:? 3.000000
-0:? 4.000000
-0:? 'inv' (smooth in 4-component vector of float)
-0:? 'FragColor' (out 4-component vector of float)
-0:? 'out2' (out 2-component vector of float)
-0:? 'out3' (out 4-component vector of float)
-0:? 'out4' (out 4-component vector of float)
-0:? 'out5' (out 4-component vector of int)
-0:? 'out6' (out 3-component vector of float)
-0:? 'out7' (out 4-component vector of float)
-0:? 'out8' (out 4-component vector of float)
-0:? 'out9' (out 4-component vector of float)
-0:? 'out10' (out 4-component vector of float)
-0:? 'out11' (out 4-component vector of float)
-0:? 'out12' (out 2-component vector of int)
-0:? 'out13' (out 3-component vector of uint)
-0:? 's' (const structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m})
-0:? 3.000000
-0:? 3.000000
-0:? 3.000000
-0:? 3 (const int)
-0:? 3 (const int)
-0:? 1.000000
-0:? 2.000000
-0:? 3.000000
-0:? 4.000000
-0:? 5.000000
-0:? 6.000000
-0:? 7.000000
-0:? 8.000000
-0:? 'm2' (const 2X2 matrix of float)
-0:? 2.000000
-0:? 3.000000
-0:? 4.000000
-0:? 5.000000
-0:? 'm3' (const 3X3 matrix of float)
-0:? 2.000000
-0:? 3.000000
-0:? 0.000000
-0:? 4.000000
-0:? 5.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 1.000000
-0:? 'mc' (const int)
-0:? 1 (const int)
-0:? 'a1' (global 1-element array of float)
-0:? 'a2' (global 2-element array of float)
-0:? 'a3' (global 4-element array of float)
-0:? 'v2' (const 2-component vector of float)
-0:? 1.000000
-0:? 2.000000
-0:? 'v3' (const 3-component vector of float)
-0:? 3.000000
-0:? 4.000000
-0:? 5.000000
-0:? 'a4' (global 2-element array of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 430
-ERROR: node is still EOpNull!
-0:28 Function Definition: main( (global void)
-0:28 Function Parameters:
-0:30 Sequence
-0:30 Sequence
-0:30 move second child to first child (temp 4-component vector of float)
-0:30 'dx' (temp 4-component vector of float)
-0:30 dPdx (global 4-component vector of float)
-0:30 'inv' (smooth in 4-component vector of float)
-0:37 move second child to first child (temp 4-component vector of float)
-0:37 'FragColor' (out 4-component vector of float)
-0:37 Constant:
-0:37 2.000000
-0:37 6.000000
-0:37 3.000000
-0:37 171.887339
-0:42 move second child to first child (temp 4-component vector of float)
-0:42 'FragColor' (out 4-component vector of float)
-0:42 Constant:
-0:42 3.000000
-0:42 2.000000
-0:42 0.001593
-0:42 -0.999999
-0:43 move second child to first child (temp 2-component vector of float)
-0:43 'out2' (out 2-component vector of float)
-0:43 Constant:
-0:43 5.600000
-0:43 5.800000
-0:44 move second child to first child (temp 4-component vector of float)
-0:44 'out3' (out 4-component vector of float)
-0:44 Constant:
-0:44 20.085537
-0:44 2.302585
-0:44 16.000000
-0:44 8.000000
-0:45 move second child to first child (temp 4-component vector of float)
-0:45 'out4' (out 4-component vector of float)
-0:45 Constant:
-0:45 10.000000
-0:45 0.100000
-0:45 4.700000
-0:45 10.900000
-0:46 move second child to first child (temp 4-component vector of int)
-0:46 'out5' (out 4-component vector of int)
-0:46 Constant:
-0:46 8 (const int)
-0:46 17 (const int)
-0:46 -1 (const int)
-0:46 1 (const int)
-0:47 move second child to first child (temp 3-component vector of float)
-0:47 'out6' (out 3-component vector of float)
-0:47 Constant:
-0:47 -1.000000
-0:47 1.000000
-0:47 0.000000
-0:48 move second child to first child (temp 4-component vector of float)
-0:48 'out7' (out 4-component vector of float)
-0:48 Constant:
-0:48 4.000000
-0:48 -4.000000
-0:48 5.000000
-0:48 -5.000000
-0:49 move second child to first child (temp 4-component vector of float)
-0:49 'out8' (out 4-component vector of float)
-0:49 Constant:
-0:49 4.000000
-0:49 5.000000
-0:49 4.000000
-0:49 -6.000000
-0:50 move second child to first child (temp 4-component vector of float)
-0:50 'out9' (out 4-component vector of float)
-0:50 Constant:
-0:50 8.000000
-0:50 -4.000000
-0:50 0.345000
-0:50 0.400000
-0:51 move second child to first child (temp 4-component vector of float)
-0:51 'out10' (out 4-component vector of float)
-0:51 Constant:
-0:51 1.000000
-0:51 1.000000
-0:51 0.000000
-0:51 0.000000
-0:52 move second child to first child (temp 4-component vector of float)
-0:52 'out11' (out 4-component vector of float)
-0:52 Constant:
-0:52 0.000000
-0:52 0.000000
-0:52 1.000000
-0:52 0.000000
-0:53 move second child to first child (temp 4-component vector of float)
-0:53 'out11' (out 4-component vector of float)
-0:53 Constant:
-0:53 1.029639
-0:53 0.799690
-0:53 0.674741
-0:53 1.570696
-0:54 move second child to first child (temp 4-component vector of float)
-0:54 'out11' (out 4-component vector of float)
-0:54 Constant:
-0:54 0.000000
-0:54 0.523599
-0:54 1.570796
-0:54 1.047198
-0:58 move second child to first child (temp 4-component vector of float)
-0:58 'out11' (out 4-component vector of float)
-0:58 Constant:
-0:58 1.373401
-0:58 0.000000
-0:58 0.896055
-0:58 -0.380506
-0:62 move second child to first child (temp 2-component vector of int)
-0:62 'out12' (out 2-component vector of int)
-0:62 Constant:
-0:62 15 (const int)
-0:62 16 (const int)
-0:63 move second child to first child (temp 2-component vector of int)
-0:63 'out12' (out 2-component vector of int)
-0:63 Constant:
-0:63 17 (const int)
-0:63 17 (const int)
-0:64 move second child to first child (temp 2-component vector of float)
-0:64 'out2' (out 2-component vector of float)
-0:64 Constant:
-0:64 871.421253
-0:64 4913.000000
-0:65 move second child to first child (temp 3-component vector of uint)
-0:65 'out13' (out 3-component vector of uint)
-0:65 Constant:
-0:65 10 (const uint)
-0:65 20 (const uint)
-0:65 30 (const uint)
-0:66 move second child to first child (temp 2-component vector of float)
-0:66 'out2' (out 2-component vector of float)
-0:66 Constant:
-0:66 3.000000
-0:66 6.000000
-0:67 move second child to first child (temp 2-component vector of float)
-0:67 'out2' (out 2-component vector of float)
-0:67 Constant:
-0:67 3.500000
-0:67 4.500000
-0:68 move second child to first child (temp 2-component vector of float)
-0:68 'out2' (out 2-component vector of float)
-0:68 Constant:
-0:68 0.000000
-0:68 1.000000
-0:69 move second child to first child (temp 4-component vector of float)
-0:69 'out11' (out 4-component vector of float)
-0:69 Constant:
-0:69 0.000000
-0:69 0.028000
-0:69 0.500000
-0:69 1.000000
-0:78 Function Definition: foo( (global void)
-0:78 Function Parameters:
-0:? Sequence
-0:81 move second child to first child (temp float)
-0:81 direct index (temp float)
-0:81 'a' (temp 3-element array of float)
-0:81 Constant:
-0:81 0 (const int)
-0:81 Constant:
-0:81 7.000000
-0:82 Constant:
-0:82 2 (const int)
-0:83 Constant:
-0:83 2147483647 (const int)
-0:84 Constant:
-0:84 inf
-0:88 Constant:
-0:88 2 (const uint)
-0:88 3 (const uint)
-0:89 Constant:
-0:89 0 (const uint)
-0:90 Constant:
-0:90 6 (const uint)
-0:90 7 (const uint)
-0:103 Function Definition: foo2( (global void)
-0:103 Function Parameters:
-0:105 Sequence
-0:105 direct index (temp float)
-0:105 'a1' (global 1-element array of float)
-0:105 Constant:
-0:105 0 (const int)
-0:106 direct index (temp float)
-0:106 'a2' (global 2-element array of float)
-0:106 Constant:
-0:106 0 (const int)
-0:107 direct index (temp float)
-0:107 'a3' (global 4-element array of float)
-0:107 Constant:
-0:107 0 (const int)
-0:108 direct index (temp float)
-0:108 'a4' (global 2-element array of float)
-0:108 Constant:
-0:108 0 (const int)
-0:109 Constant:
-0:109 1.000000
-0:110 Constant:
-0:110 5.000000
-0:111 Constant:
-0:111 2.000000
-0:112 Constant:
-0:112 3.000000
-0:113 Constant:
-0:113 0.000000
-0:114 Constant:
-0:114 0.000000
-0:116 move second child to first child (temp int)
-0:116 'p' (temp int)
-0:116 Constant:
-0:116 2147483647 (const int)
-0:117 move second child to first child (temp int)
-0:117 'p' (temp int)
-0:117 Constant:
-0:117 -2147483648 (const int)
-0:118 move second child to first child (temp int)
-0:118 'p' (temp int)
-0:118 Constant:
-0:118 -2147483647 (const int)
-0:119 Sequence
-0:119 move second child to first child (temp float)
-0:119 'f' (temp float)
-0:119 Constant:
-0:119 1.444000
-0:120 move second child to first child (temp float)
-0:120 'f' (temp float)
-0:120 direct index (temp float)
-0:120 Construct vec4 (temp 4-component vector of float)
-0:120 Test condition and select (temp float)
-0:120 Condition
-0:120 Compare Less Than (temp bool)
-0:120 direct index (temp float)
-0:120 'inv' (smooth in 4-component vector of float)
-0:120 Constant:
-0:120 0 (const int)
-0:120 Constant:
-0:120 2.400000
-0:120 true case
-0:120 Constant:
-0:120 -1.000000
-0:120 false case
-0:120 Constant:
-0:120 1.000000
-0:120 Constant:
-0:120 3 (const int)
-0:? Linker Objects
-0:? 'a' (const int)
-0:? 1 (const int)
-0:? 'b' (const int)
-0:? 2 (const int)
-0:? 'c' (const int)
-0:? 3 (const int)
-0:? 'd' (const int)
-0:? 2 (const int)
-0:? 'e' (const float)
-0:? 2.000000
-0:? 'f' (const float)
-0:? 6.000000
-0:? 'g' (const float)
-0:? 3.000000
-0:? 'pytho' (const 2-component vector of float)
-0:? 3.000000
-0:? 4.000000
-0:? 'inv' (smooth in 4-component vector of float)
-0:? 'FragColor' (out 4-component vector of float)
-0:? 'out2' (out 2-component vector of float)
-0:? 'out3' (out 4-component vector of float)
-0:? 'out4' (out 4-component vector of float)
-0:? 'out5' (out 4-component vector of int)
-0:? 'out6' (out 3-component vector of float)
-0:? 'out7' (out 4-component vector of float)
-0:? 'out8' (out 4-component vector of float)
-0:? 'out9' (out 4-component vector of float)
-0:? 'out10' (out 4-component vector of float)
-0:? 'out11' (out 4-component vector of float)
-0:? 'out12' (out 2-component vector of int)
-0:? 'out13' (out 3-component vector of uint)
-0:? 's' (const structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m})
-0:? 3.000000
-0:? 3.000000
-0:? 3.000000
-0:? 3 (const int)
-0:? 3 (const int)
-0:? 1.000000
-0:? 2.000000
-0:? 3.000000
-0:? 4.000000
-0:? 5.000000
-0:? 6.000000
-0:? 7.000000
-0:? 8.000000
-0:? 'm2' (const 2X2 matrix of float)
-0:? 2.000000
-0:? 3.000000
-0:? 4.000000
-0:? 5.000000
-0:? 'm3' (const 3X3 matrix of float)
-0:? 2.000000
-0:? 3.000000
-0:? 0.000000
-0:? 4.000000
-0:? 5.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 1.000000
-0:? 'mc' (const int)
-0:? 1 (const int)
-0:? 'a1' (global 1-element array of float)
-0:? 'a2' (global 2-element array of float)
-0:? 'a3' (global 4-element array of float)
-0:? 'v2' (const 2-component vector of float)
-0:? 1.000000
-0:? 2.000000
-0:? 'v3' (const 3-component vector of float)
-0:? 3.000000
-0:? 4.000000
-0:? 5.000000
-0:? 'a4' (global 2-element array of float)
-
+constFold.frag
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:109: '[' : index out of range '-1'
+ERROR: 0:110: '[' : vector index out of range '4'
+ERROR: 0:111: '[' : index out of range '-2'
+ERROR: 0:112: '[' : index out of range '-1'
+ERROR: 0:113: '[' : vector index out of range '3'
+ERROR: 0:114: '[' : matrix index out of range '3'
+ERROR: 6 compilation errors. No code generated.
+
+
+Shader version: 430
+ERROR: node is still EOpNull!
+0:28 Function Definition: main( (global void)
+0:28 Function Parameters:
+0:30 Sequence
+0:30 Sequence
+0:30 move second child to first child (temp 4-component vector of float)
+0:30 'dx' (temp 4-component vector of float)
+0:30 dPdx (global 4-component vector of float)
+0:30 'inv' (smooth in 4-component vector of float)
+0:37 move second child to first child (temp 4-component vector of float)
+0:37 'FragColor' (out 4-component vector of float)
+0:37 Constant:
+0:37 2.000000
+0:37 6.000000
+0:37 3.000000
+0:37 171.887339
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 'FragColor' (out 4-component vector of float)
+0:42 Constant:
+0:42 3.000000
+0:42 2.000000
+0:42 0.001593
+0:42 -0.999999
+0:43 move second child to first child (temp 2-component vector of float)
+0:43 'out2' (out 2-component vector of float)
+0:43 Constant:
+0:43 5.600000
+0:43 5.800000
+0:44 move second child to first child (temp 4-component vector of float)
+0:44 'out3' (out 4-component vector of float)
+0:44 Constant:
+0:44 20.085537
+0:44 2.302585
+0:44 16.000000
+0:44 8.000000
+0:45 move second child to first child (temp 4-component vector of float)
+0:45 'out4' (out 4-component vector of float)
+0:45 Constant:
+0:45 10.000000
+0:45 0.100000
+0:45 4.700000
+0:45 10.900000
+0:46 move second child to first child (temp 4-component vector of int)
+0:46 'out5' (out 4-component vector of int)
+0:46 Constant:
+0:46 8 (const int)
+0:46 17 (const int)
+0:46 -1 (const int)
+0:46 1 (const int)
+0:47 move second child to first child (temp 3-component vector of float)
+0:47 'out6' (out 3-component vector of float)
+0:47 Constant:
+0:47 -1.000000
+0:47 1.000000
+0:47 0.000000
+0:48 move second child to first child (temp 4-component vector of float)
+0:48 'out7' (out 4-component vector of float)
+0:48 Constant:
+0:48 4.000000
+0:48 -4.000000
+0:48 5.000000
+0:48 -5.000000
+0:49 move second child to first child (temp 4-component vector of float)
+0:49 'out8' (out 4-component vector of float)
+0:49 Constant:
+0:49 4.000000
+0:49 5.000000
+0:49 4.000000
+0:49 -6.000000
+0:50 move second child to first child (temp 4-component vector of float)
+0:50 'out9' (out 4-component vector of float)
+0:50 Constant:
+0:50 8.000000
+0:50 -4.000000
+0:50 0.345000
+0:50 0.400000
+0:51 move second child to first child (temp 4-component vector of float)
+0:51 'out10' (out 4-component vector of float)
+0:51 Constant:
+0:51 1.000000
+0:51 1.000000
+0:51 0.000000
+0:51 0.000000
+0:52 move second child to first child (temp 4-component vector of float)
+0:52 'out11' (out 4-component vector of float)
+0:52 Constant:
+0:52 0.000000
+0:52 0.000000
+0:52 1.000000
+0:52 0.000000
+0:53 move second child to first child (temp 4-component vector of float)
+0:53 'out11' (out 4-component vector of float)
+0:53 Constant:
+0:53 1.029639
+0:53 0.799690
+0:53 0.674741
+0:53 1.570696
+0:54 move second child to first child (temp 4-component vector of float)
+0:54 'out11' (out 4-component vector of float)
+0:54 Constant:
+0:54 0.000000
+0:54 0.523599
+0:54 1.570796
+0:54 1.047198
+0:58 move second child to first child (temp 4-component vector of float)
+0:58 'out11' (out 4-component vector of float)
+0:58 Constant:
+0:58 1.373401
+0:58 0.000000
+0:58 0.896055
+0:58 -0.380506
+0:62 move second child to first child (temp 2-component vector of int)
+0:62 'out12' (out 2-component vector of int)
+0:62 Constant:
+0:62 15 (const int)
+0:62 16 (const int)
+0:63 move second child to first child (temp 2-component vector of int)
+0:63 'out12' (out 2-component vector of int)
+0:63 Constant:
+0:63 17 (const int)
+0:63 17 (const int)
+0:64 move second child to first child (temp 2-component vector of float)
+0:64 'out2' (out 2-component vector of float)
+0:64 Constant:
+0:64 871.421253
+0:64 4913.000000
+0:65 move second child to first child (temp 3-component vector of uint)
+0:65 'out13' (out 3-component vector of uint)
+0:65 Constant:
+0:65 10 (const uint)
+0:65 20 (const uint)
+0:65 30 (const uint)
+0:66 move second child to first child (temp 2-component vector of float)
+0:66 'out2' (out 2-component vector of float)
+0:66 Constant:
+0:66 3.000000
+0:66 6.000000
+0:67 move second child to first child (temp 2-component vector of float)
+0:67 'out2' (out 2-component vector of float)
+0:67 Constant:
+0:67 3.500000
+0:67 4.500000
+0:68 move second child to first child (temp 2-component vector of float)
+0:68 'out2' (out 2-component vector of float)
+0:68 Constant:
+0:68 0.000000
+0:68 1.000000
+0:69 move second child to first child (temp 4-component vector of float)
+0:69 'out11' (out 4-component vector of float)
+0:69 Constant:
+0:69 0.000000
+0:69 0.028000
+0:69 0.500000
+0:69 1.000000
+0:78 Function Definition: foo( (global void)
+0:78 Function Parameters:
+0:? Sequence
+0:81 move second child to first child (temp float)
+0:81 direct index (temp float)
+0:81 'a' (temp 3-element array of float)
+0:81 Constant:
+0:81 0 (const int)
+0:81 Constant:
+0:81 7.000000
+0:82 Constant:
+0:82 2 (const int)
+0:83 Constant:
+0:83 2147483647 (const int)
+0:84 Constant:
+0:84 inf
+0:88 Constant:
+0:88 2 (const uint)
+0:88 3 (const uint)
+0:89 Constant:
+0:89 0 (const uint)
+0:90 Constant:
+0:90 6 (const uint)
+0:90 7 (const uint)
+0:103 Function Definition: foo2( (global void)
+0:103 Function Parameters:
+0:105 Sequence
+0:105 direct index (temp float)
+0:105 'a1' (global 1-element array of float)
+0:105 Constant:
+0:105 0 (const int)
+0:106 direct index (temp float)
+0:106 'a2' (global 2-element array of float)
+0:106 Constant:
+0:106 0 (const int)
+0:107 direct index (temp float)
+0:107 'a3' (global 4-element array of float)
+0:107 Constant:
+0:107 0 (const int)
+0:108 direct index (temp float)
+0:108 'a4' (global 2-element array of float)
+0:108 Constant:
+0:108 0 (const int)
+0:109 Constant:
+0:109 1.000000
+0:110 Constant:
+0:110 5.000000
+0:111 Constant:
+0:111 2.000000
+0:112 Constant:
+0:112 3.000000
+0:113 Constant:
+0:113 0.000000
+0:114 Constant:
+0:114 0.000000
+0:116 move second child to first child (temp int)
+0:116 'p' (temp int)
+0:116 Constant:
+0:116 2147483647 (const int)
+0:117 move second child to first child (temp int)
+0:117 'p' (temp int)
+0:117 Constant:
+0:117 -2147483648 (const int)
+0:118 move second child to first child (temp int)
+0:118 'p' (temp int)
+0:118 Constant:
+0:118 -2147483647 (const int)
+0:119 Sequence
+0:119 move second child to first child (temp float)
+0:119 'f' (temp float)
+0:119 Constant:
+0:119 1.444000
+0:120 move second child to first child (temp float)
+0:120 'f' (temp float)
+0:120 direct index (temp float)
+0:120 Construct vec4 (temp 4-component vector of float)
+0:120 Test condition and select (temp float)
+0:120 Condition
+0:120 Compare Less Than (temp bool)
+0:120 direct index (temp float)
+0:120 'inv' (smooth in 4-component vector of float)
+0:120 Constant:
+0:120 0 (const int)
+0:120 Constant:
+0:120 2.400000
+0:120 true case
+0:120 Constant:
+0:120 -1.000000
+0:120 false case
+0:120 Constant:
+0:120 1.000000
+0:120 Constant:
+0:120 3 (const int)
+0:? Linker Objects
+0:? 'a' (const int)
+0:? 1 (const int)
+0:? 'b' (const int)
+0:? 2 (const int)
+0:? 'c' (const int)
+0:? 3 (const int)
+0:? 'd' (const int)
+0:? 2 (const int)
+0:? 'e' (const float)
+0:? 2.000000
+0:? 'f' (const float)
+0:? 6.000000
+0:? 'g' (const float)
+0:? 3.000000
+0:? 'pytho' (const 2-component vector of float)
+0:? 3.000000
+0:? 4.000000
+0:? 'inv' (smooth in 4-component vector of float)
+0:? 'FragColor' (out 4-component vector of float)
+0:? 'out2' (out 2-component vector of float)
+0:? 'out3' (out 4-component vector of float)
+0:? 'out4' (out 4-component vector of float)
+0:? 'out5' (out 4-component vector of int)
+0:? 'out6' (out 3-component vector of float)
+0:? 'out7' (out 4-component vector of float)
+0:? 'out8' (out 4-component vector of float)
+0:? 'out9' (out 4-component vector of float)
+0:? 'out10' (out 4-component vector of float)
+0:? 'out11' (out 4-component vector of float)
+0:? 'out12' (out 2-component vector of int)
+0:? 'out13' (out 3-component vector of uint)
+0:? 's' (const structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m})
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3 (const int)
+0:? 3 (const int)
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:? 7.000000
+0:? 8.000000
+0:? 'm2' (const 2X2 matrix of float)
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 'm3' (const 3X3 matrix of float)
+0:? 2.000000
+0:? 3.000000
+0:? 0.000000
+0:? 4.000000
+0:? 5.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'mc' (const int)
+0:? 1 (const int)
+0:? 'a1' (global 1-element array of float)
+0:? 'a2' (global 2-element array of float)
+0:? 'a3' (global 4-element array of float)
+0:? 'v2' (const 2-component vector of float)
+0:? 1.000000
+0:? 2.000000
+0:? 'v3' (const 3-component vector of float)
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 'a4' (global 2-element array of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 430
+ERROR: node is still EOpNull!
+0:28 Function Definition: main( (global void)
+0:28 Function Parameters:
+0:30 Sequence
+0:30 Sequence
+0:30 move second child to first child (temp 4-component vector of float)
+0:30 'dx' (temp 4-component vector of float)
+0:30 dPdx (global 4-component vector of float)
+0:30 'inv' (smooth in 4-component vector of float)
+0:37 move second child to first child (temp 4-component vector of float)
+0:37 'FragColor' (out 4-component vector of float)
+0:37 Constant:
+0:37 2.000000
+0:37 6.000000
+0:37 3.000000
+0:37 171.887339
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 'FragColor' (out 4-component vector of float)
+0:42 Constant:
+0:42 3.000000
+0:42 2.000000
+0:42 0.001593
+0:42 -0.999999
+0:43 move second child to first child (temp 2-component vector of float)
+0:43 'out2' (out 2-component vector of float)
+0:43 Constant:
+0:43 5.600000
+0:43 5.800000
+0:44 move second child to first child (temp 4-component vector of float)
+0:44 'out3' (out 4-component vector of float)
+0:44 Constant:
+0:44 20.085537
+0:44 2.302585
+0:44 16.000000
+0:44 8.000000
+0:45 move second child to first child (temp 4-component vector of float)
+0:45 'out4' (out 4-component vector of float)
+0:45 Constant:
+0:45 10.000000
+0:45 0.100000
+0:45 4.700000
+0:45 10.900000
+0:46 move second child to first child (temp 4-component vector of int)
+0:46 'out5' (out 4-component vector of int)
+0:46 Constant:
+0:46 8 (const int)
+0:46 17 (const int)
+0:46 -1 (const int)
+0:46 1 (const int)
+0:47 move second child to first child (temp 3-component vector of float)
+0:47 'out6' (out 3-component vector of float)
+0:47 Constant:
+0:47 -1.000000
+0:47 1.000000
+0:47 0.000000
+0:48 move second child to first child (temp 4-component vector of float)
+0:48 'out7' (out 4-component vector of float)
+0:48 Constant:
+0:48 4.000000
+0:48 -4.000000
+0:48 5.000000
+0:48 -5.000000
+0:49 move second child to first child (temp 4-component vector of float)
+0:49 'out8' (out 4-component vector of float)
+0:49 Constant:
+0:49 4.000000
+0:49 5.000000
+0:49 4.000000
+0:49 -6.000000
+0:50 move second child to first child (temp 4-component vector of float)
+0:50 'out9' (out 4-component vector of float)
+0:50 Constant:
+0:50 8.000000
+0:50 -4.000000
+0:50 0.345000
+0:50 0.400000
+0:51 move second child to first child (temp 4-component vector of float)
+0:51 'out10' (out 4-component vector of float)
+0:51 Constant:
+0:51 1.000000
+0:51 1.000000
+0:51 0.000000
+0:51 0.000000
+0:52 move second child to first child (temp 4-component vector of float)
+0:52 'out11' (out 4-component vector of float)
+0:52 Constant:
+0:52 0.000000
+0:52 0.000000
+0:52 1.000000
+0:52 0.000000
+0:53 move second child to first child (temp 4-component vector of float)
+0:53 'out11' (out 4-component vector of float)
+0:53 Constant:
+0:53 1.029639
+0:53 0.799690
+0:53 0.674741
+0:53 1.570696
+0:54 move second child to first child (temp 4-component vector of float)
+0:54 'out11' (out 4-component vector of float)
+0:54 Constant:
+0:54 0.000000
+0:54 0.523599
+0:54 1.570796
+0:54 1.047198
+0:58 move second child to first child (temp 4-component vector of float)
+0:58 'out11' (out 4-component vector of float)
+0:58 Constant:
+0:58 1.373401
+0:58 0.000000
+0:58 0.896055
+0:58 -0.380506
+0:62 move second child to first child (temp 2-component vector of int)
+0:62 'out12' (out 2-component vector of int)
+0:62 Constant:
+0:62 15 (const int)
+0:62 16 (const int)
+0:63 move second child to first child (temp 2-component vector of int)
+0:63 'out12' (out 2-component vector of int)
+0:63 Constant:
+0:63 17 (const int)
+0:63 17 (const int)
+0:64 move second child to first child (temp 2-component vector of float)
+0:64 'out2' (out 2-component vector of float)
+0:64 Constant:
+0:64 871.421253
+0:64 4913.000000
+0:65 move second child to first child (temp 3-component vector of uint)
+0:65 'out13' (out 3-component vector of uint)
+0:65 Constant:
+0:65 10 (const uint)
+0:65 20 (const uint)
+0:65 30 (const uint)
+0:66 move second child to first child (temp 2-component vector of float)
+0:66 'out2' (out 2-component vector of float)
+0:66 Constant:
+0:66 3.000000
+0:66 6.000000
+0:67 move second child to first child (temp 2-component vector of float)
+0:67 'out2' (out 2-component vector of float)
+0:67 Constant:
+0:67 3.500000
+0:67 4.500000
+0:68 move second child to first child (temp 2-component vector of float)
+0:68 'out2' (out 2-component vector of float)
+0:68 Constant:
+0:68 0.000000
+0:68 1.000000
+0:69 move second child to first child (temp 4-component vector of float)
+0:69 'out11' (out 4-component vector of float)
+0:69 Constant:
+0:69 0.000000
+0:69 0.028000
+0:69 0.500000
+0:69 1.000000
+0:78 Function Definition: foo( (global void)
+0:78 Function Parameters:
+0:? Sequence
+0:81 move second child to first child (temp float)
+0:81 direct index (temp float)
+0:81 'a' (temp 3-element array of float)
+0:81 Constant:
+0:81 0 (const int)
+0:81 Constant:
+0:81 7.000000
+0:82 Constant:
+0:82 2 (const int)
+0:83 Constant:
+0:83 2147483647 (const int)
+0:84 Constant:
+0:84 inf
+0:88 Constant:
+0:88 2 (const uint)
+0:88 3 (const uint)
+0:89 Constant:
+0:89 0 (const uint)
+0:90 Constant:
+0:90 6 (const uint)
+0:90 7 (const uint)
+0:103 Function Definition: foo2( (global void)
+0:103 Function Parameters:
+0:105 Sequence
+0:105 direct index (temp float)
+0:105 'a1' (global 1-element array of float)
+0:105 Constant:
+0:105 0 (const int)
+0:106 direct index (temp float)
+0:106 'a2' (global 2-element array of float)
+0:106 Constant:
+0:106 0 (const int)
+0:107 direct index (temp float)
+0:107 'a3' (global 4-element array of float)
+0:107 Constant:
+0:107 0 (const int)
+0:108 direct index (temp float)
+0:108 'a4' (global 2-element array of float)
+0:108 Constant:
+0:108 0 (const int)
+0:109 Constant:
+0:109 1.000000
+0:110 Constant:
+0:110 5.000000
+0:111 Constant:
+0:111 2.000000
+0:112 Constant:
+0:112 3.000000
+0:113 Constant:
+0:113 0.000000
+0:114 Constant:
+0:114 0.000000
+0:116 move second child to first child (temp int)
+0:116 'p' (temp int)
+0:116 Constant:
+0:116 2147483647 (const int)
+0:117 move second child to first child (temp int)
+0:117 'p' (temp int)
+0:117 Constant:
+0:117 -2147483648 (const int)
+0:118 move second child to first child (temp int)
+0:118 'p' (temp int)
+0:118 Constant:
+0:118 -2147483647 (const int)
+0:119 Sequence
+0:119 move second child to first child (temp float)
+0:119 'f' (temp float)
+0:119 Constant:
+0:119 1.444000
+0:120 move second child to first child (temp float)
+0:120 'f' (temp float)
+0:120 direct index (temp float)
+0:120 Construct vec4 (temp 4-component vector of float)
+0:120 Test condition and select (temp float)
+0:120 Condition
+0:120 Compare Less Than (temp bool)
+0:120 direct index (temp float)
+0:120 'inv' (smooth in 4-component vector of float)
+0:120 Constant:
+0:120 0 (const int)
+0:120 Constant:
+0:120 2.400000
+0:120 true case
+0:120 Constant:
+0:120 -1.000000
+0:120 false case
+0:120 Constant:
+0:120 1.000000
+0:120 Constant:
+0:120 3 (const int)
+0:? Linker Objects
+0:? 'a' (const int)
+0:? 1 (const int)
+0:? 'b' (const int)
+0:? 2 (const int)
+0:? 'c' (const int)
+0:? 3 (const int)
+0:? 'd' (const int)
+0:? 2 (const int)
+0:? 'e' (const float)
+0:? 2.000000
+0:? 'f' (const float)
+0:? 6.000000
+0:? 'g' (const float)
+0:? 3.000000
+0:? 'pytho' (const 2-component vector of float)
+0:? 3.000000
+0:? 4.000000
+0:? 'inv' (smooth in 4-component vector of float)
+0:? 'FragColor' (out 4-component vector of float)
+0:? 'out2' (out 2-component vector of float)
+0:? 'out3' (out 4-component vector of float)
+0:? 'out4' (out 4-component vector of float)
+0:? 'out5' (out 4-component vector of int)
+0:? 'out6' (out 3-component vector of float)
+0:? 'out7' (out 4-component vector of float)
+0:? 'out8' (out 4-component vector of float)
+0:? 'out9' (out 4-component vector of float)
+0:? 'out10' (out 4-component vector of float)
+0:? 'out11' (out 4-component vector of float)
+0:? 'out12' (out 2-component vector of int)
+0:? 'out13' (out 3-component vector of uint)
+0:? 's' (const structure{global 3-component vector of float v3, global 2-component vector of int iv2, global 2X4 matrix of float m})
+0:? 3.000000
+0:? 3.000000
+0:? 3.000000
+0:? 3 (const int)
+0:? 3 (const int)
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:? 7.000000
+0:? 8.000000
+0:? 'm2' (const 2X2 matrix of float)
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 'm3' (const 3X3 matrix of float)
+0:? 2.000000
+0:? 3.000000
+0:? 0.000000
+0:? 4.000000
+0:? 5.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 1.000000
+0:? 'mc' (const int)
+0:? 1 (const int)
+0:? 'a1' (global 1-element array of float)
+0:? 'a2' (global 2-element array of float)
+0:? 'a3' (global 4-element array of float)
+0:? 'v2' (const 2-component vector of float)
+0:? 1.000000
+0:? 2.000000
+0:? 'v3' (const 3-component vector of float)
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 'a4' (global 2-element array of float)
+
diff --git a/Test/baseResults/conversion.frag.out b/Test/baseResults/conversion.frag.out
index c17195b..3abf82c 100644
--- a/Test/baseResults/conversion.frag.out
+++ b/Test/baseResults/conversion.frag.out
@@ -1,955 +1,955 @@
-conversion.frag
-Shader version: 130
-0:? Sequence
-0:33 Function Definition: main( (global void)
-0:33 Function Parameters:
-0:35 Sequence
-0:35 Sequence
-0:35 move second child to first child (temp bool)
-0:35 'b' (temp bool)
-0:35 logical-xor (temp bool)
-0:35 Convert int to bool (temp bool)
-0:35 'u_i' (uniform int)
-0:35 Convert float to bool (temp bool)
-0:35 'u_f' (uniform float)
-0:36 Sequence
-0:36 move second child to first child (temp 2-component vector of bool)
-0:36 'b2' (temp 2-component vector of bool)
-0:36 Construct bvec2 (temp 2-component vector of bool)
-0:36 Convert int to bool (temp bool)
-0:36 'u_i' (uniform int)
-0:36 Convert float to bool (temp bool)
-0:36 'u_f' (uniform float)
-0:37 Sequence
-0:37 move second child to first child (temp 3-component vector of bool)
-0:37 'b3' (temp 3-component vector of bool)
-0:37 Construct bvec3 (temp 3-component vector of bool)
-0:37 Convert int to bool (temp bool)
-0:37 'u_i' (uniform int)
-0:37 Convert float to bool (temp bool)
-0:37 'u_f' (uniform float)
-0:37 Convert int to bool (temp bool)
-0:37 'i_i' (flat in int)
-0:38 Sequence
-0:38 move second child to first child (temp 4-component vector of bool)
-0:38 'b4' (temp 4-component vector of bool)
-0:38 Construct bvec4 (temp 4-component vector of bool)
-0:38 Convert int to bool (temp bool)
-0:38 'u_i' (uniform int)
-0:38 Convert float to bool (temp bool)
-0:38 'u_f' (uniform float)
-0:38 Convert int to bool (temp bool)
-0:38 'i_i' (flat in int)
-0:38 Convert float to bool (temp bool)
-0:38 'i_f' (smooth in float)
-0:40 Sequence
-0:40 move second child to first child (temp int)
-0:40 'i' (temp int)
-0:40 add (temp int)
-0:40 Convert float to int (temp int)
-0:40 'u_f' (uniform float)
-0:40 Convert bool to int (temp int)
-0:40 'b' (temp bool)
-0:41 Sequence
-0:41 move second child to first child (temp 2-component vector of int)
-0:41 'i2' (temp 2-component vector of int)
-0:41 add (temp 2-component vector of int)
-0:41 Convert float to int (temp 2-component vector of int)
-0:41 'u_f2' (uniform 2-component vector of float)
-0:41 Convert bool to int (temp 2-component vector of int)
-0:41 'b2' (temp 2-component vector of bool)
-0:42 Sequence
-0:42 move second child to first child (temp 3-component vector of int)
-0:42 'i3' (temp 3-component vector of int)
-0:42 add (temp 3-component vector of int)
-0:42 Convert float to int (temp 3-component vector of int)
-0:42 'u_f3' (uniform 3-component vector of float)
-0:42 Convert bool to int (temp 3-component vector of int)
-0:42 'b3' (temp 3-component vector of bool)
-0:43 Sequence
-0:43 move second child to first child (temp 4-component vector of int)
-0:43 'i4' (temp 4-component vector of int)
-0:43 add (temp 4-component vector of int)
-0:43 Convert float to int (temp 4-component vector of int)
-0:43 'u_f4' (uniform 4-component vector of float)
-0:43 Convert bool to int (temp 4-component vector of int)
-0:43 'b4' (temp 4-component vector of bool)
-0:45 Sequence
-0:45 move second child to first child (temp float)
-0:45 'f' (temp float)
-0:45 Convert int to float (temp float)
-0:45 'i' (temp int)
-0:46 Sequence
-0:46 move second child to first child (temp 2-component vector of float)
-0:46 'f2' (temp 2-component vector of float)
-0:46 Convert int to float (temp 2-component vector of float)
-0:46 'i2' (temp 2-component vector of int)
-0:47 Sequence
-0:47 move second child to first child (temp 3-component vector of float)
-0:47 'f3' (temp 3-component vector of float)
-0:47 Convert int to float (temp 3-component vector of float)
-0:47 'i3' (temp 3-component vector of int)
-0:48 Sequence
-0:48 move second child to first child (temp 4-component vector of float)
-0:48 'f4' (temp 4-component vector of float)
-0:48 Convert int to float (temp 4-component vector of float)
-0:48 'i4' (temp 4-component vector of int)
-0:50 add second child into first child (temp float)
-0:50 'f' (temp float)
-0:50 add (temp float)
-0:50 Convert int to float (temp float)
-0:50 'i' (temp int)
-0:50 Convert bool to float (temp float)
-0:50 'b' (temp bool)
-0:51 subtract second child into first child (temp 2-component vector of float)
-0:51 'f2' (temp 2-component vector of float)
-0:51 add (temp 2-component vector of float)
-0:51 Convert int to float (temp 2-component vector of float)
-0:51 'i2' (temp 2-component vector of int)
-0:51 Convert bool to float (temp 2-component vector of float)
-0:51 'b2' (temp 2-component vector of bool)
-0:52 divide second child into first child (temp 3-component vector of float)
-0:52 'f3' (temp 3-component vector of float)
-0:52 add (temp 3-component vector of float)
-0:52 Convert int to float (temp 3-component vector of float)
-0:52 'i3' (temp 3-component vector of int)
-0:52 Convert bool to float (temp 3-component vector of float)
-0:52 'b3' (temp 3-component vector of bool)
-0:53 add second child into first child (temp 4-component vector of float)
-0:53 'f4' (temp 4-component vector of float)
-0:53 add (temp 4-component vector of float)
-0:53 Convert int to float (temp 4-component vector of float)
-0:53 'i4' (temp 4-component vector of int)
-0:53 Convert bool to float (temp 4-component vector of float)
-0:53 'b4' (temp 4-component vector of bool)
-0:55 add second child into first child (temp 4-component vector of float)
-0:55 'f4' (temp 4-component vector of float)
-0:55 Convert bool to float (temp 4-component vector of float)
-0:55 Convert int to bool (temp 4-component vector of bool)
-0:55 'i_i4' (flat in 4-component vector of int)
-0:56 add second child into first child (temp 4-component vector of float)
-0:56 'f4' (temp 4-component vector of float)
-0:56 Convert bool to float (temp 4-component vector of float)
-0:56 Convert float to bool (temp 4-component vector of bool)
-0:56 'u_f4' (uniform 4-component vector of float)
-0:58 add second child into first child (temp float)
-0:58 'f' (temp float)
-0:58 subtract (temp float)
-0:58 'f' (temp float)
-0:58 Convert int to float (temp float)
-0:58 'i' (temp int)
-0:59 add second child into first child (temp 2-component vector of float)
-0:59 'f2' (temp 2-component vector of float)
-0:59 add (temp 2-component vector of float)
-0:59 Construct vec2 (temp 2-component vector of float)
-0:59 'f' (temp float)
-0:59 Convert int to float (temp float)
-0:59 'i' (temp int)
-0:59 Convert int to float (temp 2-component vector of float)
-0:59 'i2' (temp 2-component vector of int)
-0:60 add second child into first child (temp 3-component vector of float)
-0:60 'f3' (temp 3-component vector of float)
-0:60 add (temp 3-component vector of float)
-0:60 Convert int to float (temp 3-component vector of float)
-0:60 'i3' (temp 3-component vector of int)
-0:60 Construct vec3 (temp 3-component vector of float)
-0:60 'f' (temp float)
-0:60 Convert int to float (temp float)
-0:60 'i' (temp int)
-0:60 'f' (temp float)
-0:61 add second child into first child (temp 4-component vector of float)
-0:61 'f4' (temp 4-component vector of float)
-0:61 add (temp 4-component vector of float)
-0:61 Construct vec4 (temp 4-component vector of float)
-0:61 Convert bool to float (temp float)
-0:61 'b' (temp bool)
-0:61 Convert int to float (temp float)
-0:61 'i' (temp int)
-0:61 'f' (temp float)
-0:61 Convert int to float (temp float)
-0:61 'i' (temp int)
-0:61 Convert int to float (temp 4-component vector of float)
-0:61 'i4' (temp 4-component vector of int)
-0:63 add second child into first child (temp 2-component vector of float)
-0:63 'f2' (temp 2-component vector of float)
-0:63 vector-scale (temp 2-component vector of float)
-0:63 Construct vec2 (temp 2-component vector of float)
-0:63 'f' (temp float)
-0:63 Convert int to float (temp float)
-0:63 'i' (temp int)
-0:63 Convert int to float (temp float)
-0:63 'i' (temp int)
-0:64 add second child into first child (temp 3-component vector of float)
-0:64 'f3' (temp 3-component vector of float)
-0:64 add (temp 3-component vector of float)
-0:64 Construct vec3 (temp 3-component vector of float)
-0:64 'f' (temp float)
-0:64 Convert int to float (temp float)
-0:64 'i' (temp int)
-0:64 'f' (temp float)
-0:64 Convert int to float (temp float)
-0:64 'i' (temp int)
-0:65 add second child into first child (temp 4-component vector of float)
-0:65 'f4' (temp 4-component vector of float)
-0:65 subtract (temp 4-component vector of float)
-0:65 Convert int to float (temp float)
-0:65 'i' (temp int)
-0:65 Construct vec4 (temp 4-component vector of float)
-0:65 Convert bool to float (temp float)
-0:65 'b' (temp bool)
-0:65 Convert int to float (temp float)
-0:65 'i' (temp int)
-0:65 'f' (temp float)
-0:65 Convert int to float (temp float)
-0:65 'i' (temp int)
-0:67 add second child into first child (temp 2-component vector of int)
-0:67 'i2' (temp 2-component vector of int)
-0:67 Construct ivec2 (temp 2-component vector of int)
-0:67 Convert float to int (temp int)
-0:67 'f' (temp float)
-0:67 'i' (temp int)
-0:68 add second child into first child (temp 3-component vector of int)
-0:68 'i3' (temp 3-component vector of int)
-0:68 Construct ivec3 (temp 3-component vector of int)
-0:68 Convert float to int (temp int)
-0:68 'f' (temp float)
-0:68 'i' (temp int)
-0:68 Convert float to int (temp int)
-0:68 'f' (temp float)
-0:69 add second child into first child (temp 4-component vector of int)
-0:69 'i4' (temp 4-component vector of int)
-0:69 Construct ivec4 (temp 4-component vector of int)
-0:69 Convert bool to int (temp int)
-0:69 'b' (temp bool)
-0:69 'i' (temp int)
-0:69 Convert float to int (temp int)
-0:69 'f' (temp float)
-0:69 'i' (temp int)
-0:71 Test condition and select (temp void)
-0:71 Condition
-0:72 logical-or (temp bool)
-0:71 logical-or (temp bool)
-0:71 logical-or (temp bool)
-0:71 Compare Less Than (temp bool)
-0:71 'f' (temp float)
-0:71 Convert int to float (temp float)
-0:71 'i' (temp int)
-0:71 Compare Less Than (temp bool)
-0:71 Convert int to float (temp float)
-0:71 'i' (temp int)
-0:71 'f' (temp float)
-0:72 Compare Equal (temp bool)
-0:72 'f2' (temp 2-component vector of float)
-0:72 Convert int to float (temp 2-component vector of float)
-0:72 'i2' (temp 2-component vector of int)
-0:73 Compare Not Equal (temp bool)
-0:73 Convert int to float (temp 3-component vector of float)
-0:73 'i3' (temp 3-component vector of int)
-0:73 'f3' (temp 3-component vector of float)
-0:71 true case
-0:74 move second child to first child (temp float)
-0:74 'f' (temp float)
-0:74 add (temp float)
-0:74 Test condition and select (temp float)
-0:74 Condition
-0:74 'b' (temp bool)
-0:74 true case
-0:74 Convert int to float (temp float)
-0:74 'i' (temp int)
-0:74 false case
-0:74 direct index (temp float)
-0:74 'f2' (temp 2-component vector of float)
-0:74 Constant:
-0:74 0 (const int)
-0:74 Test condition and select (temp float)
-0:74 Condition
-0:74 direct index (temp bool)
-0:74 'b2' (temp 2-component vector of bool)
-0:74 Constant:
-0:74 0 (const int)
-0:74 true case
-0:74 direct index (temp float)
-0:74 'f3' (temp 3-component vector of float)
-0:74 Constant:
-0:74 0 (const int)
-0:74 false case
-0:74 Convert int to float (temp float)
-0:74 direct index (temp int)
-0:74 'i2' (temp 2-component vector of int)
-0:74 Constant:
-0:74 1 (const int)
-0:76 move second child to first child (temp 4-component vector of float)
-0:76 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:86 Test condition and select (temp 4-component vector of float)
-0:86 Condition
-0:85 logical-or (temp bool)
-0:84 logical-or (temp bool)
-0:83 logical-or (temp bool)
-0:82 logical-or (temp bool)
-0:81 logical-or (temp bool)
-0:80 logical-or (temp bool)
-0:79 logical-or (temp bool)
-0:78 logical-or (temp bool)
-0:77 logical-or (temp bool)
-0:77 'b' (temp bool)
-0:78 direct index (temp bool)
-0:78 'b2' (temp 2-component vector of bool)
-0:78 Constant:
-0:78 0 (const int)
-0:79 direct index (temp bool)
-0:79 'b2' (temp 2-component vector of bool)
-0:79 Constant:
-0:79 1 (const int)
-0:80 direct index (temp bool)
-0:80 'b3' (temp 3-component vector of bool)
-0:80 Constant:
-0:80 0 (const int)
-0:81 direct index (temp bool)
-0:81 'b3' (temp 3-component vector of bool)
-0:81 Constant:
-0:81 1 (const int)
-0:82 direct index (temp bool)
-0:82 'b3' (temp 3-component vector of bool)
-0:82 Constant:
-0:82 2 (const int)
-0:83 direct index (temp bool)
-0:83 'b4' (temp 4-component vector of bool)
-0:83 Constant:
-0:83 0 (const int)
-0:84 direct index (temp bool)
-0:84 'b4' (temp 4-component vector of bool)
-0:84 Constant:
-0:84 1 (const int)
-0:85 direct index (temp bool)
-0:85 'b4' (temp 4-component vector of bool)
-0:85 Constant:
-0:85 2 (const int)
-0:86 direct index (temp bool)
-0:86 'b4' (temp 4-component vector of bool)
-0:86 Constant:
-0:86 3 (const int)
-0:86 true case
-0:105 Construct vec4 (temp 4-component vector of float)
-0:105 add (temp float)
-0:104 add (temp float)
-0:103 add (temp float)
-0:102 add (temp float)
-0:101 add (temp float)
-0:100 add (temp float)
-0:99 add (temp float)
-0:98 add (temp float)
-0:97 add (temp float)
-0:96 add (temp float)
-0:95 Convert int to float (temp float)
-0:95 add (temp int)
-0:94 add (temp int)
-0:93 add (temp int)
-0:92 add (temp int)
-0:91 add (temp int)
-0:90 add (temp int)
-0:89 add (temp int)
-0:88 add (temp int)
-0:87 add (temp int)
-0:87 'i' (temp int)
-0:88 direct index (temp int)
-0:88 'i2' (temp 2-component vector of int)
-0:88 Constant:
-0:88 0 (const int)
-0:89 direct index (temp int)
-0:89 'i2' (temp 2-component vector of int)
-0:89 Constant:
-0:89 1 (const int)
-0:90 direct index (temp int)
-0:90 'i3' (temp 3-component vector of int)
-0:90 Constant:
-0:90 0 (const int)
-0:91 direct index (temp int)
-0:91 'i3' (temp 3-component vector of int)
-0:91 Constant:
-0:91 1 (const int)
-0:92 direct index (temp int)
-0:92 'i3' (temp 3-component vector of int)
-0:92 Constant:
-0:92 2 (const int)
-0:93 direct index (temp int)
-0:93 'i4' (temp 4-component vector of int)
-0:93 Constant:
-0:93 0 (const int)
-0:94 direct index (temp int)
-0:94 'i4' (temp 4-component vector of int)
-0:94 Constant:
-0:94 1 (const int)
-0:95 direct index (temp int)
-0:95 'i4' (temp 4-component vector of int)
-0:95 Constant:
-0:95 2 (const int)
-0:96 direct index (temp int)
-0:96 'i4' (temp 4-component vector of int)
-0:96 Constant:
-0:96 3 (const int)
-0:97 'f' (temp float)
-0:98 direct index (temp float)
-0:98 'f2' (temp 2-component vector of float)
-0:98 Constant:
-0:98 0 (const int)
-0:99 direct index (temp float)
-0:99 'f2' (temp 2-component vector of float)
-0:99 Constant:
-0:99 1 (const int)
-0:100 direct index (temp float)
-0:100 'f3' (temp 3-component vector of float)
-0:100 Constant:
-0:100 0 (const int)
-0:101 direct index (temp float)
-0:101 'f3' (temp 3-component vector of float)
-0:101 Constant:
-0:101 1 (const int)
-0:102 direct index (temp float)
-0:102 'f3' (temp 3-component vector of float)
-0:102 Constant:
-0:102 2 (const int)
-0:103 direct index (temp float)
-0:103 'f4' (temp 4-component vector of float)
-0:103 Constant:
-0:103 0 (const int)
-0:104 direct index (temp float)
-0:104 'f4' (temp 4-component vector of float)
-0:104 Constant:
-0:104 1 (const int)
-0:105 direct index (temp float)
-0:105 'f4' (temp 4-component vector of float)
-0:105 Constant:
-0:105 2 (const int)
-0:106 direct index (temp float)
-0:106 'f4' (temp 4-component vector of float)
-0:106 Constant:
-0:106 3 (const int)
-0:86 false case
-0:106 Constant:
-0:106 1.000000
-0:106 1.000000
-0:106 1.000000
-0:106 1.000000
-0:109 Sequence
-0:109 move second child to first child (temp 4-component vector of int)
-0:109 'cv2' (temp 4-component vector of int)
-0:109 Constant:
-0:109 1 (const int)
-0:109 1 (const int)
-0:109 1 (const int)
-0:109 1 (const int)
-0:110 Sequence
-0:110 move second child to first child (temp 4-component vector of bool)
-0:110 'cv5' (temp 4-component vector of bool)
-0:110 Convert int to bool (temp 4-component vector of bool)
-0:110 'cv2' (temp 4-component vector of int)
-0:111 add second child into first child (temp 4-component vector of float)
-0:111 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:111 Construct float (temp float)
-0:111 Convert bool to float (temp 4-component vector of float)
-0:111 'cv5' (temp 4-component vector of bool)
-0:? Linker Objects
-0:? 'u_b' (uniform bool)
-0:? 'u_b2' (uniform 2-component vector of bool)
-0:? 'u_b3' (uniform 3-component vector of bool)
-0:? 'u_b4' (uniform 4-component vector of bool)
-0:? 'u_i' (uniform int)
-0:? 'u_i2' (uniform 2-component vector of int)
-0:? 'u_i3' (uniform 3-component vector of int)
-0:? 'u_i4' (uniform 4-component vector of int)
-0:? 'u_f' (uniform float)
-0:? 'u_f2' (uniform 2-component vector of float)
-0:? 'u_f3' (uniform 3-component vector of float)
-0:? 'u_f4' (uniform 4-component vector of float)
-0:? 'i_b' (uniform bool)
-0:? 'i_b2' (uniform 2-component vector of bool)
-0:? 'i_b3' (uniform 3-component vector of bool)
-0:? 'i_b4' (uniform 4-component vector of bool)
-0:? 'i_i' (flat in int)
-0:? 'i_i2' (flat in 2-component vector of int)
-0:? 'i_i3' (flat in 3-component vector of int)
-0:? 'i_i4' (flat in 4-component vector of int)
-0:? 'i_f' (smooth in float)
-0:? 'i_f2' (smooth in 2-component vector of float)
-0:? 'i_f3' (smooth in 3-component vector of float)
-0:? 'i_f4' (smooth in 4-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:33 Function Definition: main( (global void)
-0:33 Function Parameters:
-0:35 Sequence
-0:35 Sequence
-0:35 move second child to first child (temp bool)
-0:35 'b' (temp bool)
-0:35 logical-xor (temp bool)
-0:35 Convert int to bool (temp bool)
-0:35 'u_i' (uniform int)
-0:35 Convert float to bool (temp bool)
-0:35 'u_f' (uniform float)
-0:36 Sequence
-0:36 move second child to first child (temp 2-component vector of bool)
-0:36 'b2' (temp 2-component vector of bool)
-0:36 Construct bvec2 (temp 2-component vector of bool)
-0:36 Convert int to bool (temp bool)
-0:36 'u_i' (uniform int)
-0:36 Convert float to bool (temp bool)
-0:36 'u_f' (uniform float)
-0:37 Sequence
-0:37 move second child to first child (temp 3-component vector of bool)
-0:37 'b3' (temp 3-component vector of bool)
-0:37 Construct bvec3 (temp 3-component vector of bool)
-0:37 Convert int to bool (temp bool)
-0:37 'u_i' (uniform int)
-0:37 Convert float to bool (temp bool)
-0:37 'u_f' (uniform float)
-0:37 Convert int to bool (temp bool)
-0:37 'i_i' (flat in int)
-0:38 Sequence
-0:38 move second child to first child (temp 4-component vector of bool)
-0:38 'b4' (temp 4-component vector of bool)
-0:38 Construct bvec4 (temp 4-component vector of bool)
-0:38 Convert int to bool (temp bool)
-0:38 'u_i' (uniform int)
-0:38 Convert float to bool (temp bool)
-0:38 'u_f' (uniform float)
-0:38 Convert int to bool (temp bool)
-0:38 'i_i' (flat in int)
-0:38 Convert float to bool (temp bool)
-0:38 'i_f' (smooth in float)
-0:40 Sequence
-0:40 move second child to first child (temp int)
-0:40 'i' (temp int)
-0:40 add (temp int)
-0:40 Convert float to int (temp int)
-0:40 'u_f' (uniform float)
-0:40 Convert bool to int (temp int)
-0:40 'b' (temp bool)
-0:41 Sequence
-0:41 move second child to first child (temp 2-component vector of int)
-0:41 'i2' (temp 2-component vector of int)
-0:41 add (temp 2-component vector of int)
-0:41 Convert float to int (temp 2-component vector of int)
-0:41 'u_f2' (uniform 2-component vector of float)
-0:41 Convert bool to int (temp 2-component vector of int)
-0:41 'b2' (temp 2-component vector of bool)
-0:42 Sequence
-0:42 move second child to first child (temp 3-component vector of int)
-0:42 'i3' (temp 3-component vector of int)
-0:42 add (temp 3-component vector of int)
-0:42 Convert float to int (temp 3-component vector of int)
-0:42 'u_f3' (uniform 3-component vector of float)
-0:42 Convert bool to int (temp 3-component vector of int)
-0:42 'b3' (temp 3-component vector of bool)
-0:43 Sequence
-0:43 move second child to first child (temp 4-component vector of int)
-0:43 'i4' (temp 4-component vector of int)
-0:43 add (temp 4-component vector of int)
-0:43 Convert float to int (temp 4-component vector of int)
-0:43 'u_f4' (uniform 4-component vector of float)
-0:43 Convert bool to int (temp 4-component vector of int)
-0:43 'b4' (temp 4-component vector of bool)
-0:45 Sequence
-0:45 move second child to first child (temp float)
-0:45 'f' (temp float)
-0:45 Convert int to float (temp float)
-0:45 'i' (temp int)
-0:46 Sequence
-0:46 move second child to first child (temp 2-component vector of float)
-0:46 'f2' (temp 2-component vector of float)
-0:46 Convert int to float (temp 2-component vector of float)
-0:46 'i2' (temp 2-component vector of int)
-0:47 Sequence
-0:47 move second child to first child (temp 3-component vector of float)
-0:47 'f3' (temp 3-component vector of float)
-0:47 Convert int to float (temp 3-component vector of float)
-0:47 'i3' (temp 3-component vector of int)
-0:48 Sequence
-0:48 move second child to first child (temp 4-component vector of float)
-0:48 'f4' (temp 4-component vector of float)
-0:48 Convert int to float (temp 4-component vector of float)
-0:48 'i4' (temp 4-component vector of int)
-0:50 add second child into first child (temp float)
-0:50 'f' (temp float)
-0:50 add (temp float)
-0:50 Convert int to float (temp float)
-0:50 'i' (temp int)
-0:50 Convert bool to float (temp float)
-0:50 'b' (temp bool)
-0:51 subtract second child into first child (temp 2-component vector of float)
-0:51 'f2' (temp 2-component vector of float)
-0:51 add (temp 2-component vector of float)
-0:51 Convert int to float (temp 2-component vector of float)
-0:51 'i2' (temp 2-component vector of int)
-0:51 Convert bool to float (temp 2-component vector of float)
-0:51 'b2' (temp 2-component vector of bool)
-0:52 divide second child into first child (temp 3-component vector of float)
-0:52 'f3' (temp 3-component vector of float)
-0:52 add (temp 3-component vector of float)
-0:52 Convert int to float (temp 3-component vector of float)
-0:52 'i3' (temp 3-component vector of int)
-0:52 Convert bool to float (temp 3-component vector of float)
-0:52 'b3' (temp 3-component vector of bool)
-0:53 add second child into first child (temp 4-component vector of float)
-0:53 'f4' (temp 4-component vector of float)
-0:53 add (temp 4-component vector of float)
-0:53 Convert int to float (temp 4-component vector of float)
-0:53 'i4' (temp 4-component vector of int)
-0:53 Convert bool to float (temp 4-component vector of float)
-0:53 'b4' (temp 4-component vector of bool)
-0:55 add second child into first child (temp 4-component vector of float)
-0:55 'f4' (temp 4-component vector of float)
-0:55 Convert bool to float (temp 4-component vector of float)
-0:55 Convert int to bool (temp 4-component vector of bool)
-0:55 'i_i4' (flat in 4-component vector of int)
-0:56 add second child into first child (temp 4-component vector of float)
-0:56 'f4' (temp 4-component vector of float)
-0:56 Convert bool to float (temp 4-component vector of float)
-0:56 Convert float to bool (temp 4-component vector of bool)
-0:56 'u_f4' (uniform 4-component vector of float)
-0:58 add second child into first child (temp float)
-0:58 'f' (temp float)
-0:58 subtract (temp float)
-0:58 'f' (temp float)
-0:58 Convert int to float (temp float)
-0:58 'i' (temp int)
-0:59 add second child into first child (temp 2-component vector of float)
-0:59 'f2' (temp 2-component vector of float)
-0:59 add (temp 2-component vector of float)
-0:59 Construct vec2 (temp 2-component vector of float)
-0:59 'f' (temp float)
-0:59 Convert int to float (temp float)
-0:59 'i' (temp int)
-0:59 Convert int to float (temp 2-component vector of float)
-0:59 'i2' (temp 2-component vector of int)
-0:60 add second child into first child (temp 3-component vector of float)
-0:60 'f3' (temp 3-component vector of float)
-0:60 add (temp 3-component vector of float)
-0:60 Convert int to float (temp 3-component vector of float)
-0:60 'i3' (temp 3-component vector of int)
-0:60 Construct vec3 (temp 3-component vector of float)
-0:60 'f' (temp float)
-0:60 Convert int to float (temp float)
-0:60 'i' (temp int)
-0:60 'f' (temp float)
-0:61 add second child into first child (temp 4-component vector of float)
-0:61 'f4' (temp 4-component vector of float)
-0:61 add (temp 4-component vector of float)
-0:61 Construct vec4 (temp 4-component vector of float)
-0:61 Convert bool to float (temp float)
-0:61 'b' (temp bool)
-0:61 Convert int to float (temp float)
-0:61 'i' (temp int)
-0:61 'f' (temp float)
-0:61 Convert int to float (temp float)
-0:61 'i' (temp int)
-0:61 Convert int to float (temp 4-component vector of float)
-0:61 'i4' (temp 4-component vector of int)
-0:63 add second child into first child (temp 2-component vector of float)
-0:63 'f2' (temp 2-component vector of float)
-0:63 vector-scale (temp 2-component vector of float)
-0:63 Construct vec2 (temp 2-component vector of float)
-0:63 'f' (temp float)
-0:63 Convert int to float (temp float)
-0:63 'i' (temp int)
-0:63 Convert int to float (temp float)
-0:63 'i' (temp int)
-0:64 add second child into first child (temp 3-component vector of float)
-0:64 'f3' (temp 3-component vector of float)
-0:64 add (temp 3-component vector of float)
-0:64 Construct vec3 (temp 3-component vector of float)
-0:64 'f' (temp float)
-0:64 Convert int to float (temp float)
-0:64 'i' (temp int)
-0:64 'f' (temp float)
-0:64 Convert int to float (temp float)
-0:64 'i' (temp int)
-0:65 add second child into first child (temp 4-component vector of float)
-0:65 'f4' (temp 4-component vector of float)
-0:65 subtract (temp 4-component vector of float)
-0:65 Convert int to float (temp float)
-0:65 'i' (temp int)
-0:65 Construct vec4 (temp 4-component vector of float)
-0:65 Convert bool to float (temp float)
-0:65 'b' (temp bool)
-0:65 Convert int to float (temp float)
-0:65 'i' (temp int)
-0:65 'f' (temp float)
-0:65 Convert int to float (temp float)
-0:65 'i' (temp int)
-0:67 add second child into first child (temp 2-component vector of int)
-0:67 'i2' (temp 2-component vector of int)
-0:67 Construct ivec2 (temp 2-component vector of int)
-0:67 Convert float to int (temp int)
-0:67 'f' (temp float)
-0:67 'i' (temp int)
-0:68 add second child into first child (temp 3-component vector of int)
-0:68 'i3' (temp 3-component vector of int)
-0:68 Construct ivec3 (temp 3-component vector of int)
-0:68 Convert float to int (temp int)
-0:68 'f' (temp float)
-0:68 'i' (temp int)
-0:68 Convert float to int (temp int)
-0:68 'f' (temp float)
-0:69 add second child into first child (temp 4-component vector of int)
-0:69 'i4' (temp 4-component vector of int)
-0:69 Construct ivec4 (temp 4-component vector of int)
-0:69 Convert bool to int (temp int)
-0:69 'b' (temp bool)
-0:69 'i' (temp int)
-0:69 Convert float to int (temp int)
-0:69 'f' (temp float)
-0:69 'i' (temp int)
-0:71 Test condition and select (temp void)
-0:71 Condition
-0:72 logical-or (temp bool)
-0:71 logical-or (temp bool)
-0:71 logical-or (temp bool)
-0:71 Compare Less Than (temp bool)
-0:71 'f' (temp float)
-0:71 Convert int to float (temp float)
-0:71 'i' (temp int)
-0:71 Compare Less Than (temp bool)
-0:71 Convert int to float (temp float)
-0:71 'i' (temp int)
-0:71 'f' (temp float)
-0:72 Compare Equal (temp bool)
-0:72 'f2' (temp 2-component vector of float)
-0:72 Convert int to float (temp 2-component vector of float)
-0:72 'i2' (temp 2-component vector of int)
-0:73 Compare Not Equal (temp bool)
-0:73 Convert int to float (temp 3-component vector of float)
-0:73 'i3' (temp 3-component vector of int)
-0:73 'f3' (temp 3-component vector of float)
-0:71 true case
-0:74 move second child to first child (temp float)
-0:74 'f' (temp float)
-0:74 add (temp float)
-0:74 Test condition and select (temp float)
-0:74 Condition
-0:74 'b' (temp bool)
-0:74 true case
-0:74 Convert int to float (temp float)
-0:74 'i' (temp int)
-0:74 false case
-0:74 direct index (temp float)
-0:74 'f2' (temp 2-component vector of float)
-0:74 Constant:
-0:74 0 (const int)
-0:74 Test condition and select (temp float)
-0:74 Condition
-0:74 direct index (temp bool)
-0:74 'b2' (temp 2-component vector of bool)
-0:74 Constant:
-0:74 0 (const int)
-0:74 true case
-0:74 direct index (temp float)
-0:74 'f3' (temp 3-component vector of float)
-0:74 Constant:
-0:74 0 (const int)
-0:74 false case
-0:74 Convert int to float (temp float)
-0:74 direct index (temp int)
-0:74 'i2' (temp 2-component vector of int)
-0:74 Constant:
-0:74 1 (const int)
-0:76 move second child to first child (temp 4-component vector of float)
-0:76 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:86 Test condition and select (temp 4-component vector of float)
-0:86 Condition
-0:85 logical-or (temp bool)
-0:84 logical-or (temp bool)
-0:83 logical-or (temp bool)
-0:82 logical-or (temp bool)
-0:81 logical-or (temp bool)
-0:80 logical-or (temp bool)
-0:79 logical-or (temp bool)
-0:78 logical-or (temp bool)
-0:77 logical-or (temp bool)
-0:77 'b' (temp bool)
-0:78 direct index (temp bool)
-0:78 'b2' (temp 2-component vector of bool)
-0:78 Constant:
-0:78 0 (const int)
-0:79 direct index (temp bool)
-0:79 'b2' (temp 2-component vector of bool)
-0:79 Constant:
-0:79 1 (const int)
-0:80 direct index (temp bool)
-0:80 'b3' (temp 3-component vector of bool)
-0:80 Constant:
-0:80 0 (const int)
-0:81 direct index (temp bool)
-0:81 'b3' (temp 3-component vector of bool)
-0:81 Constant:
-0:81 1 (const int)
-0:82 direct index (temp bool)
-0:82 'b3' (temp 3-component vector of bool)
-0:82 Constant:
-0:82 2 (const int)
-0:83 direct index (temp bool)
-0:83 'b4' (temp 4-component vector of bool)
-0:83 Constant:
-0:83 0 (const int)
-0:84 direct index (temp bool)
-0:84 'b4' (temp 4-component vector of bool)
-0:84 Constant:
-0:84 1 (const int)
-0:85 direct index (temp bool)
-0:85 'b4' (temp 4-component vector of bool)
-0:85 Constant:
-0:85 2 (const int)
-0:86 direct index (temp bool)
-0:86 'b4' (temp 4-component vector of bool)
-0:86 Constant:
-0:86 3 (const int)
-0:86 true case
-0:105 Construct vec4 (temp 4-component vector of float)
-0:105 add (temp float)
-0:104 add (temp float)
-0:103 add (temp float)
-0:102 add (temp float)
-0:101 add (temp float)
-0:100 add (temp float)
-0:99 add (temp float)
-0:98 add (temp float)
-0:97 add (temp float)
-0:96 add (temp float)
-0:95 Convert int to float (temp float)
-0:95 add (temp int)
-0:94 add (temp int)
-0:93 add (temp int)
-0:92 add (temp int)
-0:91 add (temp int)
-0:90 add (temp int)
-0:89 add (temp int)
-0:88 add (temp int)
-0:87 add (temp int)
-0:87 'i' (temp int)
-0:88 direct index (temp int)
-0:88 'i2' (temp 2-component vector of int)
-0:88 Constant:
-0:88 0 (const int)
-0:89 direct index (temp int)
-0:89 'i2' (temp 2-component vector of int)
-0:89 Constant:
-0:89 1 (const int)
-0:90 direct index (temp int)
-0:90 'i3' (temp 3-component vector of int)
-0:90 Constant:
-0:90 0 (const int)
-0:91 direct index (temp int)
-0:91 'i3' (temp 3-component vector of int)
-0:91 Constant:
-0:91 1 (const int)
-0:92 direct index (temp int)
-0:92 'i3' (temp 3-component vector of int)
-0:92 Constant:
-0:92 2 (const int)
-0:93 direct index (temp int)
-0:93 'i4' (temp 4-component vector of int)
-0:93 Constant:
-0:93 0 (const int)
-0:94 direct index (temp int)
-0:94 'i4' (temp 4-component vector of int)
-0:94 Constant:
-0:94 1 (const int)
-0:95 direct index (temp int)
-0:95 'i4' (temp 4-component vector of int)
-0:95 Constant:
-0:95 2 (const int)
-0:96 direct index (temp int)
-0:96 'i4' (temp 4-component vector of int)
-0:96 Constant:
-0:96 3 (const int)
-0:97 'f' (temp float)
-0:98 direct index (temp float)
-0:98 'f2' (temp 2-component vector of float)
-0:98 Constant:
-0:98 0 (const int)
-0:99 direct index (temp float)
-0:99 'f2' (temp 2-component vector of float)
-0:99 Constant:
-0:99 1 (const int)
-0:100 direct index (temp float)
-0:100 'f3' (temp 3-component vector of float)
-0:100 Constant:
-0:100 0 (const int)
-0:101 direct index (temp float)
-0:101 'f3' (temp 3-component vector of float)
-0:101 Constant:
-0:101 1 (const int)
-0:102 direct index (temp float)
-0:102 'f3' (temp 3-component vector of float)
-0:102 Constant:
-0:102 2 (const int)
-0:103 direct index (temp float)
-0:103 'f4' (temp 4-component vector of float)
-0:103 Constant:
-0:103 0 (const int)
-0:104 direct index (temp float)
-0:104 'f4' (temp 4-component vector of float)
-0:104 Constant:
-0:104 1 (const int)
-0:105 direct index (temp float)
-0:105 'f4' (temp 4-component vector of float)
-0:105 Constant:
-0:105 2 (const int)
-0:106 direct index (temp float)
-0:106 'f4' (temp 4-component vector of float)
-0:106 Constant:
-0:106 3 (const int)
-0:86 false case
-0:106 Constant:
-0:106 1.000000
-0:106 1.000000
-0:106 1.000000
-0:106 1.000000
-0:109 Sequence
-0:109 move second child to first child (temp 4-component vector of int)
-0:109 'cv2' (temp 4-component vector of int)
-0:109 Constant:
-0:109 1 (const int)
-0:109 1 (const int)
-0:109 1 (const int)
-0:109 1 (const int)
-0:110 Sequence
-0:110 move second child to first child (temp 4-component vector of bool)
-0:110 'cv5' (temp 4-component vector of bool)
-0:110 Convert int to bool (temp 4-component vector of bool)
-0:110 'cv2' (temp 4-component vector of int)
-0:111 add second child into first child (temp 4-component vector of float)
-0:111 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:111 Construct float (temp float)
-0:111 Convert bool to float (temp 4-component vector of float)
-0:111 'cv5' (temp 4-component vector of bool)
-0:? Linker Objects
-0:? 'u_b' (uniform bool)
-0:? 'u_b2' (uniform 2-component vector of bool)
-0:? 'u_b3' (uniform 3-component vector of bool)
-0:? 'u_b4' (uniform 4-component vector of bool)
-0:? 'u_i' (uniform int)
-0:? 'u_i2' (uniform 2-component vector of int)
-0:? 'u_i3' (uniform 3-component vector of int)
-0:? 'u_i4' (uniform 4-component vector of int)
-0:? 'u_f' (uniform float)
-0:? 'u_f2' (uniform 2-component vector of float)
-0:? 'u_f3' (uniform 3-component vector of float)
-0:? 'u_f4' (uniform 4-component vector of float)
-0:? 'i_b' (uniform bool)
-0:? 'i_b2' (uniform 2-component vector of bool)
-0:? 'i_b3' (uniform 3-component vector of bool)
-0:? 'i_b4' (uniform 4-component vector of bool)
-0:? 'i_i' (flat in int)
-0:? 'i_i2' (flat in 2-component vector of int)
-0:? 'i_i3' (flat in 3-component vector of int)
-0:? 'i_i4' (flat in 4-component vector of int)
-0:? 'i_f' (smooth in float)
-0:? 'i_f2' (smooth in 2-component vector of float)
-0:? 'i_f3' (smooth in 3-component vector of float)
-0:? 'i_f4' (smooth in 4-component vector of float)
-
+conversion.frag
+Shader version: 130
+0:? Sequence
+0:33 Function Definition: main( (global void)
+0:33 Function Parameters:
+0:35 Sequence
+0:35 Sequence
+0:35 move second child to first child (temp bool)
+0:35 'b' (temp bool)
+0:35 logical-xor (temp bool)
+0:35 Convert int to bool (temp bool)
+0:35 'u_i' (uniform int)
+0:35 Convert float to bool (temp bool)
+0:35 'u_f' (uniform float)
+0:36 Sequence
+0:36 move second child to first child (temp 2-component vector of bool)
+0:36 'b2' (temp 2-component vector of bool)
+0:36 Construct bvec2 (temp 2-component vector of bool)
+0:36 Convert int to bool (temp bool)
+0:36 'u_i' (uniform int)
+0:36 Convert float to bool (temp bool)
+0:36 'u_f' (uniform float)
+0:37 Sequence
+0:37 move second child to first child (temp 3-component vector of bool)
+0:37 'b3' (temp 3-component vector of bool)
+0:37 Construct bvec3 (temp 3-component vector of bool)
+0:37 Convert int to bool (temp bool)
+0:37 'u_i' (uniform int)
+0:37 Convert float to bool (temp bool)
+0:37 'u_f' (uniform float)
+0:37 Convert int to bool (temp bool)
+0:37 'i_i' (flat in int)
+0:38 Sequence
+0:38 move second child to first child (temp 4-component vector of bool)
+0:38 'b4' (temp 4-component vector of bool)
+0:38 Construct bvec4 (temp 4-component vector of bool)
+0:38 Convert int to bool (temp bool)
+0:38 'u_i' (uniform int)
+0:38 Convert float to bool (temp bool)
+0:38 'u_f' (uniform float)
+0:38 Convert int to bool (temp bool)
+0:38 'i_i' (flat in int)
+0:38 Convert float to bool (temp bool)
+0:38 'i_f' (smooth in float)
+0:40 Sequence
+0:40 move second child to first child (temp int)
+0:40 'i' (temp int)
+0:40 add (temp int)
+0:40 Convert float to int (temp int)
+0:40 'u_f' (uniform float)
+0:40 Convert bool to int (temp int)
+0:40 'b' (temp bool)
+0:41 Sequence
+0:41 move second child to first child (temp 2-component vector of int)
+0:41 'i2' (temp 2-component vector of int)
+0:41 add (temp 2-component vector of int)
+0:41 Convert float to int (temp 2-component vector of int)
+0:41 'u_f2' (uniform 2-component vector of float)
+0:41 Convert bool to int (temp 2-component vector of int)
+0:41 'b2' (temp 2-component vector of bool)
+0:42 Sequence
+0:42 move second child to first child (temp 3-component vector of int)
+0:42 'i3' (temp 3-component vector of int)
+0:42 add (temp 3-component vector of int)
+0:42 Convert float to int (temp 3-component vector of int)
+0:42 'u_f3' (uniform 3-component vector of float)
+0:42 Convert bool to int (temp 3-component vector of int)
+0:42 'b3' (temp 3-component vector of bool)
+0:43 Sequence
+0:43 move second child to first child (temp 4-component vector of int)
+0:43 'i4' (temp 4-component vector of int)
+0:43 add (temp 4-component vector of int)
+0:43 Convert float to int (temp 4-component vector of int)
+0:43 'u_f4' (uniform 4-component vector of float)
+0:43 Convert bool to int (temp 4-component vector of int)
+0:43 'b4' (temp 4-component vector of bool)
+0:45 Sequence
+0:45 move second child to first child (temp float)
+0:45 'f' (temp float)
+0:45 Convert int to float (temp float)
+0:45 'i' (temp int)
+0:46 Sequence
+0:46 move second child to first child (temp 2-component vector of float)
+0:46 'f2' (temp 2-component vector of float)
+0:46 Convert int to float (temp 2-component vector of float)
+0:46 'i2' (temp 2-component vector of int)
+0:47 Sequence
+0:47 move second child to first child (temp 3-component vector of float)
+0:47 'f3' (temp 3-component vector of float)
+0:47 Convert int to float (temp 3-component vector of float)
+0:47 'i3' (temp 3-component vector of int)
+0:48 Sequence
+0:48 move second child to first child (temp 4-component vector of float)
+0:48 'f4' (temp 4-component vector of float)
+0:48 Convert int to float (temp 4-component vector of float)
+0:48 'i4' (temp 4-component vector of int)
+0:50 add second child into first child (temp float)
+0:50 'f' (temp float)
+0:50 add (temp float)
+0:50 Convert int to float (temp float)
+0:50 'i' (temp int)
+0:50 Convert bool to float (temp float)
+0:50 'b' (temp bool)
+0:51 subtract second child into first child (temp 2-component vector of float)
+0:51 'f2' (temp 2-component vector of float)
+0:51 add (temp 2-component vector of float)
+0:51 Convert int to float (temp 2-component vector of float)
+0:51 'i2' (temp 2-component vector of int)
+0:51 Convert bool to float (temp 2-component vector of float)
+0:51 'b2' (temp 2-component vector of bool)
+0:52 divide second child into first child (temp 3-component vector of float)
+0:52 'f3' (temp 3-component vector of float)
+0:52 add (temp 3-component vector of float)
+0:52 Convert int to float (temp 3-component vector of float)
+0:52 'i3' (temp 3-component vector of int)
+0:52 Convert bool to float (temp 3-component vector of float)
+0:52 'b3' (temp 3-component vector of bool)
+0:53 add second child into first child (temp 4-component vector of float)
+0:53 'f4' (temp 4-component vector of float)
+0:53 add (temp 4-component vector of float)
+0:53 Convert int to float (temp 4-component vector of float)
+0:53 'i4' (temp 4-component vector of int)
+0:53 Convert bool to float (temp 4-component vector of float)
+0:53 'b4' (temp 4-component vector of bool)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'f4' (temp 4-component vector of float)
+0:55 Convert bool to float (temp 4-component vector of float)
+0:55 Convert int to bool (temp 4-component vector of bool)
+0:55 'i_i4' (flat in 4-component vector of int)
+0:56 add second child into first child (temp 4-component vector of float)
+0:56 'f4' (temp 4-component vector of float)
+0:56 Convert bool to float (temp 4-component vector of float)
+0:56 Convert float to bool (temp 4-component vector of bool)
+0:56 'u_f4' (uniform 4-component vector of float)
+0:58 add second child into first child (temp float)
+0:58 'f' (temp float)
+0:58 subtract (temp float)
+0:58 'f' (temp float)
+0:58 Convert int to float (temp float)
+0:58 'i' (temp int)
+0:59 add second child into first child (temp 2-component vector of float)
+0:59 'f2' (temp 2-component vector of float)
+0:59 add (temp 2-component vector of float)
+0:59 Construct vec2 (temp 2-component vector of float)
+0:59 'f' (temp float)
+0:59 Convert int to float (temp float)
+0:59 'i' (temp int)
+0:59 Convert int to float (temp 2-component vector of float)
+0:59 'i2' (temp 2-component vector of int)
+0:60 add second child into first child (temp 3-component vector of float)
+0:60 'f3' (temp 3-component vector of float)
+0:60 add (temp 3-component vector of float)
+0:60 Convert int to float (temp 3-component vector of float)
+0:60 'i3' (temp 3-component vector of int)
+0:60 Construct vec3 (temp 3-component vector of float)
+0:60 'f' (temp float)
+0:60 Convert int to float (temp float)
+0:60 'i' (temp int)
+0:60 'f' (temp float)
+0:61 add second child into first child (temp 4-component vector of float)
+0:61 'f4' (temp 4-component vector of float)
+0:61 add (temp 4-component vector of float)
+0:61 Construct vec4 (temp 4-component vector of float)
+0:61 Convert bool to float (temp float)
+0:61 'b' (temp bool)
+0:61 Convert int to float (temp float)
+0:61 'i' (temp int)
+0:61 'f' (temp float)
+0:61 Convert int to float (temp float)
+0:61 'i' (temp int)
+0:61 Convert int to float (temp 4-component vector of float)
+0:61 'i4' (temp 4-component vector of int)
+0:63 add second child into first child (temp 2-component vector of float)
+0:63 'f2' (temp 2-component vector of float)
+0:63 vector-scale (temp 2-component vector of float)
+0:63 Construct vec2 (temp 2-component vector of float)
+0:63 'f' (temp float)
+0:63 Convert int to float (temp float)
+0:63 'i' (temp int)
+0:63 Convert int to float (temp float)
+0:63 'i' (temp int)
+0:64 add second child into first child (temp 3-component vector of float)
+0:64 'f3' (temp 3-component vector of float)
+0:64 add (temp 3-component vector of float)
+0:64 Construct vec3 (temp 3-component vector of float)
+0:64 'f' (temp float)
+0:64 Convert int to float (temp float)
+0:64 'i' (temp int)
+0:64 'f' (temp float)
+0:64 Convert int to float (temp float)
+0:64 'i' (temp int)
+0:65 add second child into first child (temp 4-component vector of float)
+0:65 'f4' (temp 4-component vector of float)
+0:65 subtract (temp 4-component vector of float)
+0:65 Convert int to float (temp float)
+0:65 'i' (temp int)
+0:65 Construct vec4 (temp 4-component vector of float)
+0:65 Convert bool to float (temp float)
+0:65 'b' (temp bool)
+0:65 Convert int to float (temp float)
+0:65 'i' (temp int)
+0:65 'f' (temp float)
+0:65 Convert int to float (temp float)
+0:65 'i' (temp int)
+0:67 add second child into first child (temp 2-component vector of int)
+0:67 'i2' (temp 2-component vector of int)
+0:67 Construct ivec2 (temp 2-component vector of int)
+0:67 Convert float to int (temp int)
+0:67 'f' (temp float)
+0:67 'i' (temp int)
+0:68 add second child into first child (temp 3-component vector of int)
+0:68 'i3' (temp 3-component vector of int)
+0:68 Construct ivec3 (temp 3-component vector of int)
+0:68 Convert float to int (temp int)
+0:68 'f' (temp float)
+0:68 'i' (temp int)
+0:68 Convert float to int (temp int)
+0:68 'f' (temp float)
+0:69 add second child into first child (temp 4-component vector of int)
+0:69 'i4' (temp 4-component vector of int)
+0:69 Construct ivec4 (temp 4-component vector of int)
+0:69 Convert bool to int (temp int)
+0:69 'b' (temp bool)
+0:69 'i' (temp int)
+0:69 Convert float to int (temp int)
+0:69 'f' (temp float)
+0:69 'i' (temp int)
+0:71 Test condition and select (temp void)
+0:71 Condition
+0:72 logical-or (temp bool)
+0:71 logical-or (temp bool)
+0:71 logical-or (temp bool)
+0:71 Compare Less Than (temp bool)
+0:71 'f' (temp float)
+0:71 Convert int to float (temp float)
+0:71 'i' (temp int)
+0:71 Compare Less Than (temp bool)
+0:71 Convert int to float (temp float)
+0:71 'i' (temp int)
+0:71 'f' (temp float)
+0:72 Compare Equal (temp bool)
+0:72 'f2' (temp 2-component vector of float)
+0:72 Convert int to float (temp 2-component vector of float)
+0:72 'i2' (temp 2-component vector of int)
+0:73 Compare Not Equal (temp bool)
+0:73 Convert int to float (temp 3-component vector of float)
+0:73 'i3' (temp 3-component vector of int)
+0:73 'f3' (temp 3-component vector of float)
+0:71 true case
+0:74 move second child to first child (temp float)
+0:74 'f' (temp float)
+0:74 add (temp float)
+0:74 Test condition and select (temp float)
+0:74 Condition
+0:74 'b' (temp bool)
+0:74 true case
+0:74 Convert int to float (temp float)
+0:74 'i' (temp int)
+0:74 false case
+0:74 direct index (temp float)
+0:74 'f2' (temp 2-component vector of float)
+0:74 Constant:
+0:74 0 (const int)
+0:74 Test condition and select (temp float)
+0:74 Condition
+0:74 direct index (temp bool)
+0:74 'b2' (temp 2-component vector of bool)
+0:74 Constant:
+0:74 0 (const int)
+0:74 true case
+0:74 direct index (temp float)
+0:74 'f3' (temp 3-component vector of float)
+0:74 Constant:
+0:74 0 (const int)
+0:74 false case
+0:74 Convert int to float (temp float)
+0:74 direct index (temp int)
+0:74 'i2' (temp 2-component vector of int)
+0:74 Constant:
+0:74 1 (const int)
+0:76 move second child to first child (temp 4-component vector of float)
+0:76 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:86 Test condition and select (temp 4-component vector of float)
+0:86 Condition
+0:85 logical-or (temp bool)
+0:84 logical-or (temp bool)
+0:83 logical-or (temp bool)
+0:82 logical-or (temp bool)
+0:81 logical-or (temp bool)
+0:80 logical-or (temp bool)
+0:79 logical-or (temp bool)
+0:78 logical-or (temp bool)
+0:77 logical-or (temp bool)
+0:77 'b' (temp bool)
+0:78 direct index (temp bool)
+0:78 'b2' (temp 2-component vector of bool)
+0:78 Constant:
+0:78 0 (const int)
+0:79 direct index (temp bool)
+0:79 'b2' (temp 2-component vector of bool)
+0:79 Constant:
+0:79 1 (const int)
+0:80 direct index (temp bool)
+0:80 'b3' (temp 3-component vector of bool)
+0:80 Constant:
+0:80 0 (const int)
+0:81 direct index (temp bool)
+0:81 'b3' (temp 3-component vector of bool)
+0:81 Constant:
+0:81 1 (const int)
+0:82 direct index (temp bool)
+0:82 'b3' (temp 3-component vector of bool)
+0:82 Constant:
+0:82 2 (const int)
+0:83 direct index (temp bool)
+0:83 'b4' (temp 4-component vector of bool)
+0:83 Constant:
+0:83 0 (const int)
+0:84 direct index (temp bool)
+0:84 'b4' (temp 4-component vector of bool)
+0:84 Constant:
+0:84 1 (const int)
+0:85 direct index (temp bool)
+0:85 'b4' (temp 4-component vector of bool)
+0:85 Constant:
+0:85 2 (const int)
+0:86 direct index (temp bool)
+0:86 'b4' (temp 4-component vector of bool)
+0:86 Constant:
+0:86 3 (const int)
+0:86 true case
+0:105 Construct vec4 (temp 4-component vector of float)
+0:105 add (temp float)
+0:104 add (temp float)
+0:103 add (temp float)
+0:102 add (temp float)
+0:101 add (temp float)
+0:100 add (temp float)
+0:99 add (temp float)
+0:98 add (temp float)
+0:97 add (temp float)
+0:96 add (temp float)
+0:95 Convert int to float (temp float)
+0:95 add (temp int)
+0:94 add (temp int)
+0:93 add (temp int)
+0:92 add (temp int)
+0:91 add (temp int)
+0:90 add (temp int)
+0:89 add (temp int)
+0:88 add (temp int)
+0:87 add (temp int)
+0:87 'i' (temp int)
+0:88 direct index (temp int)
+0:88 'i2' (temp 2-component vector of int)
+0:88 Constant:
+0:88 0 (const int)
+0:89 direct index (temp int)
+0:89 'i2' (temp 2-component vector of int)
+0:89 Constant:
+0:89 1 (const int)
+0:90 direct index (temp int)
+0:90 'i3' (temp 3-component vector of int)
+0:90 Constant:
+0:90 0 (const int)
+0:91 direct index (temp int)
+0:91 'i3' (temp 3-component vector of int)
+0:91 Constant:
+0:91 1 (const int)
+0:92 direct index (temp int)
+0:92 'i3' (temp 3-component vector of int)
+0:92 Constant:
+0:92 2 (const int)
+0:93 direct index (temp int)
+0:93 'i4' (temp 4-component vector of int)
+0:93 Constant:
+0:93 0 (const int)
+0:94 direct index (temp int)
+0:94 'i4' (temp 4-component vector of int)
+0:94 Constant:
+0:94 1 (const int)
+0:95 direct index (temp int)
+0:95 'i4' (temp 4-component vector of int)
+0:95 Constant:
+0:95 2 (const int)
+0:96 direct index (temp int)
+0:96 'i4' (temp 4-component vector of int)
+0:96 Constant:
+0:96 3 (const int)
+0:97 'f' (temp float)
+0:98 direct index (temp float)
+0:98 'f2' (temp 2-component vector of float)
+0:98 Constant:
+0:98 0 (const int)
+0:99 direct index (temp float)
+0:99 'f2' (temp 2-component vector of float)
+0:99 Constant:
+0:99 1 (const int)
+0:100 direct index (temp float)
+0:100 'f3' (temp 3-component vector of float)
+0:100 Constant:
+0:100 0 (const int)
+0:101 direct index (temp float)
+0:101 'f3' (temp 3-component vector of float)
+0:101 Constant:
+0:101 1 (const int)
+0:102 direct index (temp float)
+0:102 'f3' (temp 3-component vector of float)
+0:102 Constant:
+0:102 2 (const int)
+0:103 direct index (temp float)
+0:103 'f4' (temp 4-component vector of float)
+0:103 Constant:
+0:103 0 (const int)
+0:104 direct index (temp float)
+0:104 'f4' (temp 4-component vector of float)
+0:104 Constant:
+0:104 1 (const int)
+0:105 direct index (temp float)
+0:105 'f4' (temp 4-component vector of float)
+0:105 Constant:
+0:105 2 (const int)
+0:106 direct index (temp float)
+0:106 'f4' (temp 4-component vector of float)
+0:106 Constant:
+0:106 3 (const int)
+0:86 false case
+0:106 Constant:
+0:106 1.000000
+0:106 1.000000
+0:106 1.000000
+0:106 1.000000
+0:109 Sequence
+0:109 move second child to first child (temp 4-component vector of int)
+0:109 'cv2' (temp 4-component vector of int)
+0:109 Constant:
+0:109 1 (const int)
+0:109 1 (const int)
+0:109 1 (const int)
+0:109 1 (const int)
+0:110 Sequence
+0:110 move second child to first child (temp 4-component vector of bool)
+0:110 'cv5' (temp 4-component vector of bool)
+0:110 Convert int to bool (temp 4-component vector of bool)
+0:110 'cv2' (temp 4-component vector of int)
+0:111 add second child into first child (temp 4-component vector of float)
+0:111 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:111 Construct float (temp float)
+0:111 Convert bool to float (temp 4-component vector of float)
+0:111 'cv5' (temp 4-component vector of bool)
+0:? Linker Objects
+0:? 'u_b' (uniform bool)
+0:? 'u_b2' (uniform 2-component vector of bool)
+0:? 'u_b3' (uniform 3-component vector of bool)
+0:? 'u_b4' (uniform 4-component vector of bool)
+0:? 'u_i' (uniform int)
+0:? 'u_i2' (uniform 2-component vector of int)
+0:? 'u_i3' (uniform 3-component vector of int)
+0:? 'u_i4' (uniform 4-component vector of int)
+0:? 'u_f' (uniform float)
+0:? 'u_f2' (uniform 2-component vector of float)
+0:? 'u_f3' (uniform 3-component vector of float)
+0:? 'u_f4' (uniform 4-component vector of float)
+0:? 'i_b' (uniform bool)
+0:? 'i_b2' (uniform 2-component vector of bool)
+0:? 'i_b3' (uniform 3-component vector of bool)
+0:? 'i_b4' (uniform 4-component vector of bool)
+0:? 'i_i' (flat in int)
+0:? 'i_i2' (flat in 2-component vector of int)
+0:? 'i_i3' (flat in 3-component vector of int)
+0:? 'i_i4' (flat in 4-component vector of int)
+0:? 'i_f' (smooth in float)
+0:? 'i_f2' (smooth in 2-component vector of float)
+0:? 'i_f3' (smooth in 3-component vector of float)
+0:? 'i_f4' (smooth in 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:33 Function Definition: main( (global void)
+0:33 Function Parameters:
+0:35 Sequence
+0:35 Sequence
+0:35 move second child to first child (temp bool)
+0:35 'b' (temp bool)
+0:35 logical-xor (temp bool)
+0:35 Convert int to bool (temp bool)
+0:35 'u_i' (uniform int)
+0:35 Convert float to bool (temp bool)
+0:35 'u_f' (uniform float)
+0:36 Sequence
+0:36 move second child to first child (temp 2-component vector of bool)
+0:36 'b2' (temp 2-component vector of bool)
+0:36 Construct bvec2 (temp 2-component vector of bool)
+0:36 Convert int to bool (temp bool)
+0:36 'u_i' (uniform int)
+0:36 Convert float to bool (temp bool)
+0:36 'u_f' (uniform float)
+0:37 Sequence
+0:37 move second child to first child (temp 3-component vector of bool)
+0:37 'b3' (temp 3-component vector of bool)
+0:37 Construct bvec3 (temp 3-component vector of bool)
+0:37 Convert int to bool (temp bool)
+0:37 'u_i' (uniform int)
+0:37 Convert float to bool (temp bool)
+0:37 'u_f' (uniform float)
+0:37 Convert int to bool (temp bool)
+0:37 'i_i' (flat in int)
+0:38 Sequence
+0:38 move second child to first child (temp 4-component vector of bool)
+0:38 'b4' (temp 4-component vector of bool)
+0:38 Construct bvec4 (temp 4-component vector of bool)
+0:38 Convert int to bool (temp bool)
+0:38 'u_i' (uniform int)
+0:38 Convert float to bool (temp bool)
+0:38 'u_f' (uniform float)
+0:38 Convert int to bool (temp bool)
+0:38 'i_i' (flat in int)
+0:38 Convert float to bool (temp bool)
+0:38 'i_f' (smooth in float)
+0:40 Sequence
+0:40 move second child to first child (temp int)
+0:40 'i' (temp int)
+0:40 add (temp int)
+0:40 Convert float to int (temp int)
+0:40 'u_f' (uniform float)
+0:40 Convert bool to int (temp int)
+0:40 'b' (temp bool)
+0:41 Sequence
+0:41 move second child to first child (temp 2-component vector of int)
+0:41 'i2' (temp 2-component vector of int)
+0:41 add (temp 2-component vector of int)
+0:41 Convert float to int (temp 2-component vector of int)
+0:41 'u_f2' (uniform 2-component vector of float)
+0:41 Convert bool to int (temp 2-component vector of int)
+0:41 'b2' (temp 2-component vector of bool)
+0:42 Sequence
+0:42 move second child to first child (temp 3-component vector of int)
+0:42 'i3' (temp 3-component vector of int)
+0:42 add (temp 3-component vector of int)
+0:42 Convert float to int (temp 3-component vector of int)
+0:42 'u_f3' (uniform 3-component vector of float)
+0:42 Convert bool to int (temp 3-component vector of int)
+0:42 'b3' (temp 3-component vector of bool)
+0:43 Sequence
+0:43 move second child to first child (temp 4-component vector of int)
+0:43 'i4' (temp 4-component vector of int)
+0:43 add (temp 4-component vector of int)
+0:43 Convert float to int (temp 4-component vector of int)
+0:43 'u_f4' (uniform 4-component vector of float)
+0:43 Convert bool to int (temp 4-component vector of int)
+0:43 'b4' (temp 4-component vector of bool)
+0:45 Sequence
+0:45 move second child to first child (temp float)
+0:45 'f' (temp float)
+0:45 Convert int to float (temp float)
+0:45 'i' (temp int)
+0:46 Sequence
+0:46 move second child to first child (temp 2-component vector of float)
+0:46 'f2' (temp 2-component vector of float)
+0:46 Convert int to float (temp 2-component vector of float)
+0:46 'i2' (temp 2-component vector of int)
+0:47 Sequence
+0:47 move second child to first child (temp 3-component vector of float)
+0:47 'f3' (temp 3-component vector of float)
+0:47 Convert int to float (temp 3-component vector of float)
+0:47 'i3' (temp 3-component vector of int)
+0:48 Sequence
+0:48 move second child to first child (temp 4-component vector of float)
+0:48 'f4' (temp 4-component vector of float)
+0:48 Convert int to float (temp 4-component vector of float)
+0:48 'i4' (temp 4-component vector of int)
+0:50 add second child into first child (temp float)
+0:50 'f' (temp float)
+0:50 add (temp float)
+0:50 Convert int to float (temp float)
+0:50 'i' (temp int)
+0:50 Convert bool to float (temp float)
+0:50 'b' (temp bool)
+0:51 subtract second child into first child (temp 2-component vector of float)
+0:51 'f2' (temp 2-component vector of float)
+0:51 add (temp 2-component vector of float)
+0:51 Convert int to float (temp 2-component vector of float)
+0:51 'i2' (temp 2-component vector of int)
+0:51 Convert bool to float (temp 2-component vector of float)
+0:51 'b2' (temp 2-component vector of bool)
+0:52 divide second child into first child (temp 3-component vector of float)
+0:52 'f3' (temp 3-component vector of float)
+0:52 add (temp 3-component vector of float)
+0:52 Convert int to float (temp 3-component vector of float)
+0:52 'i3' (temp 3-component vector of int)
+0:52 Convert bool to float (temp 3-component vector of float)
+0:52 'b3' (temp 3-component vector of bool)
+0:53 add second child into first child (temp 4-component vector of float)
+0:53 'f4' (temp 4-component vector of float)
+0:53 add (temp 4-component vector of float)
+0:53 Convert int to float (temp 4-component vector of float)
+0:53 'i4' (temp 4-component vector of int)
+0:53 Convert bool to float (temp 4-component vector of float)
+0:53 'b4' (temp 4-component vector of bool)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'f4' (temp 4-component vector of float)
+0:55 Convert bool to float (temp 4-component vector of float)
+0:55 Convert int to bool (temp 4-component vector of bool)
+0:55 'i_i4' (flat in 4-component vector of int)
+0:56 add second child into first child (temp 4-component vector of float)
+0:56 'f4' (temp 4-component vector of float)
+0:56 Convert bool to float (temp 4-component vector of float)
+0:56 Convert float to bool (temp 4-component vector of bool)
+0:56 'u_f4' (uniform 4-component vector of float)
+0:58 add second child into first child (temp float)
+0:58 'f' (temp float)
+0:58 subtract (temp float)
+0:58 'f' (temp float)
+0:58 Convert int to float (temp float)
+0:58 'i' (temp int)
+0:59 add second child into first child (temp 2-component vector of float)
+0:59 'f2' (temp 2-component vector of float)
+0:59 add (temp 2-component vector of float)
+0:59 Construct vec2 (temp 2-component vector of float)
+0:59 'f' (temp float)
+0:59 Convert int to float (temp float)
+0:59 'i' (temp int)
+0:59 Convert int to float (temp 2-component vector of float)
+0:59 'i2' (temp 2-component vector of int)
+0:60 add second child into first child (temp 3-component vector of float)
+0:60 'f3' (temp 3-component vector of float)
+0:60 add (temp 3-component vector of float)
+0:60 Convert int to float (temp 3-component vector of float)
+0:60 'i3' (temp 3-component vector of int)
+0:60 Construct vec3 (temp 3-component vector of float)
+0:60 'f' (temp float)
+0:60 Convert int to float (temp float)
+0:60 'i' (temp int)
+0:60 'f' (temp float)
+0:61 add second child into first child (temp 4-component vector of float)
+0:61 'f4' (temp 4-component vector of float)
+0:61 add (temp 4-component vector of float)
+0:61 Construct vec4 (temp 4-component vector of float)
+0:61 Convert bool to float (temp float)
+0:61 'b' (temp bool)
+0:61 Convert int to float (temp float)
+0:61 'i' (temp int)
+0:61 'f' (temp float)
+0:61 Convert int to float (temp float)
+0:61 'i' (temp int)
+0:61 Convert int to float (temp 4-component vector of float)
+0:61 'i4' (temp 4-component vector of int)
+0:63 add second child into first child (temp 2-component vector of float)
+0:63 'f2' (temp 2-component vector of float)
+0:63 vector-scale (temp 2-component vector of float)
+0:63 Construct vec2 (temp 2-component vector of float)
+0:63 'f' (temp float)
+0:63 Convert int to float (temp float)
+0:63 'i' (temp int)
+0:63 Convert int to float (temp float)
+0:63 'i' (temp int)
+0:64 add second child into first child (temp 3-component vector of float)
+0:64 'f3' (temp 3-component vector of float)
+0:64 add (temp 3-component vector of float)
+0:64 Construct vec3 (temp 3-component vector of float)
+0:64 'f' (temp float)
+0:64 Convert int to float (temp float)
+0:64 'i' (temp int)
+0:64 'f' (temp float)
+0:64 Convert int to float (temp float)
+0:64 'i' (temp int)
+0:65 add second child into first child (temp 4-component vector of float)
+0:65 'f4' (temp 4-component vector of float)
+0:65 subtract (temp 4-component vector of float)
+0:65 Convert int to float (temp float)
+0:65 'i' (temp int)
+0:65 Construct vec4 (temp 4-component vector of float)
+0:65 Convert bool to float (temp float)
+0:65 'b' (temp bool)
+0:65 Convert int to float (temp float)
+0:65 'i' (temp int)
+0:65 'f' (temp float)
+0:65 Convert int to float (temp float)
+0:65 'i' (temp int)
+0:67 add second child into first child (temp 2-component vector of int)
+0:67 'i2' (temp 2-component vector of int)
+0:67 Construct ivec2 (temp 2-component vector of int)
+0:67 Convert float to int (temp int)
+0:67 'f' (temp float)
+0:67 'i' (temp int)
+0:68 add second child into first child (temp 3-component vector of int)
+0:68 'i3' (temp 3-component vector of int)
+0:68 Construct ivec3 (temp 3-component vector of int)
+0:68 Convert float to int (temp int)
+0:68 'f' (temp float)
+0:68 'i' (temp int)
+0:68 Convert float to int (temp int)
+0:68 'f' (temp float)
+0:69 add second child into first child (temp 4-component vector of int)
+0:69 'i4' (temp 4-component vector of int)
+0:69 Construct ivec4 (temp 4-component vector of int)
+0:69 Convert bool to int (temp int)
+0:69 'b' (temp bool)
+0:69 'i' (temp int)
+0:69 Convert float to int (temp int)
+0:69 'f' (temp float)
+0:69 'i' (temp int)
+0:71 Test condition and select (temp void)
+0:71 Condition
+0:72 logical-or (temp bool)
+0:71 logical-or (temp bool)
+0:71 logical-or (temp bool)
+0:71 Compare Less Than (temp bool)
+0:71 'f' (temp float)
+0:71 Convert int to float (temp float)
+0:71 'i' (temp int)
+0:71 Compare Less Than (temp bool)
+0:71 Convert int to float (temp float)
+0:71 'i' (temp int)
+0:71 'f' (temp float)
+0:72 Compare Equal (temp bool)
+0:72 'f2' (temp 2-component vector of float)
+0:72 Convert int to float (temp 2-component vector of float)
+0:72 'i2' (temp 2-component vector of int)
+0:73 Compare Not Equal (temp bool)
+0:73 Convert int to float (temp 3-component vector of float)
+0:73 'i3' (temp 3-component vector of int)
+0:73 'f3' (temp 3-component vector of float)
+0:71 true case
+0:74 move second child to first child (temp float)
+0:74 'f' (temp float)
+0:74 add (temp float)
+0:74 Test condition and select (temp float)
+0:74 Condition
+0:74 'b' (temp bool)
+0:74 true case
+0:74 Convert int to float (temp float)
+0:74 'i' (temp int)
+0:74 false case
+0:74 direct index (temp float)
+0:74 'f2' (temp 2-component vector of float)
+0:74 Constant:
+0:74 0 (const int)
+0:74 Test condition and select (temp float)
+0:74 Condition
+0:74 direct index (temp bool)
+0:74 'b2' (temp 2-component vector of bool)
+0:74 Constant:
+0:74 0 (const int)
+0:74 true case
+0:74 direct index (temp float)
+0:74 'f3' (temp 3-component vector of float)
+0:74 Constant:
+0:74 0 (const int)
+0:74 false case
+0:74 Convert int to float (temp float)
+0:74 direct index (temp int)
+0:74 'i2' (temp 2-component vector of int)
+0:74 Constant:
+0:74 1 (const int)
+0:76 move second child to first child (temp 4-component vector of float)
+0:76 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:86 Test condition and select (temp 4-component vector of float)
+0:86 Condition
+0:85 logical-or (temp bool)
+0:84 logical-or (temp bool)
+0:83 logical-or (temp bool)
+0:82 logical-or (temp bool)
+0:81 logical-or (temp bool)
+0:80 logical-or (temp bool)
+0:79 logical-or (temp bool)
+0:78 logical-or (temp bool)
+0:77 logical-or (temp bool)
+0:77 'b' (temp bool)
+0:78 direct index (temp bool)
+0:78 'b2' (temp 2-component vector of bool)
+0:78 Constant:
+0:78 0 (const int)
+0:79 direct index (temp bool)
+0:79 'b2' (temp 2-component vector of bool)
+0:79 Constant:
+0:79 1 (const int)
+0:80 direct index (temp bool)
+0:80 'b3' (temp 3-component vector of bool)
+0:80 Constant:
+0:80 0 (const int)
+0:81 direct index (temp bool)
+0:81 'b3' (temp 3-component vector of bool)
+0:81 Constant:
+0:81 1 (const int)
+0:82 direct index (temp bool)
+0:82 'b3' (temp 3-component vector of bool)
+0:82 Constant:
+0:82 2 (const int)
+0:83 direct index (temp bool)
+0:83 'b4' (temp 4-component vector of bool)
+0:83 Constant:
+0:83 0 (const int)
+0:84 direct index (temp bool)
+0:84 'b4' (temp 4-component vector of bool)
+0:84 Constant:
+0:84 1 (const int)
+0:85 direct index (temp bool)
+0:85 'b4' (temp 4-component vector of bool)
+0:85 Constant:
+0:85 2 (const int)
+0:86 direct index (temp bool)
+0:86 'b4' (temp 4-component vector of bool)
+0:86 Constant:
+0:86 3 (const int)
+0:86 true case
+0:105 Construct vec4 (temp 4-component vector of float)
+0:105 add (temp float)
+0:104 add (temp float)
+0:103 add (temp float)
+0:102 add (temp float)
+0:101 add (temp float)
+0:100 add (temp float)
+0:99 add (temp float)
+0:98 add (temp float)
+0:97 add (temp float)
+0:96 add (temp float)
+0:95 Convert int to float (temp float)
+0:95 add (temp int)
+0:94 add (temp int)
+0:93 add (temp int)
+0:92 add (temp int)
+0:91 add (temp int)
+0:90 add (temp int)
+0:89 add (temp int)
+0:88 add (temp int)
+0:87 add (temp int)
+0:87 'i' (temp int)
+0:88 direct index (temp int)
+0:88 'i2' (temp 2-component vector of int)
+0:88 Constant:
+0:88 0 (const int)
+0:89 direct index (temp int)
+0:89 'i2' (temp 2-component vector of int)
+0:89 Constant:
+0:89 1 (const int)
+0:90 direct index (temp int)
+0:90 'i3' (temp 3-component vector of int)
+0:90 Constant:
+0:90 0 (const int)
+0:91 direct index (temp int)
+0:91 'i3' (temp 3-component vector of int)
+0:91 Constant:
+0:91 1 (const int)
+0:92 direct index (temp int)
+0:92 'i3' (temp 3-component vector of int)
+0:92 Constant:
+0:92 2 (const int)
+0:93 direct index (temp int)
+0:93 'i4' (temp 4-component vector of int)
+0:93 Constant:
+0:93 0 (const int)
+0:94 direct index (temp int)
+0:94 'i4' (temp 4-component vector of int)
+0:94 Constant:
+0:94 1 (const int)
+0:95 direct index (temp int)
+0:95 'i4' (temp 4-component vector of int)
+0:95 Constant:
+0:95 2 (const int)
+0:96 direct index (temp int)
+0:96 'i4' (temp 4-component vector of int)
+0:96 Constant:
+0:96 3 (const int)
+0:97 'f' (temp float)
+0:98 direct index (temp float)
+0:98 'f2' (temp 2-component vector of float)
+0:98 Constant:
+0:98 0 (const int)
+0:99 direct index (temp float)
+0:99 'f2' (temp 2-component vector of float)
+0:99 Constant:
+0:99 1 (const int)
+0:100 direct index (temp float)
+0:100 'f3' (temp 3-component vector of float)
+0:100 Constant:
+0:100 0 (const int)
+0:101 direct index (temp float)
+0:101 'f3' (temp 3-component vector of float)
+0:101 Constant:
+0:101 1 (const int)
+0:102 direct index (temp float)
+0:102 'f3' (temp 3-component vector of float)
+0:102 Constant:
+0:102 2 (const int)
+0:103 direct index (temp float)
+0:103 'f4' (temp 4-component vector of float)
+0:103 Constant:
+0:103 0 (const int)
+0:104 direct index (temp float)
+0:104 'f4' (temp 4-component vector of float)
+0:104 Constant:
+0:104 1 (const int)
+0:105 direct index (temp float)
+0:105 'f4' (temp 4-component vector of float)
+0:105 Constant:
+0:105 2 (const int)
+0:106 direct index (temp float)
+0:106 'f4' (temp 4-component vector of float)
+0:106 Constant:
+0:106 3 (const int)
+0:86 false case
+0:106 Constant:
+0:106 1.000000
+0:106 1.000000
+0:106 1.000000
+0:106 1.000000
+0:109 Sequence
+0:109 move second child to first child (temp 4-component vector of int)
+0:109 'cv2' (temp 4-component vector of int)
+0:109 Constant:
+0:109 1 (const int)
+0:109 1 (const int)
+0:109 1 (const int)
+0:109 1 (const int)
+0:110 Sequence
+0:110 move second child to first child (temp 4-component vector of bool)
+0:110 'cv5' (temp 4-component vector of bool)
+0:110 Convert int to bool (temp 4-component vector of bool)
+0:110 'cv2' (temp 4-component vector of int)
+0:111 add second child into first child (temp 4-component vector of float)
+0:111 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:111 Construct float (temp float)
+0:111 Convert bool to float (temp 4-component vector of float)
+0:111 'cv5' (temp 4-component vector of bool)
+0:? Linker Objects
+0:? 'u_b' (uniform bool)
+0:? 'u_b2' (uniform 2-component vector of bool)
+0:? 'u_b3' (uniform 3-component vector of bool)
+0:? 'u_b4' (uniform 4-component vector of bool)
+0:? 'u_i' (uniform int)
+0:? 'u_i2' (uniform 2-component vector of int)
+0:? 'u_i3' (uniform 3-component vector of int)
+0:? 'u_i4' (uniform 4-component vector of int)
+0:? 'u_f' (uniform float)
+0:? 'u_f2' (uniform 2-component vector of float)
+0:? 'u_f3' (uniform 3-component vector of float)
+0:? 'u_f4' (uniform 4-component vector of float)
+0:? 'i_b' (uniform bool)
+0:? 'i_b2' (uniform 2-component vector of bool)
+0:? 'i_b3' (uniform 3-component vector of bool)
+0:? 'i_b4' (uniform 4-component vector of bool)
+0:? 'i_i' (flat in int)
+0:? 'i_i2' (flat in 2-component vector of int)
+0:? 'i_i3' (flat in 3-component vector of int)
+0:? 'i_i4' (flat in 4-component vector of int)
+0:? 'i_f' (smooth in float)
+0:? 'i_f2' (smooth in 2-component vector of float)
+0:? 'i_f3' (smooth in 3-component vector of float)
+0:? 'i_f4' (smooth in 4-component vector of float)
+
diff --git a/Test/baseResults/cppComplexExpr.vert.out b/Test/baseResults/cppComplexExpr.vert.out
index 08dd936..aa73a06 100644
--- a/Test/baseResults/cppComplexExpr.vert.out
+++ b/Test/baseResults/cppComplexExpr.vert.out
@@ -1,200 +1,200 @@
-cppComplexExpr.vert
-ERROR: 0:46: 'xyxwx' : illegal vector field selection
-ERROR: 0:46: 'xyxwx' : illegal vector field selection
-ERROR: 0:66: '#define' : Macro redefined; different substitutions: BIG
-ERROR: 0:81: 'preprocessor evaluation' : bad expression
-ERROR: 0:81: '#if' : unexpected tokens following directive
-ERROR: 0:82: '#error' : good macro
-ERROR: 0:87: 'macro expansion' : End of line in macro substitution: foobar
-ERROR: 0:88: 'preprocessor evaluation' : can't evaluate expression
-ERROR: 0:88: 'preprocessor evaluation' : bad expression
-ERROR: 0:88: '#if' : unexpected tokens following directive
-ERROR: 0:92: 'macro expansion' : End of line in macro substitution: foobar
-ERROR: 0:93: 'preprocessor evaluation' : can't evaluate expression
-ERROR: 0:93: 'preprocessor evaluation' : bad expression
-ERROR: 0:93: '#if' : unexpected tokens following directive
-ERROR: 0:99: 'macro expansion' : End of line in macro substitution: foobar
-ERROR: 0:100: 'preprocessor evaluation' : can't evaluate expression
-ERROR: 0:100: 'preprocessor evaluation' : bad expression
-ERROR: 0:100: '#if' : unexpected tokens following directive
-ERROR: 0:101: 'macro expansion' : End of line in macro substitution: foobar
-ERROR: 0:102: 'preprocessor evaluation' : can't evaluate expression
-ERROR: 0:102: 'preprocessor evaluation' : bad expression
-ERROR: 0:102: '#if' : unexpected tokens following directive
-ERROR: 0:108: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF
-ERROR: 0:111: '#error' : good 0
-ERROR: 0:115: '#error' : good 1
-ERROR: 0:120: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF
-ERROR: 0:123: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF
-ERROR: 0:129: '#error' : good 1
-ERROR: 0:133: '#error' : good 3
-ERROR: 0:139: '#error' : good 4
-ERROR: 0:144: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF
-ERROR: 0:153: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF
-ERROR: 0:156: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF2
-ERROR: 0:159: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF2
-ERROR: 0:3000: '#error' : line of this error should be 3000
-ERROR: 0:3002: '#define' : predefined names can't be (un)defined: __LINE__
-ERROR: 0:3003: '#define' : predefined names can't be (un)defined: __FILE__
-ERROR: 0:3004: '#define' : predefined names can't be (un)defined: __VERSION__
-ERROR: 0:3005: '#define' : names beginning with "GL_" can't be (un)defined: GL_SOME_EXTENSION
-ERROR: 0:3006: '#undef' : predefined names can't be (un)defined: __LINE__
-ERROR: 0:3007: '#undef' : predefined names can't be (un)defined: __FILE__
-ERROR: 0:3008: '#undef' : predefined names can't be (un)defined: __VERSION__
-ERROR: 0:3009: '#undef' : names beginning with "GL_" can't be (un)defined: GL_SOME_EXTENSION
-ERROR: 0:4000: 'preprocessor evaluation' : division by 0
-ERROR: 0:0: 'preprocessor evaluation' : division by 0
-ERROR: 0:3: 'preprocessor evaluation' : bad expression
-ERROR: 0:3: 'preprocessor evaluation' : division by 0
-ERROR: 0:10001: '' : missing #endif
-ERROR: 48 compilation errors. No code generated.
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:4 Sequence
-0:4 move second child to first child (temp highp float)
-0:4 'sum' (global highp float)
-0:4 Constant:
-0:4 0.000000
-0:6 Function Definition: main( (global void)
-0:6 Function Parameters:
-0:10 Sequence
-0:10 add second child into first child (temp highp float)
-0:10 'sum' (global highp float)
-0:10 Constant:
-0:10 1.000000
-0:15 add second child into first child (temp highp float)
-0:15 'sum' (global highp float)
-0:15 Constant:
-0:15 20.000000
-0:30 add second child into first child (temp highp float)
-0:30 'sum' (global highp float)
-0:30 Constant:
-0:30 300.000000
-0:39 move second child to first child (temp highp 4-component vector of float)
-0:39 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:39 Construct vec4 (temp highp 4-component vector of float)
-0:39 'sum' (global highp float)
-0:44 Function Definition: foo( (global highp float)
-0:44 Function Parameters:
-0:46 Sequence
-0:46 Branch: Return with expression
-0:46 add (temp highp float)
-0:46 add (temp highp float)
-0:46 direct index (temp highp float)
-0:46 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:46 Constant:
-0:46 0 (const int)
-0:46 Constant:
-0:46 3.000000
-0:46 add (temp highp float)
-0:46 direct index (temp highp float)
-0:46 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:46 Constant:
-0:46 0 (const int)
-0:46 Constant:
-0:46 3.000000
-0:47 Branch: Return with expression
-0:47 add (temp highp float)
-0:47 add (temp highp float)
-0:47 direct index (temp highp float)
-0:47 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:47 Constant:
-0:47 1 (const int)
-0:47 Constant:
-0:47 3.000000
-0:47 add (temp highp float)
-0:47 direct index (temp highp float)
-0:47 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:47 Constant:
-0:47 1 (const int)
-0:47 Constant:
-0:47 3.000000
-0:97 Sequence
-0:97 move second child to first child (temp highp float)
-0:97 'c' (global highp float)
-0:98 Constant:
-0:98 3.300000
-0:? Linker Objects
-0:? 'sum' (global highp float)
-0:? 'c' (global highp float)
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:4 Sequence
-0:4 move second child to first child (temp highp float)
-0:4 'sum' (global highp float)
-0:4 Constant:
-0:4 0.000000
-0:6 Function Definition: main( (global void)
-0:6 Function Parameters:
-0:10 Sequence
-0:10 add second child into first child (temp highp float)
-0:10 'sum' (global highp float)
-0:10 Constant:
-0:10 1.000000
-0:15 add second child into first child (temp highp float)
-0:15 'sum' (global highp float)
-0:15 Constant:
-0:15 20.000000
-0:30 add second child into first child (temp highp float)
-0:30 'sum' (global highp float)
-0:30 Constant:
-0:30 300.000000
-0:39 move second child to first child (temp highp 4-component vector of float)
-0:39 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:39 Construct vec4 (temp highp 4-component vector of float)
-0:39 'sum' (global highp float)
-0:44 Function Definition: foo( (global highp float)
-0:44 Function Parameters:
-0:46 Sequence
-0:46 Branch: Return with expression
-0:46 add (temp highp float)
-0:46 add (temp highp float)
-0:46 direct index (temp highp float)
-0:46 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:46 Constant:
-0:46 0 (const int)
-0:46 Constant:
-0:46 3.000000
-0:46 add (temp highp float)
-0:46 direct index (temp highp float)
-0:46 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:46 Constant:
-0:46 0 (const int)
-0:46 Constant:
-0:46 3.000000
-0:47 Branch: Return with expression
-0:47 add (temp highp float)
-0:47 add (temp highp float)
-0:47 direct index (temp highp float)
-0:47 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:47 Constant:
-0:47 1 (const int)
-0:47 Constant:
-0:47 3.000000
-0:47 add (temp highp float)
-0:47 direct index (temp highp float)
-0:47 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:47 Constant:
-0:47 1 (const int)
-0:47 Constant:
-0:47 3.000000
-0:97 Sequence
-0:97 move second child to first child (temp highp float)
-0:97 'c' (global highp float)
-0:98 Constant:
-0:98 3.300000
-0:? Linker Objects
-0:? 'sum' (global highp float)
-0:? 'c' (global highp float)
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
+cppComplexExpr.vert
+ERROR: 0:46: 'xyxwx' : illegal vector field selection
+ERROR: 0:46: 'xyxwx' : illegal vector field selection
+ERROR: 0:66: '#define' : Macro redefined; different substitutions: BIG
+ERROR: 0:81: 'preprocessor evaluation' : bad expression
+ERROR: 0:81: '#if' : unexpected tokens following directive
+ERROR: 0:82: '#error' : good macro
+ERROR: 0:87: 'macro expansion' : End of line in macro substitution: foobar
+ERROR: 0:88: 'preprocessor evaluation' : can't evaluate expression
+ERROR: 0:88: 'preprocessor evaluation' : bad expression
+ERROR: 0:88: '#if' : unexpected tokens following directive
+ERROR: 0:92: 'macro expansion' : End of line in macro substitution: foobar
+ERROR: 0:93: 'preprocessor evaluation' : can't evaluate expression
+ERROR: 0:93: 'preprocessor evaluation' : bad expression
+ERROR: 0:93: '#if' : unexpected tokens following directive
+ERROR: 0:99: 'macro expansion' : End of line in macro substitution: foobar
+ERROR: 0:100: 'preprocessor evaluation' : can't evaluate expression
+ERROR: 0:100: 'preprocessor evaluation' : bad expression
+ERROR: 0:100: '#if' : unexpected tokens following directive
+ERROR: 0:101: 'macro expansion' : End of line in macro substitution: foobar
+ERROR: 0:102: 'preprocessor evaluation' : can't evaluate expression
+ERROR: 0:102: 'preprocessor evaluation' : bad expression
+ERROR: 0:102: '#if' : unexpected tokens following directive
+ERROR: 0:108: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF
+ERROR: 0:111: '#error' : good 0
+ERROR: 0:115: '#error' : good 1
+ERROR: 0:120: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF
+ERROR: 0:123: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF
+ERROR: 0:129: '#error' : good 1
+ERROR: 0:133: '#error' : good 3
+ERROR: 0:139: '#error' : good 4
+ERROR: 0:144: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF
+ERROR: 0:153: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF
+ERROR: 0:156: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF2
+ERROR: 0:159: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF2
+ERROR: 0:3000: '#error' : line of this error should be 3000
+ERROR: 0:3002: '#define' : predefined names can't be (un)defined: __LINE__
+ERROR: 0:3003: '#define' : predefined names can't be (un)defined: __FILE__
+ERROR: 0:3004: '#define' : predefined names can't be (un)defined: __VERSION__
+ERROR: 0:3005: '#define' : names beginning with "GL_" can't be (un)defined: GL_SOME_EXTENSION
+ERROR: 0:3006: '#undef' : predefined names can't be (un)defined: __LINE__
+ERROR: 0:3007: '#undef' : predefined names can't be (un)defined: __FILE__
+ERROR: 0:3008: '#undef' : predefined names can't be (un)defined: __VERSION__
+ERROR: 0:3009: '#undef' : names beginning with "GL_" can't be (un)defined: GL_SOME_EXTENSION
+ERROR: 0:4000: 'preprocessor evaluation' : division by 0
+ERROR: 0:0: 'preprocessor evaluation' : division by 0
+ERROR: 0:3: 'preprocessor evaluation' : bad expression
+ERROR: 0:3: 'preprocessor evaluation' : division by 0
+ERROR: 0:10001: '' : missing #endif
+ERROR: 48 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:4 Sequence
+0:4 move second child to first child (temp highp float)
+0:4 'sum' (global highp float)
+0:4 Constant:
+0:4 0.000000
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:10 Sequence
+0:10 add second child into first child (temp highp float)
+0:10 'sum' (global highp float)
+0:10 Constant:
+0:10 1.000000
+0:15 add second child into first child (temp highp float)
+0:15 'sum' (global highp float)
+0:15 Constant:
+0:15 20.000000
+0:30 add second child into first child (temp highp float)
+0:30 'sum' (global highp float)
+0:30 Constant:
+0:30 300.000000
+0:39 move second child to first child (temp highp 4-component vector of float)
+0:39 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:39 Construct vec4 (temp highp 4-component vector of float)
+0:39 'sum' (global highp float)
+0:44 Function Definition: foo( (global highp float)
+0:44 Function Parameters:
+0:46 Sequence
+0:46 Branch: Return with expression
+0:46 add (temp highp float)
+0:46 add (temp highp float)
+0:46 direct index (temp highp float)
+0:46 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 3.000000
+0:46 add (temp highp float)
+0:46 direct index (temp highp float)
+0:46 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 3.000000
+0:47 Branch: Return with expression
+0:47 add (temp highp float)
+0:47 add (temp highp float)
+0:47 direct index (temp highp float)
+0:47 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:47 Constant:
+0:47 1 (const int)
+0:47 Constant:
+0:47 3.000000
+0:47 add (temp highp float)
+0:47 direct index (temp highp float)
+0:47 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:47 Constant:
+0:47 1 (const int)
+0:47 Constant:
+0:47 3.000000
+0:97 Sequence
+0:97 move second child to first child (temp highp float)
+0:97 'c' (global highp float)
+0:98 Constant:
+0:98 3.300000
+0:? Linker Objects
+0:? 'sum' (global highp float)
+0:? 'c' (global highp float)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:4 Sequence
+0:4 move second child to first child (temp highp float)
+0:4 'sum' (global highp float)
+0:4 Constant:
+0:4 0.000000
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:10 Sequence
+0:10 add second child into first child (temp highp float)
+0:10 'sum' (global highp float)
+0:10 Constant:
+0:10 1.000000
+0:15 add second child into first child (temp highp float)
+0:15 'sum' (global highp float)
+0:15 Constant:
+0:15 20.000000
+0:30 add second child into first child (temp highp float)
+0:30 'sum' (global highp float)
+0:30 Constant:
+0:30 300.000000
+0:39 move second child to first child (temp highp 4-component vector of float)
+0:39 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:39 Construct vec4 (temp highp 4-component vector of float)
+0:39 'sum' (global highp float)
+0:44 Function Definition: foo( (global highp float)
+0:44 Function Parameters:
+0:46 Sequence
+0:46 Branch: Return with expression
+0:46 add (temp highp float)
+0:46 add (temp highp float)
+0:46 direct index (temp highp float)
+0:46 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 3.000000
+0:46 add (temp highp float)
+0:46 direct index (temp highp float)
+0:46 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 3.000000
+0:47 Branch: Return with expression
+0:47 add (temp highp float)
+0:47 add (temp highp float)
+0:47 direct index (temp highp float)
+0:47 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:47 Constant:
+0:47 1 (const int)
+0:47 Constant:
+0:47 3.000000
+0:47 add (temp highp float)
+0:47 direct index (temp highp float)
+0:47 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:47 Constant:
+0:47 1 (const int)
+0:47 Constant:
+0:47 3.000000
+0:97 Sequence
+0:97 move second child to first child (temp highp float)
+0:97 'c' (global highp float)
+0:98 Constant:
+0:98 3.300000
+0:? Linker Objects
+0:? 'sum' (global highp float)
+0:? 'c' (global highp float)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/Test/baseResults/cppIndent.vert.out b/Test/baseResults/cppIndent.vert.out
index a4a21f9..318ca81 100644
--- a/Test/baseResults/cppIndent.vert.out
+++ b/Test/baseResults/cppIndent.vert.out
@@ -1,84 +1,84 @@
-cppIndent.vert
-ERROR: 0:61: 'macro expansion' : Too few args in Macro FUNC
-ERROR: 0:61: '' : syntax error
-ERROR: 2 compilation errors. No code generated.
-
-
-Shader version: 110
-ERROR: node is still EOpNull!
-0:5 Sequence
-0:5 move second child to first child (temp float)
-0:5 'sum' (global float)
-0:5 Constant:
-0:5 0.000000
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:12 Sequence
-0:12 add second child into first child (temp float)
-0:12 'sum' (global float)
-0:12 Constant:
-0:12 1.000000
-0:22 add second child into first child (temp float)
-0:22 'sum' (global float)
-0:22 Constant:
-0:22 300.000000
-0:37 add second child into first child (temp float)
-0:37 'sum' (global float)
-0:37 Constant:
-0:37 600000.000000
-0:47 add second child into first child (temp float)
-0:47 'sum' (global float)
-0:47 Constant:
-0:47 80000000.000000
-0:52 add second child into first child (temp float)
-0:52 'sum' (global float)
-0:52 Constant:
-0:52 900000000.000000
-0:56 move second child to first child (temp 4-component vector of float)
-0:56 'gl_Position' (gl_Position 4-component vector of float Position)
-0:56 Construct vec4 (temp 4-component vector of float)
-0:56 'sum' (global float)
-0:? Linker Objects
-0:? 'sum' (global float)
-
-
-Linked vertex stage:
-
-
-Shader version: 110
-ERROR: node is still EOpNull!
-0:5 Sequence
-0:5 move second child to first child (temp float)
-0:5 'sum' (global float)
-0:5 Constant:
-0:5 0.000000
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:12 Sequence
-0:12 add second child into first child (temp float)
-0:12 'sum' (global float)
-0:12 Constant:
-0:12 1.000000
-0:22 add second child into first child (temp float)
-0:22 'sum' (global float)
-0:22 Constant:
-0:22 300.000000
-0:37 add second child into first child (temp float)
-0:37 'sum' (global float)
-0:37 Constant:
-0:37 600000.000000
-0:47 add second child into first child (temp float)
-0:47 'sum' (global float)
-0:47 Constant:
-0:47 80000000.000000
-0:52 add second child into first child (temp float)
-0:52 'sum' (global float)
-0:52 Constant:
-0:52 900000000.000000
-0:56 move second child to first child (temp 4-component vector of float)
-0:56 'gl_Position' (gl_Position 4-component vector of float Position)
-0:56 Construct vec4 (temp 4-component vector of float)
-0:56 'sum' (global float)
-0:? Linker Objects
-0:? 'sum' (global float)
-
+cppIndent.vert
+ERROR: 0:61: 'macro expansion' : Too few args in Macro FUNC
+ERROR: 0:61: '' : syntax error
+ERROR: 2 compilation errors. No code generated.
+
+
+Shader version: 110
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp float)
+0:5 'sum' (global float)
+0:5 Constant:
+0:5 0.000000
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:12 Sequence
+0:12 add second child into first child (temp float)
+0:12 'sum' (global float)
+0:12 Constant:
+0:12 1.000000
+0:22 add second child into first child (temp float)
+0:22 'sum' (global float)
+0:22 Constant:
+0:22 300.000000
+0:37 add second child into first child (temp float)
+0:37 'sum' (global float)
+0:37 Constant:
+0:37 600000.000000
+0:47 add second child into first child (temp float)
+0:47 'sum' (global float)
+0:47 Constant:
+0:47 80000000.000000
+0:52 add second child into first child (temp float)
+0:52 'sum' (global float)
+0:52 Constant:
+0:52 900000000.000000
+0:56 move second child to first child (temp 4-component vector of float)
+0:56 'gl_Position' (gl_Position 4-component vector of float Position)
+0:56 Construct vec4 (temp 4-component vector of float)
+0:56 'sum' (global float)
+0:? Linker Objects
+0:? 'sum' (global float)
+
+
+Linked vertex stage:
+
+
+Shader version: 110
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp float)
+0:5 'sum' (global float)
+0:5 Constant:
+0:5 0.000000
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:12 Sequence
+0:12 add second child into first child (temp float)
+0:12 'sum' (global float)
+0:12 Constant:
+0:12 1.000000
+0:22 add second child into first child (temp float)
+0:22 'sum' (global float)
+0:22 Constant:
+0:22 300.000000
+0:37 add second child into first child (temp float)
+0:37 'sum' (global float)
+0:37 Constant:
+0:37 600000.000000
+0:47 add second child into first child (temp float)
+0:47 'sum' (global float)
+0:47 Constant:
+0:47 80000000.000000
+0:52 add second child into first child (temp float)
+0:52 'sum' (global float)
+0:52 Constant:
+0:52 900000000.000000
+0:56 move second child to first child (temp 4-component vector of float)
+0:56 'gl_Position' (gl_Position 4-component vector of float Position)
+0:56 Construct vec4 (temp 4-component vector of float)
+0:56 'sum' (global float)
+0:? Linker Objects
+0:? 'sum' (global float)
+
diff --git a/Test/baseResults/cppNest.vert.out b/Test/baseResults/cppNest.vert.out
index f9534e4..4f95f5a 100644
--- a/Test/baseResults/cppNest.vert.out
+++ b/Test/baseResults/cppNest.vert.out
@@ -1,154 +1,154 @@
-cppNest.vert
-ERROR: 0:144: '#elif' : #elif after #else
-ERROR: 0:152: '#else' : #else after #else
-ERROR: 0:161: '#elif' : #elif after #else
-ERROR: 0:169: '#else' : #else after #else
-ERROR: 0:177: 'macro expansion' : End of input in macro FUNC
-ERROR: 0:178: '' : syntax error
-ERROR: 6 compilation errors. No code generated.
-
-
-Shader version: 110
-ERROR: node is still EOpNull!
-0:5 Sequence
-0:5 move second child to first child (temp float)
-0:5 'sum' (global float)
-0:5 Constant:
-0:5 0.000000
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:12 Sequence
-0:12 add second child into first child (temp float)
-0:12 'sum' (global float)
-0:12 Constant:
-0:12 1.000000
-0:21 add second child into first child (temp float)
-0:21 'sum' (global float)
-0:21 Constant:
-0:21 300.000000
-0:61 add second child into first child (temp float)
-0:61 'sum' (global float)
-0:61 Constant:
-0:61 600000.000000
-0:65 add second child into first child (temp float)
-0:65 'sum' (global float)
-0:65 Constant:
-0:65 80000000.000000
-0:69 add second child into first child (temp float)
-0:69 'sum' (global float)
-0:69 Constant:
-0:69 900000000.000000
-0:76 add second child into first child (temp float)
-0:76 'sum' (global float)
-0:76 Constant:
-0:76 7000000.000000
-0:86 move second child to first child (temp 4-component vector of float)
-0:86 'gl_Position' (gl_Position 4-component vector of float Position)
-0:86 Construct vec4 (temp 4-component vector of float)
-0:86 'sum' (global float)
-0:103 Sequence
-0:103 move second child to first child (temp int)
-0:103 'selected4' (global int)
-0:103 Constant:
-0:103 4 (const int)
-0:115 Sequence
-0:115 move second child to first child (temp int)
-0:115 'selected2' (global int)
-0:115 Constant:
-0:115 2 (const int)
-0:133 Sequence
-0:133 move second child to first child (temp int)
-0:133 'selected3' (global int)
-0:133 Constant:
-0:133 3 (const int)
-0:175 Function Definition: foo985( (global void)
-0:175 Function Parameters:
-0:175 Sequence
-0:175 add (temp int)
-0:175 Constant:
-0:175 2 (const int)
-0:175 Comma (temp int)
-0:175 Constant:
-0:175 3 (const int)
-0:175 Constant:
-0:175 4 (const int)
-0:? Linker Objects
-0:? 'sum' (global float)
-0:? 'selected4' (global int)
-0:? 'selected2' (global int)
-0:? 'selected3' (global int)
-
-
-Linked vertex stage:
-
-
-Shader version: 110
-ERROR: node is still EOpNull!
-0:5 Sequence
-0:5 move second child to first child (temp float)
-0:5 'sum' (global float)
-0:5 Constant:
-0:5 0.000000
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:12 Sequence
-0:12 add second child into first child (temp float)
-0:12 'sum' (global float)
-0:12 Constant:
-0:12 1.000000
-0:21 add second child into first child (temp float)
-0:21 'sum' (global float)
-0:21 Constant:
-0:21 300.000000
-0:61 add second child into first child (temp float)
-0:61 'sum' (global float)
-0:61 Constant:
-0:61 600000.000000
-0:65 add second child into first child (temp float)
-0:65 'sum' (global float)
-0:65 Constant:
-0:65 80000000.000000
-0:69 add second child into first child (temp float)
-0:69 'sum' (global float)
-0:69 Constant:
-0:69 900000000.000000
-0:76 add second child into first child (temp float)
-0:76 'sum' (global float)
-0:76 Constant:
-0:76 7000000.000000
-0:86 move second child to first child (temp 4-component vector of float)
-0:86 'gl_Position' (gl_Position 4-component vector of float Position)
-0:86 Construct vec4 (temp 4-component vector of float)
-0:86 'sum' (global float)
-0:103 Sequence
-0:103 move second child to first child (temp int)
-0:103 'selected4' (global int)
-0:103 Constant:
-0:103 4 (const int)
-0:115 Sequence
-0:115 move second child to first child (temp int)
-0:115 'selected2' (global int)
-0:115 Constant:
-0:115 2 (const int)
-0:133 Sequence
-0:133 move second child to first child (temp int)
-0:133 'selected3' (global int)
-0:133 Constant:
-0:133 3 (const int)
-0:175 Function Definition: foo985( (global void)
-0:175 Function Parameters:
-0:175 Sequence
-0:175 add (temp int)
-0:175 Constant:
-0:175 2 (const int)
-0:175 Comma (temp int)
-0:175 Constant:
-0:175 3 (const int)
-0:175 Constant:
-0:175 4 (const int)
-0:? Linker Objects
-0:? 'sum' (global float)
-0:? 'selected4' (global int)
-0:? 'selected2' (global int)
-0:? 'selected3' (global int)
-
+cppNest.vert
+ERROR: 0:144: '#elif' : #elif after #else
+ERROR: 0:152: '#else' : #else after #else
+ERROR: 0:161: '#elif' : #elif after #else
+ERROR: 0:169: '#else' : #else after #else
+ERROR: 0:177: 'macro expansion' : End of input in macro FUNC
+ERROR: 0:178: '' : syntax error
+ERROR: 6 compilation errors. No code generated.
+
+
+Shader version: 110
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp float)
+0:5 'sum' (global float)
+0:5 Constant:
+0:5 0.000000
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:12 Sequence
+0:12 add second child into first child (temp float)
+0:12 'sum' (global float)
+0:12 Constant:
+0:12 1.000000
+0:21 add second child into first child (temp float)
+0:21 'sum' (global float)
+0:21 Constant:
+0:21 300.000000
+0:61 add second child into first child (temp float)
+0:61 'sum' (global float)
+0:61 Constant:
+0:61 600000.000000
+0:65 add second child into first child (temp float)
+0:65 'sum' (global float)
+0:65 Constant:
+0:65 80000000.000000
+0:69 add second child into first child (temp float)
+0:69 'sum' (global float)
+0:69 Constant:
+0:69 900000000.000000
+0:76 add second child into first child (temp float)
+0:76 'sum' (global float)
+0:76 Constant:
+0:76 7000000.000000
+0:86 move second child to first child (temp 4-component vector of float)
+0:86 'gl_Position' (gl_Position 4-component vector of float Position)
+0:86 Construct vec4 (temp 4-component vector of float)
+0:86 'sum' (global float)
+0:103 Sequence
+0:103 move second child to first child (temp int)
+0:103 'selected4' (global int)
+0:103 Constant:
+0:103 4 (const int)
+0:115 Sequence
+0:115 move second child to first child (temp int)
+0:115 'selected2' (global int)
+0:115 Constant:
+0:115 2 (const int)
+0:133 Sequence
+0:133 move second child to first child (temp int)
+0:133 'selected3' (global int)
+0:133 Constant:
+0:133 3 (const int)
+0:175 Function Definition: foo985( (global void)
+0:175 Function Parameters:
+0:175 Sequence
+0:175 add (temp int)
+0:175 Constant:
+0:175 2 (const int)
+0:175 Comma (temp int)
+0:175 Constant:
+0:175 3 (const int)
+0:175 Constant:
+0:175 4 (const int)
+0:? Linker Objects
+0:? 'sum' (global float)
+0:? 'selected4' (global int)
+0:? 'selected2' (global int)
+0:? 'selected3' (global int)
+
+
+Linked vertex stage:
+
+
+Shader version: 110
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp float)
+0:5 'sum' (global float)
+0:5 Constant:
+0:5 0.000000
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:12 Sequence
+0:12 add second child into first child (temp float)
+0:12 'sum' (global float)
+0:12 Constant:
+0:12 1.000000
+0:21 add second child into first child (temp float)
+0:21 'sum' (global float)
+0:21 Constant:
+0:21 300.000000
+0:61 add second child into first child (temp float)
+0:61 'sum' (global float)
+0:61 Constant:
+0:61 600000.000000
+0:65 add second child into first child (temp float)
+0:65 'sum' (global float)
+0:65 Constant:
+0:65 80000000.000000
+0:69 add second child into first child (temp float)
+0:69 'sum' (global float)
+0:69 Constant:
+0:69 900000000.000000
+0:76 add second child into first child (temp float)
+0:76 'sum' (global float)
+0:76 Constant:
+0:76 7000000.000000
+0:86 move second child to first child (temp 4-component vector of float)
+0:86 'gl_Position' (gl_Position 4-component vector of float Position)
+0:86 Construct vec4 (temp 4-component vector of float)
+0:86 'sum' (global float)
+0:103 Sequence
+0:103 move second child to first child (temp int)
+0:103 'selected4' (global int)
+0:103 Constant:
+0:103 4 (const int)
+0:115 Sequence
+0:115 move second child to first child (temp int)
+0:115 'selected2' (global int)
+0:115 Constant:
+0:115 2 (const int)
+0:133 Sequence
+0:133 move second child to first child (temp int)
+0:133 'selected3' (global int)
+0:133 Constant:
+0:133 3 (const int)
+0:175 Function Definition: foo985( (global void)
+0:175 Function Parameters:
+0:175 Sequence
+0:175 add (temp int)
+0:175 Constant:
+0:175 2 (const int)
+0:175 Comma (temp int)
+0:175 Constant:
+0:175 3 (const int)
+0:175 Constant:
+0:175 4 (const int)
+0:? Linker Objects
+0:? 'sum' (global float)
+0:? 'selected4' (global int)
+0:? 'selected2' (global int)
+0:? 'selected3' (global int)
+
diff --git a/Test/baseResults/cppSimple.vert.out b/Test/baseResults/cppSimple.vert.out
index a8cd543..366770d 100644
--- a/Test/baseResults/cppSimple.vert.out
+++ b/Test/baseResults/cppSimple.vert.out
@@ -1,317 +1,317 @@
-cppSimple.vert
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:77: '#error' : good1
-ERROR: 0:81: '#error' : good2
-ERROR: 0:85: '#error' : good3
-ERROR: 0:89: '#error' : good4
-ERROR: 0:93: '#error' : good5
-ERROR: 0:97: '#error' : good6
-ERROR: 0:100: 'preprocessor evaluation' : expected ')'
-ERROR: 0:101: '#error' : bad1
-ERROR: 0:104: '#if' : unexpected tokens following directive
-ERROR: 0:105: '#error' : bad2
-ERROR: 0:108: 'preprocessor evaluation' : expected ')'
-ERROR: 0:109: '#error' : bad3
-ERROR: 0:112: '#if' : unexpected tokens following directive
-ERROR: 0:113: '#error' : bad4
-ERROR: 0:116: 'preprocessor evaluation' : expected ')'
-ERROR: 0:117: '#error' : bad5
-ERROR: 0:120: '#if' : unexpected tokens following directive
-ERROR: 0:121: '#error' : bad6
-ERROR: 0:122: '#endif' : unexpected tokens following directive
-ERROR: 0:135: '""' : string literals not supported
-ERROR: 0:136: '""' : string literals not supported
-ERROR: 0:136: 'length' : no matching overloaded function found
-ERROR: 0:136: '=' : cannot convert from 'const float' to 'global int'
-ERROR: 0:138: ''' : character literals not supported
-ERROR: 0:138: ''' : character literals not supported
-ERROR: 0:141: '#define' : names beginning with "GL_" can't be (un)defined: GL_
-ERROR: 0:142: '#define' : names beginning with "GL_" can't be (un)defined: GL_Macro
-WARNING: 0:143: '#define' : names containing consecutive underscores are reserved: __M
-WARNING: 0:144: '#define' : names containing consecutive underscores are reserved: M__
-WARNING: 0:145: '#define' : names containing consecutive underscores are reserved: ABC__DE
-ERROR: 0:148: '#else' : unexpected tokens following directive
-ERROR: 0:149: '#elif' : #elif after #else
-ERROR: 0:155: '#else' : unexpected tokens following directive
-ERROR: 0:158: '#else' : #else after #else
-ERROR: 0:160: '#endif' : unexpected tokens following directive
-ERROR: 0:164: '#define' : duplicate macro parameter
-ERROR: 0:173: '#define' : Macro redefined; different number of arguments: m4
-ERROR: 0:178: '#define' : Macro redefined; different number of arguments: m5
-ERROR: 0:182: '#define' : Macro redefined; different number of arguments: m6
-ERROR: 0:185: '#define' : Macro redefined; different substitutions: m7
-ERROR: 0:192: '#define' : Macro redefined; different substitutions: m8
-ERROR: 0:196: '#define' : Macro redefined; different argument names: m9
-WARNING: 0:204: '#undef' : names containing consecutive underscores are reserved: __VERSION__
-ERROR: 0:205: '#undef' : names beginning with "GL_" can't be (un)defined: GL_ARB_texture_rectangle
-ERROR: 0:210: '#' : invalid directive
-ERROR: 0:211: '#' : invalid directive
-ERROR: 0:212: '#' : invalid directive
-ERROR: 0:213: '#' : invalid directive
-ERROR: 0:214: '#' : invalid directive
-ERROR: 0:215: '#' : invalid directive
-ERROR: 0:224: '#pragma' : optimize pragma syntax is incorrect
-ERROR: 0:225: '#pragma' : optimize pragma syntax is incorrect
-ERROR: 0:226: '#pragma' : debug pragma syntax is incorrect
-ERROR: 0:227: '#pragma' : debug pragma syntax is incorrect
-ERROR: 0:229: '#pragma' : optimize pragma syntax is incorrect
-ERROR: 0:230: '#pragma' : debug pragma syntax is incorrect
-ERROR: 0:233: 'line continuation' : not supported for this version or the enabled extensions
-ERROR: 0:235: 'line continuation' : not supported for this version or the enabled extensions
-ERROR: 0:236: '#error' : good continuation
-ERROR: 0:238: '#' : invalid directive: flizbit
-ERROR: 0:242: '#' : invalid directive: directive
-ERROR: 0:12000: '#error' : line should be 12000
-ERROR: 7:13000: '#error' : line should be 13000 , string 7
-ERROR: 7:14013: '#error' : line should be 14013 , string 7
-ERROR: 12:14013: '#error' : line should be 14013 , string 12
-ERROR: 12:14025: '#error' : line should be 14025 , string 12
-ERROR: 12:1233: '#line' : unexpected tokens following directive
-ERROR: 12:1236: '#line' : unexpected tokens following directive
-ERROR: 12:20000: '#error' : line should be 20000
-ERROR: 12:20010: '#error' : line should be 20010
-ERROR: 12:20020: '#error' : line should be 20020
-ERROR: 12:20045: '#define' : Macro redefined; different substitutions: SPACE_IN_MIDDLE
-ERROR: 12:20051: '#error' : good evaluation 1
-ERROR: 12:20055: '#error' : good evaluation 2
-ERROR: 12:9000: 'preprocessor evaluation' : expected ')'
-ERROR: 12:9002: '#if' : unexpected tokens following directive
-ERROR: 12:9014: 'macro expansion' : expected '(' following FOOOM
-ERROR: 12:9014: 'FOOOM' : undeclared identifier
-ERROR: 12:9014: '=' : cannot convert from 'temp float' to 'global int'
-ERROR: 12:9015: 'macro expansion' : expected '(' following FOOOM
-ERROR: 12:9016: 'preprocessor evaluation' : can't evaluate expression
-ERROR: 12:9016: 'preprocessor evaluation' : bad expression
-ERROR: 12:9500: 'preprocessor evaluation' : bad expression
-ERROR: 12:9500: '#if' : unexpected tokens following directive
-ERROR: 12:9502: 'preprocessor evaluation' : bad expression
-ERROR: 12:9502: '#if' : unexpected tokens following directive
-ERROR: 12:9504: 'preprocessor evaluation' : bad expression
-ERROR: 12:9504: '#if' : unexpected tokens following directive
-ERROR: 12:9506: '#error' : \ 377
-ERROR: 12:9507: '#error' : \ 376
-ERROR: 12:9508: '#error' : \ 377
-ERROR: 12:10002: '' : missing #endif
-ERROR: 88 compilation errors. No code generated.
-
-
-Shader version: 400
-ERROR: node is still EOpNull!
-0:5 Sequence
-0:5 move second child to first child (temp float)
-0:5 'sum' (global float)
-0:5 Constant:
-0:5 0.000000
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:12 Sequence
-0:12 add second child into first child (temp float)
-0:12 'sum' (global float)
-0:12 Constant:
-0:12 1.000000
-0:22 add second child into first child (temp float)
-0:22 'sum' (global float)
-0:22 Constant:
-0:22 300.000000
-0:37 add second child into first child (temp float)
-0:37 'sum' (global float)
-0:37 Constant:
-0:37 600000.000000
-0:48 add second child into first child (temp float)
-0:48 'sum' (global float)
-0:48 Constant:
-0:48 7000000.000000
-0:53 add second child into first child (temp float)
-0:53 'sum' (global float)
-0:53 Constant:
-0:53 80000000.000000
-0:58 add second child into first child (temp float)
-0:58 'sum' (global float)
-0:58 Constant:
-0:58 900000000.000000
-0:65 add second child into first child (temp float)
-0:65 'sum' (global float)
-0:65 Constant:
-0:65 0.050000
-0:69 move second child to first child (temp 4-component vector of float)
-0:69 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
-0:69 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:69 Constant:
-0:69 0 (const uint)
-0:69 Construct vec4 (temp 4-component vector of float)
-0:69 'sum' (global float)
-0:124 Sequence
-0:124 move second child to first child (temp int)
-0:124 'linenumber' (global int)
-0:124 Constant:
-0:124 124 (const int)
-0:125 Sequence
-0:125 move second child to first child (temp int)
-0:125 'filenumber' (global int)
-0:125 Constant:
-0:125 0 (const int)
-0:126 Sequence
-0:126 move second child to first child (temp int)
-0:126 'version' (global int)
-0:126 Constant:
-0:126 400 (const int)
-0:130 Sequence
-0:130 move second child to first child (temp float)
-0:130 'twoPi' (global float)
-0:130 Constant:
-0:130 6.280000
-0:199 Sequence
-0:199 move second child to first child (temp int)
-0:199 'n' (global int)
-0:199 Constant:
-0:199 15 (const int)
-0:202 Sequence
-0:202 move second child to first child (temp double)
-0:202 'f' (global double)
-0:202 Constant:
-0:202 0.000800
-12:20031 Function Definition: foo234( (global void)
-12:20031 Function Parameters:
-12:20033 Sequence
-12:20033 move second child to first child (temp 4-component vector of float)
-12:20033 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
-12:20033 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-12:20033 Constant:
-12:20033 0 (const uint)
-12:20033 Constant:
-12:20033 6.000000
-12:20033 6.000000
-12:20033 6.000000
-12:20033 6.000000
-12:9011 Sequence
-12:9011 move second child to first child (temp int)
-12:9011 'R1' (global int)
-12:9011 'RECURSE' (global int)
-0:? Linker Objects
-0:? 'sum' (global float)
-0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:? 'linenumber' (global int)
-0:? 'filenumber' (global int)
-0:? 'version' (global int)
-0:? 'twoPi' (global float)
-0:? 'a' (global int)
-0:? 'n' (global int)
-0:? 'f' (global double)
-0:? 'RECURSE' (global int)
-0:? 'R1' (global int)
-0:? 'aoeua' (global int)
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 400
-ERROR: node is still EOpNull!
-0:5 Sequence
-0:5 move second child to first child (temp float)
-0:5 'sum' (global float)
-0:5 Constant:
-0:5 0.000000
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:12 Sequence
-0:12 add second child into first child (temp float)
-0:12 'sum' (global float)
-0:12 Constant:
-0:12 1.000000
-0:22 add second child into first child (temp float)
-0:22 'sum' (global float)
-0:22 Constant:
-0:22 300.000000
-0:37 add second child into first child (temp float)
-0:37 'sum' (global float)
-0:37 Constant:
-0:37 600000.000000
-0:48 add second child into first child (temp float)
-0:48 'sum' (global float)
-0:48 Constant:
-0:48 7000000.000000
-0:53 add second child into first child (temp float)
-0:53 'sum' (global float)
-0:53 Constant:
-0:53 80000000.000000
-0:58 add second child into first child (temp float)
-0:58 'sum' (global float)
-0:58 Constant:
-0:58 900000000.000000
-0:65 add second child into first child (temp float)
-0:65 'sum' (global float)
-0:65 Constant:
-0:65 0.050000
-0:69 move second child to first child (temp 4-component vector of float)
-0:69 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
-0:69 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:69 Constant:
-0:69 0 (const uint)
-0:69 Construct vec4 (temp 4-component vector of float)
-0:69 'sum' (global float)
-0:124 Sequence
-0:124 move second child to first child (temp int)
-0:124 'linenumber' (global int)
-0:124 Constant:
-0:124 124 (const int)
-0:125 Sequence
-0:125 move second child to first child (temp int)
-0:125 'filenumber' (global int)
-0:125 Constant:
-0:125 0 (const int)
-0:126 Sequence
-0:126 move second child to first child (temp int)
-0:126 'version' (global int)
-0:126 Constant:
-0:126 400 (const int)
-0:130 Sequence
-0:130 move second child to first child (temp float)
-0:130 'twoPi' (global float)
-0:130 Constant:
-0:130 6.280000
-0:199 Sequence
-0:199 move second child to first child (temp int)
-0:199 'n' (global int)
-0:199 Constant:
-0:199 15 (const int)
-0:202 Sequence
-0:202 move second child to first child (temp double)
-0:202 'f' (global double)
-0:202 Constant:
-0:202 0.000800
-12:20031 Function Definition: foo234( (global void)
-12:20031 Function Parameters:
-12:20033 Sequence
-12:20033 move second child to first child (temp 4-component vector of float)
-12:20033 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
-12:20033 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-12:20033 Constant:
-12:20033 0 (const uint)
-12:20033 Constant:
-12:20033 6.000000
-12:20033 6.000000
-12:20033 6.000000
-12:20033 6.000000
-12:9011 Sequence
-12:9011 move second child to first child (temp int)
-12:9011 'R1' (global int)
-12:9011 'RECURSE' (global int)
-0:? Linker Objects
-0:? 'sum' (global float)
-0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:? 'linenumber' (global int)
-0:? 'filenumber' (global int)
-0:? 'version' (global int)
-0:? 'twoPi' (global float)
-0:? 'a' (global int)
-0:? 'n' (global int)
-0:? 'f' (global double)
-0:? 'RECURSE' (global int)
-0:? 'R1' (global int)
-0:? 'aoeua' (global int)
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
+cppSimple.vert
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:77: '#error' : good1
+ERROR: 0:81: '#error' : good2
+ERROR: 0:85: '#error' : good3
+ERROR: 0:89: '#error' : good4
+ERROR: 0:93: '#error' : good5
+ERROR: 0:97: '#error' : good6
+ERROR: 0:100: 'preprocessor evaluation' : expected ')'
+ERROR: 0:101: '#error' : bad1
+ERROR: 0:104: '#if' : unexpected tokens following directive
+ERROR: 0:105: '#error' : bad2
+ERROR: 0:108: 'preprocessor evaluation' : expected ')'
+ERROR: 0:109: '#error' : bad3
+ERROR: 0:112: '#if' : unexpected tokens following directive
+ERROR: 0:113: '#error' : bad4
+ERROR: 0:116: 'preprocessor evaluation' : expected ')'
+ERROR: 0:117: '#error' : bad5
+ERROR: 0:120: '#if' : unexpected tokens following directive
+ERROR: 0:121: '#error' : bad6
+ERROR: 0:122: '#endif' : unexpected tokens following directive
+ERROR: 0:135: '""' : string literals not supported
+ERROR: 0:136: '""' : string literals not supported
+ERROR: 0:136: 'length' : no matching overloaded function found
+ERROR: 0:136: '=' : cannot convert from 'const float' to 'global int'
+ERROR: 0:138: ''' : character literals not supported
+ERROR: 0:138: ''' : character literals not supported
+ERROR: 0:141: '#define' : names beginning with "GL_" can't be (un)defined: GL_
+ERROR: 0:142: '#define' : names beginning with "GL_" can't be (un)defined: GL_Macro
+WARNING: 0:143: '#define' : names containing consecutive underscores are reserved: __M
+WARNING: 0:144: '#define' : names containing consecutive underscores are reserved: M__
+WARNING: 0:145: '#define' : names containing consecutive underscores are reserved: ABC__DE
+ERROR: 0:148: '#else' : unexpected tokens following directive
+ERROR: 0:149: '#elif' : #elif after #else
+ERROR: 0:155: '#else' : unexpected tokens following directive
+ERROR: 0:158: '#else' : #else after #else
+ERROR: 0:160: '#endif' : unexpected tokens following directive
+ERROR: 0:164: '#define' : duplicate macro parameter
+ERROR: 0:173: '#define' : Macro redefined; different number of arguments: m4
+ERROR: 0:178: '#define' : Macro redefined; different number of arguments: m5
+ERROR: 0:182: '#define' : Macro redefined; different number of arguments: m6
+ERROR: 0:185: '#define' : Macro redefined; different substitutions: m7
+ERROR: 0:192: '#define' : Macro redefined; different substitutions: m8
+ERROR: 0:196: '#define' : Macro redefined; different argument names: m9
+WARNING: 0:204: '#undef' : names containing consecutive underscores are reserved: __VERSION__
+ERROR: 0:205: '#undef' : names beginning with "GL_" can't be (un)defined: GL_ARB_texture_rectangle
+ERROR: 0:210: '#' : invalid directive
+ERROR: 0:211: '#' : invalid directive
+ERROR: 0:212: '#' : invalid directive
+ERROR: 0:213: '#' : invalid directive
+ERROR: 0:214: '#' : invalid directive
+ERROR: 0:215: '#' : invalid directive
+ERROR: 0:224: '#pragma' : optimize pragma syntax is incorrect
+ERROR: 0:225: '#pragma' : optimize pragma syntax is incorrect
+ERROR: 0:226: '#pragma' : debug pragma syntax is incorrect
+ERROR: 0:227: '#pragma' : debug pragma syntax is incorrect
+ERROR: 0:229: '#pragma' : optimize pragma syntax is incorrect
+ERROR: 0:230: '#pragma' : debug pragma syntax is incorrect
+ERROR: 0:233: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:235: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:236: '#error' : good continuation
+ERROR: 0:238: '#' : invalid directive: flizbit
+ERROR: 0:242: '#' : invalid directive: directive
+ERROR: 0:12000: '#error' : line should be 12000
+ERROR: 7:13000: '#error' : line should be 13000 , string 7
+ERROR: 7:14013: '#error' : line should be 14013 , string 7
+ERROR: 12:14013: '#error' : line should be 14013 , string 12
+ERROR: 12:14025: '#error' : line should be 14025 , string 12
+ERROR: 12:1233: '#line' : unexpected tokens following directive
+ERROR: 12:1236: '#line' : unexpected tokens following directive
+ERROR: 12:20000: '#error' : line should be 20000
+ERROR: 12:20010: '#error' : line should be 20010
+ERROR: 12:20020: '#error' : line should be 20020
+ERROR: 12:20045: '#define' : Macro redefined; different substitutions: SPACE_IN_MIDDLE
+ERROR: 12:20051: '#error' : good evaluation 1
+ERROR: 12:20055: '#error' : good evaluation 2
+ERROR: 12:9000: 'preprocessor evaluation' : expected ')'
+ERROR: 12:9002: '#if' : unexpected tokens following directive
+ERROR: 12:9014: 'macro expansion' : expected '(' following FOOOM
+ERROR: 12:9014: 'FOOOM' : undeclared identifier
+ERROR: 12:9014: '=' : cannot convert from 'temp float' to 'global int'
+ERROR: 12:9015: 'macro expansion' : expected '(' following FOOOM
+ERROR: 12:9016: 'preprocessor evaluation' : can't evaluate expression
+ERROR: 12:9016: 'preprocessor evaluation' : bad expression
+ERROR: 12:9500: 'preprocessor evaluation' : bad expression
+ERROR: 12:9500: '#if' : unexpected tokens following directive
+ERROR: 12:9502: 'preprocessor evaluation' : bad expression
+ERROR: 12:9502: '#if' : unexpected tokens following directive
+ERROR: 12:9504: 'preprocessor evaluation' : bad expression
+ERROR: 12:9504: '#if' : unexpected tokens following directive
+ERROR: 12:9506: '#error' : \ 377
+ERROR: 12:9507: '#error' : \ 376
+ERROR: 12:9508: '#error' : \ 377
+ERROR: 12:10002: '' : missing #endif
+ERROR: 88 compilation errors. No code generated.
+
+
+Shader version: 400
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp float)
+0:5 'sum' (global float)
+0:5 Constant:
+0:5 0.000000
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:12 Sequence
+0:12 add second child into first child (temp float)
+0:12 'sum' (global float)
+0:12 Constant:
+0:12 1.000000
+0:22 add second child into first child (temp float)
+0:22 'sum' (global float)
+0:22 Constant:
+0:22 300.000000
+0:37 add second child into first child (temp float)
+0:37 'sum' (global float)
+0:37 Constant:
+0:37 600000.000000
+0:48 add second child into first child (temp float)
+0:48 'sum' (global float)
+0:48 Constant:
+0:48 7000000.000000
+0:53 add second child into first child (temp float)
+0:53 'sum' (global float)
+0:53 Constant:
+0:53 80000000.000000
+0:58 add second child into first child (temp float)
+0:58 'sum' (global float)
+0:58 Constant:
+0:58 900000000.000000
+0:65 add second child into first child (temp float)
+0:65 'sum' (global float)
+0:65 Constant:
+0:65 0.050000
+0:69 move second child to first child (temp 4-component vector of float)
+0:69 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:69 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:69 Constant:
+0:69 0 (const uint)
+0:69 Construct vec4 (temp 4-component vector of float)
+0:69 'sum' (global float)
+0:124 Sequence
+0:124 move second child to first child (temp int)
+0:124 'linenumber' (global int)
+0:124 Constant:
+0:124 124 (const int)
+0:125 Sequence
+0:125 move second child to first child (temp int)
+0:125 'filenumber' (global int)
+0:125 Constant:
+0:125 0 (const int)
+0:126 Sequence
+0:126 move second child to first child (temp int)
+0:126 'version' (global int)
+0:126 Constant:
+0:126 400 (const int)
+0:130 Sequence
+0:130 move second child to first child (temp float)
+0:130 'twoPi' (global float)
+0:130 Constant:
+0:130 6.280000
+0:199 Sequence
+0:199 move second child to first child (temp int)
+0:199 'n' (global int)
+0:199 Constant:
+0:199 15 (const int)
+0:202 Sequence
+0:202 move second child to first child (temp double)
+0:202 'f' (global double)
+0:202 Constant:
+0:202 0.000800
+12:20031 Function Definition: foo234( (global void)
+12:20031 Function Parameters:
+12:20033 Sequence
+12:20033 move second child to first child (temp 4-component vector of float)
+12:20033 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+12:20033 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+12:20033 Constant:
+12:20033 0 (const uint)
+12:20033 Constant:
+12:20033 6.000000
+12:20033 6.000000
+12:20033 6.000000
+12:20033 6.000000
+12:9011 Sequence
+12:9011 move second child to first child (temp int)
+12:9011 'R1' (global int)
+12:9011 'RECURSE' (global int)
+0:? Linker Objects
+0:? 'sum' (global float)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'linenumber' (global int)
+0:? 'filenumber' (global int)
+0:? 'version' (global int)
+0:? 'twoPi' (global float)
+0:? 'a' (global int)
+0:? 'n' (global int)
+0:? 'f' (global double)
+0:? 'RECURSE' (global int)
+0:? 'R1' (global int)
+0:? 'aoeua' (global int)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 400
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp float)
+0:5 'sum' (global float)
+0:5 Constant:
+0:5 0.000000
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:12 Sequence
+0:12 add second child into first child (temp float)
+0:12 'sum' (global float)
+0:12 Constant:
+0:12 1.000000
+0:22 add second child into first child (temp float)
+0:22 'sum' (global float)
+0:22 Constant:
+0:22 300.000000
+0:37 add second child into first child (temp float)
+0:37 'sum' (global float)
+0:37 Constant:
+0:37 600000.000000
+0:48 add second child into first child (temp float)
+0:48 'sum' (global float)
+0:48 Constant:
+0:48 7000000.000000
+0:53 add second child into first child (temp float)
+0:53 'sum' (global float)
+0:53 Constant:
+0:53 80000000.000000
+0:58 add second child into first child (temp float)
+0:58 'sum' (global float)
+0:58 Constant:
+0:58 900000000.000000
+0:65 add second child into first child (temp float)
+0:65 'sum' (global float)
+0:65 Constant:
+0:65 0.050000
+0:69 move second child to first child (temp 4-component vector of float)
+0:69 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:69 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:69 Constant:
+0:69 0 (const uint)
+0:69 Construct vec4 (temp 4-component vector of float)
+0:69 'sum' (global float)
+0:124 Sequence
+0:124 move second child to first child (temp int)
+0:124 'linenumber' (global int)
+0:124 Constant:
+0:124 124 (const int)
+0:125 Sequence
+0:125 move second child to first child (temp int)
+0:125 'filenumber' (global int)
+0:125 Constant:
+0:125 0 (const int)
+0:126 Sequence
+0:126 move second child to first child (temp int)
+0:126 'version' (global int)
+0:126 Constant:
+0:126 400 (const int)
+0:130 Sequence
+0:130 move second child to first child (temp float)
+0:130 'twoPi' (global float)
+0:130 Constant:
+0:130 6.280000
+0:199 Sequence
+0:199 move second child to first child (temp int)
+0:199 'n' (global int)
+0:199 Constant:
+0:199 15 (const int)
+0:202 Sequence
+0:202 move second child to first child (temp double)
+0:202 'f' (global double)
+0:202 Constant:
+0:202 0.000800
+12:20031 Function Definition: foo234( (global void)
+12:20031 Function Parameters:
+12:20033 Sequence
+12:20033 move second child to first child (temp 4-component vector of float)
+12:20033 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+12:20033 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+12:20033 Constant:
+12:20033 0 (const uint)
+12:20033 Constant:
+12:20033 6.000000
+12:20033 6.000000
+12:20033 6.000000
+12:20033 6.000000
+12:9011 Sequence
+12:9011 move second child to first child (temp int)
+12:9011 'R1' (global int)
+12:9011 'RECURSE' (global int)
+0:? Linker Objects
+0:? 'sum' (global float)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'linenumber' (global int)
+0:? 'filenumber' (global int)
+0:? 'version' (global int)
+0:? 'twoPi' (global float)
+0:? 'a' (global int)
+0:? 'n' (global int)
+0:? 'f' (global double)
+0:? 'RECURSE' (global int)
+0:? 'R1' (global int)
+0:? 'aoeua' (global int)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/dataOut.frag.out b/Test/baseResults/dataOut.frag.out
index 669a13d..030bae7 100644
--- a/Test/baseResults/dataOut.frag.out
+++ b/Test/baseResults/dataOut.frag.out
@@ -1,35 +1,35 @@
-dataOut.frag
-WARNING: 0:3: varying deprecated in version 130; may be removed in future release
-
-Shader version: 130
-0:? Sequence
-0:5 Function Definition: main( (global void)
-0:5 Function Parameters:
-0:7 Sequence
-0:7 move second child to first child (temp 4-component vector of float)
-0:7 direct index (temp 4-component vector of float FragData)
-0:7 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
-0:7 Constant:
-0:7 1 (const int)
-0:7 'Color' (smooth in 4-component vector of float)
-0:? Linker Objects
-0:? 'Color' (smooth in 4-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:5 Function Definition: main( (global void)
-0:5 Function Parameters:
-0:7 Sequence
-0:7 move second child to first child (temp 4-component vector of float)
-0:7 direct index (temp 4-component vector of float FragData)
-0:7 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
-0:7 Constant:
-0:7 1 (const int)
-0:7 'Color' (smooth in 4-component vector of float)
-0:? Linker Objects
-0:? 'Color' (smooth in 4-component vector of float)
-
+dataOut.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:5 Function Definition: main( (global void)
+0:5 Function Parameters:
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 direct index (temp 4-component vector of float FragData)
+0:7 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:7 Constant:
+0:7 1 (const int)
+0:7 'Color' (smooth in 4-component vector of float)
+0:? Linker Objects
+0:? 'Color' (smooth in 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:5 Function Definition: main( (global void)
+0:5 Function Parameters:
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 direct index (temp 4-component vector of float FragData)
+0:7 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:7 Constant:
+0:7 1 (const int)
+0:7 'Color' (smooth in 4-component vector of float)
+0:? Linker Objects
+0:? 'Color' (smooth in 4-component vector of float)
+
diff --git a/Test/baseResults/dataOutIndirect.frag.out b/Test/baseResults/dataOutIndirect.frag.out
index 41c9221..31b4f07 100644
--- a/Test/baseResults/dataOutIndirect.frag.out
+++ b/Test/baseResults/dataOutIndirect.frag.out
@@ -1,35 +1,35 @@
-dataOutIndirect.frag
-WARNING: 0:3: varying deprecated in version 130; may be removed in future release
-
-Shader version: 130
-0:? Sequence
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:9 Sequence
-0:9 move second child to first child (temp 4-component vector of float)
-0:9 indirect index (temp 4-component vector of float FragData)
-0:9 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
-0:9 'i' (uniform int)
-0:9 'Color' (smooth in 4-component vector of float)
-0:? Linker Objects
-0:? 'Color' (smooth in 4-component vector of float)
-0:? 'i' (uniform int)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:9 Sequence
-0:9 move second child to first child (temp 4-component vector of float)
-0:9 indirect index (temp 4-component vector of float FragData)
-0:9 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
-0:9 'i' (uniform int)
-0:9 'Color' (smooth in 4-component vector of float)
-0:? Linker Objects
-0:? 'Color' (smooth in 4-component vector of float)
-0:? 'i' (uniform int)
-
+dataOutIndirect.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 indirect index (temp 4-component vector of float FragData)
+0:9 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:9 'i' (uniform int)
+0:9 'Color' (smooth in 4-component vector of float)
+0:? Linker Objects
+0:? 'Color' (smooth in 4-component vector of float)
+0:? 'i' (uniform int)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 indirect index (temp 4-component vector of float FragData)
+0:9 'gl_FragData' (fragColor 32-element array of 4-component vector of float FragData)
+0:9 'i' (uniform int)
+0:9 'Color' (smooth in 4-component vector of float)
+0:? Linker Objects
+0:? 'Color' (smooth in 4-component vector of float)
+0:? 'i' (uniform int)
+
diff --git a/Test/baseResults/dce.frag.out b/Test/baseResults/dce.frag.out
index 6ae66f9..a19fe4e 100644
--- a/Test/baseResults/dce.frag.out
+++ b/Test/baseResults/dce.frag.out
@@ -1,276 +1,276 @@
-dce.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
-Shader version: 400
-0:? Sequence
-0:5 Sequence
-0:5 move second child to first child (temp int)
-0:5 'c' (global int)
-0:5 Constant:
-0:5 0 (const int)
-0:7 Function Definition: bar( (global void)
-0:7 Function Parameters:
-0:9 Sequence
-0:9 Test condition and select (temp void)
-0:9 Condition
-0:9 Constant:
-0:9 false (const bool)
-0:9 true case
-0:10 Pre-Increment (temp int)
-0:10 'c' (global int)
-0:9 false case
-0:12 Pre-Increment (temp int)
-0:12 'c' (global int)
-0:14 Test condition and select (temp int)
-0:14 Condition
-0:14 Constant:
-0:14 false (const bool)
-0:14 true case
-0:14 Pre-Increment (temp int)
-0:14 'c' (global int)
-0:14 false case
-0:14 Pre-Increment (temp int)
-0:14 'c' (global int)
-0:16 switch
-0:16 condition
-0:16 'c' (global int)
-0:16 body
-0:16 Sequence
-0:17 case: with expression
-0:17 Constant:
-0:17 1 (const int)
-0:? Sequence
-0:18 Pre-Increment (temp int)
-0:18 'c' (global int)
-0:19 Branch: Break
-0:20 Pre-Increment (temp int)
-0:20 'c' (global int)
-0:21 case: with expression
-0:21 Constant:
-0:21 2 (const int)
-0:? Sequence
-0:22 Branch: Break
-0:23 Pre-Increment (temp int)
-0:23 'c' (global int)
-0:24 default:
-0:? Sequence
-0:25 Branch: Break
-0:28 Sequence
-0:28 Sequence
-0:28 move second child to first child (temp int)
-0:28 'i' (temp int)
-0:28 Constant:
-0:28 0 (const int)
-0:28 Loop with condition tested first
-0:28 Loop Condition
-0:28 Compare Less Than (temp bool)
-0:28 'i' (temp int)
-0:28 Constant:
-0:28 0 (const int)
-0:28 Loop Body
-0:29 Pre-Increment (temp int)
-0:29 'c' (global int)
-0:28 Loop Terminal Expression
-0:28 Pre-Increment (temp int)
-0:28 'i' (temp int)
-0:31 Sequence
-0:31 Sequence
-0:31 move second child to first child (temp int)
-0:31 'i' (temp int)
-0:31 Constant:
-0:31 0 (const int)
-0:31 Loop with condition tested first
-0:31 Loop Condition
-0:31 Compare Less Than (temp bool)
-0:31 'i' (temp int)
-0:31 Constant:
-0:31 10 (const int)
-0:31 Loop Body
-0:32 Sequence
-0:32 Test condition and select (temp void)
-0:32 Condition
-0:32 Compare Less Than (temp bool)
-0:32 'c' (global int)
-0:32 Constant:
-0:32 3 (const int)
-0:32 true case
-0:33 Sequence
-0:33 Branch: Break
-0:34 Pre-Increment (temp int)
-0:34 'c' (global int)
-0:32 false case
-0:36 Sequence
-0:36 Branch: Continue
-0:37 Pre-Increment (temp int)
-0:37 'c' (global int)
-0:31 Loop Terminal Expression
-0:31 Pre-Increment (temp int)
-0:31 'i' (temp int)
-0:41 Branch: Return
-0:43 Pre-Increment (temp int)
-0:43 'c' (global int)
-0:46 Function Definition: foo( (global int)
-0:46 Function Parameters:
-0:48 Sequence
-0:48 Test condition and select (temp void)
-0:48 Condition
-0:48 Compare Greater Than (temp bool)
-0:48 'c' (global int)
-0:48 Constant:
-0:48 4 (const int)
-0:48 true case
-0:49 Sequence
-0:49 Branch: Return with expression
-0:49 Constant:
-0:49 4 (const int)
-0:50 Pre-Increment (temp int)
-0:50 'c' (global int)
-0:53 Branch: Return with expression
-0:53 Constant:
-0:53 5 (const int)
-0:55 Pre-Increment (temp int)
-0:55 'c' (global int)
-0:? Linker Objects
-0:? 'flag' (const bool)
-0:? false (const bool)
-0:? 'c' (global int)
-
-
-Linked fragment stage:
-
-ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point
-
-Shader version: 400
-0:? Sequence
-0:5 Sequence
-0:5 move second child to first child (temp int)
-0:5 'c' (global int)
-0:5 Constant:
-0:5 0 (const int)
-0:7 Function Definition: bar( (global void)
-0:7 Function Parameters:
-0:9 Sequence
-0:9 Test condition and select (temp void)
-0:9 Condition
-0:9 Constant:
-0:9 false (const bool)
-0:9 true case
-0:10 Pre-Increment (temp int)
-0:10 'c' (global int)
-0:9 false case
-0:12 Pre-Increment (temp int)
-0:12 'c' (global int)
-0:14 Test condition and select (temp int)
-0:14 Condition
-0:14 Constant:
-0:14 false (const bool)
-0:14 true case
-0:14 Pre-Increment (temp int)
-0:14 'c' (global int)
-0:14 false case
-0:14 Pre-Increment (temp int)
-0:14 'c' (global int)
-0:16 switch
-0:16 condition
-0:16 'c' (global int)
-0:16 body
-0:16 Sequence
-0:17 case: with expression
-0:17 Constant:
-0:17 1 (const int)
-0:? Sequence
-0:18 Pre-Increment (temp int)
-0:18 'c' (global int)
-0:19 Branch: Break
-0:20 Pre-Increment (temp int)
-0:20 'c' (global int)
-0:21 case: with expression
-0:21 Constant:
-0:21 2 (const int)
-0:? Sequence
-0:22 Branch: Break
-0:23 Pre-Increment (temp int)
-0:23 'c' (global int)
-0:24 default:
-0:? Sequence
-0:25 Branch: Break
-0:28 Sequence
-0:28 Sequence
-0:28 move second child to first child (temp int)
-0:28 'i' (temp int)
-0:28 Constant:
-0:28 0 (const int)
-0:28 Loop with condition tested first
-0:28 Loop Condition
-0:28 Compare Less Than (temp bool)
-0:28 'i' (temp int)
-0:28 Constant:
-0:28 0 (const int)
-0:28 Loop Body
-0:29 Pre-Increment (temp int)
-0:29 'c' (global int)
-0:28 Loop Terminal Expression
-0:28 Pre-Increment (temp int)
-0:28 'i' (temp int)
-0:31 Sequence
-0:31 Sequence
-0:31 move second child to first child (temp int)
-0:31 'i' (temp int)
-0:31 Constant:
-0:31 0 (const int)
-0:31 Loop with condition tested first
-0:31 Loop Condition
-0:31 Compare Less Than (temp bool)
-0:31 'i' (temp int)
-0:31 Constant:
-0:31 10 (const int)
-0:31 Loop Body
-0:32 Sequence
-0:32 Test condition and select (temp void)
-0:32 Condition
-0:32 Compare Less Than (temp bool)
-0:32 'c' (global int)
-0:32 Constant:
-0:32 3 (const int)
-0:32 true case
-0:33 Sequence
-0:33 Branch: Break
-0:34 Pre-Increment (temp int)
-0:34 'c' (global int)
-0:32 false case
-0:36 Sequence
-0:36 Branch: Continue
-0:37 Pre-Increment (temp int)
-0:37 'c' (global int)
-0:31 Loop Terminal Expression
-0:31 Pre-Increment (temp int)
-0:31 'i' (temp int)
-0:41 Branch: Return
-0:43 Pre-Increment (temp int)
-0:43 'c' (global int)
-0:46 Function Definition: foo( (global int)
-0:46 Function Parameters:
-0:48 Sequence
-0:48 Test condition and select (temp void)
-0:48 Condition
-0:48 Compare Greater Than (temp bool)
-0:48 'c' (global int)
-0:48 Constant:
-0:48 4 (const int)
-0:48 true case
-0:49 Sequence
-0:49 Branch: Return with expression
-0:49 Constant:
-0:49 4 (const int)
-0:50 Pre-Increment (temp int)
-0:50 'c' (global int)
-0:53 Branch: Return with expression
-0:53 Constant:
-0:53 5 (const int)
-0:55 Pre-Increment (temp int)
-0:55 'c' (global int)
-0:? Linker Objects
-0:? 'flag' (const bool)
-0:? false (const bool)
-0:? 'c' (global int)
-
+dce.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 400
+0:? Sequence
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'c' (global int)
+0:5 Constant:
+0:5 0 (const int)
+0:7 Function Definition: bar( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Test condition and select (temp void)
+0:9 Condition
+0:9 Constant:
+0:9 false (const bool)
+0:9 true case
+0:10 Pre-Increment (temp int)
+0:10 'c' (global int)
+0:9 false case
+0:12 Pre-Increment (temp int)
+0:12 'c' (global int)
+0:14 Test condition and select (temp int)
+0:14 Condition
+0:14 Constant:
+0:14 false (const bool)
+0:14 true case
+0:14 Pre-Increment (temp int)
+0:14 'c' (global int)
+0:14 false case
+0:14 Pre-Increment (temp int)
+0:14 'c' (global int)
+0:16 switch
+0:16 condition
+0:16 'c' (global int)
+0:16 body
+0:16 Sequence
+0:17 case: with expression
+0:17 Constant:
+0:17 1 (const int)
+0:? Sequence
+0:18 Pre-Increment (temp int)
+0:18 'c' (global int)
+0:19 Branch: Break
+0:20 Pre-Increment (temp int)
+0:20 'c' (global int)
+0:21 case: with expression
+0:21 Constant:
+0:21 2 (const int)
+0:? Sequence
+0:22 Branch: Break
+0:23 Pre-Increment (temp int)
+0:23 'c' (global int)
+0:24 default:
+0:? Sequence
+0:25 Branch: Break
+0:28 Sequence
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'i' (temp int)
+0:28 Constant:
+0:28 0 (const int)
+0:28 Loop with condition tested first
+0:28 Loop Condition
+0:28 Compare Less Than (temp bool)
+0:28 'i' (temp int)
+0:28 Constant:
+0:28 0 (const int)
+0:28 Loop Body
+0:29 Pre-Increment (temp int)
+0:29 'c' (global int)
+0:28 Loop Terminal Expression
+0:28 Pre-Increment (temp int)
+0:28 'i' (temp int)
+0:31 Sequence
+0:31 Sequence
+0:31 move second child to first child (temp int)
+0:31 'i' (temp int)
+0:31 Constant:
+0:31 0 (const int)
+0:31 Loop with condition tested first
+0:31 Loop Condition
+0:31 Compare Less Than (temp bool)
+0:31 'i' (temp int)
+0:31 Constant:
+0:31 10 (const int)
+0:31 Loop Body
+0:32 Sequence
+0:32 Test condition and select (temp void)
+0:32 Condition
+0:32 Compare Less Than (temp bool)
+0:32 'c' (global int)
+0:32 Constant:
+0:32 3 (const int)
+0:32 true case
+0:33 Sequence
+0:33 Branch: Break
+0:34 Pre-Increment (temp int)
+0:34 'c' (global int)
+0:32 false case
+0:36 Sequence
+0:36 Branch: Continue
+0:37 Pre-Increment (temp int)
+0:37 'c' (global int)
+0:31 Loop Terminal Expression
+0:31 Pre-Increment (temp int)
+0:31 'i' (temp int)
+0:41 Branch: Return
+0:43 Pre-Increment (temp int)
+0:43 'c' (global int)
+0:46 Function Definition: foo( (global int)
+0:46 Function Parameters:
+0:48 Sequence
+0:48 Test condition and select (temp void)
+0:48 Condition
+0:48 Compare Greater Than (temp bool)
+0:48 'c' (global int)
+0:48 Constant:
+0:48 4 (const int)
+0:48 true case
+0:49 Sequence
+0:49 Branch: Return with expression
+0:49 Constant:
+0:49 4 (const int)
+0:50 Pre-Increment (temp int)
+0:50 'c' (global int)
+0:53 Branch: Return with expression
+0:53 Constant:
+0:53 5 (const int)
+0:55 Pre-Increment (temp int)
+0:55 'c' (global int)
+0:? Linker Objects
+0:? 'flag' (const bool)
+0:? false (const bool)
+0:? 'c' (global int)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point
+
+Shader version: 400
+0:? Sequence
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'c' (global int)
+0:5 Constant:
+0:5 0 (const int)
+0:7 Function Definition: bar( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Test condition and select (temp void)
+0:9 Condition
+0:9 Constant:
+0:9 false (const bool)
+0:9 true case
+0:10 Pre-Increment (temp int)
+0:10 'c' (global int)
+0:9 false case
+0:12 Pre-Increment (temp int)
+0:12 'c' (global int)
+0:14 Test condition and select (temp int)
+0:14 Condition
+0:14 Constant:
+0:14 false (const bool)
+0:14 true case
+0:14 Pre-Increment (temp int)
+0:14 'c' (global int)
+0:14 false case
+0:14 Pre-Increment (temp int)
+0:14 'c' (global int)
+0:16 switch
+0:16 condition
+0:16 'c' (global int)
+0:16 body
+0:16 Sequence
+0:17 case: with expression
+0:17 Constant:
+0:17 1 (const int)
+0:? Sequence
+0:18 Pre-Increment (temp int)
+0:18 'c' (global int)
+0:19 Branch: Break
+0:20 Pre-Increment (temp int)
+0:20 'c' (global int)
+0:21 case: with expression
+0:21 Constant:
+0:21 2 (const int)
+0:? Sequence
+0:22 Branch: Break
+0:23 Pre-Increment (temp int)
+0:23 'c' (global int)
+0:24 default:
+0:? Sequence
+0:25 Branch: Break
+0:28 Sequence
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'i' (temp int)
+0:28 Constant:
+0:28 0 (const int)
+0:28 Loop with condition tested first
+0:28 Loop Condition
+0:28 Compare Less Than (temp bool)
+0:28 'i' (temp int)
+0:28 Constant:
+0:28 0 (const int)
+0:28 Loop Body
+0:29 Pre-Increment (temp int)
+0:29 'c' (global int)
+0:28 Loop Terminal Expression
+0:28 Pre-Increment (temp int)
+0:28 'i' (temp int)
+0:31 Sequence
+0:31 Sequence
+0:31 move second child to first child (temp int)
+0:31 'i' (temp int)
+0:31 Constant:
+0:31 0 (const int)
+0:31 Loop with condition tested first
+0:31 Loop Condition
+0:31 Compare Less Than (temp bool)
+0:31 'i' (temp int)
+0:31 Constant:
+0:31 10 (const int)
+0:31 Loop Body
+0:32 Sequence
+0:32 Test condition and select (temp void)
+0:32 Condition
+0:32 Compare Less Than (temp bool)
+0:32 'c' (global int)
+0:32 Constant:
+0:32 3 (const int)
+0:32 true case
+0:33 Sequence
+0:33 Branch: Break
+0:34 Pre-Increment (temp int)
+0:34 'c' (global int)
+0:32 false case
+0:36 Sequence
+0:36 Branch: Continue
+0:37 Pre-Increment (temp int)
+0:37 'c' (global int)
+0:31 Loop Terminal Expression
+0:31 Pre-Increment (temp int)
+0:31 'i' (temp int)
+0:41 Branch: Return
+0:43 Pre-Increment (temp int)
+0:43 'c' (global int)
+0:46 Function Definition: foo( (global int)
+0:46 Function Parameters:
+0:48 Sequence
+0:48 Test condition and select (temp void)
+0:48 Condition
+0:48 Compare Greater Than (temp bool)
+0:48 'c' (global int)
+0:48 Constant:
+0:48 4 (const int)
+0:48 true case
+0:49 Sequence
+0:49 Branch: Return with expression
+0:49 Constant:
+0:49 4 (const int)
+0:50 Pre-Increment (temp int)
+0:50 'c' (global int)
+0:53 Branch: Return with expression
+0:53 Constant:
+0:53 5 (const int)
+0:55 Pre-Increment (temp int)
+0:55 'c' (global int)
+0:? Linker Objects
+0:? 'flag' (const bool)
+0:? false (const bool)
+0:? 'c' (global int)
+
diff --git a/Test/baseResults/decls.frag.out b/Test/baseResults/decls.frag.out
index f2d9b64..a7e2137 100644
--- a/Test/baseResults/decls.frag.out
+++ b/Test/baseResults/decls.frag.out
@@ -1,515 +1,515 @@
-decls.frag
-ERROR: 0:19: 'vi4' : illegal use of type 'void'
-ERROR: 0:20: 'vj' : illegal use of type 'void'
-ERROR: 0:20: 'vk5' : illegal use of type 'void'
-ERROR: 0:21: 'vm2' : illegal use of type 'void'
-ERROR: 0:21: 'vm3' : illegal use of type 'void'
-ERROR: 0:22: 'vn8' : illegal use of type 'void'
-ERROR: 0:22: 'vp' : illegal use of type 'void'
-ERROR: 0:25: 'cij' : variables with qualifier 'const' must be initialized
-ERROR: 0:27: 'cip' : variables with qualifier 'const' must be initialized
-ERROR: 0:34: 'gl_vi4' : identifiers starting with "gl_" are reserved
-ERROR: 0:35: 'gl_vj' : identifiers starting with "gl_" are reserved
-ERROR: 0:35: 'gl_vk5' : identifiers starting with "gl_" are reserved
-ERROR: 0:36: 'gl_vm2' : identifiers starting with "gl_" are reserved
-ERROR: 0:36: 'gl_vm3' : identifiers starting with "gl_" are reserved
-ERROR: 0:37: 'gl_vn8' : identifiers starting with "gl_" are reserved
-ERROR: 0:37: 'gl_vp' : identifiers starting with "gl_" are reserved
-ERROR: 0:42: '' : boolean expression expected
-ERROR: 0:43: 'gl_cond' : identifiers starting with "gl_" are reserved
-WARNING: 0:46: 'foob__vi4' : identifiers containing consecutive underscores ("__") are reserved
-WARNING: 0:47: 'foob__vj' : identifiers containing consecutive underscores ("__") are reserved
-WARNING: 0:47: 'foob__vk5' : identifiers containing consecutive underscores ("__") are reserved
-WARNING: 0:48: '__foobvm2' : identifiers containing consecutive underscores ("__") are reserved
-WARNING: 0:48: '__foobvm3' : identifiers containing consecutive underscores ("__") are reserved
-WARNING: 0:49: 'foob__vn8' : identifiers containing consecutive underscores ("__") are reserved
-WARNING: 0:49: 'foob__vp' : identifiers containing consecutive underscores ("__") are reserved
-ERROR: 18 compilation errors. No code generated.
-
-
-Shader version: 120
-ERROR: node is still EOpNull!
-0:5 Sequence
-0:5 move second child to first child (temp int)
-0:5 'd1' (global int)
-0:5 Constant:
-0:5 1 (const int)
-0:6 Sequence
-0:6 move second child to first child (temp int)
-0:6 'e2' (global int)
-0:6 Constant:
-0:6 2 (const int)
-0:7 Sequence
-0:7 move second child to first child (temp int)
-0:7 'h3' (global int)
-0:7 Constant:
-0:7 3 (const int)
-0:14 Sequence
-0:14 move second child to first child (temp 4-element array of int)
-0:14 'ii4' (global 4-element array of int)
-0:14 Constant:
-0:14 1 (const int)
-0:14 2 (const int)
-0:14 3 (const int)
-0:14 4 (const int)
-0:15 Sequence
-0:15 move second child to first child (temp 5-element array of int)
-0:15 'ik5' (global 5-element array of int)
-0:15 Constant:
-0:15 5 (const int)
-0:15 6 (const int)
-0:15 7 (const int)
-0:15 8 (const int)
-0:15 9 (const int)
-0:16 Sequence
-0:16 move second child to first child (temp 2-element array of int)
-0:16 'im2' (global 2-element array of int)
-0:16 Constant:
-0:16 10 (const int)
-0:16 11 (const int)
-0:16 move second child to first child (temp 3-element array of int)
-0:16 'im3' (global 3-element array of int)
-0:16 Constant:
-0:16 12 (const int)
-0:16 13 (const int)
-0:16 14 (const int)
-0:17 Sequence
-0:17 move second child to first child (temp 4-element array of int)
-0:17 'in8' (global 4-element array of int)
-0:17 Constant:
-0:17 21 (const int)
-0:17 22 (const int)
-0:17 23 (const int)
-0:17 24 (const int)
-0:34 Sequence
-0:34 move second child to first child (temp 4-element array of int)
-0:34 'gl_vi4' (global 4-element array of int)
-0:34 Constant:
-0:34 1 (const int)
-0:34 2 (const int)
-0:34 3 (const int)
-0:34 4 (const int)
-0:35 Sequence
-0:35 move second child to first child (temp 5-element array of int)
-0:35 'gl_vk5' (global 5-element array of int)
-0:35 Constant:
-0:35 5 (const int)
-0:35 6 (const int)
-0:35 7 (const int)
-0:35 8 (const int)
-0:35 9 (const int)
-0:36 Sequence
-0:36 move second child to first child (temp 2-element array of int)
-0:36 'gl_vm2' (global 2-element array of int)
-0:36 Constant:
-0:36 10 (const int)
-0:36 11 (const int)
-0:36 move second child to first child (temp 3-element array of int)
-0:36 'gl_vm3' (global 3-element array of int)
-0:36 Constant:
-0:36 12 (const int)
-0:36 13 (const int)
-0:36 14 (const int)
-0:37 Sequence
-0:37 move second child to first child (temp 4-element array of int)
-0:37 'gl_vn8' (global 4-element array of int)
-0:37 Constant:
-0:37 21 (const int)
-0:37 22 (const int)
-0:37 23 (const int)
-0:37 24 (const int)
-0:39 Function Definition: main( (global void)
-0:39 Function Parameters:
-0:41 Sequence
-0:41 Loop with condition tested first
-0:41 Loop Condition
-0:41 move second child to first child (temp bool)
-0:41 'cond' (temp bool)
-0:41 Compare Less Than (temp bool)
-0:41 'b' (global int)
-0:41 'c' (global int)
-0:41 No loop body
-0:42 Loop with condition tested first
-0:42 Loop Condition
-0:42 move second child to first child (temp int)
-0:42 'icond' (temp int)
-0:42 'b' (global int)
-0:42 No loop body
-0:43 Loop with condition tested first
-0:43 Loop Condition
-0:43 move second child to first child (temp bool)
-0:43 'gl_cond' (temp bool)
-0:43 Compare Less Than (temp bool)
-0:43 'b' (global int)
-0:43 'c' (global int)
-0:43 No loop body
-0:46 Sequence
-0:46 move second child to first child (temp 4-element array of int)
-0:46 'foob__vi4' (global 4-element array of int)
-0:46 Constant:
-0:46 1 (const int)
-0:46 2 (const int)
-0:46 3 (const int)
-0:46 4 (const int)
-0:47 Sequence
-0:47 move second child to first child (temp 5-element array of int)
-0:47 'foob__vk5' (global 5-element array of int)
-0:47 Constant:
-0:47 5 (const int)
-0:47 6 (const int)
-0:47 7 (const int)
-0:47 8 (const int)
-0:47 9 (const int)
-0:48 Sequence
-0:48 move second child to first child (temp 2-element array of int)
-0:48 '__foobvm2' (global 2-element array of int)
-0:48 Constant:
-0:48 10 (const int)
-0:48 11 (const int)
-0:48 move second child to first child (temp 3-element array of int)
-0:48 '__foobvm3' (global 3-element array of int)
-0:48 Constant:
-0:48 12 (const int)
-0:48 13 (const int)
-0:48 14 (const int)
-0:49 Sequence
-0:49 move second child to first child (temp 4-element array of int)
-0:49 'foob__vn8' (global 4-element array of int)
-0:49 Constant:
-0:49 21 (const int)
-0:49 22 (const int)
-0:49 23 (const int)
-0:49 24 (const int)
-0:? Linker Objects
-0:? 'a' (global int)
-0:? 'b' (global int)
-0:? 'c' (global int)
-0:? 'd1' (global int)
-0:? 'e2' (global int)
-0:? 'f' (global int)
-0:? 'g' (global int)
-0:? 'h3' (global int)
-0:? 'i4' (global 4-element array of int)
-0:? 'j' (global int)
-0:? 'k5' (global 5-element array of int)
-0:? 'm6' (global 6-element array of int)
-0:? 'm7' (global 7-element array of int)
-0:? 'n8' (global 8-element array of int)
-0:? 'p' (global int)
-0:? 'ii4' (global 4-element array of int)
-0:? 'ij' (global int)
-0:? 'ik5' (global 5-element array of int)
-0:? 'im2' (global 2-element array of int)
-0:? 'im3' (global 3-element array of int)
-0:? 'in8' (global 4-element array of int)
-0:? 'ip' (global int)
-0:? 'cii4' (const 4-element array of int)
-0:? 1 (const int)
-0:? 2 (const int)
-0:? 3 (const int)
-0:? 4 (const int)
-0:? 'cij' (temp int)
-0:? 'cik5' (const 5-element array of int)
-0:? 5 (const int)
-0:? 6 (const int)
-0:? 7 (const int)
-0:? 8 (const int)
-0:? 9 (const int)
-0:? 'cim2' (const 2-element array of int)
-0:? 10 (const int)
-0:? 11 (const int)
-0:? 'cim3' (const 3-element array of int)
-0:? 12 (const int)
-0:? 13 (const int)
-0:? 14 (const int)
-0:? 'cin8' (const 4-element array of int)
-0:? 21 (const int)
-0:? 22 (const int)
-0:? 23 (const int)
-0:? 24 (const int)
-0:? 'cip' (temp int)
-0:? 'uii4' (uniform 4-element array of int)
-0:? 1 (const int)
-0:? 2 (const int)
-0:? 3 (const int)
-0:? 4 (const int)
-0:? 'uij' (uniform int)
-0:? 'uik5' (uniform 5-element array of int)
-0:? 5 (const int)
-0:? 6 (const int)
-0:? 7 (const int)
-0:? 8 (const int)
-0:? 9 (const int)
-0:? 'uim2' (uniform 2-element array of int)
-0:? 10 (const int)
-0:? 11 (const int)
-0:? 'uim3' (uniform 3-element array of int)
-0:? 12 (const int)
-0:? 13 (const int)
-0:? 14 (const int)
-0:? 'uin8' (uniform 4-element array of int)
-0:? 21 (const int)
-0:? 22 (const int)
-0:? 23 (const int)
-0:? 24 (const int)
-0:? 'uip' (uniform int)
-0:? 'gl_vi4' (global 4-element array of int)
-0:? 'gl_vj' (global int)
-0:? 'gl_vk5' (global 5-element array of int)
-0:? 'gl_vm2' (global 2-element array of int)
-0:? 'gl_vm3' (global 3-element array of int)
-0:? 'gl_vn8' (global 4-element array of int)
-0:? 'gl_vp' (global int)
-0:? 'foob__vi4' (global 4-element array of int)
-0:? 'foob__vj' (global int)
-0:? 'foob__vk5' (global 5-element array of int)
-0:? '__foobvm2' (global 2-element array of int)
-0:? '__foobvm3' (global 3-element array of int)
-0:? 'foob__vn8' (global 4-element array of int)
-0:? 'foob__vp' (global int)
-
-
-Linked fragment stage:
-
-
-Shader version: 120
-ERROR: node is still EOpNull!
-0:5 Sequence
-0:5 move second child to first child (temp int)
-0:5 'd1' (global int)
-0:5 Constant:
-0:5 1 (const int)
-0:6 Sequence
-0:6 move second child to first child (temp int)
-0:6 'e2' (global int)
-0:6 Constant:
-0:6 2 (const int)
-0:7 Sequence
-0:7 move second child to first child (temp int)
-0:7 'h3' (global int)
-0:7 Constant:
-0:7 3 (const int)
-0:14 Sequence
-0:14 move second child to first child (temp 4-element array of int)
-0:14 'ii4' (global 4-element array of int)
-0:14 Constant:
-0:14 1 (const int)
-0:14 2 (const int)
-0:14 3 (const int)
-0:14 4 (const int)
-0:15 Sequence
-0:15 move second child to first child (temp 5-element array of int)
-0:15 'ik5' (global 5-element array of int)
-0:15 Constant:
-0:15 5 (const int)
-0:15 6 (const int)
-0:15 7 (const int)
-0:15 8 (const int)
-0:15 9 (const int)
-0:16 Sequence
-0:16 move second child to first child (temp 2-element array of int)
-0:16 'im2' (global 2-element array of int)
-0:16 Constant:
-0:16 10 (const int)
-0:16 11 (const int)
-0:16 move second child to first child (temp 3-element array of int)
-0:16 'im3' (global 3-element array of int)
-0:16 Constant:
-0:16 12 (const int)
-0:16 13 (const int)
-0:16 14 (const int)
-0:17 Sequence
-0:17 move second child to first child (temp 4-element array of int)
-0:17 'in8' (global 4-element array of int)
-0:17 Constant:
-0:17 21 (const int)
-0:17 22 (const int)
-0:17 23 (const int)
-0:17 24 (const int)
-0:34 Sequence
-0:34 move second child to first child (temp 4-element array of int)
-0:34 'gl_vi4' (global 4-element array of int)
-0:34 Constant:
-0:34 1 (const int)
-0:34 2 (const int)
-0:34 3 (const int)
-0:34 4 (const int)
-0:35 Sequence
-0:35 move second child to first child (temp 5-element array of int)
-0:35 'gl_vk5' (global 5-element array of int)
-0:35 Constant:
-0:35 5 (const int)
-0:35 6 (const int)
-0:35 7 (const int)
-0:35 8 (const int)
-0:35 9 (const int)
-0:36 Sequence
-0:36 move second child to first child (temp 2-element array of int)
-0:36 'gl_vm2' (global 2-element array of int)
-0:36 Constant:
-0:36 10 (const int)
-0:36 11 (const int)
-0:36 move second child to first child (temp 3-element array of int)
-0:36 'gl_vm3' (global 3-element array of int)
-0:36 Constant:
-0:36 12 (const int)
-0:36 13 (const int)
-0:36 14 (const int)
-0:37 Sequence
-0:37 move second child to first child (temp 4-element array of int)
-0:37 'gl_vn8' (global 4-element array of int)
-0:37 Constant:
-0:37 21 (const int)
-0:37 22 (const int)
-0:37 23 (const int)
-0:37 24 (const int)
-0:39 Function Definition: main( (global void)
-0:39 Function Parameters:
-0:41 Sequence
-0:41 Loop with condition tested first
-0:41 Loop Condition
-0:41 move second child to first child (temp bool)
-0:41 'cond' (temp bool)
-0:41 Compare Less Than (temp bool)
-0:41 'b' (global int)
-0:41 'c' (global int)
-0:41 No loop body
-0:42 Loop with condition tested first
-0:42 Loop Condition
-0:42 move second child to first child (temp int)
-0:42 'icond' (temp int)
-0:42 'b' (global int)
-0:42 No loop body
-0:43 Loop with condition tested first
-0:43 Loop Condition
-0:43 move second child to first child (temp bool)
-0:43 'gl_cond' (temp bool)
-0:43 Compare Less Than (temp bool)
-0:43 'b' (global int)
-0:43 'c' (global int)
-0:43 No loop body
-0:46 Sequence
-0:46 move second child to first child (temp 4-element array of int)
-0:46 'foob__vi4' (global 4-element array of int)
-0:46 Constant:
-0:46 1 (const int)
-0:46 2 (const int)
-0:46 3 (const int)
-0:46 4 (const int)
-0:47 Sequence
-0:47 move second child to first child (temp 5-element array of int)
-0:47 'foob__vk5' (global 5-element array of int)
-0:47 Constant:
-0:47 5 (const int)
-0:47 6 (const int)
-0:47 7 (const int)
-0:47 8 (const int)
-0:47 9 (const int)
-0:48 Sequence
-0:48 move second child to first child (temp 2-element array of int)
-0:48 '__foobvm2' (global 2-element array of int)
-0:48 Constant:
-0:48 10 (const int)
-0:48 11 (const int)
-0:48 move second child to first child (temp 3-element array of int)
-0:48 '__foobvm3' (global 3-element array of int)
-0:48 Constant:
-0:48 12 (const int)
-0:48 13 (const int)
-0:48 14 (const int)
-0:49 Sequence
-0:49 move second child to first child (temp 4-element array of int)
-0:49 'foob__vn8' (global 4-element array of int)
-0:49 Constant:
-0:49 21 (const int)
-0:49 22 (const int)
-0:49 23 (const int)
-0:49 24 (const int)
-0:? Linker Objects
-0:? 'a' (global int)
-0:? 'b' (global int)
-0:? 'c' (global int)
-0:? 'd1' (global int)
-0:? 'e2' (global int)
-0:? 'f' (global int)
-0:? 'g' (global int)
-0:? 'h3' (global int)
-0:? 'i4' (global 4-element array of int)
-0:? 'j' (global int)
-0:? 'k5' (global 5-element array of int)
-0:? 'm6' (global 6-element array of int)
-0:? 'm7' (global 7-element array of int)
-0:? 'n8' (global 8-element array of int)
-0:? 'p' (global int)
-0:? 'ii4' (global 4-element array of int)
-0:? 'ij' (global int)
-0:? 'ik5' (global 5-element array of int)
-0:? 'im2' (global 2-element array of int)
-0:? 'im3' (global 3-element array of int)
-0:? 'in8' (global 4-element array of int)
-0:? 'ip' (global int)
-0:? 'cii4' (const 4-element array of int)
-0:? 1 (const int)
-0:? 2 (const int)
-0:? 3 (const int)
-0:? 4 (const int)
-0:? 'cij' (temp int)
-0:? 'cik5' (const 5-element array of int)
-0:? 5 (const int)
-0:? 6 (const int)
-0:? 7 (const int)
-0:? 8 (const int)
-0:? 9 (const int)
-0:? 'cim2' (const 2-element array of int)
-0:? 10 (const int)
-0:? 11 (const int)
-0:? 'cim3' (const 3-element array of int)
-0:? 12 (const int)
-0:? 13 (const int)
-0:? 14 (const int)
-0:? 'cin8' (const 4-element array of int)
-0:? 21 (const int)
-0:? 22 (const int)
-0:? 23 (const int)
-0:? 24 (const int)
-0:? 'cip' (temp int)
-0:? 'uii4' (uniform 4-element array of int)
-0:? 1 (const int)
-0:? 2 (const int)
-0:? 3 (const int)
-0:? 4 (const int)
-0:? 'uij' (uniform int)
-0:? 'uik5' (uniform 5-element array of int)
-0:? 5 (const int)
-0:? 6 (const int)
-0:? 7 (const int)
-0:? 8 (const int)
-0:? 9 (const int)
-0:? 'uim2' (uniform 2-element array of int)
-0:? 10 (const int)
-0:? 11 (const int)
-0:? 'uim3' (uniform 3-element array of int)
-0:? 12 (const int)
-0:? 13 (const int)
-0:? 14 (const int)
-0:? 'uin8' (uniform 4-element array of int)
-0:? 21 (const int)
-0:? 22 (const int)
-0:? 23 (const int)
-0:? 24 (const int)
-0:? 'uip' (uniform int)
-0:? 'gl_vi4' (global 4-element array of int)
-0:? 'gl_vj' (global int)
-0:? 'gl_vk5' (global 5-element array of int)
-0:? 'gl_vm2' (global 2-element array of int)
-0:? 'gl_vm3' (global 3-element array of int)
-0:? 'gl_vn8' (global 4-element array of int)
-0:? 'gl_vp' (global int)
-0:? 'foob__vi4' (global 4-element array of int)
-0:? 'foob__vj' (global int)
-0:? 'foob__vk5' (global 5-element array of int)
-0:? '__foobvm2' (global 2-element array of int)
-0:? '__foobvm3' (global 3-element array of int)
-0:? 'foob__vn8' (global 4-element array of int)
-0:? 'foob__vp' (global int)
-
+decls.frag
+ERROR: 0:19: 'vi4' : illegal use of type 'void'
+ERROR: 0:20: 'vj' : illegal use of type 'void'
+ERROR: 0:20: 'vk5' : illegal use of type 'void'
+ERROR: 0:21: 'vm2' : illegal use of type 'void'
+ERROR: 0:21: 'vm3' : illegal use of type 'void'
+ERROR: 0:22: 'vn8' : illegal use of type 'void'
+ERROR: 0:22: 'vp' : illegal use of type 'void'
+ERROR: 0:25: 'cij' : variables with qualifier 'const' must be initialized
+ERROR: 0:27: 'cip' : variables with qualifier 'const' must be initialized
+ERROR: 0:34: 'gl_vi4' : identifiers starting with "gl_" are reserved
+ERROR: 0:35: 'gl_vj' : identifiers starting with "gl_" are reserved
+ERROR: 0:35: 'gl_vk5' : identifiers starting with "gl_" are reserved
+ERROR: 0:36: 'gl_vm2' : identifiers starting with "gl_" are reserved
+ERROR: 0:36: 'gl_vm3' : identifiers starting with "gl_" are reserved
+ERROR: 0:37: 'gl_vn8' : identifiers starting with "gl_" are reserved
+ERROR: 0:37: 'gl_vp' : identifiers starting with "gl_" are reserved
+ERROR: 0:42: '' : boolean expression expected
+ERROR: 0:43: 'gl_cond' : identifiers starting with "gl_" are reserved
+WARNING: 0:46: 'foob__vi4' : identifiers containing consecutive underscores ("__") are reserved
+WARNING: 0:47: 'foob__vj' : identifiers containing consecutive underscores ("__") are reserved
+WARNING: 0:47: 'foob__vk5' : identifiers containing consecutive underscores ("__") are reserved
+WARNING: 0:48: '__foobvm2' : identifiers containing consecutive underscores ("__") are reserved
+WARNING: 0:48: '__foobvm3' : identifiers containing consecutive underscores ("__") are reserved
+WARNING: 0:49: 'foob__vn8' : identifiers containing consecutive underscores ("__") are reserved
+WARNING: 0:49: 'foob__vp' : identifiers containing consecutive underscores ("__") are reserved
+ERROR: 18 compilation errors. No code generated.
+
+
+Shader version: 120
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'd1' (global int)
+0:5 Constant:
+0:5 1 (const int)
+0:6 Sequence
+0:6 move second child to first child (temp int)
+0:6 'e2' (global int)
+0:6 Constant:
+0:6 2 (const int)
+0:7 Sequence
+0:7 move second child to first child (temp int)
+0:7 'h3' (global int)
+0:7 Constant:
+0:7 3 (const int)
+0:14 Sequence
+0:14 move second child to first child (temp 4-element array of int)
+0:14 'ii4' (global 4-element array of int)
+0:14 Constant:
+0:14 1 (const int)
+0:14 2 (const int)
+0:14 3 (const int)
+0:14 4 (const int)
+0:15 Sequence
+0:15 move second child to first child (temp 5-element array of int)
+0:15 'ik5' (global 5-element array of int)
+0:15 Constant:
+0:15 5 (const int)
+0:15 6 (const int)
+0:15 7 (const int)
+0:15 8 (const int)
+0:15 9 (const int)
+0:16 Sequence
+0:16 move second child to first child (temp 2-element array of int)
+0:16 'im2' (global 2-element array of int)
+0:16 Constant:
+0:16 10 (const int)
+0:16 11 (const int)
+0:16 move second child to first child (temp 3-element array of int)
+0:16 'im3' (global 3-element array of int)
+0:16 Constant:
+0:16 12 (const int)
+0:16 13 (const int)
+0:16 14 (const int)
+0:17 Sequence
+0:17 move second child to first child (temp 4-element array of int)
+0:17 'in8' (global 4-element array of int)
+0:17 Constant:
+0:17 21 (const int)
+0:17 22 (const int)
+0:17 23 (const int)
+0:17 24 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp 4-element array of int)
+0:34 'gl_vi4' (global 4-element array of int)
+0:34 Constant:
+0:34 1 (const int)
+0:34 2 (const int)
+0:34 3 (const int)
+0:34 4 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp 5-element array of int)
+0:35 'gl_vk5' (global 5-element array of int)
+0:35 Constant:
+0:35 5 (const int)
+0:35 6 (const int)
+0:35 7 (const int)
+0:35 8 (const int)
+0:35 9 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp 2-element array of int)
+0:36 'gl_vm2' (global 2-element array of int)
+0:36 Constant:
+0:36 10 (const int)
+0:36 11 (const int)
+0:36 move second child to first child (temp 3-element array of int)
+0:36 'gl_vm3' (global 3-element array of int)
+0:36 Constant:
+0:36 12 (const int)
+0:36 13 (const int)
+0:36 14 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp 4-element array of int)
+0:37 'gl_vn8' (global 4-element array of int)
+0:37 Constant:
+0:37 21 (const int)
+0:37 22 (const int)
+0:37 23 (const int)
+0:37 24 (const int)
+0:39 Function Definition: main( (global void)
+0:39 Function Parameters:
+0:41 Sequence
+0:41 Loop with condition tested first
+0:41 Loop Condition
+0:41 move second child to first child (temp bool)
+0:41 'cond' (temp bool)
+0:41 Compare Less Than (temp bool)
+0:41 'b' (global int)
+0:41 'c' (global int)
+0:41 No loop body
+0:42 Loop with condition tested first
+0:42 Loop Condition
+0:42 move second child to first child (temp int)
+0:42 'icond' (temp int)
+0:42 'b' (global int)
+0:42 No loop body
+0:43 Loop with condition tested first
+0:43 Loop Condition
+0:43 move second child to first child (temp bool)
+0:43 'gl_cond' (temp bool)
+0:43 Compare Less Than (temp bool)
+0:43 'b' (global int)
+0:43 'c' (global int)
+0:43 No loop body
+0:46 Sequence
+0:46 move second child to first child (temp 4-element array of int)
+0:46 'foob__vi4' (global 4-element array of int)
+0:46 Constant:
+0:46 1 (const int)
+0:46 2 (const int)
+0:46 3 (const int)
+0:46 4 (const int)
+0:47 Sequence
+0:47 move second child to first child (temp 5-element array of int)
+0:47 'foob__vk5' (global 5-element array of int)
+0:47 Constant:
+0:47 5 (const int)
+0:47 6 (const int)
+0:47 7 (const int)
+0:47 8 (const int)
+0:47 9 (const int)
+0:48 Sequence
+0:48 move second child to first child (temp 2-element array of int)
+0:48 '__foobvm2' (global 2-element array of int)
+0:48 Constant:
+0:48 10 (const int)
+0:48 11 (const int)
+0:48 move second child to first child (temp 3-element array of int)
+0:48 '__foobvm3' (global 3-element array of int)
+0:48 Constant:
+0:48 12 (const int)
+0:48 13 (const int)
+0:48 14 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp 4-element array of int)
+0:49 'foob__vn8' (global 4-element array of int)
+0:49 Constant:
+0:49 21 (const int)
+0:49 22 (const int)
+0:49 23 (const int)
+0:49 24 (const int)
+0:? Linker Objects
+0:? 'a' (global int)
+0:? 'b' (global int)
+0:? 'c' (global int)
+0:? 'd1' (global int)
+0:? 'e2' (global int)
+0:? 'f' (global int)
+0:? 'g' (global int)
+0:? 'h3' (global int)
+0:? 'i4' (global 4-element array of int)
+0:? 'j' (global int)
+0:? 'k5' (global 5-element array of int)
+0:? 'm6' (global 6-element array of int)
+0:? 'm7' (global 7-element array of int)
+0:? 'n8' (global 8-element array of int)
+0:? 'p' (global int)
+0:? 'ii4' (global 4-element array of int)
+0:? 'ij' (global int)
+0:? 'ik5' (global 5-element array of int)
+0:? 'im2' (global 2-element array of int)
+0:? 'im3' (global 3-element array of int)
+0:? 'in8' (global 4-element array of int)
+0:? 'ip' (global int)
+0:? 'cii4' (const 4-element array of int)
+0:? 1 (const int)
+0:? 2 (const int)
+0:? 3 (const int)
+0:? 4 (const int)
+0:? 'cij' (temp int)
+0:? 'cik5' (const 5-element array of int)
+0:? 5 (const int)
+0:? 6 (const int)
+0:? 7 (const int)
+0:? 8 (const int)
+0:? 9 (const int)
+0:? 'cim2' (const 2-element array of int)
+0:? 10 (const int)
+0:? 11 (const int)
+0:? 'cim3' (const 3-element array of int)
+0:? 12 (const int)
+0:? 13 (const int)
+0:? 14 (const int)
+0:? 'cin8' (const 4-element array of int)
+0:? 21 (const int)
+0:? 22 (const int)
+0:? 23 (const int)
+0:? 24 (const int)
+0:? 'cip' (temp int)
+0:? 'uii4' (uniform 4-element array of int)
+0:? 1 (const int)
+0:? 2 (const int)
+0:? 3 (const int)
+0:? 4 (const int)
+0:? 'uij' (uniform int)
+0:? 'uik5' (uniform 5-element array of int)
+0:? 5 (const int)
+0:? 6 (const int)
+0:? 7 (const int)
+0:? 8 (const int)
+0:? 9 (const int)
+0:? 'uim2' (uniform 2-element array of int)
+0:? 10 (const int)
+0:? 11 (const int)
+0:? 'uim3' (uniform 3-element array of int)
+0:? 12 (const int)
+0:? 13 (const int)
+0:? 14 (const int)
+0:? 'uin8' (uniform 4-element array of int)
+0:? 21 (const int)
+0:? 22 (const int)
+0:? 23 (const int)
+0:? 24 (const int)
+0:? 'uip' (uniform int)
+0:? 'gl_vi4' (global 4-element array of int)
+0:? 'gl_vj' (global int)
+0:? 'gl_vk5' (global 5-element array of int)
+0:? 'gl_vm2' (global 2-element array of int)
+0:? 'gl_vm3' (global 3-element array of int)
+0:? 'gl_vn8' (global 4-element array of int)
+0:? 'gl_vp' (global int)
+0:? 'foob__vi4' (global 4-element array of int)
+0:? 'foob__vj' (global int)
+0:? 'foob__vk5' (global 5-element array of int)
+0:? '__foobvm2' (global 2-element array of int)
+0:? '__foobvm3' (global 3-element array of int)
+0:? 'foob__vn8' (global 4-element array of int)
+0:? 'foob__vp' (global int)
+
+
+Linked fragment stage:
+
+
+Shader version: 120
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'd1' (global int)
+0:5 Constant:
+0:5 1 (const int)
+0:6 Sequence
+0:6 move second child to first child (temp int)
+0:6 'e2' (global int)
+0:6 Constant:
+0:6 2 (const int)
+0:7 Sequence
+0:7 move second child to first child (temp int)
+0:7 'h3' (global int)
+0:7 Constant:
+0:7 3 (const int)
+0:14 Sequence
+0:14 move second child to first child (temp 4-element array of int)
+0:14 'ii4' (global 4-element array of int)
+0:14 Constant:
+0:14 1 (const int)
+0:14 2 (const int)
+0:14 3 (const int)
+0:14 4 (const int)
+0:15 Sequence
+0:15 move second child to first child (temp 5-element array of int)
+0:15 'ik5' (global 5-element array of int)
+0:15 Constant:
+0:15 5 (const int)
+0:15 6 (const int)
+0:15 7 (const int)
+0:15 8 (const int)
+0:15 9 (const int)
+0:16 Sequence
+0:16 move second child to first child (temp 2-element array of int)
+0:16 'im2' (global 2-element array of int)
+0:16 Constant:
+0:16 10 (const int)
+0:16 11 (const int)
+0:16 move second child to first child (temp 3-element array of int)
+0:16 'im3' (global 3-element array of int)
+0:16 Constant:
+0:16 12 (const int)
+0:16 13 (const int)
+0:16 14 (const int)
+0:17 Sequence
+0:17 move second child to first child (temp 4-element array of int)
+0:17 'in8' (global 4-element array of int)
+0:17 Constant:
+0:17 21 (const int)
+0:17 22 (const int)
+0:17 23 (const int)
+0:17 24 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp 4-element array of int)
+0:34 'gl_vi4' (global 4-element array of int)
+0:34 Constant:
+0:34 1 (const int)
+0:34 2 (const int)
+0:34 3 (const int)
+0:34 4 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp 5-element array of int)
+0:35 'gl_vk5' (global 5-element array of int)
+0:35 Constant:
+0:35 5 (const int)
+0:35 6 (const int)
+0:35 7 (const int)
+0:35 8 (const int)
+0:35 9 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp 2-element array of int)
+0:36 'gl_vm2' (global 2-element array of int)
+0:36 Constant:
+0:36 10 (const int)
+0:36 11 (const int)
+0:36 move second child to first child (temp 3-element array of int)
+0:36 'gl_vm3' (global 3-element array of int)
+0:36 Constant:
+0:36 12 (const int)
+0:36 13 (const int)
+0:36 14 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp 4-element array of int)
+0:37 'gl_vn8' (global 4-element array of int)
+0:37 Constant:
+0:37 21 (const int)
+0:37 22 (const int)
+0:37 23 (const int)
+0:37 24 (const int)
+0:39 Function Definition: main( (global void)
+0:39 Function Parameters:
+0:41 Sequence
+0:41 Loop with condition tested first
+0:41 Loop Condition
+0:41 move second child to first child (temp bool)
+0:41 'cond' (temp bool)
+0:41 Compare Less Than (temp bool)
+0:41 'b' (global int)
+0:41 'c' (global int)
+0:41 No loop body
+0:42 Loop with condition tested first
+0:42 Loop Condition
+0:42 move second child to first child (temp int)
+0:42 'icond' (temp int)
+0:42 'b' (global int)
+0:42 No loop body
+0:43 Loop with condition tested first
+0:43 Loop Condition
+0:43 move second child to first child (temp bool)
+0:43 'gl_cond' (temp bool)
+0:43 Compare Less Than (temp bool)
+0:43 'b' (global int)
+0:43 'c' (global int)
+0:43 No loop body
+0:46 Sequence
+0:46 move second child to first child (temp 4-element array of int)
+0:46 'foob__vi4' (global 4-element array of int)
+0:46 Constant:
+0:46 1 (const int)
+0:46 2 (const int)
+0:46 3 (const int)
+0:46 4 (const int)
+0:47 Sequence
+0:47 move second child to first child (temp 5-element array of int)
+0:47 'foob__vk5' (global 5-element array of int)
+0:47 Constant:
+0:47 5 (const int)
+0:47 6 (const int)
+0:47 7 (const int)
+0:47 8 (const int)
+0:47 9 (const int)
+0:48 Sequence
+0:48 move second child to first child (temp 2-element array of int)
+0:48 '__foobvm2' (global 2-element array of int)
+0:48 Constant:
+0:48 10 (const int)
+0:48 11 (const int)
+0:48 move second child to first child (temp 3-element array of int)
+0:48 '__foobvm3' (global 3-element array of int)
+0:48 Constant:
+0:48 12 (const int)
+0:48 13 (const int)
+0:48 14 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp 4-element array of int)
+0:49 'foob__vn8' (global 4-element array of int)
+0:49 Constant:
+0:49 21 (const int)
+0:49 22 (const int)
+0:49 23 (const int)
+0:49 24 (const int)
+0:? Linker Objects
+0:? 'a' (global int)
+0:? 'b' (global int)
+0:? 'c' (global int)
+0:? 'd1' (global int)
+0:? 'e2' (global int)
+0:? 'f' (global int)
+0:? 'g' (global int)
+0:? 'h3' (global int)
+0:? 'i4' (global 4-element array of int)
+0:? 'j' (global int)
+0:? 'k5' (global 5-element array of int)
+0:? 'm6' (global 6-element array of int)
+0:? 'm7' (global 7-element array of int)
+0:? 'n8' (global 8-element array of int)
+0:? 'p' (global int)
+0:? 'ii4' (global 4-element array of int)
+0:? 'ij' (global int)
+0:? 'ik5' (global 5-element array of int)
+0:? 'im2' (global 2-element array of int)
+0:? 'im3' (global 3-element array of int)
+0:? 'in8' (global 4-element array of int)
+0:? 'ip' (global int)
+0:? 'cii4' (const 4-element array of int)
+0:? 1 (const int)
+0:? 2 (const int)
+0:? 3 (const int)
+0:? 4 (const int)
+0:? 'cij' (temp int)
+0:? 'cik5' (const 5-element array of int)
+0:? 5 (const int)
+0:? 6 (const int)
+0:? 7 (const int)
+0:? 8 (const int)
+0:? 9 (const int)
+0:? 'cim2' (const 2-element array of int)
+0:? 10 (const int)
+0:? 11 (const int)
+0:? 'cim3' (const 3-element array of int)
+0:? 12 (const int)
+0:? 13 (const int)
+0:? 14 (const int)
+0:? 'cin8' (const 4-element array of int)
+0:? 21 (const int)
+0:? 22 (const int)
+0:? 23 (const int)
+0:? 24 (const int)
+0:? 'cip' (temp int)
+0:? 'uii4' (uniform 4-element array of int)
+0:? 1 (const int)
+0:? 2 (const int)
+0:? 3 (const int)
+0:? 4 (const int)
+0:? 'uij' (uniform int)
+0:? 'uik5' (uniform 5-element array of int)
+0:? 5 (const int)
+0:? 6 (const int)
+0:? 7 (const int)
+0:? 8 (const int)
+0:? 9 (const int)
+0:? 'uim2' (uniform 2-element array of int)
+0:? 10 (const int)
+0:? 11 (const int)
+0:? 'uim3' (uniform 3-element array of int)
+0:? 12 (const int)
+0:? 13 (const int)
+0:? 14 (const int)
+0:? 'uin8' (uniform 4-element array of int)
+0:? 21 (const int)
+0:? 22 (const int)
+0:? 23 (const int)
+0:? 24 (const int)
+0:? 'uip' (uniform int)
+0:? 'gl_vi4' (global 4-element array of int)
+0:? 'gl_vj' (global int)
+0:? 'gl_vk5' (global 5-element array of int)
+0:? 'gl_vm2' (global 2-element array of int)
+0:? 'gl_vm3' (global 3-element array of int)
+0:? 'gl_vn8' (global 4-element array of int)
+0:? 'gl_vp' (global int)
+0:? 'foob__vi4' (global 4-element array of int)
+0:? 'foob__vj' (global int)
+0:? 'foob__vk5' (global 5-element array of int)
+0:? '__foobvm2' (global 2-element array of int)
+0:? '__foobvm3' (global 3-element array of int)
+0:? 'foob__vn8' (global 4-element array of int)
+0:? 'foob__vp' (global int)
+
diff --git a/Test/baseResults/deepRvalue.frag.out b/Test/baseResults/deepRvalue.frag.out
index 91e7816..9441ace 100644
--- a/Test/baseResults/deepRvalue.frag.out
+++ b/Test/baseResults/deepRvalue.frag.out
@@ -1,285 +1,285 @@
-deepRvalue.frag
-Shader version: 120
-0:? Sequence
-0:5 Sequence
-0:5 move second child to first child (temp 4-component vector of float)
-0:5 'v1' (global 4-component vector of float)
-0:5 Constant:
-0:5 2.000000
-0:5 3.000000
-0:5 5.000000
-0:5 7.000000
-0:6 Sequence
-0:6 move second child to first child (temp 4-component vector of float)
-0:6 'v2' (global 4-component vector of float)
-0:6 Constant:
-0:6 11.000000
-0:6 13.000000
-0:6 17.000000
-0:6 19.000000
-0:7 Sequence
-0:7 move second child to first child (temp 4-component vector of float)
-0:7 'v3' (global 4-component vector of float)
-0:7 Constant:
-0:7 23.000000
-0:7 29.000000
-0:7 31.000000
-0:7 37.000000
-0:8 Sequence
-0:8 move second child to first child (temp 4-component vector of float)
-0:8 'v4' (global 4-component vector of float)
-0:8 Constant:
-0:8 41.000000
-0:8 43.000000
-0:8 47.000000
-0:8 53.000000
-0:16 Function Definition: main( (global void)
-0:16 Function Parameters:
-0:18 Sequence
-0:18 Sequence
-0:18 move second child to first child (temp 4X4 matrix of float)
-0:18 'm' (temp 4X4 matrix of float)
-0:18 Construct mat4 (temp 4X4 matrix of float)
-0:18 'v1' (global 4-component vector of float)
-0:18 'v2' (global 4-component vector of float)
-0:18 'v3' (global 4-component vector of float)
-0:18 'v4' (global 4-component vector of float)
-0:20 Sequence
-0:20 move second child to first child (temp 4X4 matrix of float)
-0:20 'mm' (temp 4X4 matrix of float)
-0:20 component-wise multiply (global 4X4 matrix of float)
-0:20 'm' (temp 4X4 matrix of float)
-0:20 'm' (temp 4X4 matrix of float)
-0:21 Sequence
-0:21 move second child to first child (temp float)
-0:21 'f' (temp float)
-0:21 direct index (temp float)
-0:21 direct index (temp 4-component vector of float)
-0:21 'mm' (temp 4X4 matrix of float)
-0:21 Constant:
-0:21 1 (const int)
-0:21 Constant:
-0:21 3 (const int)
-0:24 Sequence
-0:24 move second child to first child (temp float)
-0:24 'g' (temp float)
-0:24 direct index (temp float)
-0:24 direct index (temp 4-component vector of float)
-0:24 component-wise multiply (global 4X4 matrix of float)
-0:24 'm' (temp 4X4 matrix of float)
-0:24 'm' (temp 4X4 matrix of float)
-0:24 Constant:
-0:24 2 (const int)
-0:24 Constant:
-0:24 1 (const int)
-0:26 Sequence
-0:26 move second child to first child (temp float)
-0:26 'h' (temp float)
-0:26 Constant:
-0:26 5.000000
-0:28 Sequence
-0:28 move second child to first child (temp float)
-0:28 'i' (temp float)
-0:28 direct index (temp float)
-0:28 texture (global 4-component vector of float)
-0:28 'sampler' (uniform sampler2D)
-0:28 Constant:
-0:28 0.500000
-0:28 0.500000
-0:28 Constant:
-0:28 1 (const int)
-0:30 add second child into first child (temp float)
-0:30 'i' (temp float)
-0:30 direct index (temp float)
-0:30 Test condition and select (temp 4-component vector of float)
-0:30 Condition
-0:30 Compare Greater Than (temp bool)
-0:30 'i' (temp float)
-0:30 Constant:
-0:30 0.100000
-0:30 true case
-0:30 'v1' (global 4-component vector of float)
-0:30 false case
-0:30 'v2' (global 4-component vector of float)
-0:30 Constant:
-0:30 3 (const int)
-0:33 add second child into first child (temp float)
-0:33 'i' (temp float)
-0:33 direct index (temp float)
-0:33 direct index (temp 2-component vector of float)
-0:33 b: direct index for structure (global 3-element array of 2-component vector of float)
-0:33 move second child to first child (temp structure{global int a, global 3-element array of 2-component vector of float b, global bool c})
-0:33 't' (temp structure{global int a, global 3-element array of 2-component vector of float b, global bool c})
-0:33 Constant:
-0:33 1 (const int)
-0:33 2.000000
-0:33 3.000000
-0:33 4.000000
-0:33 5.000000
-0:33 6.000000
-0:33 7.000000
-0:33 true (const bool)
-0:33 Constant:
-0:33 1 (const int)
-0:33 Constant:
-0:33 2 (const int)
-0:33 Constant:
-0:33 1 (const int)
-0:35 move second child to first child (temp 4-component vector of float)
-0:35 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:35 Construct vec4 (temp 4-component vector of float)
-0:35 'f' (temp float)
-0:35 'g' (temp float)
-0:35 'h' (temp float)
-0:35 'i' (temp float)
-0:? Linker Objects
-0:? 'sampler' (uniform sampler2D)
-0:? 'v1' (global 4-component vector of float)
-0:? 'v2' (global 4-component vector of float)
-0:? 'v3' (global 4-component vector of float)
-0:? 'v4' (global 4-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 120
-0:? Sequence
-0:5 Sequence
-0:5 move second child to first child (temp 4-component vector of float)
-0:5 'v1' (global 4-component vector of float)
-0:5 Constant:
-0:5 2.000000
-0:5 3.000000
-0:5 5.000000
-0:5 7.000000
-0:6 Sequence
-0:6 move second child to first child (temp 4-component vector of float)
-0:6 'v2' (global 4-component vector of float)
-0:6 Constant:
-0:6 11.000000
-0:6 13.000000
-0:6 17.000000
-0:6 19.000000
-0:7 Sequence
-0:7 move second child to first child (temp 4-component vector of float)
-0:7 'v3' (global 4-component vector of float)
-0:7 Constant:
-0:7 23.000000
-0:7 29.000000
-0:7 31.000000
-0:7 37.000000
-0:8 Sequence
-0:8 move second child to first child (temp 4-component vector of float)
-0:8 'v4' (global 4-component vector of float)
-0:8 Constant:
-0:8 41.000000
-0:8 43.000000
-0:8 47.000000
-0:8 53.000000
-0:16 Function Definition: main( (global void)
-0:16 Function Parameters:
-0:18 Sequence
-0:18 Sequence
-0:18 move second child to first child (temp 4X4 matrix of float)
-0:18 'm' (temp 4X4 matrix of float)
-0:18 Construct mat4 (temp 4X4 matrix of float)
-0:18 'v1' (global 4-component vector of float)
-0:18 'v2' (global 4-component vector of float)
-0:18 'v3' (global 4-component vector of float)
-0:18 'v4' (global 4-component vector of float)
-0:20 Sequence
-0:20 move second child to first child (temp 4X4 matrix of float)
-0:20 'mm' (temp 4X4 matrix of float)
-0:20 component-wise multiply (global 4X4 matrix of float)
-0:20 'm' (temp 4X4 matrix of float)
-0:20 'm' (temp 4X4 matrix of float)
-0:21 Sequence
-0:21 move second child to first child (temp float)
-0:21 'f' (temp float)
-0:21 direct index (temp float)
-0:21 direct index (temp 4-component vector of float)
-0:21 'mm' (temp 4X4 matrix of float)
-0:21 Constant:
-0:21 1 (const int)
-0:21 Constant:
-0:21 3 (const int)
-0:24 Sequence
-0:24 move second child to first child (temp float)
-0:24 'g' (temp float)
-0:24 direct index (temp float)
-0:24 direct index (temp 4-component vector of float)
-0:24 component-wise multiply (global 4X4 matrix of float)
-0:24 'm' (temp 4X4 matrix of float)
-0:24 'm' (temp 4X4 matrix of float)
-0:24 Constant:
-0:24 2 (const int)
-0:24 Constant:
-0:24 1 (const int)
-0:26 Sequence
-0:26 move second child to first child (temp float)
-0:26 'h' (temp float)
-0:26 Constant:
-0:26 5.000000
-0:28 Sequence
-0:28 move second child to first child (temp float)
-0:28 'i' (temp float)
-0:28 direct index (temp float)
-0:28 texture (global 4-component vector of float)
-0:28 'sampler' (uniform sampler2D)
-0:28 Constant:
-0:28 0.500000
-0:28 0.500000
-0:28 Constant:
-0:28 1 (const int)
-0:30 add second child into first child (temp float)
-0:30 'i' (temp float)
-0:30 direct index (temp float)
-0:30 Test condition and select (temp 4-component vector of float)
-0:30 Condition
-0:30 Compare Greater Than (temp bool)
-0:30 'i' (temp float)
-0:30 Constant:
-0:30 0.100000
-0:30 true case
-0:30 'v1' (global 4-component vector of float)
-0:30 false case
-0:30 'v2' (global 4-component vector of float)
-0:30 Constant:
-0:30 3 (const int)
-0:33 add second child into first child (temp float)
-0:33 'i' (temp float)
-0:33 direct index (temp float)
-0:33 direct index (temp 2-component vector of float)
-0:33 b: direct index for structure (global 3-element array of 2-component vector of float)
-0:33 move second child to first child (temp structure{global int a, global 3-element array of 2-component vector of float b, global bool c})
-0:33 't' (temp structure{global int a, global 3-element array of 2-component vector of float b, global bool c})
-0:33 Constant:
-0:33 1 (const int)
-0:33 2.000000
-0:33 3.000000
-0:33 4.000000
-0:33 5.000000
-0:33 6.000000
-0:33 7.000000
-0:33 true (const bool)
-0:33 Constant:
-0:33 1 (const int)
-0:33 Constant:
-0:33 2 (const int)
-0:33 Constant:
-0:33 1 (const int)
-0:35 move second child to first child (temp 4-component vector of float)
-0:35 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:35 Construct vec4 (temp 4-component vector of float)
-0:35 'f' (temp float)
-0:35 'g' (temp float)
-0:35 'h' (temp float)
-0:35 'i' (temp float)
-0:? Linker Objects
-0:? 'sampler' (uniform sampler2D)
-0:? 'v1' (global 4-component vector of float)
-0:? 'v2' (global 4-component vector of float)
-0:? 'v3' (global 4-component vector of float)
-0:? 'v4' (global 4-component vector of float)
-
+deepRvalue.frag
+Shader version: 120
+0:? Sequence
+0:5 Sequence
+0:5 move second child to first child (temp 4-component vector of float)
+0:5 'v1' (global 4-component vector of float)
+0:5 Constant:
+0:5 2.000000
+0:5 3.000000
+0:5 5.000000
+0:5 7.000000
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'v2' (global 4-component vector of float)
+0:6 Constant:
+0:6 11.000000
+0:6 13.000000
+0:6 17.000000
+0:6 19.000000
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 'v3' (global 4-component vector of float)
+0:7 Constant:
+0:7 23.000000
+0:7 29.000000
+0:7 31.000000
+0:7 37.000000
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'v4' (global 4-component vector of float)
+0:8 Constant:
+0:8 41.000000
+0:8 43.000000
+0:8 47.000000
+0:8 53.000000
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:18 Sequence
+0:18 Sequence
+0:18 move second child to first child (temp 4X4 matrix of float)
+0:18 'm' (temp 4X4 matrix of float)
+0:18 Construct mat4 (temp 4X4 matrix of float)
+0:18 'v1' (global 4-component vector of float)
+0:18 'v2' (global 4-component vector of float)
+0:18 'v3' (global 4-component vector of float)
+0:18 'v4' (global 4-component vector of float)
+0:20 Sequence
+0:20 move second child to first child (temp 4X4 matrix of float)
+0:20 'mm' (temp 4X4 matrix of float)
+0:20 component-wise multiply (global 4X4 matrix of float)
+0:20 'm' (temp 4X4 matrix of float)
+0:20 'm' (temp 4X4 matrix of float)
+0:21 Sequence
+0:21 move second child to first child (temp float)
+0:21 'f' (temp float)
+0:21 direct index (temp float)
+0:21 direct index (temp 4-component vector of float)
+0:21 'mm' (temp 4X4 matrix of float)
+0:21 Constant:
+0:21 1 (const int)
+0:21 Constant:
+0:21 3 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'g' (temp float)
+0:24 direct index (temp float)
+0:24 direct index (temp 4-component vector of float)
+0:24 component-wise multiply (global 4X4 matrix of float)
+0:24 'm' (temp 4X4 matrix of float)
+0:24 'm' (temp 4X4 matrix of float)
+0:24 Constant:
+0:24 2 (const int)
+0:24 Constant:
+0:24 1 (const int)
+0:26 Sequence
+0:26 move second child to first child (temp float)
+0:26 'h' (temp float)
+0:26 Constant:
+0:26 5.000000
+0:28 Sequence
+0:28 move second child to first child (temp float)
+0:28 'i' (temp float)
+0:28 direct index (temp float)
+0:28 texture (global 4-component vector of float)
+0:28 'sampler' (uniform sampler2D)
+0:28 Constant:
+0:28 0.500000
+0:28 0.500000
+0:28 Constant:
+0:28 1 (const int)
+0:30 add second child into first child (temp float)
+0:30 'i' (temp float)
+0:30 direct index (temp float)
+0:30 Test condition and select (temp 4-component vector of float)
+0:30 Condition
+0:30 Compare Greater Than (temp bool)
+0:30 'i' (temp float)
+0:30 Constant:
+0:30 0.100000
+0:30 true case
+0:30 'v1' (global 4-component vector of float)
+0:30 false case
+0:30 'v2' (global 4-component vector of float)
+0:30 Constant:
+0:30 3 (const int)
+0:33 add second child into first child (temp float)
+0:33 'i' (temp float)
+0:33 direct index (temp float)
+0:33 direct index (temp 2-component vector of float)
+0:33 b: direct index for structure (global 3-element array of 2-component vector of float)
+0:33 move second child to first child (temp structure{global int a, global 3-element array of 2-component vector of float b, global bool c})
+0:33 't' (temp structure{global int a, global 3-element array of 2-component vector of float b, global bool c})
+0:33 Constant:
+0:33 1 (const int)
+0:33 2.000000
+0:33 3.000000
+0:33 4.000000
+0:33 5.000000
+0:33 6.000000
+0:33 7.000000
+0:33 true (const bool)
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:35 move second child to first child (temp 4-component vector of float)
+0:35 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:35 Construct vec4 (temp 4-component vector of float)
+0:35 'f' (temp float)
+0:35 'g' (temp float)
+0:35 'h' (temp float)
+0:35 'i' (temp float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'v1' (global 4-component vector of float)
+0:? 'v2' (global 4-component vector of float)
+0:? 'v3' (global 4-component vector of float)
+0:? 'v4' (global 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 120
+0:? Sequence
+0:5 Sequence
+0:5 move second child to first child (temp 4-component vector of float)
+0:5 'v1' (global 4-component vector of float)
+0:5 Constant:
+0:5 2.000000
+0:5 3.000000
+0:5 5.000000
+0:5 7.000000
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'v2' (global 4-component vector of float)
+0:6 Constant:
+0:6 11.000000
+0:6 13.000000
+0:6 17.000000
+0:6 19.000000
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 'v3' (global 4-component vector of float)
+0:7 Constant:
+0:7 23.000000
+0:7 29.000000
+0:7 31.000000
+0:7 37.000000
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'v4' (global 4-component vector of float)
+0:8 Constant:
+0:8 41.000000
+0:8 43.000000
+0:8 47.000000
+0:8 53.000000
+0:16 Function Definition: main( (global void)
+0:16 Function Parameters:
+0:18 Sequence
+0:18 Sequence
+0:18 move second child to first child (temp 4X4 matrix of float)
+0:18 'm' (temp 4X4 matrix of float)
+0:18 Construct mat4 (temp 4X4 matrix of float)
+0:18 'v1' (global 4-component vector of float)
+0:18 'v2' (global 4-component vector of float)
+0:18 'v3' (global 4-component vector of float)
+0:18 'v4' (global 4-component vector of float)
+0:20 Sequence
+0:20 move second child to first child (temp 4X4 matrix of float)
+0:20 'mm' (temp 4X4 matrix of float)
+0:20 component-wise multiply (global 4X4 matrix of float)
+0:20 'm' (temp 4X4 matrix of float)
+0:20 'm' (temp 4X4 matrix of float)
+0:21 Sequence
+0:21 move second child to first child (temp float)
+0:21 'f' (temp float)
+0:21 direct index (temp float)
+0:21 direct index (temp 4-component vector of float)
+0:21 'mm' (temp 4X4 matrix of float)
+0:21 Constant:
+0:21 1 (const int)
+0:21 Constant:
+0:21 3 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp float)
+0:24 'g' (temp float)
+0:24 direct index (temp float)
+0:24 direct index (temp 4-component vector of float)
+0:24 component-wise multiply (global 4X4 matrix of float)
+0:24 'm' (temp 4X4 matrix of float)
+0:24 'm' (temp 4X4 matrix of float)
+0:24 Constant:
+0:24 2 (const int)
+0:24 Constant:
+0:24 1 (const int)
+0:26 Sequence
+0:26 move second child to first child (temp float)
+0:26 'h' (temp float)
+0:26 Constant:
+0:26 5.000000
+0:28 Sequence
+0:28 move second child to first child (temp float)
+0:28 'i' (temp float)
+0:28 direct index (temp float)
+0:28 texture (global 4-component vector of float)
+0:28 'sampler' (uniform sampler2D)
+0:28 Constant:
+0:28 0.500000
+0:28 0.500000
+0:28 Constant:
+0:28 1 (const int)
+0:30 add second child into first child (temp float)
+0:30 'i' (temp float)
+0:30 direct index (temp float)
+0:30 Test condition and select (temp 4-component vector of float)
+0:30 Condition
+0:30 Compare Greater Than (temp bool)
+0:30 'i' (temp float)
+0:30 Constant:
+0:30 0.100000
+0:30 true case
+0:30 'v1' (global 4-component vector of float)
+0:30 false case
+0:30 'v2' (global 4-component vector of float)
+0:30 Constant:
+0:30 3 (const int)
+0:33 add second child into first child (temp float)
+0:33 'i' (temp float)
+0:33 direct index (temp float)
+0:33 direct index (temp 2-component vector of float)
+0:33 b: direct index for structure (global 3-element array of 2-component vector of float)
+0:33 move second child to first child (temp structure{global int a, global 3-element array of 2-component vector of float b, global bool c})
+0:33 't' (temp structure{global int a, global 3-element array of 2-component vector of float b, global bool c})
+0:33 Constant:
+0:33 1 (const int)
+0:33 2.000000
+0:33 3.000000
+0:33 4.000000
+0:33 5.000000
+0:33 6.000000
+0:33 7.000000
+0:33 true (const bool)
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:35 move second child to first child (temp 4-component vector of float)
+0:35 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:35 Construct vec4 (temp 4-component vector of float)
+0:35 'f' (temp float)
+0:35 'g' (temp float)
+0:35 'h' (temp float)
+0:35 'i' (temp float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'v1' (global 4-component vector of float)
+0:? 'v2' (global 4-component vector of float)
+0:? 'v3' (global 4-component vector of float)
+0:? 'v4' (global 4-component vector of float)
+
diff --git a/Test/baseResults/depthOut.frag.out b/Test/baseResults/depthOut.frag.out
index 635ae6f..0177b39 100644
--- a/Test/baseResults/depthOut.frag.out
+++ b/Test/baseResults/depthOut.frag.out
@@ -1,38 +1,38 @@
-depthOut.frag
-WARNING: 0:3: varying deprecated in version 130; may be removed in future release
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-
-Shader version: 130
-0:? Sequence
-0:6 Function Definition: main( (global void)
-0:6 Function Parameters:
-0:8 Sequence
-0:8 move second child to first child (temp float)
-0:8 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:8 'Depth' (smooth in float)
-0:9 move second child to first child (temp 4-component vector of float)
-0:9 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:9 'Color' (smooth in 4-component vector of float)
-0:? Linker Objects
-0:? 'Color' (smooth in 4-component vector of float)
-0:? 'Depth' (smooth in float)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:6 Function Definition: main( (global void)
-0:6 Function Parameters:
-0:8 Sequence
-0:8 move second child to first child (temp float)
-0:8 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:8 'Depth' (smooth in float)
-0:9 move second child to first child (temp 4-component vector of float)
-0:9 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:9 'Color' (smooth in 4-component vector of float)
-0:? Linker Objects
-0:? 'Color' (smooth in 4-component vector of float)
-0:? 'Depth' (smooth in float)
-
+depthOut.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:8 'Depth' (smooth in float)
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:9 'Color' (smooth in 4-component vector of float)
+0:? Linker Objects
+0:? 'Color' (smooth in 4-component vector of float)
+0:? 'Depth' (smooth in float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 move second child to first child (temp float)
+0:8 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:8 'Depth' (smooth in float)
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:9 'Color' (smooth in 4-component vector of float)
+0:? Linker Objects
+0:? 'Color' (smooth in 4-component vector of float)
+0:? 'Depth' (smooth in float)
+
diff --git a/Test/baseResults/discard-dce.frag.out b/Test/baseResults/discard-dce.frag.out
index 0a412f4..9b194c7 100644
--- a/Test/baseResults/discard-dce.frag.out
+++ b/Test/baseResults/discard-dce.frag.out
@@ -1,239 +1,239 @@
-discard-dce.frag
-Shader version: 110
-0:? Sequence
-0:4 Function Definition: main( (global void)
-0:4 Function Parameters:
-0:6 Sequence
-0:6 Sequence
-0:6 move second child to first child (temp 4-component vector of float)
-0:6 'white' (temp 4-component vector of float)
-0:6 Constant:
-0:6 1.000000
-0:6 1.000000
-0:6 1.000000
-0:6 1.000000
-0:7 Sequence
-0:7 move second child to first child (temp 4-component vector of float)
-0:7 'black' (temp 4-component vector of float)
-0:7 Constant:
-0:7 0.200000
-0:7 0.200000
-0:7 0.200000
-0:7 0.200000
-0:8 Sequence
-0:8 move second child to first child (temp 4-component vector of float)
-0:8 'color' (temp 4-component vector of float)
-0:8 'white' (temp 4-component vector of float)
-0:11 Sequence
-0:11 move second child to first child (temp float)
-0:11 'x' (temp float)
-0:11 subtract (temp float)
-0:11 component-wise multiply (temp float)
-0:11 direct index (temp float)
-0:11 'tex_coord' (smooth in 2-component vector of float)
-0:11 Constant:
-0:11 0 (const int)
-0:11 Constant:
-0:11 2.000000
-0:11 Constant:
-0:11 1.000000
-0:12 Sequence
-0:12 move second child to first child (temp float)
-0:12 'y' (temp float)
-0:12 subtract (temp float)
-0:12 component-wise multiply (temp float)
-0:12 direct index (temp float)
-0:12 'tex_coord' (smooth in 2-component vector of float)
-0:12 Constant:
-0:12 1 (const int)
-0:12 Constant:
-0:12 2.000000
-0:12 Constant:
-0:12 1.000000
-0:14 Sequence
-0:14 move second child to first child (temp float)
-0:14 'radius' (temp float)
-0:14 sqrt (global float)
-0:14 add (temp float)
-0:14 component-wise multiply (temp float)
-0:14 'x' (temp float)
-0:14 'x' (temp float)
-0:14 component-wise multiply (temp float)
-0:14 'y' (temp float)
-0:14 'y' (temp float)
-0:15 Test condition and select (temp void)
-0:15 Condition
-0:15 Compare Greater Than (temp bool)
-0:15 'radius' (temp float)
-0:15 Constant:
-0:15 1.000000
-0:15 true case
-0:16 Sequence
-0:16 Test condition and select (temp void)
-0:16 Condition
-0:16 Compare Greater Than (temp bool)
-0:16 'radius' (temp float)
-0:16 Constant:
-0:16 1.100000
-0:16 true case
-0:17 Sequence
-0:17 Pre-Increment (temp 4-component vector of float)
-0:17 'color' (temp 4-component vector of float)
-0:20 move second child to first child (temp 4-component vector of float)
-0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:20 'color' (temp 4-component vector of float)
-0:22 Test condition and select (temp void)
-0:22 Condition
-0:22 Compare Greater Than (temp bool)
-0:22 'radius' (temp float)
-0:22 Constant:
-0:22 1.200000
-0:22 true case
-0:23 Sequence
-0:23 Pre-Increment (temp 4-component vector of float)
-0:23 'color' (temp 4-component vector of float)
-0:26 Branch: Kill
-0:30 Test condition and select (temp void)
-0:30 Condition
-0:30 Compare Greater Than or Equal (temp bool)
-0:30 'radius' (temp float)
-0:30 Constant:
-0:30 0.750000
-0:30 true case
-0:31 subtract second child into first child (temp 4-component vector of float)
-0:31 'color' (temp 4-component vector of float)
-0:31 Absolute value (global float)
-0:31 divide (temp float)
-0:31 pow (global float)
-0:31 'radius' (temp float)
-0:31 Constant:
-0:31 16.000000
-0:31 Constant:
-0:31 2.000000
-0:33 move second child to first child (temp 4-component vector of float)
-0:33 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:33 'color' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'tex_coord' (smooth in 2-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 110
-0:? Sequence
-0:4 Function Definition: main( (global void)
-0:4 Function Parameters:
-0:6 Sequence
-0:6 Sequence
-0:6 move second child to first child (temp 4-component vector of float)
-0:6 'white' (temp 4-component vector of float)
-0:6 Constant:
-0:6 1.000000
-0:6 1.000000
-0:6 1.000000
-0:6 1.000000
-0:7 Sequence
-0:7 move second child to first child (temp 4-component vector of float)
-0:7 'black' (temp 4-component vector of float)
-0:7 Constant:
-0:7 0.200000
-0:7 0.200000
-0:7 0.200000
-0:7 0.200000
-0:8 Sequence
-0:8 move second child to first child (temp 4-component vector of float)
-0:8 'color' (temp 4-component vector of float)
-0:8 'white' (temp 4-component vector of float)
-0:11 Sequence
-0:11 move second child to first child (temp float)
-0:11 'x' (temp float)
-0:11 subtract (temp float)
-0:11 component-wise multiply (temp float)
-0:11 direct index (temp float)
-0:11 'tex_coord' (smooth in 2-component vector of float)
-0:11 Constant:
-0:11 0 (const int)
-0:11 Constant:
-0:11 2.000000
-0:11 Constant:
-0:11 1.000000
-0:12 Sequence
-0:12 move second child to first child (temp float)
-0:12 'y' (temp float)
-0:12 subtract (temp float)
-0:12 component-wise multiply (temp float)
-0:12 direct index (temp float)
-0:12 'tex_coord' (smooth in 2-component vector of float)
-0:12 Constant:
-0:12 1 (const int)
-0:12 Constant:
-0:12 2.000000
-0:12 Constant:
-0:12 1.000000
-0:14 Sequence
-0:14 move second child to first child (temp float)
-0:14 'radius' (temp float)
-0:14 sqrt (global float)
-0:14 add (temp float)
-0:14 component-wise multiply (temp float)
-0:14 'x' (temp float)
-0:14 'x' (temp float)
-0:14 component-wise multiply (temp float)
-0:14 'y' (temp float)
-0:14 'y' (temp float)
-0:15 Test condition and select (temp void)
-0:15 Condition
-0:15 Compare Greater Than (temp bool)
-0:15 'radius' (temp float)
-0:15 Constant:
-0:15 1.000000
-0:15 true case
-0:16 Sequence
-0:16 Test condition and select (temp void)
-0:16 Condition
-0:16 Compare Greater Than (temp bool)
-0:16 'radius' (temp float)
-0:16 Constant:
-0:16 1.100000
-0:16 true case
-0:17 Sequence
-0:17 Pre-Increment (temp 4-component vector of float)
-0:17 'color' (temp 4-component vector of float)
-0:20 move second child to first child (temp 4-component vector of float)
-0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:20 'color' (temp 4-component vector of float)
-0:22 Test condition and select (temp void)
-0:22 Condition
-0:22 Compare Greater Than (temp bool)
-0:22 'radius' (temp float)
-0:22 Constant:
-0:22 1.200000
-0:22 true case
-0:23 Sequence
-0:23 Pre-Increment (temp 4-component vector of float)
-0:23 'color' (temp 4-component vector of float)
-0:26 Branch: Kill
-0:30 Test condition and select (temp void)
-0:30 Condition
-0:30 Compare Greater Than or Equal (temp bool)
-0:30 'radius' (temp float)
-0:30 Constant:
-0:30 0.750000
-0:30 true case
-0:31 subtract second child into first child (temp 4-component vector of float)
-0:31 'color' (temp 4-component vector of float)
-0:31 Absolute value (global float)
-0:31 divide (temp float)
-0:31 pow (global float)
-0:31 'radius' (temp float)
-0:31 Constant:
-0:31 16.000000
-0:31 Constant:
-0:31 2.000000
-0:33 move second child to first child (temp 4-component vector of float)
-0:33 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:33 'color' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'tex_coord' (smooth in 2-component vector of float)
-
+discard-dce.frag
+Shader version: 110
+0:? Sequence
+0:4 Function Definition: main( (global void)
+0:4 Function Parameters:
+0:6 Sequence
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'white' (temp 4-component vector of float)
+0:6 Constant:
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 'black' (temp 4-component vector of float)
+0:7 Constant:
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'color' (temp 4-component vector of float)
+0:8 'white' (temp 4-component vector of float)
+0:11 Sequence
+0:11 move second child to first child (temp float)
+0:11 'x' (temp float)
+0:11 subtract (temp float)
+0:11 component-wise multiply (temp float)
+0:11 direct index (temp float)
+0:11 'tex_coord' (smooth in 2-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 Constant:
+0:11 2.000000
+0:11 Constant:
+0:11 1.000000
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'y' (temp float)
+0:12 subtract (temp float)
+0:12 component-wise multiply (temp float)
+0:12 direct index (temp float)
+0:12 'tex_coord' (smooth in 2-component vector of float)
+0:12 Constant:
+0:12 1 (const int)
+0:12 Constant:
+0:12 2.000000
+0:12 Constant:
+0:12 1.000000
+0:14 Sequence
+0:14 move second child to first child (temp float)
+0:14 'radius' (temp float)
+0:14 sqrt (global float)
+0:14 add (temp float)
+0:14 component-wise multiply (temp float)
+0:14 'x' (temp float)
+0:14 'x' (temp float)
+0:14 component-wise multiply (temp float)
+0:14 'y' (temp float)
+0:14 'y' (temp float)
+0:15 Test condition and select (temp void)
+0:15 Condition
+0:15 Compare Greater Than (temp bool)
+0:15 'radius' (temp float)
+0:15 Constant:
+0:15 1.000000
+0:15 true case
+0:16 Sequence
+0:16 Test condition and select (temp void)
+0:16 Condition
+0:16 Compare Greater Than (temp bool)
+0:16 'radius' (temp float)
+0:16 Constant:
+0:16 1.100000
+0:16 true case
+0:17 Sequence
+0:17 Pre-Increment (temp 4-component vector of float)
+0:17 'color' (temp 4-component vector of float)
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:20 'color' (temp 4-component vector of float)
+0:22 Test condition and select (temp void)
+0:22 Condition
+0:22 Compare Greater Than (temp bool)
+0:22 'radius' (temp float)
+0:22 Constant:
+0:22 1.200000
+0:22 true case
+0:23 Sequence
+0:23 Pre-Increment (temp 4-component vector of float)
+0:23 'color' (temp 4-component vector of float)
+0:26 Branch: Kill
+0:30 Test condition and select (temp void)
+0:30 Condition
+0:30 Compare Greater Than or Equal (temp bool)
+0:30 'radius' (temp float)
+0:30 Constant:
+0:30 0.750000
+0:30 true case
+0:31 subtract second child into first child (temp 4-component vector of float)
+0:31 'color' (temp 4-component vector of float)
+0:31 Absolute value (global float)
+0:31 divide (temp float)
+0:31 pow (global float)
+0:31 'radius' (temp float)
+0:31 Constant:
+0:31 16.000000
+0:31 Constant:
+0:31 2.000000
+0:33 move second child to first child (temp 4-component vector of float)
+0:33 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:33 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'tex_coord' (smooth in 2-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:4 Function Definition: main( (global void)
+0:4 Function Parameters:
+0:6 Sequence
+0:6 Sequence
+0:6 move second child to first child (temp 4-component vector of float)
+0:6 'white' (temp 4-component vector of float)
+0:6 Constant:
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:6 1.000000
+0:7 Sequence
+0:7 move second child to first child (temp 4-component vector of float)
+0:7 'black' (temp 4-component vector of float)
+0:7 Constant:
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:7 0.200000
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'color' (temp 4-component vector of float)
+0:8 'white' (temp 4-component vector of float)
+0:11 Sequence
+0:11 move second child to first child (temp float)
+0:11 'x' (temp float)
+0:11 subtract (temp float)
+0:11 component-wise multiply (temp float)
+0:11 direct index (temp float)
+0:11 'tex_coord' (smooth in 2-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 Constant:
+0:11 2.000000
+0:11 Constant:
+0:11 1.000000
+0:12 Sequence
+0:12 move second child to first child (temp float)
+0:12 'y' (temp float)
+0:12 subtract (temp float)
+0:12 component-wise multiply (temp float)
+0:12 direct index (temp float)
+0:12 'tex_coord' (smooth in 2-component vector of float)
+0:12 Constant:
+0:12 1 (const int)
+0:12 Constant:
+0:12 2.000000
+0:12 Constant:
+0:12 1.000000
+0:14 Sequence
+0:14 move second child to first child (temp float)
+0:14 'radius' (temp float)
+0:14 sqrt (global float)
+0:14 add (temp float)
+0:14 component-wise multiply (temp float)
+0:14 'x' (temp float)
+0:14 'x' (temp float)
+0:14 component-wise multiply (temp float)
+0:14 'y' (temp float)
+0:14 'y' (temp float)
+0:15 Test condition and select (temp void)
+0:15 Condition
+0:15 Compare Greater Than (temp bool)
+0:15 'radius' (temp float)
+0:15 Constant:
+0:15 1.000000
+0:15 true case
+0:16 Sequence
+0:16 Test condition and select (temp void)
+0:16 Condition
+0:16 Compare Greater Than (temp bool)
+0:16 'radius' (temp float)
+0:16 Constant:
+0:16 1.100000
+0:16 true case
+0:17 Sequence
+0:17 Pre-Increment (temp 4-component vector of float)
+0:17 'color' (temp 4-component vector of float)
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:20 'color' (temp 4-component vector of float)
+0:22 Test condition and select (temp void)
+0:22 Condition
+0:22 Compare Greater Than (temp bool)
+0:22 'radius' (temp float)
+0:22 Constant:
+0:22 1.200000
+0:22 true case
+0:23 Sequence
+0:23 Pre-Increment (temp 4-component vector of float)
+0:23 'color' (temp 4-component vector of float)
+0:26 Branch: Kill
+0:30 Test condition and select (temp void)
+0:30 Condition
+0:30 Compare Greater Than or Equal (temp bool)
+0:30 'radius' (temp float)
+0:30 Constant:
+0:30 0.750000
+0:30 true case
+0:31 subtract second child into first child (temp 4-component vector of float)
+0:31 'color' (temp 4-component vector of float)
+0:31 Absolute value (global float)
+0:31 divide (temp float)
+0:31 pow (global float)
+0:31 'radius' (temp float)
+0:31 Constant:
+0:31 16.000000
+0:31 Constant:
+0:31 2.000000
+0:33 move second child to first child (temp 4-component vector of float)
+0:33 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:33 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'tex_coord' (smooth in 2-component vector of float)
+
diff --git a/Test/baseResults/doWhileLoop.frag.out b/Test/baseResults/doWhileLoop.frag.out
index 526df03..4cfbea9 100644
--- a/Test/baseResults/doWhileLoop.frag.out
+++ b/Test/baseResults/doWhileLoop.frag.out
@@ -1,65 +1,65 @@
-doWhileLoop.frag
-Shader version: 110
-0:? Sequence
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:9 Sequence
-0:9 Sequence
-0:9 move second child to first child (temp 4-component vector of float)
-0:9 'color' (temp 4-component vector of float)
-0:9 'BaseColor' (smooth in 4-component vector of float)
-0:13 Loop with condition not tested first
-0:13 Loop Condition
-0:13 Compare Less Than (temp bool)
-0:13 direct index (temp float)
-0:13 'color' (temp 4-component vector of float)
-0:13 Constant:
-0:13 0 (const int)
-0:13 'd' (uniform float)
-0:13 Loop Body
-0:12 Sequence
-0:12 add second child into first child (temp 4-component vector of float)
-0:12 'color' (temp 4-component vector of float)
-0:12 'bigColor' (uniform 4-component vector of float)
-0:15 move second child to first child (temp 4-component vector of float)
-0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:15 'color' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-
-
-Linked fragment stage:
-
-
-Shader version: 110
-0:? Sequence
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:9 Sequence
-0:9 Sequence
-0:9 move second child to first child (temp 4-component vector of float)
-0:9 'color' (temp 4-component vector of float)
-0:9 'BaseColor' (smooth in 4-component vector of float)
-0:13 Loop with condition not tested first
-0:13 Loop Condition
-0:13 Compare Less Than (temp bool)
-0:13 direct index (temp float)
-0:13 'color' (temp 4-component vector of float)
-0:13 Constant:
-0:13 0 (const int)
-0:13 'd' (uniform float)
-0:13 Loop Body
-0:12 Sequence
-0:12 add second child into first child (temp 4-component vector of float)
-0:12 'color' (temp 4-component vector of float)
-0:12 'bigColor' (uniform 4-component vector of float)
-0:15 move second child to first child (temp 4-component vector of float)
-0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:15 'color' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-
+doWhileLoop.frag
+Shader version: 110
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'color' (temp 4-component vector of float)
+0:9 'BaseColor' (smooth in 4-component vector of float)
+0:13 Loop with condition not tested first
+0:13 Loop Condition
+0:13 Compare Less Than (temp bool)
+0:13 direct index (temp float)
+0:13 'color' (temp 4-component vector of float)
+0:13 Constant:
+0:13 0 (const int)
+0:13 'd' (uniform float)
+0:13 Loop Body
+0:12 Sequence
+0:12 add second child into first child (temp 4-component vector of float)
+0:12 'color' (temp 4-component vector of float)
+0:12 'bigColor' (uniform 4-component vector of float)
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:15 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'color' (temp 4-component vector of float)
+0:9 'BaseColor' (smooth in 4-component vector of float)
+0:13 Loop with condition not tested first
+0:13 Loop Condition
+0:13 Compare Less Than (temp bool)
+0:13 direct index (temp float)
+0:13 'color' (temp 4-component vector of float)
+0:13 Constant:
+0:13 0 (const int)
+0:13 'd' (uniform float)
+0:13 Loop Body
+0:12 Sequence
+0:12 add second child into first child (temp 4-component vector of float)
+0:12 'color' (temp 4-component vector of float)
+0:12 'bigColor' (uniform 4-component vector of float)
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:15 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
diff --git a/Test/baseResults/earlyReturnDiscard.frag.out b/Test/baseResults/earlyReturnDiscard.frag.out
index 925e168..160b756 100644
--- a/Test/baseResults/earlyReturnDiscard.frag.out
+++ b/Test/baseResults/earlyReturnDiscard.frag.out
@@ -1,257 +1,257 @@
-earlyReturnDiscard.frag
-Shader version: 110
-0:? Sequence
-0:19 Function Definition: main( (global void)
-0:19 Function Parameters:
-0:21 Sequence
-0:21 Sequence
-0:21 move second child to first child (temp 4-component vector of float)
-0:21 'color' (temp 4-component vector of float)
-0:21 'BaseColor' (smooth in 4-component vector of float)
-0:24 move second child to first child (temp 4-component vector of float)
-0:24 'color2' (temp 4-component vector of float)
-0:24 'otherColor' (uniform 4-component vector of float)
-0:26 Test condition and select (temp void)
-0:26 Condition
-0:26 Compare Greater Than (temp bool)
-0:26 'c' (smooth in float)
-0:26 'd' (uniform float)
-0:26 true case
-0:27 add second child into first child (temp 4-component vector of float)
-0:27 'color' (temp 4-component vector of float)
-0:27 'bigColor' (uniform 4-component vector of float)
-0:26 false case
-0:29 add second child into first child (temp 4-component vector of float)
-0:29 'color' (temp 4-component vector of float)
-0:29 'smallColor' (uniform 4-component vector of float)
-0:31 Test condition and select (temp void)
-0:31 Condition
-0:31 Compare Less Than (temp bool)
-0:31 direct index (temp float)
-0:31 'color' (temp 4-component vector of float)
-0:31 Constant:
-0:31 2 (const int)
-0:31 'minimum' (uniform float)
-0:31 true case
-0:32 Branch: Return
-0:34 Post-Increment (temp float)
-0:34 direct index (temp float)
-0:34 'color' (temp 4-component vector of float)
-0:34 Constant:
-0:34 2 (const int)
-0:36 Test condition and select (temp void)
-0:36 Condition
-0:36 Compare Greater Than (temp bool)
-0:36 direct index (temp float)
-0:36 'color' (temp 4-component vector of float)
-0:36 Constant:
-0:36 2 (const int)
-0:36 'threshhold' (uniform float)
-0:36 true case
-0:37 Branch: Kill
-0:39 Post-Increment (temp 4-component vector of float)
-0:39 'color' (temp 4-component vector of float)
-0:42 Test condition and select (temp void)
-0:42 Condition
-0:42 Compare Greater Than (temp bool)
-0:42 direct index (temp float)
-0:42 'color' (temp 4-component vector of float)
-0:42 Constant:
-0:42 3 (const int)
-0:42 'threshhold2' (uniform float)
-0:42 true case
-0:43 Sequence
-0:43 Test condition and select (temp void)
-0:43 Condition
-0:43 Compare Greater Than (temp bool)
-0:43 direct index (temp float)
-0:43 'color' (temp 4-component vector of float)
-0:43 Constant:
-0:43 2 (const int)
-0:43 'threshhold2' (uniform float)
-0:43 true case
-0:44 Branch: Return
-0:43 false case
-0:45 Test condition and select (temp void)
-0:45 Condition
-0:45 'b' (uniform bool)
-0:45 true case
-0:46 Post-Increment (temp float)
-0:46 direct index (temp float)
-0:46 'color' (temp 4-component vector of float)
-0:46 Constant:
-0:46 2 (const int)
-0:45 false case
-0:48 Sequence
-0:48 Test condition and select (temp void)
-0:48 Condition
-0:48 Compare Less Than (temp bool)
-0:48 direct index (temp float)
-0:48 'color' (temp 4-component vector of float)
-0:48 Constant:
-0:48 0 (const int)
-0:48 'minimum' (uniform float)
-0:48 true case
-0:49 Sequence
-0:49 Branch: Kill
-0:48 false case
-0:51 Sequence
-0:51 Post-Increment (temp 4-component vector of float)
-0:51 'color' (temp 4-component vector of float)
-0:42 false case
-0:55 Sequence
-0:55 Test condition and select (temp void)
-0:55 Condition
-0:55 'b' (uniform bool)
-0:55 true case
-0:56 Branch: Kill
-0:55 false case
-0:58 Branch: Return
-0:101 move second child to first child (temp 4-component vector of float)
-0:101 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:101 component-wise multiply (temp 4-component vector of float)
-0:101 'color' (temp 4-component vector of float)
-0:101 'color2' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'd' (uniform float)
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'smallColor' (uniform 4-component vector of float)
-0:? 'otherColor' (uniform 4-component vector of float)
-0:? 'c' (smooth in float)
-0:? 'threshhold' (uniform float)
-0:? 'threshhold2' (uniform float)
-0:? 'threshhold3' (uniform float)
-0:? 'minimum' (uniform float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'b' (uniform bool)
-
-
-Linked fragment stage:
-
-
-Shader version: 110
-0:? Sequence
-0:19 Function Definition: main( (global void)
-0:19 Function Parameters:
-0:21 Sequence
-0:21 Sequence
-0:21 move second child to first child (temp 4-component vector of float)
-0:21 'color' (temp 4-component vector of float)
-0:21 'BaseColor' (smooth in 4-component vector of float)
-0:24 move second child to first child (temp 4-component vector of float)
-0:24 'color2' (temp 4-component vector of float)
-0:24 'otherColor' (uniform 4-component vector of float)
-0:26 Test condition and select (temp void)
-0:26 Condition
-0:26 Compare Greater Than (temp bool)
-0:26 'c' (smooth in float)
-0:26 'd' (uniform float)
-0:26 true case
-0:27 add second child into first child (temp 4-component vector of float)
-0:27 'color' (temp 4-component vector of float)
-0:27 'bigColor' (uniform 4-component vector of float)
-0:26 false case
-0:29 add second child into first child (temp 4-component vector of float)
-0:29 'color' (temp 4-component vector of float)
-0:29 'smallColor' (uniform 4-component vector of float)
-0:31 Test condition and select (temp void)
-0:31 Condition
-0:31 Compare Less Than (temp bool)
-0:31 direct index (temp float)
-0:31 'color' (temp 4-component vector of float)
-0:31 Constant:
-0:31 2 (const int)
-0:31 'minimum' (uniform float)
-0:31 true case
-0:32 Branch: Return
-0:34 Post-Increment (temp float)
-0:34 direct index (temp float)
-0:34 'color' (temp 4-component vector of float)
-0:34 Constant:
-0:34 2 (const int)
-0:36 Test condition and select (temp void)
-0:36 Condition
-0:36 Compare Greater Than (temp bool)
-0:36 direct index (temp float)
-0:36 'color' (temp 4-component vector of float)
-0:36 Constant:
-0:36 2 (const int)
-0:36 'threshhold' (uniform float)
-0:36 true case
-0:37 Branch: Kill
-0:39 Post-Increment (temp 4-component vector of float)
-0:39 'color' (temp 4-component vector of float)
-0:42 Test condition and select (temp void)
-0:42 Condition
-0:42 Compare Greater Than (temp bool)
-0:42 direct index (temp float)
-0:42 'color' (temp 4-component vector of float)
-0:42 Constant:
-0:42 3 (const int)
-0:42 'threshhold2' (uniform float)
-0:42 true case
-0:43 Sequence
-0:43 Test condition and select (temp void)
-0:43 Condition
-0:43 Compare Greater Than (temp bool)
-0:43 direct index (temp float)
-0:43 'color' (temp 4-component vector of float)
-0:43 Constant:
-0:43 2 (const int)
-0:43 'threshhold2' (uniform float)
-0:43 true case
-0:44 Branch: Return
-0:43 false case
-0:45 Test condition and select (temp void)
-0:45 Condition
-0:45 'b' (uniform bool)
-0:45 true case
-0:46 Post-Increment (temp float)
-0:46 direct index (temp float)
-0:46 'color' (temp 4-component vector of float)
-0:46 Constant:
-0:46 2 (const int)
-0:45 false case
-0:48 Sequence
-0:48 Test condition and select (temp void)
-0:48 Condition
-0:48 Compare Less Than (temp bool)
-0:48 direct index (temp float)
-0:48 'color' (temp 4-component vector of float)
-0:48 Constant:
-0:48 0 (const int)
-0:48 'minimum' (uniform float)
-0:48 true case
-0:49 Sequence
-0:49 Branch: Kill
-0:48 false case
-0:51 Sequence
-0:51 Post-Increment (temp 4-component vector of float)
-0:51 'color' (temp 4-component vector of float)
-0:42 false case
-0:55 Sequence
-0:55 Test condition and select (temp void)
-0:55 Condition
-0:55 'b' (uniform bool)
-0:55 true case
-0:56 Branch: Kill
-0:55 false case
-0:58 Branch: Return
-0:101 move second child to first child (temp 4-component vector of float)
-0:101 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:101 component-wise multiply (temp 4-component vector of float)
-0:101 'color' (temp 4-component vector of float)
-0:101 'color2' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'd' (uniform float)
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'smallColor' (uniform 4-component vector of float)
-0:? 'otherColor' (uniform 4-component vector of float)
-0:? 'c' (smooth in float)
-0:? 'threshhold' (uniform float)
-0:? 'threshhold2' (uniform float)
-0:? 'threshhold3' (uniform float)
-0:? 'minimum' (uniform float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'b' (uniform bool)
-
+earlyReturnDiscard.frag
+Shader version: 110
+0:? Sequence
+0:19 Function Definition: main( (global void)
+0:19 Function Parameters:
+0:21 Sequence
+0:21 Sequence
+0:21 move second child to first child (temp 4-component vector of float)
+0:21 'color' (temp 4-component vector of float)
+0:21 'BaseColor' (smooth in 4-component vector of float)
+0:24 move second child to first child (temp 4-component vector of float)
+0:24 'color2' (temp 4-component vector of float)
+0:24 'otherColor' (uniform 4-component vector of float)
+0:26 Test condition and select (temp void)
+0:26 Condition
+0:26 Compare Greater Than (temp bool)
+0:26 'c' (smooth in float)
+0:26 'd' (uniform float)
+0:26 true case
+0:27 add second child into first child (temp 4-component vector of float)
+0:27 'color' (temp 4-component vector of float)
+0:27 'bigColor' (uniform 4-component vector of float)
+0:26 false case
+0:29 add second child into first child (temp 4-component vector of float)
+0:29 'color' (temp 4-component vector of float)
+0:29 'smallColor' (uniform 4-component vector of float)
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Compare Less Than (temp bool)
+0:31 direct index (temp float)
+0:31 'color' (temp 4-component vector of float)
+0:31 Constant:
+0:31 2 (const int)
+0:31 'minimum' (uniform float)
+0:31 true case
+0:32 Branch: Return
+0:34 Post-Increment (temp float)
+0:34 direct index (temp float)
+0:34 'color' (temp 4-component vector of float)
+0:34 Constant:
+0:34 2 (const int)
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 Compare Greater Than (temp bool)
+0:36 direct index (temp float)
+0:36 'color' (temp 4-component vector of float)
+0:36 Constant:
+0:36 2 (const int)
+0:36 'threshhold' (uniform float)
+0:36 true case
+0:37 Branch: Kill
+0:39 Post-Increment (temp 4-component vector of float)
+0:39 'color' (temp 4-component vector of float)
+0:42 Test condition and select (temp void)
+0:42 Condition
+0:42 Compare Greater Than (temp bool)
+0:42 direct index (temp float)
+0:42 'color' (temp 4-component vector of float)
+0:42 Constant:
+0:42 3 (const int)
+0:42 'threshhold2' (uniform float)
+0:42 true case
+0:43 Sequence
+0:43 Test condition and select (temp void)
+0:43 Condition
+0:43 Compare Greater Than (temp bool)
+0:43 direct index (temp float)
+0:43 'color' (temp 4-component vector of float)
+0:43 Constant:
+0:43 2 (const int)
+0:43 'threshhold2' (uniform float)
+0:43 true case
+0:44 Branch: Return
+0:43 false case
+0:45 Test condition and select (temp void)
+0:45 Condition
+0:45 'b' (uniform bool)
+0:45 true case
+0:46 Post-Increment (temp float)
+0:46 direct index (temp float)
+0:46 'color' (temp 4-component vector of float)
+0:46 Constant:
+0:46 2 (const int)
+0:45 false case
+0:48 Sequence
+0:48 Test condition and select (temp void)
+0:48 Condition
+0:48 Compare Less Than (temp bool)
+0:48 direct index (temp float)
+0:48 'color' (temp 4-component vector of float)
+0:48 Constant:
+0:48 0 (const int)
+0:48 'minimum' (uniform float)
+0:48 true case
+0:49 Sequence
+0:49 Branch: Kill
+0:48 false case
+0:51 Sequence
+0:51 Post-Increment (temp 4-component vector of float)
+0:51 'color' (temp 4-component vector of float)
+0:42 false case
+0:55 Sequence
+0:55 Test condition and select (temp void)
+0:55 Condition
+0:55 'b' (uniform bool)
+0:55 true case
+0:56 Branch: Kill
+0:55 false case
+0:58 Branch: Return
+0:101 move second child to first child (temp 4-component vector of float)
+0:101 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:101 component-wise multiply (temp 4-component vector of float)
+0:101 'color' (temp 4-component vector of float)
+0:101 'color2' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'd' (uniform float)
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'smallColor' (uniform 4-component vector of float)
+0:? 'otherColor' (uniform 4-component vector of float)
+0:? 'c' (smooth in float)
+0:? 'threshhold' (uniform float)
+0:? 'threshhold2' (uniform float)
+0:? 'threshhold3' (uniform float)
+0:? 'minimum' (uniform float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'b' (uniform bool)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:19 Function Definition: main( (global void)
+0:19 Function Parameters:
+0:21 Sequence
+0:21 Sequence
+0:21 move second child to first child (temp 4-component vector of float)
+0:21 'color' (temp 4-component vector of float)
+0:21 'BaseColor' (smooth in 4-component vector of float)
+0:24 move second child to first child (temp 4-component vector of float)
+0:24 'color2' (temp 4-component vector of float)
+0:24 'otherColor' (uniform 4-component vector of float)
+0:26 Test condition and select (temp void)
+0:26 Condition
+0:26 Compare Greater Than (temp bool)
+0:26 'c' (smooth in float)
+0:26 'd' (uniform float)
+0:26 true case
+0:27 add second child into first child (temp 4-component vector of float)
+0:27 'color' (temp 4-component vector of float)
+0:27 'bigColor' (uniform 4-component vector of float)
+0:26 false case
+0:29 add second child into first child (temp 4-component vector of float)
+0:29 'color' (temp 4-component vector of float)
+0:29 'smallColor' (uniform 4-component vector of float)
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Compare Less Than (temp bool)
+0:31 direct index (temp float)
+0:31 'color' (temp 4-component vector of float)
+0:31 Constant:
+0:31 2 (const int)
+0:31 'minimum' (uniform float)
+0:31 true case
+0:32 Branch: Return
+0:34 Post-Increment (temp float)
+0:34 direct index (temp float)
+0:34 'color' (temp 4-component vector of float)
+0:34 Constant:
+0:34 2 (const int)
+0:36 Test condition and select (temp void)
+0:36 Condition
+0:36 Compare Greater Than (temp bool)
+0:36 direct index (temp float)
+0:36 'color' (temp 4-component vector of float)
+0:36 Constant:
+0:36 2 (const int)
+0:36 'threshhold' (uniform float)
+0:36 true case
+0:37 Branch: Kill
+0:39 Post-Increment (temp 4-component vector of float)
+0:39 'color' (temp 4-component vector of float)
+0:42 Test condition and select (temp void)
+0:42 Condition
+0:42 Compare Greater Than (temp bool)
+0:42 direct index (temp float)
+0:42 'color' (temp 4-component vector of float)
+0:42 Constant:
+0:42 3 (const int)
+0:42 'threshhold2' (uniform float)
+0:42 true case
+0:43 Sequence
+0:43 Test condition and select (temp void)
+0:43 Condition
+0:43 Compare Greater Than (temp bool)
+0:43 direct index (temp float)
+0:43 'color' (temp 4-component vector of float)
+0:43 Constant:
+0:43 2 (const int)
+0:43 'threshhold2' (uniform float)
+0:43 true case
+0:44 Branch: Return
+0:43 false case
+0:45 Test condition and select (temp void)
+0:45 Condition
+0:45 'b' (uniform bool)
+0:45 true case
+0:46 Post-Increment (temp float)
+0:46 direct index (temp float)
+0:46 'color' (temp 4-component vector of float)
+0:46 Constant:
+0:46 2 (const int)
+0:45 false case
+0:48 Sequence
+0:48 Test condition and select (temp void)
+0:48 Condition
+0:48 Compare Less Than (temp bool)
+0:48 direct index (temp float)
+0:48 'color' (temp 4-component vector of float)
+0:48 Constant:
+0:48 0 (const int)
+0:48 'minimum' (uniform float)
+0:48 true case
+0:49 Sequence
+0:49 Branch: Kill
+0:48 false case
+0:51 Sequence
+0:51 Post-Increment (temp 4-component vector of float)
+0:51 'color' (temp 4-component vector of float)
+0:42 false case
+0:55 Sequence
+0:55 Test condition and select (temp void)
+0:55 Condition
+0:55 'b' (uniform bool)
+0:55 true case
+0:56 Branch: Kill
+0:55 false case
+0:58 Branch: Return
+0:101 move second child to first child (temp 4-component vector of float)
+0:101 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:101 component-wise multiply (temp 4-component vector of float)
+0:101 'color' (temp 4-component vector of float)
+0:101 'color2' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'd' (uniform float)
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'smallColor' (uniform 4-component vector of float)
+0:? 'otherColor' (uniform 4-component vector of float)
+0:? 'c' (smooth in float)
+0:? 'threshhold' (uniform float)
+0:? 'threshhold2' (uniform float)
+0:? 'threshhold3' (uniform float)
+0:? 'minimum' (uniform float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'b' (uniform bool)
+
diff --git a/Test/baseResults/empty.frag.out b/Test/baseResults/empty.frag.out
index dadf076..d3c244a 100644
--- a/Test/baseResults/empty.frag.out
+++ b/Test/baseResults/empty.frag.out
@@ -1,28 +1,28 @@
-empty.frag
-Shader version: 100
-0:? Sequence
-0:? Linker Objects
-
-empty2.frag
-Shader version: 100
-0:? Sequence
-0:? Linker Objects
-
-empty3.frag
-Shader version: 110
-0:? Sequence
-0:? Linker Objects
-
-
-Linked fragment stage:
-
-ERROR: Linking fragment stage: Cannot mix ES profile with non-ES profile shaders
-
-ERROR: Linking fragment stage: Cannot mix ES profile with non-ES profile shaders
-
-ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point
-
-Shader version: 110
-0:? Sequence
-0:? Linker Objects
-
+empty.frag
+Shader version: 100
+0:? Sequence
+0:? Linker Objects
+
+empty2.frag
+Shader version: 100
+0:? Sequence
+0:? Linker Objects
+
+empty3.frag
+Shader version: 110
+0:? Sequence
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Cannot mix ES profile with non-ES profile shaders
+
+ERROR: Linking fragment stage: Cannot mix ES profile with non-ES profile shaders
+
+ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point
+
+Shader version: 110
+0:? Sequence
+0:? Linker Objects
+
diff --git a/Test/baseResults/errors.frag.out b/Test/baseResults/errors.frag.out
index 1d7939b..f1e06d2 100644
--- a/Test/baseResults/errors.frag.out
+++ b/Test/baseResults/errors.frag.out
@@ -1,32 +1,32 @@
-errors.frag
-ERROR: 0:1: 'main' : function cannot take any parameter(s)
-ERROR: 0:1: 'int' : main function cannot return a value
-ERROR: 2 compilation errors. No code generated.
-
-
-Shader version: 100
-ERROR: node is still EOpNull!
-0:1 Function Definition: main(i1; (global mediump int)
-0:1 Function Parameters:
-0:1 'foo' (in mediump int)
-0:3 Sequence
-0:3 Branch: Return with expression
-0:3 Constant:
-0:3 1 (const int)
-0:? Linker Objects
-
-
-Linked fragment stage:
-
-
-Shader version: 100
-ERROR: node is still EOpNull!
-0:1 Function Definition: main(i1; (global mediump int)
-0:1 Function Parameters:
-0:1 'foo' (in mediump int)
-0:3 Sequence
-0:3 Branch: Return with expression
-0:3 Constant:
-0:3 1 (const int)
-0:? Linker Objects
-
+errors.frag
+ERROR: 0:1: 'main' : function cannot take any parameter(s)
+ERROR: 0:1: 'int' : main function cannot return a value
+ERROR: 2 compilation errors. No code generated.
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:1 Function Definition: main(i1; (global mediump int)
+0:1 Function Parameters:
+0:1 'foo' (in mediump int)
+0:3 Sequence
+0:3 Branch: Return with expression
+0:3 Constant:
+0:3 1 (const int)
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:1 Function Definition: main(i1; (global mediump int)
+0:1 Function Parameters:
+0:1 'foo' (in mediump int)
+0:3 Sequence
+0:3 Branch: Return with expression
+0:3 Constant:
+0:3 1 (const int)
+0:? Linker Objects
+
diff --git a/Test/baseResults/flowControl.frag.out b/Test/baseResults/flowControl.frag.out
index ddeb820..324da06 100644
--- a/Test/baseResults/flowControl.frag.out
+++ b/Test/baseResults/flowControl.frag.out
@@ -1,81 +1,81 @@
-flowControl.frag
-Shader version: 120
-0:? Sequence
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:12 Sequence
-0:12 Sequence
-0:12 move second child to first child (temp 4-component vector of float)
-0:12 'color' (temp 4-component vector of float)
-0:12 'BaseColor' (smooth in 4-component vector of float)
-0:15 move second child to first child (temp 4-component vector of float)
-0:15 'color2' (temp 4-component vector of float)
-0:15 'otherColor' (uniform 4-component vector of float)
-0:17 Test condition and select (temp void)
-0:17 Condition
-0:17 Compare Greater Than (temp bool)
-0:17 'c' (smooth in float)
-0:17 'd' (uniform float)
-0:17 true case
-0:18 add second child into first child (temp 4-component vector of float)
-0:18 'color' (temp 4-component vector of float)
-0:18 'bigColor' (uniform 4-component vector of float)
-0:17 false case
-0:20 add second child into first child (temp 4-component vector of float)
-0:20 'color' (temp 4-component vector of float)
-0:20 'smallColor' (uniform 4-component vector of float)
-0:22 move second child to first child (temp 4-component vector of float)
-0:22 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:22 component-wise multiply (temp 4-component vector of float)
-0:22 'color' (temp 4-component vector of float)
-0:22 'color2' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'd' (uniform float)
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'smallColor' (uniform 4-component vector of float)
-0:? 'otherColor' (uniform 4-component vector of float)
-0:? 'c' (smooth in float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 120
-0:? Sequence
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:12 Sequence
-0:12 Sequence
-0:12 move second child to first child (temp 4-component vector of float)
-0:12 'color' (temp 4-component vector of float)
-0:12 'BaseColor' (smooth in 4-component vector of float)
-0:15 move second child to first child (temp 4-component vector of float)
-0:15 'color2' (temp 4-component vector of float)
-0:15 'otherColor' (uniform 4-component vector of float)
-0:17 Test condition and select (temp void)
-0:17 Condition
-0:17 Compare Greater Than (temp bool)
-0:17 'c' (smooth in float)
-0:17 'd' (uniform float)
-0:17 true case
-0:18 add second child into first child (temp 4-component vector of float)
-0:18 'color' (temp 4-component vector of float)
-0:18 'bigColor' (uniform 4-component vector of float)
-0:17 false case
-0:20 add second child into first child (temp 4-component vector of float)
-0:20 'color' (temp 4-component vector of float)
-0:20 'smallColor' (uniform 4-component vector of float)
-0:22 move second child to first child (temp 4-component vector of float)
-0:22 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:22 component-wise multiply (temp 4-component vector of float)
-0:22 'color' (temp 4-component vector of float)
-0:22 'color2' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'd' (uniform float)
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'smallColor' (uniform 4-component vector of float)
-0:? 'otherColor' (uniform 4-component vector of float)
-0:? 'c' (smooth in float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-
+flowControl.frag
+Shader version: 120
+0:? Sequence
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp 4-component vector of float)
+0:12 'color' (temp 4-component vector of float)
+0:12 'BaseColor' (smooth in 4-component vector of float)
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'color2' (temp 4-component vector of float)
+0:15 'otherColor' (uniform 4-component vector of float)
+0:17 Test condition and select (temp void)
+0:17 Condition
+0:17 Compare Greater Than (temp bool)
+0:17 'c' (smooth in float)
+0:17 'd' (uniform float)
+0:17 true case
+0:18 add second child into first child (temp 4-component vector of float)
+0:18 'color' (temp 4-component vector of float)
+0:18 'bigColor' (uniform 4-component vector of float)
+0:17 false case
+0:20 add second child into first child (temp 4-component vector of float)
+0:20 'color' (temp 4-component vector of float)
+0:20 'smallColor' (uniform 4-component vector of float)
+0:22 move second child to first child (temp 4-component vector of float)
+0:22 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:22 component-wise multiply (temp 4-component vector of float)
+0:22 'color' (temp 4-component vector of float)
+0:22 'color2' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'd' (uniform float)
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'smallColor' (uniform 4-component vector of float)
+0:? 'otherColor' (uniform 4-component vector of float)
+0:? 'c' (smooth in float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 120
+0:? Sequence
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp 4-component vector of float)
+0:12 'color' (temp 4-component vector of float)
+0:12 'BaseColor' (smooth in 4-component vector of float)
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'color2' (temp 4-component vector of float)
+0:15 'otherColor' (uniform 4-component vector of float)
+0:17 Test condition and select (temp void)
+0:17 Condition
+0:17 Compare Greater Than (temp bool)
+0:17 'c' (smooth in float)
+0:17 'd' (uniform float)
+0:17 true case
+0:18 add second child into first child (temp 4-component vector of float)
+0:18 'color' (temp 4-component vector of float)
+0:18 'bigColor' (uniform 4-component vector of float)
+0:17 false case
+0:20 add second child into first child (temp 4-component vector of float)
+0:20 'color' (temp 4-component vector of float)
+0:20 'smallColor' (uniform 4-component vector of float)
+0:22 move second child to first child (temp 4-component vector of float)
+0:22 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:22 component-wise multiply (temp 4-component vector of float)
+0:22 'color' (temp 4-component vector of float)
+0:22 'color2' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'd' (uniform float)
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'smallColor' (uniform 4-component vector of float)
+0:? 'otherColor' (uniform 4-component vector of float)
+0:? 'c' (smooth in float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+
diff --git a/Test/baseResults/forLoop.frag.out b/Test/baseResults/forLoop.frag.out
index ace2158..babd30e 100644
--- a/Test/baseResults/forLoop.frag.out
+++ b/Test/baseResults/forLoop.frag.out
@@ -1,361 +1,361 @@
-forLoop.frag
-Shader version: 130
-0:? Sequence
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:12 Sequence
-0:12 Sequence
-0:12 move second child to first child (temp 4-component vector of float)
-0:12 'color' (temp 4-component vector of float)
-0:12 'BaseColor' (smooth in 4-component vector of float)
-0:14 Sequence
-0:14 Sequence
-0:14 move second child to first child (temp int)
-0:14 'i' (temp int)
-0:14 Constant:
-0:14 0 (const int)
-0:14 Loop with condition tested first
-0:14 Loop Condition
-0:14 Compare Less Than (temp bool)
-0:14 'i' (temp int)
-0:14 'Count' (uniform int)
-0:14 Loop Body
-0:15 Sequence
-0:15 add second child into first child (temp 4-component vector of float)
-0:15 'color' (temp 4-component vector of float)
-0:15 'bigColor' (uniform 4-component vector of float)
-0:14 Loop Terminal Expression
-0:14 Pre-Increment (temp int)
-0:14 'i' (temp int)
-0:18 move second child to first child (temp 4-component vector of float)
-0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:18 'color' (temp 4-component vector of float)
-0:20 Sequence
-0:20 move second child to first child (temp float)
-0:20 'sum' (temp float)
-0:20 Constant:
-0:20 0.000000
-0:21 Sequence
-0:21 Sequence
-0:21 move second child to first child (temp int)
-0:21 'i' (temp int)
-0:21 Constant:
-0:21 0 (const int)
-0:21 Loop with condition tested first
-0:21 Loop Condition
-0:21 Compare Less Than (temp bool)
-0:21 'i' (temp int)
-0:21 Constant:
-0:21 4 (const int)
-0:21 Loop Body
-0:22 add second child into first child (temp float)
-0:22 'sum' (temp float)
-0:22 Convert uint to float (temp float)
-0:22 indirect index (temp uint)
-0:22 'v4' (uniform 4-component vector of uint)
-0:22 'i' (temp int)
-0:21 Loop Terminal Expression
-0:21 Pre-Increment (temp int)
-0:21 'i' (temp int)
-0:26 Sequence
-0:26 Sequence
-0:26 move second child to first child (temp int)
-0:26 'i' (temp int)
-0:26 Constant:
-0:26 0 (const int)
-0:26 Loop with condition tested first
-0:26 Loop Condition
-0:26 Compare Less Than (temp bool)
-0:26 'i' (temp int)
-0:26 Constant:
-0:26 4 (const int)
-0:26 Loop Body
-0:27 move second child to first child (temp float)
-0:27 indirect index (temp float)
-0:27 'tv4' (temp 4-component vector of float)
-0:27 'i' (temp int)
-0:27 Convert uint to float (temp float)
-0:27 component-wise multiply (temp uint)
-0:27 indirect index (temp uint)
-0:27 'v4' (uniform 4-component vector of uint)
-0:27 'i' (temp int)
-0:27 Constant:
-0:27 4 (const uint)
-0:26 Loop Terminal Expression
-0:26 Pre-Increment (temp int)
-0:26 'i' (temp int)
-0:29 add second child into first child (temp 4-component vector of float)
-0:29 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:29 add (temp 4-component vector of float)
-0:29 Construct vec4 (temp 4-component vector of float)
-0:29 'sum' (temp float)
-0:29 'tv4' (temp 4-component vector of float)
-0:32 move second child to first child (temp 3-component vector of float)
-0:32 vector swizzle (temp 3-component vector of float)
-0:32 'r' (temp 4-component vector of float)
-0:32 Sequence
-0:32 Constant:
-0:32 0 (const int)
-0:32 Constant:
-0:32 1 (const int)
-0:32 Constant:
-0:32 2 (const int)
-0:32 vector swizzle (temp 3-component vector of float)
-0:32 'BaseColor' (smooth in 4-component vector of float)
-0:32 Sequence
-0:32 Constant:
-0:32 0 (const int)
-0:32 Constant:
-0:32 1 (const int)
-0:32 Constant:
-0:32 2 (const int)
-0:34 Sequence
-0:34 Sequence
-0:34 move second child to first child (temp int)
-0:34 'i' (temp int)
-0:34 Constant:
-0:34 0 (const int)
-0:34 Loop with condition tested first
-0:34 Loop Condition
-0:34 Compare Less Than (temp bool)
-0:34 'i' (temp int)
-0:34 'Count' (uniform int)
-0:34 Loop Body
-0:35 move second child to first child (temp float)
-0:35 direct index (temp float)
-0:35 'r' (temp 4-component vector of float)
-0:35 Constant:
-0:35 3 (const int)
-0:35 'f' (smooth in float)
-0:34 Loop Terminal Expression
-0:34 Pre-Increment (temp int)
-0:34 'i' (temp int)
-0:37 add second child into first child (temp 3-component vector of float)
-0:37 vector swizzle (temp 3-component vector of float)
-0:37 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:37 Sequence
-0:37 Constant:
-0:37 0 (const int)
-0:37 Constant:
-0:37 1 (const int)
-0:37 Constant:
-0:37 2 (const int)
-0:37 vector swizzle (temp 3-component vector of float)
-0:37 'r' (temp 4-component vector of float)
-0:37 Sequence
-0:37 Constant:
-0:37 0 (const int)
-0:37 Constant:
-0:37 1 (const int)
-0:37 Constant:
-0:37 2 (const int)
-0:39 Sequence
-0:39 Sequence
-0:39 move second child to first child (temp int)
-0:39 'i' (temp int)
-0:39 Constant:
-0:39 0 (const int)
-0:39 Loop with condition tested first
-0:39 Loop Condition
-0:39 Compare Less Than (temp bool)
-0:39 'i' (temp int)
-0:39 Constant:
-0:39 16 (const int)
-0:39 Loop Body
-0:40 vector scale second child into first child (temp 4-component vector of float)
-0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:40 'f' (smooth in float)
-0:39 Loop Terminal Expression
-0:39 add second child into first child (temp int)
-0:39 'i' (temp int)
-0:39 Constant:
-0:39 4 (const int)
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'f' (smooth in float)
-0:? 'Count' (uniform int)
-0:? 'v4' (uniform 4-component vector of uint)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:12 Sequence
-0:12 Sequence
-0:12 move second child to first child (temp 4-component vector of float)
-0:12 'color' (temp 4-component vector of float)
-0:12 'BaseColor' (smooth in 4-component vector of float)
-0:14 Sequence
-0:14 Sequence
-0:14 move second child to first child (temp int)
-0:14 'i' (temp int)
-0:14 Constant:
-0:14 0 (const int)
-0:14 Loop with condition tested first
-0:14 Loop Condition
-0:14 Compare Less Than (temp bool)
-0:14 'i' (temp int)
-0:14 'Count' (uniform int)
-0:14 Loop Body
-0:15 Sequence
-0:15 add second child into first child (temp 4-component vector of float)
-0:15 'color' (temp 4-component vector of float)
-0:15 'bigColor' (uniform 4-component vector of float)
-0:14 Loop Terminal Expression
-0:14 Pre-Increment (temp int)
-0:14 'i' (temp int)
-0:18 move second child to first child (temp 4-component vector of float)
-0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:18 'color' (temp 4-component vector of float)
-0:20 Sequence
-0:20 move second child to first child (temp float)
-0:20 'sum' (temp float)
-0:20 Constant:
-0:20 0.000000
-0:21 Sequence
-0:21 Sequence
-0:21 move second child to first child (temp int)
-0:21 'i' (temp int)
-0:21 Constant:
-0:21 0 (const int)
-0:21 Loop with condition tested first
-0:21 Loop Condition
-0:21 Compare Less Than (temp bool)
-0:21 'i' (temp int)
-0:21 Constant:
-0:21 4 (const int)
-0:21 Loop Body
-0:22 add second child into first child (temp float)
-0:22 'sum' (temp float)
-0:22 Convert uint to float (temp float)
-0:22 indirect index (temp uint)
-0:22 'v4' (uniform 4-component vector of uint)
-0:22 'i' (temp int)
-0:21 Loop Terminal Expression
-0:21 Pre-Increment (temp int)
-0:21 'i' (temp int)
-0:26 Sequence
-0:26 Sequence
-0:26 move second child to first child (temp int)
-0:26 'i' (temp int)
-0:26 Constant:
-0:26 0 (const int)
-0:26 Loop with condition tested first
-0:26 Loop Condition
-0:26 Compare Less Than (temp bool)
-0:26 'i' (temp int)
-0:26 Constant:
-0:26 4 (const int)
-0:26 Loop Body
-0:27 move second child to first child (temp float)
-0:27 indirect index (temp float)
-0:27 'tv4' (temp 4-component vector of float)
-0:27 'i' (temp int)
-0:27 Convert uint to float (temp float)
-0:27 component-wise multiply (temp uint)
-0:27 indirect index (temp uint)
-0:27 'v4' (uniform 4-component vector of uint)
-0:27 'i' (temp int)
-0:27 Constant:
-0:27 4 (const uint)
-0:26 Loop Terminal Expression
-0:26 Pre-Increment (temp int)
-0:26 'i' (temp int)
-0:29 add second child into first child (temp 4-component vector of float)
-0:29 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:29 add (temp 4-component vector of float)
-0:29 Construct vec4 (temp 4-component vector of float)
-0:29 'sum' (temp float)
-0:29 'tv4' (temp 4-component vector of float)
-0:32 move second child to first child (temp 3-component vector of float)
-0:32 vector swizzle (temp 3-component vector of float)
-0:32 'r' (temp 4-component vector of float)
-0:32 Sequence
-0:32 Constant:
-0:32 0 (const int)
-0:32 Constant:
-0:32 1 (const int)
-0:32 Constant:
-0:32 2 (const int)
-0:32 vector swizzle (temp 3-component vector of float)
-0:32 'BaseColor' (smooth in 4-component vector of float)
-0:32 Sequence
-0:32 Constant:
-0:32 0 (const int)
-0:32 Constant:
-0:32 1 (const int)
-0:32 Constant:
-0:32 2 (const int)
-0:34 Sequence
-0:34 Sequence
-0:34 move second child to first child (temp int)
-0:34 'i' (temp int)
-0:34 Constant:
-0:34 0 (const int)
-0:34 Loop with condition tested first
-0:34 Loop Condition
-0:34 Compare Less Than (temp bool)
-0:34 'i' (temp int)
-0:34 'Count' (uniform int)
-0:34 Loop Body
-0:35 move second child to first child (temp float)
-0:35 direct index (temp float)
-0:35 'r' (temp 4-component vector of float)
-0:35 Constant:
-0:35 3 (const int)
-0:35 'f' (smooth in float)
-0:34 Loop Terminal Expression
-0:34 Pre-Increment (temp int)
-0:34 'i' (temp int)
-0:37 add second child into first child (temp 3-component vector of float)
-0:37 vector swizzle (temp 3-component vector of float)
-0:37 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:37 Sequence
-0:37 Constant:
-0:37 0 (const int)
-0:37 Constant:
-0:37 1 (const int)
-0:37 Constant:
-0:37 2 (const int)
-0:37 vector swizzle (temp 3-component vector of float)
-0:37 'r' (temp 4-component vector of float)
-0:37 Sequence
-0:37 Constant:
-0:37 0 (const int)
-0:37 Constant:
-0:37 1 (const int)
-0:37 Constant:
-0:37 2 (const int)
-0:39 Sequence
-0:39 Sequence
-0:39 move second child to first child (temp int)
-0:39 'i' (temp int)
-0:39 Constant:
-0:39 0 (const int)
-0:39 Loop with condition tested first
-0:39 Loop Condition
-0:39 Compare Less Than (temp bool)
-0:39 'i' (temp int)
-0:39 Constant:
-0:39 16 (const int)
-0:39 Loop Body
-0:40 vector scale second child into first child (temp 4-component vector of float)
-0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:40 'f' (smooth in float)
-0:39 Loop Terminal Expression
-0:39 add second child into first child (temp int)
-0:39 'i' (temp int)
-0:39 Constant:
-0:39 4 (const int)
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'f' (smooth in float)
-0:? 'Count' (uniform int)
-0:? 'v4' (uniform 4-component vector of uint)
-
+forLoop.frag
+Shader version: 130
+0:? Sequence
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp 4-component vector of float)
+0:12 'color' (temp 4-component vector of float)
+0:12 'BaseColor' (smooth in 4-component vector of float)
+0:14 Sequence
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'i' (temp int)
+0:14 Constant:
+0:14 0 (const int)
+0:14 Loop with condition tested first
+0:14 Loop Condition
+0:14 Compare Less Than (temp bool)
+0:14 'i' (temp int)
+0:14 'Count' (uniform int)
+0:14 Loop Body
+0:15 Sequence
+0:15 add second child into first child (temp 4-component vector of float)
+0:15 'color' (temp 4-component vector of float)
+0:15 'bigColor' (uniform 4-component vector of float)
+0:14 Loop Terminal Expression
+0:14 Pre-Increment (temp int)
+0:14 'i' (temp int)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:18 'color' (temp 4-component vector of float)
+0:20 Sequence
+0:20 move second child to first child (temp float)
+0:20 'sum' (temp float)
+0:20 Constant:
+0:20 0.000000
+0:21 Sequence
+0:21 Sequence
+0:21 move second child to first child (temp int)
+0:21 'i' (temp int)
+0:21 Constant:
+0:21 0 (const int)
+0:21 Loop with condition tested first
+0:21 Loop Condition
+0:21 Compare Less Than (temp bool)
+0:21 'i' (temp int)
+0:21 Constant:
+0:21 4 (const int)
+0:21 Loop Body
+0:22 add second child into first child (temp float)
+0:22 'sum' (temp float)
+0:22 Convert uint to float (temp float)
+0:22 indirect index (temp uint)
+0:22 'v4' (uniform 4-component vector of uint)
+0:22 'i' (temp int)
+0:21 Loop Terminal Expression
+0:21 Pre-Increment (temp int)
+0:21 'i' (temp int)
+0:26 Sequence
+0:26 Sequence
+0:26 move second child to first child (temp int)
+0:26 'i' (temp int)
+0:26 Constant:
+0:26 0 (const int)
+0:26 Loop with condition tested first
+0:26 Loop Condition
+0:26 Compare Less Than (temp bool)
+0:26 'i' (temp int)
+0:26 Constant:
+0:26 4 (const int)
+0:26 Loop Body
+0:27 move second child to first child (temp float)
+0:27 indirect index (temp float)
+0:27 'tv4' (temp 4-component vector of float)
+0:27 'i' (temp int)
+0:27 Convert uint to float (temp float)
+0:27 component-wise multiply (temp uint)
+0:27 indirect index (temp uint)
+0:27 'v4' (uniform 4-component vector of uint)
+0:27 'i' (temp int)
+0:27 Constant:
+0:27 4 (const uint)
+0:26 Loop Terminal Expression
+0:26 Pre-Increment (temp int)
+0:26 'i' (temp int)
+0:29 add second child into first child (temp 4-component vector of float)
+0:29 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:29 add (temp 4-component vector of float)
+0:29 Construct vec4 (temp 4-component vector of float)
+0:29 'sum' (temp float)
+0:29 'tv4' (temp 4-component vector of float)
+0:32 move second child to first child (temp 3-component vector of float)
+0:32 vector swizzle (temp 3-component vector of float)
+0:32 'r' (temp 4-component vector of float)
+0:32 Sequence
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 1 (const int)
+0:32 Constant:
+0:32 2 (const int)
+0:32 vector swizzle (temp 3-component vector of float)
+0:32 'BaseColor' (smooth in 4-component vector of float)
+0:32 Sequence
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 1 (const int)
+0:32 Constant:
+0:32 2 (const int)
+0:34 Sequence
+0:34 Sequence
+0:34 move second child to first child (temp int)
+0:34 'i' (temp int)
+0:34 Constant:
+0:34 0 (const int)
+0:34 Loop with condition tested first
+0:34 Loop Condition
+0:34 Compare Less Than (temp bool)
+0:34 'i' (temp int)
+0:34 'Count' (uniform int)
+0:34 Loop Body
+0:35 move second child to first child (temp float)
+0:35 direct index (temp float)
+0:35 'r' (temp 4-component vector of float)
+0:35 Constant:
+0:35 3 (const int)
+0:35 'f' (smooth in float)
+0:34 Loop Terminal Expression
+0:34 Pre-Increment (temp int)
+0:34 'i' (temp int)
+0:37 add second child into first child (temp 3-component vector of float)
+0:37 vector swizzle (temp 3-component vector of float)
+0:37 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:37 Sequence
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:37 Constant:
+0:37 2 (const int)
+0:37 vector swizzle (temp 3-component vector of float)
+0:37 'r' (temp 4-component vector of float)
+0:37 Sequence
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:37 Constant:
+0:37 2 (const int)
+0:39 Sequence
+0:39 Sequence
+0:39 move second child to first child (temp int)
+0:39 'i' (temp int)
+0:39 Constant:
+0:39 0 (const int)
+0:39 Loop with condition tested first
+0:39 Loop Condition
+0:39 Compare Less Than (temp bool)
+0:39 'i' (temp int)
+0:39 Constant:
+0:39 16 (const int)
+0:39 Loop Body
+0:40 vector scale second child into first child (temp 4-component vector of float)
+0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:40 'f' (smooth in float)
+0:39 Loop Terminal Expression
+0:39 add second child into first child (temp int)
+0:39 'i' (temp int)
+0:39 Constant:
+0:39 4 (const int)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'f' (smooth in float)
+0:? 'Count' (uniform int)
+0:? 'v4' (uniform 4-component vector of uint)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp 4-component vector of float)
+0:12 'color' (temp 4-component vector of float)
+0:12 'BaseColor' (smooth in 4-component vector of float)
+0:14 Sequence
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'i' (temp int)
+0:14 Constant:
+0:14 0 (const int)
+0:14 Loop with condition tested first
+0:14 Loop Condition
+0:14 Compare Less Than (temp bool)
+0:14 'i' (temp int)
+0:14 'Count' (uniform int)
+0:14 Loop Body
+0:15 Sequence
+0:15 add second child into first child (temp 4-component vector of float)
+0:15 'color' (temp 4-component vector of float)
+0:15 'bigColor' (uniform 4-component vector of float)
+0:14 Loop Terminal Expression
+0:14 Pre-Increment (temp int)
+0:14 'i' (temp int)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:18 'color' (temp 4-component vector of float)
+0:20 Sequence
+0:20 move second child to first child (temp float)
+0:20 'sum' (temp float)
+0:20 Constant:
+0:20 0.000000
+0:21 Sequence
+0:21 Sequence
+0:21 move second child to first child (temp int)
+0:21 'i' (temp int)
+0:21 Constant:
+0:21 0 (const int)
+0:21 Loop with condition tested first
+0:21 Loop Condition
+0:21 Compare Less Than (temp bool)
+0:21 'i' (temp int)
+0:21 Constant:
+0:21 4 (const int)
+0:21 Loop Body
+0:22 add second child into first child (temp float)
+0:22 'sum' (temp float)
+0:22 Convert uint to float (temp float)
+0:22 indirect index (temp uint)
+0:22 'v4' (uniform 4-component vector of uint)
+0:22 'i' (temp int)
+0:21 Loop Terminal Expression
+0:21 Pre-Increment (temp int)
+0:21 'i' (temp int)
+0:26 Sequence
+0:26 Sequence
+0:26 move second child to first child (temp int)
+0:26 'i' (temp int)
+0:26 Constant:
+0:26 0 (const int)
+0:26 Loop with condition tested first
+0:26 Loop Condition
+0:26 Compare Less Than (temp bool)
+0:26 'i' (temp int)
+0:26 Constant:
+0:26 4 (const int)
+0:26 Loop Body
+0:27 move second child to first child (temp float)
+0:27 indirect index (temp float)
+0:27 'tv4' (temp 4-component vector of float)
+0:27 'i' (temp int)
+0:27 Convert uint to float (temp float)
+0:27 component-wise multiply (temp uint)
+0:27 indirect index (temp uint)
+0:27 'v4' (uniform 4-component vector of uint)
+0:27 'i' (temp int)
+0:27 Constant:
+0:27 4 (const uint)
+0:26 Loop Terminal Expression
+0:26 Pre-Increment (temp int)
+0:26 'i' (temp int)
+0:29 add second child into first child (temp 4-component vector of float)
+0:29 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:29 add (temp 4-component vector of float)
+0:29 Construct vec4 (temp 4-component vector of float)
+0:29 'sum' (temp float)
+0:29 'tv4' (temp 4-component vector of float)
+0:32 move second child to first child (temp 3-component vector of float)
+0:32 vector swizzle (temp 3-component vector of float)
+0:32 'r' (temp 4-component vector of float)
+0:32 Sequence
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 1 (const int)
+0:32 Constant:
+0:32 2 (const int)
+0:32 vector swizzle (temp 3-component vector of float)
+0:32 'BaseColor' (smooth in 4-component vector of float)
+0:32 Sequence
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 1 (const int)
+0:32 Constant:
+0:32 2 (const int)
+0:34 Sequence
+0:34 Sequence
+0:34 move second child to first child (temp int)
+0:34 'i' (temp int)
+0:34 Constant:
+0:34 0 (const int)
+0:34 Loop with condition tested first
+0:34 Loop Condition
+0:34 Compare Less Than (temp bool)
+0:34 'i' (temp int)
+0:34 'Count' (uniform int)
+0:34 Loop Body
+0:35 move second child to first child (temp float)
+0:35 direct index (temp float)
+0:35 'r' (temp 4-component vector of float)
+0:35 Constant:
+0:35 3 (const int)
+0:35 'f' (smooth in float)
+0:34 Loop Terminal Expression
+0:34 Pre-Increment (temp int)
+0:34 'i' (temp int)
+0:37 add second child into first child (temp 3-component vector of float)
+0:37 vector swizzle (temp 3-component vector of float)
+0:37 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:37 Sequence
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:37 Constant:
+0:37 2 (const int)
+0:37 vector swizzle (temp 3-component vector of float)
+0:37 'r' (temp 4-component vector of float)
+0:37 Sequence
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:37 Constant:
+0:37 2 (const int)
+0:39 Sequence
+0:39 Sequence
+0:39 move second child to first child (temp int)
+0:39 'i' (temp int)
+0:39 Constant:
+0:39 0 (const int)
+0:39 Loop with condition tested first
+0:39 Loop Condition
+0:39 Compare Less Than (temp bool)
+0:39 'i' (temp int)
+0:39 Constant:
+0:39 16 (const int)
+0:39 Loop Body
+0:40 vector scale second child into first child (temp 4-component vector of float)
+0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:40 'f' (smooth in float)
+0:39 Loop Terminal Expression
+0:39 add second child into first child (temp int)
+0:39 'i' (temp int)
+0:39 Constant:
+0:39 4 (const int)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'f' (smooth in float)
+0:? 'Count' (uniform int)
+0:? 'v4' (uniform 4-component vector of uint)
+
diff --git a/Test/baseResults/forwardRef.frag.out b/Test/baseResults/forwardRef.frag.out
index a39ed20..357cc2b 100644
--- a/Test/baseResults/forwardRef.frag.out
+++ b/Test/baseResults/forwardRef.frag.out
@@ -1,125 +1,125 @@
-forwardRef.frag
-Shader version: 110
-0:? Sequence
-0:11 Function Definition: main( (global void)
-0:11 Function Parameters:
-0:13 Sequence
-0:13 Sequence
-0:13 move second child to first child (temp 4-component vector of float)
-0:13 'color' (temp 4-component vector of float)
-0:13 Construct vec4 (temp 4-component vector of float)
-0:13 Function Call: foo(vf4; (global float)
-0:13 'BaseColor' (smooth in 4-component vector of float)
-0:15 Function Call: bar( (global void)
-0:16 Sequence
-0:16 move second child to first child (temp float)
-0:16 'f' (temp float)
-0:16 Function Call: unreachableReturn( (global float)
-0:18 move second child to first child (temp 4-component vector of float)
-0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:18 vector-scale (temp 4-component vector of float)
-0:18 'color' (temp 4-component vector of float)
-0:18 'f' (temp float)
-0:21 Function Definition: bar( (global void)
-0:21 Function Parameters:
-0:25 Function Definition: unreachableReturn( (global float)
-0:25 Function Parameters:
-0:27 Sequence
-0:27 Function Call: bar( (global void)
-0:28 Test condition and select (temp void)
-0:28 Condition
-0:28 Compare Less Than (temp bool)
-0:28 'd' (uniform float)
-0:28 Constant:
-0:28 4.200000
-0:28 true case
-0:29 Branch: Return with expression
-0:29 Constant:
-0:29 1.200000
-0:28 false case
-0:31 Branch: Return with expression
-0:31 Constant:
-0:31 4.500000
-0:34 Function Definition: foo(vf4; (global float)
-0:34 Function Parameters:
-0:34 'bar' (in 4-component vector of float)
-0:36 Sequence
-0:36 Branch: Return with expression
-0:36 add (temp float)
-0:36 direct index (temp float)
-0:36 'bar' (in 4-component vector of float)
-0:36 Constant:
-0:36 0 (const int)
-0:36 direct index (temp float)
-0:36 'bar' (in 4-component vector of float)
-0:36 Constant:
-0:36 1 (const int)
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-
-
-Linked fragment stage:
-
-
-Shader version: 110
-0:? Sequence
-0:11 Function Definition: main( (global void)
-0:11 Function Parameters:
-0:13 Sequence
-0:13 Sequence
-0:13 move second child to first child (temp 4-component vector of float)
-0:13 'color' (temp 4-component vector of float)
-0:13 Construct vec4 (temp 4-component vector of float)
-0:13 Function Call: foo(vf4; (global float)
-0:13 'BaseColor' (smooth in 4-component vector of float)
-0:15 Function Call: bar( (global void)
-0:16 Sequence
-0:16 move second child to first child (temp float)
-0:16 'f' (temp float)
-0:16 Function Call: unreachableReturn( (global float)
-0:18 move second child to first child (temp 4-component vector of float)
-0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:18 vector-scale (temp 4-component vector of float)
-0:18 'color' (temp 4-component vector of float)
-0:18 'f' (temp float)
-0:21 Function Definition: bar( (global void)
-0:21 Function Parameters:
-0:25 Function Definition: unreachableReturn( (global float)
-0:25 Function Parameters:
-0:27 Sequence
-0:27 Function Call: bar( (global void)
-0:28 Test condition and select (temp void)
-0:28 Condition
-0:28 Compare Less Than (temp bool)
-0:28 'd' (uniform float)
-0:28 Constant:
-0:28 4.200000
-0:28 true case
-0:29 Branch: Return with expression
-0:29 Constant:
-0:29 1.200000
-0:28 false case
-0:31 Branch: Return with expression
-0:31 Constant:
-0:31 4.500000
-0:34 Function Definition: foo(vf4; (global float)
-0:34 Function Parameters:
-0:34 'bar' (in 4-component vector of float)
-0:36 Sequence
-0:36 Branch: Return with expression
-0:36 add (temp float)
-0:36 direct index (temp float)
-0:36 'bar' (in 4-component vector of float)
-0:36 Constant:
-0:36 0 (const int)
-0:36 direct index (temp float)
-0:36 'bar' (in 4-component vector of float)
-0:36 Constant:
-0:36 1 (const int)
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-
+forwardRef.frag
+Shader version: 110
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 Sequence
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'color' (temp 4-component vector of float)
+0:13 Construct vec4 (temp 4-component vector of float)
+0:13 Function Call: foo(vf4; (global float)
+0:13 'BaseColor' (smooth in 4-component vector of float)
+0:15 Function Call: bar( (global void)
+0:16 Sequence
+0:16 move second child to first child (temp float)
+0:16 'f' (temp float)
+0:16 Function Call: unreachableReturn( (global float)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:18 vector-scale (temp 4-component vector of float)
+0:18 'color' (temp 4-component vector of float)
+0:18 'f' (temp float)
+0:21 Function Definition: bar( (global void)
+0:21 Function Parameters:
+0:25 Function Definition: unreachableReturn( (global float)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 Function Call: bar( (global void)
+0:28 Test condition and select (temp void)
+0:28 Condition
+0:28 Compare Less Than (temp bool)
+0:28 'd' (uniform float)
+0:28 Constant:
+0:28 4.200000
+0:28 true case
+0:29 Branch: Return with expression
+0:29 Constant:
+0:29 1.200000
+0:28 false case
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 4.500000
+0:34 Function Definition: foo(vf4; (global float)
+0:34 Function Parameters:
+0:34 'bar' (in 4-component vector of float)
+0:36 Sequence
+0:36 Branch: Return with expression
+0:36 add (temp float)
+0:36 direct index (temp float)
+0:36 'bar' (in 4-component vector of float)
+0:36 Constant:
+0:36 0 (const int)
+0:36 direct index (temp float)
+0:36 'bar' (in 4-component vector of float)
+0:36 Constant:
+0:36 1 (const int)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 Sequence
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'color' (temp 4-component vector of float)
+0:13 Construct vec4 (temp 4-component vector of float)
+0:13 Function Call: foo(vf4; (global float)
+0:13 'BaseColor' (smooth in 4-component vector of float)
+0:15 Function Call: bar( (global void)
+0:16 Sequence
+0:16 move second child to first child (temp float)
+0:16 'f' (temp float)
+0:16 Function Call: unreachableReturn( (global float)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:18 vector-scale (temp 4-component vector of float)
+0:18 'color' (temp 4-component vector of float)
+0:18 'f' (temp float)
+0:21 Function Definition: bar( (global void)
+0:21 Function Parameters:
+0:25 Function Definition: unreachableReturn( (global float)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 Function Call: bar( (global void)
+0:28 Test condition and select (temp void)
+0:28 Condition
+0:28 Compare Less Than (temp bool)
+0:28 'd' (uniform float)
+0:28 Constant:
+0:28 4.200000
+0:28 true case
+0:29 Branch: Return with expression
+0:29 Constant:
+0:29 1.200000
+0:28 false case
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 4.500000
+0:34 Function Definition: foo(vf4; (global float)
+0:34 Function Parameters:
+0:34 'bar' (in 4-component vector of float)
+0:36 Sequence
+0:36 Branch: Return with expression
+0:36 add (temp float)
+0:36 direct index (temp float)
+0:36 'bar' (in 4-component vector of float)
+0:36 Constant:
+0:36 0 (const int)
+0:36 direct index (temp float)
+0:36 'bar' (in 4-component vector of float)
+0:36 Constant:
+0:36 1 (const int)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
diff --git a/Test/baseResults/functionCall.frag.out b/Test/baseResults/functionCall.frag.out
index 3996503..610f2bb 100644
--- a/Test/baseResults/functionCall.frag.out
+++ b/Test/baseResults/functionCall.frag.out
@@ -1,183 +1,183 @@
-functionCall.frag
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-
-Shader version: 130
-0:? Sequence
-0:7 Sequence
-0:7 move second child to first child (temp float)
-0:7 'h' (global float)
-0:7 Constant:
-0:7 0.000000
-0:9 Function Definition: foo(vf4; (global float)
-0:9 Function Parameters:
-0:9 'bar' (in 4-component vector of float)
-0:11 Sequence
-0:11 Branch: Return with expression
-0:11 add (temp float)
-0:11 direct index (temp float)
-0:11 'bar' (in 4-component vector of float)
-0:11 Constant:
-0:11 0 (const int)
-0:11 direct index (temp float)
-0:11 'bar' (in 4-component vector of float)
-0:11 Constant:
-0:11 1 (const int)
-0:14 Function Definition: bar( (global void)
-0:14 Function Parameters:
-0:18 Function Definition: unreachableReturn( (global float)
-0:18 Function Parameters:
-0:20 Sequence
-0:20 Test condition and select (temp void)
-0:20 Condition
-0:20 Compare Less Than (temp bool)
-0:20 'd' (uniform float)
-0:20 Constant:
-0:20 4.200000
-0:20 true case
-0:21 Branch: Return with expression
-0:21 Constant:
-0:21 1.200000
-0:20 false case
-0:23 Branch: Return with expression
-0:23 Constant:
-0:23 4.500000
-0:27 Function Definition: missingReturn( (global float)
-0:27 Function Parameters:
-0:29 Sequence
-0:29 Test condition and select (temp void)
-0:29 Condition
-0:29 Compare Less Than (temp bool)
-0:29 'd' (uniform float)
-0:29 Constant:
-0:29 4.500000
-0:29 true case
-0:30 Sequence
-0:30 move second child to first child (temp float)
-0:30 'h' (global float)
-0:30 'd' (uniform float)
-0:31 Branch: Return with expression
-0:31 Constant:
-0:31 3.900000
-0:35 Function Definition: main( (global void)
-0:35 Function Parameters:
-0:37 Sequence
-0:37 Sequence
-0:37 move second child to first child (temp 4-component vector of float)
-0:37 'color' (temp 4-component vector of float)
-0:37 Construct vec4 (temp 4-component vector of float)
-0:37 Function Call: foo(vf4; (global float)
-0:37 'BaseColor' (smooth in 4-component vector of float)
-0:39 Function Call: bar( (global void)
-0:40 Sequence
-0:40 move second child to first child (temp float)
-0:40 'f' (temp float)
-0:40 Function Call: unreachableReturn( (global float)
-0:41 Sequence
-0:41 move second child to first child (temp float)
-0:41 'g' (temp float)
-0:41 Function Call: missingReturn( (global float)
-0:43 move second child to first child (temp 4-component vector of float)
-0:43 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:43 vector-scale (temp 4-component vector of float)
-0:43 vector-scale (temp 4-component vector of float)
-0:43 'color' (temp 4-component vector of float)
-0:43 'f' (temp float)
-0:43 'h' (global float)
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-0:? 'h' (global float)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:7 Sequence
-0:7 move second child to first child (temp float)
-0:7 'h' (global float)
-0:7 Constant:
-0:7 0.000000
-0:9 Function Definition: foo(vf4; (global float)
-0:9 Function Parameters:
-0:9 'bar' (in 4-component vector of float)
-0:11 Sequence
-0:11 Branch: Return with expression
-0:11 add (temp float)
-0:11 direct index (temp float)
-0:11 'bar' (in 4-component vector of float)
-0:11 Constant:
-0:11 0 (const int)
-0:11 direct index (temp float)
-0:11 'bar' (in 4-component vector of float)
-0:11 Constant:
-0:11 1 (const int)
-0:14 Function Definition: bar( (global void)
-0:14 Function Parameters:
-0:18 Function Definition: unreachableReturn( (global float)
-0:18 Function Parameters:
-0:20 Sequence
-0:20 Test condition and select (temp void)
-0:20 Condition
-0:20 Compare Less Than (temp bool)
-0:20 'd' (uniform float)
-0:20 Constant:
-0:20 4.200000
-0:20 true case
-0:21 Branch: Return with expression
-0:21 Constant:
-0:21 1.200000
-0:20 false case
-0:23 Branch: Return with expression
-0:23 Constant:
-0:23 4.500000
-0:27 Function Definition: missingReturn( (global float)
-0:27 Function Parameters:
-0:29 Sequence
-0:29 Test condition and select (temp void)
-0:29 Condition
-0:29 Compare Less Than (temp bool)
-0:29 'd' (uniform float)
-0:29 Constant:
-0:29 4.500000
-0:29 true case
-0:30 Sequence
-0:30 move second child to first child (temp float)
-0:30 'h' (global float)
-0:30 'd' (uniform float)
-0:31 Branch: Return with expression
-0:31 Constant:
-0:31 3.900000
-0:35 Function Definition: main( (global void)
-0:35 Function Parameters:
-0:37 Sequence
-0:37 Sequence
-0:37 move second child to first child (temp 4-component vector of float)
-0:37 'color' (temp 4-component vector of float)
-0:37 Construct vec4 (temp 4-component vector of float)
-0:37 Function Call: foo(vf4; (global float)
-0:37 'BaseColor' (smooth in 4-component vector of float)
-0:39 Function Call: bar( (global void)
-0:40 Sequence
-0:40 move second child to first child (temp float)
-0:40 'f' (temp float)
-0:40 Function Call: unreachableReturn( (global float)
-0:41 Sequence
-0:41 move second child to first child (temp float)
-0:41 'g' (temp float)
-0:41 Function Call: missingReturn( (global float)
-0:43 move second child to first child (temp 4-component vector of float)
-0:43 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:43 vector-scale (temp 4-component vector of float)
-0:43 vector-scale (temp 4-component vector of float)
-0:43 'color' (temp 4-component vector of float)
-0:43 'f' (temp float)
-0:43 'h' (global float)
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-0:? 'h' (global float)
-
+functionCall.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:7 Sequence
+0:7 move second child to first child (temp float)
+0:7 'h' (global float)
+0:7 Constant:
+0:7 0.000000
+0:9 Function Definition: foo(vf4; (global float)
+0:9 Function Parameters:
+0:9 'bar' (in 4-component vector of float)
+0:11 Sequence
+0:11 Branch: Return with expression
+0:11 add (temp float)
+0:11 direct index (temp float)
+0:11 'bar' (in 4-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 direct index (temp float)
+0:11 'bar' (in 4-component vector of float)
+0:11 Constant:
+0:11 1 (const int)
+0:14 Function Definition: bar( (global void)
+0:14 Function Parameters:
+0:18 Function Definition: unreachableReturn( (global float)
+0:18 Function Parameters:
+0:20 Sequence
+0:20 Test condition and select (temp void)
+0:20 Condition
+0:20 Compare Less Than (temp bool)
+0:20 'd' (uniform float)
+0:20 Constant:
+0:20 4.200000
+0:20 true case
+0:21 Branch: Return with expression
+0:21 Constant:
+0:21 1.200000
+0:20 false case
+0:23 Branch: Return with expression
+0:23 Constant:
+0:23 4.500000
+0:27 Function Definition: missingReturn( (global float)
+0:27 Function Parameters:
+0:29 Sequence
+0:29 Test condition and select (temp void)
+0:29 Condition
+0:29 Compare Less Than (temp bool)
+0:29 'd' (uniform float)
+0:29 Constant:
+0:29 4.500000
+0:29 true case
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'h' (global float)
+0:30 'd' (uniform float)
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 3.900000
+0:35 Function Definition: main( (global void)
+0:35 Function Parameters:
+0:37 Sequence
+0:37 Sequence
+0:37 move second child to first child (temp 4-component vector of float)
+0:37 'color' (temp 4-component vector of float)
+0:37 Construct vec4 (temp 4-component vector of float)
+0:37 Function Call: foo(vf4; (global float)
+0:37 'BaseColor' (smooth in 4-component vector of float)
+0:39 Function Call: bar( (global void)
+0:40 Sequence
+0:40 move second child to first child (temp float)
+0:40 'f' (temp float)
+0:40 Function Call: unreachableReturn( (global float)
+0:41 Sequence
+0:41 move second child to first child (temp float)
+0:41 'g' (temp float)
+0:41 Function Call: missingReturn( (global float)
+0:43 move second child to first child (temp 4-component vector of float)
+0:43 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:43 vector-scale (temp 4-component vector of float)
+0:43 vector-scale (temp 4-component vector of float)
+0:43 'color' (temp 4-component vector of float)
+0:43 'f' (temp float)
+0:43 'h' (global float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+0:? 'h' (global float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:7 Sequence
+0:7 move second child to first child (temp float)
+0:7 'h' (global float)
+0:7 Constant:
+0:7 0.000000
+0:9 Function Definition: foo(vf4; (global float)
+0:9 Function Parameters:
+0:9 'bar' (in 4-component vector of float)
+0:11 Sequence
+0:11 Branch: Return with expression
+0:11 add (temp float)
+0:11 direct index (temp float)
+0:11 'bar' (in 4-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 direct index (temp float)
+0:11 'bar' (in 4-component vector of float)
+0:11 Constant:
+0:11 1 (const int)
+0:14 Function Definition: bar( (global void)
+0:14 Function Parameters:
+0:18 Function Definition: unreachableReturn( (global float)
+0:18 Function Parameters:
+0:20 Sequence
+0:20 Test condition and select (temp void)
+0:20 Condition
+0:20 Compare Less Than (temp bool)
+0:20 'd' (uniform float)
+0:20 Constant:
+0:20 4.200000
+0:20 true case
+0:21 Branch: Return with expression
+0:21 Constant:
+0:21 1.200000
+0:20 false case
+0:23 Branch: Return with expression
+0:23 Constant:
+0:23 4.500000
+0:27 Function Definition: missingReturn( (global float)
+0:27 Function Parameters:
+0:29 Sequence
+0:29 Test condition and select (temp void)
+0:29 Condition
+0:29 Compare Less Than (temp bool)
+0:29 'd' (uniform float)
+0:29 Constant:
+0:29 4.500000
+0:29 true case
+0:30 Sequence
+0:30 move second child to first child (temp float)
+0:30 'h' (global float)
+0:30 'd' (uniform float)
+0:31 Branch: Return with expression
+0:31 Constant:
+0:31 3.900000
+0:35 Function Definition: main( (global void)
+0:35 Function Parameters:
+0:37 Sequence
+0:37 Sequence
+0:37 move second child to first child (temp 4-component vector of float)
+0:37 'color' (temp 4-component vector of float)
+0:37 Construct vec4 (temp 4-component vector of float)
+0:37 Function Call: foo(vf4; (global float)
+0:37 'BaseColor' (smooth in 4-component vector of float)
+0:39 Function Call: bar( (global void)
+0:40 Sequence
+0:40 move second child to first child (temp float)
+0:40 'f' (temp float)
+0:40 Function Call: unreachableReturn( (global float)
+0:41 Sequence
+0:41 move second child to first child (temp float)
+0:41 'g' (temp float)
+0:41 Function Call: missingReturn( (global float)
+0:43 move second child to first child (temp 4-component vector of float)
+0:43 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:43 vector-scale (temp 4-component vector of float)
+0:43 vector-scale (temp 4-component vector of float)
+0:43 'color' (temp 4-component vector of float)
+0:43 'f' (temp float)
+0:43 'h' (global float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+0:? 'h' (global float)
+
diff --git a/Test/baseResults/functionSemantics.frag.out b/Test/baseResults/functionSemantics.frag.out
index 63cde49..a9dfb91 100644
--- a/Test/baseResults/functionSemantics.frag.out
+++ b/Test/baseResults/functionSemantics.frag.out
@@ -1,401 +1,401 @@
-functionSemantics.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
-Shader version: 400
-0:? Sequence
-0:5 Function Definition: foo(i1;i1;i1;i1;i1;i1; (global int)
-0:5 Function Parameters:
-0:5 'a' (in int)
-0:5 'b' (const (read only) int)
-0:5 'c' (in int)
-0:5 'd' (const (read only) int)
-0:5 'e' (out int)
-0:5 'f' (inout int)
-0:7 Sequence
-0:7 Sequence
-0:7 move second child to first child (temp int)
-0:7 'sum' (temp int)
-0:7 add (temp int)
-0:7 add (temp int)
-0:7 add (temp int)
-0:7 add (temp int)
-0:7 'a' (in int)
-0:7 'b' (const (read only) int)
-0:7 'c' (in int)
-0:7 'd' (const (read only) int)
-0:7 'f' (inout int)
-0:10 multiply second child into first child (temp int)
-0:10 'a' (in int)
-0:10 Constant:
-0:10 64 (const int)
-0:12 multiply second child into first child (temp int)
-0:12 'c' (in int)
-0:12 Constant:
-0:12 64 (const int)
-0:14 move second child to first child (temp int)
-0:14 'e' (out int)
-0:14 Constant:
-0:14 1024 (const int)
-0:15 multiply second child into first child (temp int)
-0:15 'f' (inout int)
-0:15 Constant:
-0:15 64 (const int)
-0:17 add second child into first child (temp int)
-0:17 'sum' (temp int)
-0:17 add (temp int)
-0:17 add (temp int)
-0:17 add (temp int)
-0:17 add (temp int)
-0:17 add (temp int)
-0:17 'a' (in int)
-0:17 component-wise multiply (temp int)
-0:17 Constant:
-0:17 64 (const int)
-0:17 'b' (const (read only) int)
-0:17 'c' (in int)
-0:17 component-wise multiply (temp int)
-0:17 Constant:
-0:17 64 (const int)
-0:17 'd' (const (read only) int)
-0:17 'e' (out int)
-0:17 'f' (inout int)
-0:20 Branch: Return with expression
-0:20 'sum' (temp int)
-0:23 Function Definition: foo2(f1;vf3;i1; (global int)
-0:23 Function Parameters:
-0:23 'a' (in float)
-0:23 'b' (in 3-component vector of float)
-0:23 'r' (out int)
-0:25 Sequence
-0:25 move second child to first child (temp int)
-0:25 'r' (out int)
-0:25 Convert float to int (temp int)
-0:25 component-wise multiply (temp float)
-0:25 Constant:
-0:25 3.000000
-0:25 'a' (in float)
-0:26 Branch: Return with expression
-0:26 Convert float to int (temp int)
-0:26 component-wise multiply (temp float)
-0:26 Constant:
-0:26 5.000000
-0:26 direct index (temp float)
-0:26 'b' (in 3-component vector of float)
-0:26 Constant:
-0:26 1 (const int)
-0:29 Function Definition: foo3( (global int)
-0:29 Function Parameters:
-0:31 Sequence
-0:31 Test condition and select (temp void)
-0:31 Condition
-0:31 Compare Greater Than (temp bool)
-0:31 'u' (uniform float)
-0:31 Constant:
-0:31 3.200000
-0:31 true case
-0:32 Sequence
-0:32 Branch: Kill
-0:33 Branch: Return with expression
-0:33 Constant:
-0:33 1000000 (const int)
-0:36 Branch: Return with expression
-0:36 Constant:
-0:36 2000000 (const int)
-0:39 Function Definition: main( (global void)
-0:39 Function Parameters:
-0:? Sequence
-0:42 Sequence
-0:42 move second child to first child (temp int)
-0:42 't' (temp int)
-0:42 Constant:
-0:42 2 (const int)
-0:46 move second child to first child (temp int)
-0:46 direct index (temp int)
-0:46 t: direct index for structure (temp 4-component vector of int)
-0:46 'f' (temp structure{temp 4-component vector of int t})
-0:46 Constant:
-0:46 0 (const int)
-0:46 Constant:
-0:46 1 (const int)
-0:46 Constant:
-0:46 32 (const int)
-0:49 Sequence
-0:49 move second child to first child (temp int)
-0:49 'color' (temp int)
-0:49 Function Call: foo(i1;i1;i1;i1;i1;i1; (global int)
-0:49 Constant:
-0:49 1 (const int)
-0:49 Constant:
-0:49 2 (const int)
-0:49 add (temp int)
-0:49 't' (temp int)
-0:49 't' (temp int)
-0:49 Constant:
-0:49 8 (const int)
-0:49 'e' (temp int)
-0:49 direct index (temp int)
-0:49 t: direct index for structure (temp 4-component vector of int)
-0:49 'f' (temp structure{temp 4-component vector of int t})
-0:49 Constant:
-0:49 0 (const int)
-0:49 Constant:
-0:49 1 (const int)
-0:51 add second child into first child (temp int)
-0:51 'color' (temp int)
-0:51 component-wise multiply (temp int)
-0:51 Constant:
-0:51 128 (const int)
-0:51 add (temp int)
-0:51 'e' (temp int)
-0:51 direct index (temp int)
-0:51 t: direct index for structure (temp 4-component vector of int)
-0:51 'f' (temp structure{temp 4-component vector of int t})
-0:51 Constant:
-0:51 0 (const int)
-0:51 Constant:
-0:51 1 (const int)
-0:57 move second child to first child (temp float)
-0:57 'ret' (temp float)
-0:57 Convert int to float (temp float)
-0:57 Comma (global int)
-0:57 move second child to first child (temp int)
-0:57 'tempReturn' (global int)
-0:57 Function Call: foo2(f1;vf3;i1; (global int)
-0:57 Constant:
-0:57 4.000000
-0:57 Constant:
-0:57 1.000000
-0:57 2.000000
-0:57 3.000000
-0:57 'tempArg' (temp int)
-0:57 move second child to first child (temp float)
-0:57 'arg' (temp float)
-0:57 Convert int to float (temp float)
-0:57 'tempArg' (temp int)
-0:57 'tempReturn' (global int)
-0:58 add second child into first child (temp int)
-0:58 'color' (temp int)
-0:58 Convert float to int (temp int)
-0:58 add (temp float)
-0:58 'ret' (temp float)
-0:58 'arg' (temp float)
-0:60 add second child into first child (temp int)
-0:60 'color' (temp int)
-0:60 Function Call: foo3( (global int)
-0:62 move second child to first child (temp 4-component vector of float)
-0:62 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:62 Construct vec4 (temp 4-component vector of float)
-0:62 Convert int to float (temp float)
-0:62 'color' (temp int)
-0:66 Function Definition: aggCall( (global void)
-0:66 Function Parameters:
-0:? Sequence
-0:69 Function Call: m(vf2; (global 3-component vector of float)
-0:69 Convert int to float (temp 2-component vector of float)
-0:69 Construct ivec2 (temp 2-component vector of int)
-0:69 Convert float to int (temp int)
-0:69 'F' (temp float)
-0:? Linker Objects
-0:? 'u' (uniform float)
-
-
-Linked fragment stage:
-
-
-Shader version: 400
-0:? Sequence
-0:5 Function Definition: foo(i1;i1;i1;i1;i1;i1; (global int)
-0:5 Function Parameters:
-0:5 'a' (in int)
-0:5 'b' (const (read only) int)
-0:5 'c' (in int)
-0:5 'd' (const (read only) int)
-0:5 'e' (out int)
-0:5 'f' (inout int)
-0:7 Sequence
-0:7 Sequence
-0:7 move second child to first child (temp int)
-0:7 'sum' (temp int)
-0:7 add (temp int)
-0:7 add (temp int)
-0:7 add (temp int)
-0:7 add (temp int)
-0:7 'a' (in int)
-0:7 'b' (const (read only) int)
-0:7 'c' (in int)
-0:7 'd' (const (read only) int)
-0:7 'f' (inout int)
-0:10 multiply second child into first child (temp int)
-0:10 'a' (in int)
-0:10 Constant:
-0:10 64 (const int)
-0:12 multiply second child into first child (temp int)
-0:12 'c' (in int)
-0:12 Constant:
-0:12 64 (const int)
-0:14 move second child to first child (temp int)
-0:14 'e' (out int)
-0:14 Constant:
-0:14 1024 (const int)
-0:15 multiply second child into first child (temp int)
-0:15 'f' (inout int)
-0:15 Constant:
-0:15 64 (const int)
-0:17 add second child into first child (temp int)
-0:17 'sum' (temp int)
-0:17 add (temp int)
-0:17 add (temp int)
-0:17 add (temp int)
-0:17 add (temp int)
-0:17 add (temp int)
-0:17 'a' (in int)
-0:17 component-wise multiply (temp int)
-0:17 Constant:
-0:17 64 (const int)
-0:17 'b' (const (read only) int)
-0:17 'c' (in int)
-0:17 component-wise multiply (temp int)
-0:17 Constant:
-0:17 64 (const int)
-0:17 'd' (const (read only) int)
-0:17 'e' (out int)
-0:17 'f' (inout int)
-0:20 Branch: Return with expression
-0:20 'sum' (temp int)
-0:23 Function Definition: foo2(f1;vf3;i1; (global int)
-0:23 Function Parameters:
-0:23 'a' (in float)
-0:23 'b' (in 3-component vector of float)
-0:23 'r' (out int)
-0:25 Sequence
-0:25 move second child to first child (temp int)
-0:25 'r' (out int)
-0:25 Convert float to int (temp int)
-0:25 component-wise multiply (temp float)
-0:25 Constant:
-0:25 3.000000
-0:25 'a' (in float)
-0:26 Branch: Return with expression
-0:26 Convert float to int (temp int)
-0:26 component-wise multiply (temp float)
-0:26 Constant:
-0:26 5.000000
-0:26 direct index (temp float)
-0:26 'b' (in 3-component vector of float)
-0:26 Constant:
-0:26 1 (const int)
-0:29 Function Definition: foo3( (global int)
-0:29 Function Parameters:
-0:31 Sequence
-0:31 Test condition and select (temp void)
-0:31 Condition
-0:31 Compare Greater Than (temp bool)
-0:31 'u' (uniform float)
-0:31 Constant:
-0:31 3.200000
-0:31 true case
-0:32 Sequence
-0:32 Branch: Kill
-0:33 Branch: Return with expression
-0:33 Constant:
-0:33 1000000 (const int)
-0:36 Branch: Return with expression
-0:36 Constant:
-0:36 2000000 (const int)
-0:39 Function Definition: main( (global void)
-0:39 Function Parameters:
-0:? Sequence
-0:42 Sequence
-0:42 move second child to first child (temp int)
-0:42 't' (temp int)
-0:42 Constant:
-0:42 2 (const int)
-0:46 move second child to first child (temp int)
-0:46 direct index (temp int)
-0:46 t: direct index for structure (temp 4-component vector of int)
-0:46 'f' (temp structure{temp 4-component vector of int t})
-0:46 Constant:
-0:46 0 (const int)
-0:46 Constant:
-0:46 1 (const int)
-0:46 Constant:
-0:46 32 (const int)
-0:49 Sequence
-0:49 move second child to first child (temp int)
-0:49 'color' (temp int)
-0:49 Function Call: foo(i1;i1;i1;i1;i1;i1; (global int)
-0:49 Constant:
-0:49 1 (const int)
-0:49 Constant:
-0:49 2 (const int)
-0:49 add (temp int)
-0:49 't' (temp int)
-0:49 't' (temp int)
-0:49 Constant:
-0:49 8 (const int)
-0:49 'e' (temp int)
-0:49 direct index (temp int)
-0:49 t: direct index for structure (temp 4-component vector of int)
-0:49 'f' (temp structure{temp 4-component vector of int t})
-0:49 Constant:
-0:49 0 (const int)
-0:49 Constant:
-0:49 1 (const int)
-0:51 add second child into first child (temp int)
-0:51 'color' (temp int)
-0:51 component-wise multiply (temp int)
-0:51 Constant:
-0:51 128 (const int)
-0:51 add (temp int)
-0:51 'e' (temp int)
-0:51 direct index (temp int)
-0:51 t: direct index for structure (temp 4-component vector of int)
-0:51 'f' (temp structure{temp 4-component vector of int t})
-0:51 Constant:
-0:51 0 (const int)
-0:51 Constant:
-0:51 1 (const int)
-0:57 move second child to first child (temp float)
-0:57 'ret' (temp float)
-0:57 Convert int to float (temp float)
-0:57 Comma (global int)
-0:57 move second child to first child (temp int)
-0:57 'tempReturn' (global int)
-0:57 Function Call: foo2(f1;vf3;i1; (global int)
-0:57 Constant:
-0:57 4.000000
-0:57 Constant:
-0:57 1.000000
-0:57 2.000000
-0:57 3.000000
-0:57 'tempArg' (temp int)
-0:57 move second child to first child (temp float)
-0:57 'arg' (temp float)
-0:57 Convert int to float (temp float)
-0:57 'tempArg' (temp int)
-0:57 'tempReturn' (global int)
-0:58 add second child into first child (temp int)
-0:58 'color' (temp int)
-0:58 Convert float to int (temp int)
-0:58 add (temp float)
-0:58 'ret' (temp float)
-0:58 'arg' (temp float)
-0:60 add second child into first child (temp int)
-0:60 'color' (temp int)
-0:60 Function Call: foo3( (global int)
-0:62 move second child to first child (temp 4-component vector of float)
-0:62 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:62 Construct vec4 (temp 4-component vector of float)
-0:62 Convert int to float (temp float)
-0:62 'color' (temp int)
-0:66 Function Definition: aggCall( (global void)
-0:66 Function Parameters:
-0:? Sequence
-0:69 Function Call: m(vf2; (global 3-component vector of float)
-0:69 Convert int to float (temp 2-component vector of float)
-0:69 Construct ivec2 (temp 2-component vector of int)
-0:69 Convert float to int (temp int)
-0:69 'F' (temp float)
-0:? Linker Objects
-0:? 'u' (uniform float)
-
+functionSemantics.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 400
+0:? Sequence
+0:5 Function Definition: foo(i1;i1;i1;i1;i1;i1; (global int)
+0:5 Function Parameters:
+0:5 'a' (in int)
+0:5 'b' (const (read only) int)
+0:5 'c' (in int)
+0:5 'd' (const (read only) int)
+0:5 'e' (out int)
+0:5 'f' (inout int)
+0:7 Sequence
+0:7 Sequence
+0:7 move second child to first child (temp int)
+0:7 'sum' (temp int)
+0:7 add (temp int)
+0:7 add (temp int)
+0:7 add (temp int)
+0:7 add (temp int)
+0:7 'a' (in int)
+0:7 'b' (const (read only) int)
+0:7 'c' (in int)
+0:7 'd' (const (read only) int)
+0:7 'f' (inout int)
+0:10 multiply second child into first child (temp int)
+0:10 'a' (in int)
+0:10 Constant:
+0:10 64 (const int)
+0:12 multiply second child into first child (temp int)
+0:12 'c' (in int)
+0:12 Constant:
+0:12 64 (const int)
+0:14 move second child to first child (temp int)
+0:14 'e' (out int)
+0:14 Constant:
+0:14 1024 (const int)
+0:15 multiply second child into first child (temp int)
+0:15 'f' (inout int)
+0:15 Constant:
+0:15 64 (const int)
+0:17 add second child into first child (temp int)
+0:17 'sum' (temp int)
+0:17 add (temp int)
+0:17 add (temp int)
+0:17 add (temp int)
+0:17 add (temp int)
+0:17 add (temp int)
+0:17 'a' (in int)
+0:17 component-wise multiply (temp int)
+0:17 Constant:
+0:17 64 (const int)
+0:17 'b' (const (read only) int)
+0:17 'c' (in int)
+0:17 component-wise multiply (temp int)
+0:17 Constant:
+0:17 64 (const int)
+0:17 'd' (const (read only) int)
+0:17 'e' (out int)
+0:17 'f' (inout int)
+0:20 Branch: Return with expression
+0:20 'sum' (temp int)
+0:23 Function Definition: foo2(f1;vf3;i1; (global int)
+0:23 Function Parameters:
+0:23 'a' (in float)
+0:23 'b' (in 3-component vector of float)
+0:23 'r' (out int)
+0:25 Sequence
+0:25 move second child to first child (temp int)
+0:25 'r' (out int)
+0:25 Convert float to int (temp int)
+0:25 component-wise multiply (temp float)
+0:25 Constant:
+0:25 3.000000
+0:25 'a' (in float)
+0:26 Branch: Return with expression
+0:26 Convert float to int (temp int)
+0:26 component-wise multiply (temp float)
+0:26 Constant:
+0:26 5.000000
+0:26 direct index (temp float)
+0:26 'b' (in 3-component vector of float)
+0:26 Constant:
+0:26 1 (const int)
+0:29 Function Definition: foo3( (global int)
+0:29 Function Parameters:
+0:31 Sequence
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Compare Greater Than (temp bool)
+0:31 'u' (uniform float)
+0:31 Constant:
+0:31 3.200000
+0:31 true case
+0:32 Sequence
+0:32 Branch: Kill
+0:33 Branch: Return with expression
+0:33 Constant:
+0:33 1000000 (const int)
+0:36 Branch: Return with expression
+0:36 Constant:
+0:36 2000000 (const int)
+0:39 Function Definition: main( (global void)
+0:39 Function Parameters:
+0:? Sequence
+0:42 Sequence
+0:42 move second child to first child (temp int)
+0:42 't' (temp int)
+0:42 Constant:
+0:42 2 (const int)
+0:46 move second child to first child (temp int)
+0:46 direct index (temp int)
+0:46 t: direct index for structure (temp 4-component vector of int)
+0:46 'f' (temp structure{temp 4-component vector of int t})
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 1 (const int)
+0:46 Constant:
+0:46 32 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp int)
+0:49 'color' (temp int)
+0:49 Function Call: foo(i1;i1;i1;i1;i1;i1; (global int)
+0:49 Constant:
+0:49 1 (const int)
+0:49 Constant:
+0:49 2 (const int)
+0:49 add (temp int)
+0:49 't' (temp int)
+0:49 't' (temp int)
+0:49 Constant:
+0:49 8 (const int)
+0:49 'e' (temp int)
+0:49 direct index (temp int)
+0:49 t: direct index for structure (temp 4-component vector of int)
+0:49 'f' (temp structure{temp 4-component vector of int t})
+0:49 Constant:
+0:49 0 (const int)
+0:49 Constant:
+0:49 1 (const int)
+0:51 add second child into first child (temp int)
+0:51 'color' (temp int)
+0:51 component-wise multiply (temp int)
+0:51 Constant:
+0:51 128 (const int)
+0:51 add (temp int)
+0:51 'e' (temp int)
+0:51 direct index (temp int)
+0:51 t: direct index for structure (temp 4-component vector of int)
+0:51 'f' (temp structure{temp 4-component vector of int t})
+0:51 Constant:
+0:51 0 (const int)
+0:51 Constant:
+0:51 1 (const int)
+0:57 move second child to first child (temp float)
+0:57 'ret' (temp float)
+0:57 Convert int to float (temp float)
+0:57 Comma (global int)
+0:57 move second child to first child (temp int)
+0:57 'tempReturn' (global int)
+0:57 Function Call: foo2(f1;vf3;i1; (global int)
+0:57 Constant:
+0:57 4.000000
+0:57 Constant:
+0:57 1.000000
+0:57 2.000000
+0:57 3.000000
+0:57 'tempArg' (temp int)
+0:57 move second child to first child (temp float)
+0:57 'arg' (temp float)
+0:57 Convert int to float (temp float)
+0:57 'tempArg' (temp int)
+0:57 'tempReturn' (global int)
+0:58 add second child into first child (temp int)
+0:58 'color' (temp int)
+0:58 Convert float to int (temp int)
+0:58 add (temp float)
+0:58 'ret' (temp float)
+0:58 'arg' (temp float)
+0:60 add second child into first child (temp int)
+0:60 'color' (temp int)
+0:60 Function Call: foo3( (global int)
+0:62 move second child to first child (temp 4-component vector of float)
+0:62 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:62 Construct vec4 (temp 4-component vector of float)
+0:62 Convert int to float (temp float)
+0:62 'color' (temp int)
+0:66 Function Definition: aggCall( (global void)
+0:66 Function Parameters:
+0:? Sequence
+0:69 Function Call: m(vf2; (global 3-component vector of float)
+0:69 Convert int to float (temp 2-component vector of float)
+0:69 Construct ivec2 (temp 2-component vector of int)
+0:69 Convert float to int (temp int)
+0:69 'F' (temp float)
+0:? Linker Objects
+0:? 'u' (uniform float)
+
+
+Linked fragment stage:
+
+
+Shader version: 400
+0:? Sequence
+0:5 Function Definition: foo(i1;i1;i1;i1;i1;i1; (global int)
+0:5 Function Parameters:
+0:5 'a' (in int)
+0:5 'b' (const (read only) int)
+0:5 'c' (in int)
+0:5 'd' (const (read only) int)
+0:5 'e' (out int)
+0:5 'f' (inout int)
+0:7 Sequence
+0:7 Sequence
+0:7 move second child to first child (temp int)
+0:7 'sum' (temp int)
+0:7 add (temp int)
+0:7 add (temp int)
+0:7 add (temp int)
+0:7 add (temp int)
+0:7 'a' (in int)
+0:7 'b' (const (read only) int)
+0:7 'c' (in int)
+0:7 'd' (const (read only) int)
+0:7 'f' (inout int)
+0:10 multiply second child into first child (temp int)
+0:10 'a' (in int)
+0:10 Constant:
+0:10 64 (const int)
+0:12 multiply second child into first child (temp int)
+0:12 'c' (in int)
+0:12 Constant:
+0:12 64 (const int)
+0:14 move second child to first child (temp int)
+0:14 'e' (out int)
+0:14 Constant:
+0:14 1024 (const int)
+0:15 multiply second child into first child (temp int)
+0:15 'f' (inout int)
+0:15 Constant:
+0:15 64 (const int)
+0:17 add second child into first child (temp int)
+0:17 'sum' (temp int)
+0:17 add (temp int)
+0:17 add (temp int)
+0:17 add (temp int)
+0:17 add (temp int)
+0:17 add (temp int)
+0:17 'a' (in int)
+0:17 component-wise multiply (temp int)
+0:17 Constant:
+0:17 64 (const int)
+0:17 'b' (const (read only) int)
+0:17 'c' (in int)
+0:17 component-wise multiply (temp int)
+0:17 Constant:
+0:17 64 (const int)
+0:17 'd' (const (read only) int)
+0:17 'e' (out int)
+0:17 'f' (inout int)
+0:20 Branch: Return with expression
+0:20 'sum' (temp int)
+0:23 Function Definition: foo2(f1;vf3;i1; (global int)
+0:23 Function Parameters:
+0:23 'a' (in float)
+0:23 'b' (in 3-component vector of float)
+0:23 'r' (out int)
+0:25 Sequence
+0:25 move second child to first child (temp int)
+0:25 'r' (out int)
+0:25 Convert float to int (temp int)
+0:25 component-wise multiply (temp float)
+0:25 Constant:
+0:25 3.000000
+0:25 'a' (in float)
+0:26 Branch: Return with expression
+0:26 Convert float to int (temp int)
+0:26 component-wise multiply (temp float)
+0:26 Constant:
+0:26 5.000000
+0:26 direct index (temp float)
+0:26 'b' (in 3-component vector of float)
+0:26 Constant:
+0:26 1 (const int)
+0:29 Function Definition: foo3( (global int)
+0:29 Function Parameters:
+0:31 Sequence
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Compare Greater Than (temp bool)
+0:31 'u' (uniform float)
+0:31 Constant:
+0:31 3.200000
+0:31 true case
+0:32 Sequence
+0:32 Branch: Kill
+0:33 Branch: Return with expression
+0:33 Constant:
+0:33 1000000 (const int)
+0:36 Branch: Return with expression
+0:36 Constant:
+0:36 2000000 (const int)
+0:39 Function Definition: main( (global void)
+0:39 Function Parameters:
+0:? Sequence
+0:42 Sequence
+0:42 move second child to first child (temp int)
+0:42 't' (temp int)
+0:42 Constant:
+0:42 2 (const int)
+0:46 move second child to first child (temp int)
+0:46 direct index (temp int)
+0:46 t: direct index for structure (temp 4-component vector of int)
+0:46 'f' (temp structure{temp 4-component vector of int t})
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 1 (const int)
+0:46 Constant:
+0:46 32 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp int)
+0:49 'color' (temp int)
+0:49 Function Call: foo(i1;i1;i1;i1;i1;i1; (global int)
+0:49 Constant:
+0:49 1 (const int)
+0:49 Constant:
+0:49 2 (const int)
+0:49 add (temp int)
+0:49 't' (temp int)
+0:49 't' (temp int)
+0:49 Constant:
+0:49 8 (const int)
+0:49 'e' (temp int)
+0:49 direct index (temp int)
+0:49 t: direct index for structure (temp 4-component vector of int)
+0:49 'f' (temp structure{temp 4-component vector of int t})
+0:49 Constant:
+0:49 0 (const int)
+0:49 Constant:
+0:49 1 (const int)
+0:51 add second child into first child (temp int)
+0:51 'color' (temp int)
+0:51 component-wise multiply (temp int)
+0:51 Constant:
+0:51 128 (const int)
+0:51 add (temp int)
+0:51 'e' (temp int)
+0:51 direct index (temp int)
+0:51 t: direct index for structure (temp 4-component vector of int)
+0:51 'f' (temp structure{temp 4-component vector of int t})
+0:51 Constant:
+0:51 0 (const int)
+0:51 Constant:
+0:51 1 (const int)
+0:57 move second child to first child (temp float)
+0:57 'ret' (temp float)
+0:57 Convert int to float (temp float)
+0:57 Comma (global int)
+0:57 move second child to first child (temp int)
+0:57 'tempReturn' (global int)
+0:57 Function Call: foo2(f1;vf3;i1; (global int)
+0:57 Constant:
+0:57 4.000000
+0:57 Constant:
+0:57 1.000000
+0:57 2.000000
+0:57 3.000000
+0:57 'tempArg' (temp int)
+0:57 move second child to first child (temp float)
+0:57 'arg' (temp float)
+0:57 Convert int to float (temp float)
+0:57 'tempArg' (temp int)
+0:57 'tempReturn' (global int)
+0:58 add second child into first child (temp int)
+0:58 'color' (temp int)
+0:58 Convert float to int (temp int)
+0:58 add (temp float)
+0:58 'ret' (temp float)
+0:58 'arg' (temp float)
+0:60 add second child into first child (temp int)
+0:60 'color' (temp int)
+0:60 Function Call: foo3( (global int)
+0:62 move second child to first child (temp 4-component vector of float)
+0:62 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:62 Construct vec4 (temp 4-component vector of float)
+0:62 Convert int to float (temp float)
+0:62 'color' (temp int)
+0:66 Function Definition: aggCall( (global void)
+0:66 Function Parameters:
+0:? Sequence
+0:69 Function Call: m(vf2; (global 3-component vector of float)
+0:69 Convert int to float (temp 2-component vector of float)
+0:69 Construct ivec2 (temp 2-component vector of int)
+0:69 Convert float to int (temp int)
+0:69 'F' (temp float)
+0:? Linker Objects
+0:? 'u' (uniform float)
+
diff --git a/Test/baseResults/length.frag.out b/Test/baseResults/length.frag.out
index 8725a16..1c42560 100644
--- a/Test/baseResults/length.frag.out
+++ b/Test/baseResults/length.frag.out
@@ -1,61 +1,61 @@
-length.frag
-Shader version: 120
-0:? Sequence
-0:11 Function Definition: main( (global void)
-0:11 Function Parameters:
-0:? Sequence
-0:15 Sequence
-0:15 move second child to first child (temp 2-component vector of float)
-0:15 't' (temp 2-component vector of float)
-0:15 add (temp 2-component vector of float)
-0:15 direct index (smooth temp 2-component vector of float)
-0:15 'v' (smooth in 2-element array of 2-component vector of float)
-0:15 Constant:
-0:15 0 (const int)
-0:15 direct index (smooth temp 2-component vector of float)
-0:15 'v' (smooth in 2-element array of 2-component vector of float)
-0:15 Constant:
-0:15 1 (const int)
-0:17 move second child to first child (temp 4-component vector of float)
-0:17 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:17 Constant:
-0:17 30.000000
-0:17 30.000000
-0:17 30.000000
-0:17 30.000000
-0:? Linker Objects
-0:? 'u' (uniform 3-element array of 4-component vector of float)
-0:? 'v' (smooth in 2-element array of 2-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 120
-0:? Sequence
-0:11 Function Definition: main( (global void)
-0:11 Function Parameters:
-0:? Sequence
-0:15 Sequence
-0:15 move second child to first child (temp 2-component vector of float)
-0:15 't' (temp 2-component vector of float)
-0:15 add (temp 2-component vector of float)
-0:15 direct index (smooth temp 2-component vector of float)
-0:15 'v' (smooth in 2-element array of 2-component vector of float)
-0:15 Constant:
-0:15 0 (const int)
-0:15 direct index (smooth temp 2-component vector of float)
-0:15 'v' (smooth in 2-element array of 2-component vector of float)
-0:15 Constant:
-0:15 1 (const int)
-0:17 move second child to first child (temp 4-component vector of float)
-0:17 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:17 Constant:
-0:17 30.000000
-0:17 30.000000
-0:17 30.000000
-0:17 30.000000
-0:? Linker Objects
-0:? 'u' (uniform 3-element array of 4-component vector of float)
-0:? 'v' (smooth in 2-element array of 2-component vector of float)
-
+length.frag
+Shader version: 120
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:? Sequence
+0:15 Sequence
+0:15 move second child to first child (temp 2-component vector of float)
+0:15 't' (temp 2-component vector of float)
+0:15 add (temp 2-component vector of float)
+0:15 direct index (smooth temp 2-component vector of float)
+0:15 'v' (smooth in 2-element array of 2-component vector of float)
+0:15 Constant:
+0:15 0 (const int)
+0:15 direct index (smooth temp 2-component vector of float)
+0:15 'v' (smooth in 2-element array of 2-component vector of float)
+0:15 Constant:
+0:15 1 (const int)
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:17 Constant:
+0:17 30.000000
+0:17 30.000000
+0:17 30.000000
+0:17 30.000000
+0:? Linker Objects
+0:? 'u' (uniform 3-element array of 4-component vector of float)
+0:? 'v' (smooth in 2-element array of 2-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 120
+0:? Sequence
+0:11 Function Definition: main( (global void)
+0:11 Function Parameters:
+0:? Sequence
+0:15 Sequence
+0:15 move second child to first child (temp 2-component vector of float)
+0:15 't' (temp 2-component vector of float)
+0:15 add (temp 2-component vector of float)
+0:15 direct index (smooth temp 2-component vector of float)
+0:15 'v' (smooth in 2-element array of 2-component vector of float)
+0:15 Constant:
+0:15 0 (const int)
+0:15 direct index (smooth temp 2-component vector of float)
+0:15 'v' (smooth in 2-element array of 2-component vector of float)
+0:15 Constant:
+0:15 1 (const int)
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:17 Constant:
+0:17 30.000000
+0:17 30.000000
+0:17 30.000000
+0:17 30.000000
+0:? Linker Objects
+0:? 'u' (uniform 3-element array of 4-component vector of float)
+0:? 'v' (smooth in 2-element array of 2-component vector of float)
+
diff --git a/Test/baseResults/lineContinuation.vert.out b/Test/baseResults/lineContinuation.vert.out
index b74c7a6..78e5c07 100644
--- a/Test/baseResults/lineContinuation.vert.out
+++ b/Test/baseResults/lineContinuation.vert.out
@@ -1,309 +1,309 @@
-lineContinuation.vert
-WARNING: 0:3: 'line continuation' : used at end of comment; the following line is still part of the comment
-ERROR: 0:6: '#error' : e1
-ERROR: 0:11: '#error' : e2
-ERROR: 0:18: '#error' : e3
-ERROR: 0:42: '\' : illegal use of escape character
-ERROR: 0:43: '@' : unexpected token
-ERROR: 0:44: '$' : unexpected token
-ERROR: 0:45: '\' : illegal use of escape character
-ERROR: 0:47: '\' : illegal use of escape character
-ERROR: 0:48: '\' : illegal use of escape character
-ERROR: 0:49: '$' : unexpected token
-ERROR: 0:50: '@' : unexpected token
-ERROR: 0:55: '#error' : good continuation
-WARNING: 0:62: 'line continuation' : used at end of comment; the following line is still part of the comment
-ERROR: 0:111: 'macro expansion' : End of line in macro substitution: FOOM
-ERROR: 0:112: 'preprocessor evaluation' : can't evaluate expression
-ERROR: 0:112: '#if' : unexpected tokens following directive
-ERROR: 0:117: 'macro expansion' : End of line in macro substitution: FOOM
-ERROR: 0:118: 'preprocessor evaluation' : can't evaluate expression
-ERROR: 0:118: '#if' : unexpected tokens following directive
-ERROR: 0:150: '' : syntax error
-ERROR: 19 compilation errors. No code generated.
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:20 Function Definition: main( (global void)
-0:20 Function Parameters:
-0:20 Sequence
-0:20 move second child to first child (temp highp 4-component vector of float)
-0:20 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:20 Construct vec4 (temp highp 4-component vector of float)
-0:20 'foo' (global highp float)
-0:22 Function Definition: foo2(vf4; (global highp 4-component vector of float)
-0:22 Function Parameters:
-0:22 'a' (in highp 4-component vector of float)
-0:24 Sequence
-0:24 Sequence
-0:24 move second child to first child (temp highp 4-component vector of float)
-0:24 'b' (temp highp 4-component vector of float)
-0:24 'a' (in highp 4-component vector of float)
-0:25 Branch: Return with expression
-0:25 'b' (temp highp 4-component vector of float)
-0:47 Sequence
-0:47 move second child to first child (temp highp int)
-0:47 'q1' (global highp int)
-0:47 Constant:
-0:47 1 (const int)
-0:48 Sequence
-0:48 move second child to first child (temp highp int)
-0:48 'q2' (global highp int)
-0:48 Constant:
-0:48 1 (const int)
-0:49 Sequence
-0:49 move second child to first child (temp highp int)
-0:49 'q3' (global highp int)
-0:49 Constant:
-0:49 1 (const int)
-0:50 Sequence
-0:50 move second child to first child (temp highp int)
-0:50 'q4' (global highp int)
-0:50 Constant:
-0:50 1 (const int)
-0:74 Sequence
-0:74 move second child to first child (temp highp float)
-0:74 'funkyf' (global highp float)
-0:75 Constant:
-0:75 12300000000000000.000000
-0:85 Sequence
-0:84 move second child to first child (temp highp int)
-0:84 'funkyh' (global highp int)
-0:86 Constant:
-0:86 244 (const int)
-0:91 Sequence
-0:91 move second child to first child (temp highp int)
-0:91 'funkyo' (global highp int)
-0:92 Constant:
-0:92 34 (const int)
-0:96 Sequence
-0:96 move second child to first child (temp highp int)
-0:96 'c' (global highp int)
-0:97 Constant:
-0:97 11 (const int)
-0:98 Sequence
-0:98 move second child to first child (temp highp int)
-0:98 'd' (global highp int)
-0:98 Constant:
-0:98 12 (const int)
-0:107 Sequence
-0:107 move second child to first child (temp highp int)
-0:107 'bar103' (global highp int)
-0:107 Constant:
-0:107 17 (const int)
-0:113 Sequence
-0:113 move second child to first child (temp highp int)
-0:113 'bar104' (global highp int)
-0:113 Constant:
-0:113 19 (const int)
-0:119 Sequence
-0:119 move second child to first child (temp highp int)
-0:119 'bar105' (global highp int)
-0:119 Constant:
-0:119 19 (const int)
-0:122 Sequence
-0:122 move second child to first child (temp highp int)
-0:122 'bar106' (global highp int)
-0:122 Constant:
-0:122 12 (const int)
-0:123 Sequence
-0:123 move second child to first child (temp highp int)
-0:123 'bar107' (global highp int)
-0:128 Constant:
-0:128 5 (const int)
-0:131 Function Definition: foo203209409( (global void)
-0:131 Function Parameters:
-0:134 Sequence
-0:134 add second child into first child (temp highp int)
-0:133 'bar107' (global highp int)
-0:134 Constant:
-0:134 37 (const int)
-0:135 multiply second child into first child (temp highp int)
-0:135 'bar107' (global highp int)
-0:136 Constant:
-0:136 38 (const int)
-0:137 divide second child into first child (temp highp int)
-0:137 'bar107' (global highp int)
-0:138 Constant:
-0:138 39 (const int)
-0:139 add (temp highp int)
-0:139 'bar107' (global highp int)
-0:140 Constant:
-0:140 41 (const int)
-0:? Linker Objects
-0:? 'foo' (global highp float)
-0:? 'goodDecl' (global highp int)
-0:? 'a1' (const highp int)
-0:? 4 (const int)
-0:? 'a2' (const highp int)
-0:? 3 (const int)
-0:? 'a3' (const highp int)
-0:? 4 (const int)
-0:? 'a4' (const highp int)
-0:? 3 (const int)
-0:? 'q1' (global highp int)
-0:? 'q2' (global highp int)
-0:? 'q3' (global highp int)
-0:? 'q4' (global highp int)
-0:? 'abdece' (const highp int)
-0:? 10 (const int)
-0:? 'aoeuntaoehu' (const highp int)
-0:? 10 (const int)
-0:? 'funkyf' (global highp float)
-0:? 'funkyh' (global highp int)
-0:? 'funkyo' (global highp int)
-0:? 'c' (global highp int)
-0:? 'd' (global highp int)
-0:? 'bar103' (global highp int)
-0:? 'bar104' (global highp int)
-0:? 'bar105' (global highp int)
-0:? 'bar106' (global highp int)
-0:? 'bar107' (global highp int)
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:20 Function Definition: main( (global void)
-0:20 Function Parameters:
-0:20 Sequence
-0:20 move second child to first child (temp highp 4-component vector of float)
-0:20 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:20 Construct vec4 (temp highp 4-component vector of float)
-0:20 'foo' (global highp float)
-0:22 Function Definition: foo2(vf4; (global highp 4-component vector of float)
-0:22 Function Parameters:
-0:22 'a' (in highp 4-component vector of float)
-0:24 Sequence
-0:24 Sequence
-0:24 move second child to first child (temp highp 4-component vector of float)
-0:24 'b' (temp highp 4-component vector of float)
-0:24 'a' (in highp 4-component vector of float)
-0:25 Branch: Return with expression
-0:25 'b' (temp highp 4-component vector of float)
-0:47 Sequence
-0:47 move second child to first child (temp highp int)
-0:47 'q1' (global highp int)
-0:47 Constant:
-0:47 1 (const int)
-0:48 Sequence
-0:48 move second child to first child (temp highp int)
-0:48 'q2' (global highp int)
-0:48 Constant:
-0:48 1 (const int)
-0:49 Sequence
-0:49 move second child to first child (temp highp int)
-0:49 'q3' (global highp int)
-0:49 Constant:
-0:49 1 (const int)
-0:50 Sequence
-0:50 move second child to first child (temp highp int)
-0:50 'q4' (global highp int)
-0:50 Constant:
-0:50 1 (const int)
-0:74 Sequence
-0:74 move second child to first child (temp highp float)
-0:74 'funkyf' (global highp float)
-0:75 Constant:
-0:75 12300000000000000.000000
-0:85 Sequence
-0:84 move second child to first child (temp highp int)
-0:84 'funkyh' (global highp int)
-0:86 Constant:
-0:86 244 (const int)
-0:91 Sequence
-0:91 move second child to first child (temp highp int)
-0:91 'funkyo' (global highp int)
-0:92 Constant:
-0:92 34 (const int)
-0:96 Sequence
-0:96 move second child to first child (temp highp int)
-0:96 'c' (global highp int)
-0:97 Constant:
-0:97 11 (const int)
-0:98 Sequence
-0:98 move second child to first child (temp highp int)
-0:98 'd' (global highp int)
-0:98 Constant:
-0:98 12 (const int)
-0:107 Sequence
-0:107 move second child to first child (temp highp int)
-0:107 'bar103' (global highp int)
-0:107 Constant:
-0:107 17 (const int)
-0:113 Sequence
-0:113 move second child to first child (temp highp int)
-0:113 'bar104' (global highp int)
-0:113 Constant:
-0:113 19 (const int)
-0:119 Sequence
-0:119 move second child to first child (temp highp int)
-0:119 'bar105' (global highp int)
-0:119 Constant:
-0:119 19 (const int)
-0:122 Sequence
-0:122 move second child to first child (temp highp int)
-0:122 'bar106' (global highp int)
-0:122 Constant:
-0:122 12 (const int)
-0:123 Sequence
-0:123 move second child to first child (temp highp int)
-0:123 'bar107' (global highp int)
-0:128 Constant:
-0:128 5 (const int)
-0:131 Function Definition: foo203209409( (global void)
-0:131 Function Parameters:
-0:134 Sequence
-0:134 add second child into first child (temp highp int)
-0:133 'bar107' (global highp int)
-0:134 Constant:
-0:134 37 (const int)
-0:135 multiply second child into first child (temp highp int)
-0:135 'bar107' (global highp int)
-0:136 Constant:
-0:136 38 (const int)
-0:137 divide second child into first child (temp highp int)
-0:137 'bar107' (global highp int)
-0:138 Constant:
-0:138 39 (const int)
-0:139 add (temp highp int)
-0:139 'bar107' (global highp int)
-0:140 Constant:
-0:140 41 (const int)
-0:? Linker Objects
-0:? 'foo' (global highp float)
-0:? 'goodDecl' (global highp int)
-0:? 'a1' (const highp int)
-0:? 4 (const int)
-0:? 'a2' (const highp int)
-0:? 3 (const int)
-0:? 'a3' (const highp int)
-0:? 4 (const int)
-0:? 'a4' (const highp int)
-0:? 3 (const int)
-0:? 'q1' (global highp int)
-0:? 'q2' (global highp int)
-0:? 'q3' (global highp int)
-0:? 'q4' (global highp int)
-0:? 'abdece' (const highp int)
-0:? 10 (const int)
-0:? 'aoeuntaoehu' (const highp int)
-0:? 10 (const int)
-0:? 'funkyf' (global highp float)
-0:? 'funkyh' (global highp int)
-0:? 'funkyo' (global highp int)
-0:? 'c' (global highp int)
-0:? 'd' (global highp int)
-0:? 'bar103' (global highp int)
-0:? 'bar104' (global highp int)
-0:? 'bar105' (global highp int)
-0:? 'bar106' (global highp int)
-0:? 'bar107' (global highp int)
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
+lineContinuation.vert
+WARNING: 0:3: 'line continuation' : used at end of comment; the following line is still part of the comment
+ERROR: 0:6: '#error' : e1
+ERROR: 0:11: '#error' : e2
+ERROR: 0:18: '#error' : e3
+ERROR: 0:42: '\' : illegal use of escape character
+ERROR: 0:43: '@' : unexpected token
+ERROR: 0:44: '$' : unexpected token
+ERROR: 0:45: '\' : illegal use of escape character
+ERROR: 0:47: '\' : illegal use of escape character
+ERROR: 0:48: '\' : illegal use of escape character
+ERROR: 0:49: '$' : unexpected token
+ERROR: 0:50: '@' : unexpected token
+ERROR: 0:55: '#error' : good continuation
+WARNING: 0:62: 'line continuation' : used at end of comment; the following line is still part of the comment
+ERROR: 0:111: 'macro expansion' : End of line in macro substitution: FOOM
+ERROR: 0:112: 'preprocessor evaluation' : can't evaluate expression
+ERROR: 0:112: '#if' : unexpected tokens following directive
+ERROR: 0:117: 'macro expansion' : End of line in macro substitution: FOOM
+ERROR: 0:118: 'preprocessor evaluation' : can't evaluate expression
+ERROR: 0:118: '#if' : unexpected tokens following directive
+ERROR: 0:150: '' : syntax error
+ERROR: 19 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:20 Sequence
+0:20 move second child to first child (temp highp 4-component vector of float)
+0:20 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:20 Construct vec4 (temp highp 4-component vector of float)
+0:20 'foo' (global highp float)
+0:22 Function Definition: foo2(vf4; (global highp 4-component vector of float)
+0:22 Function Parameters:
+0:22 'a' (in highp 4-component vector of float)
+0:24 Sequence
+0:24 Sequence
+0:24 move second child to first child (temp highp 4-component vector of float)
+0:24 'b' (temp highp 4-component vector of float)
+0:24 'a' (in highp 4-component vector of float)
+0:25 Branch: Return with expression
+0:25 'b' (temp highp 4-component vector of float)
+0:47 Sequence
+0:47 move second child to first child (temp highp int)
+0:47 'q1' (global highp int)
+0:47 Constant:
+0:47 1 (const int)
+0:48 Sequence
+0:48 move second child to first child (temp highp int)
+0:48 'q2' (global highp int)
+0:48 Constant:
+0:48 1 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp highp int)
+0:49 'q3' (global highp int)
+0:49 Constant:
+0:49 1 (const int)
+0:50 Sequence
+0:50 move second child to first child (temp highp int)
+0:50 'q4' (global highp int)
+0:50 Constant:
+0:50 1 (const int)
+0:74 Sequence
+0:74 move second child to first child (temp highp float)
+0:74 'funkyf' (global highp float)
+0:75 Constant:
+0:75 12300000000000000.000000
+0:85 Sequence
+0:84 move second child to first child (temp highp int)
+0:84 'funkyh' (global highp int)
+0:86 Constant:
+0:86 244 (const int)
+0:91 Sequence
+0:91 move second child to first child (temp highp int)
+0:91 'funkyo' (global highp int)
+0:92 Constant:
+0:92 34 (const int)
+0:96 Sequence
+0:96 move second child to first child (temp highp int)
+0:96 'c' (global highp int)
+0:97 Constant:
+0:97 11 (const int)
+0:98 Sequence
+0:98 move second child to first child (temp highp int)
+0:98 'd' (global highp int)
+0:98 Constant:
+0:98 12 (const int)
+0:107 Sequence
+0:107 move second child to first child (temp highp int)
+0:107 'bar103' (global highp int)
+0:107 Constant:
+0:107 17 (const int)
+0:113 Sequence
+0:113 move second child to first child (temp highp int)
+0:113 'bar104' (global highp int)
+0:113 Constant:
+0:113 19 (const int)
+0:119 Sequence
+0:119 move second child to first child (temp highp int)
+0:119 'bar105' (global highp int)
+0:119 Constant:
+0:119 19 (const int)
+0:122 Sequence
+0:122 move second child to first child (temp highp int)
+0:122 'bar106' (global highp int)
+0:122 Constant:
+0:122 12 (const int)
+0:123 Sequence
+0:123 move second child to first child (temp highp int)
+0:123 'bar107' (global highp int)
+0:128 Constant:
+0:128 5 (const int)
+0:131 Function Definition: foo203209409( (global void)
+0:131 Function Parameters:
+0:134 Sequence
+0:134 add second child into first child (temp highp int)
+0:133 'bar107' (global highp int)
+0:134 Constant:
+0:134 37 (const int)
+0:135 multiply second child into first child (temp highp int)
+0:135 'bar107' (global highp int)
+0:136 Constant:
+0:136 38 (const int)
+0:137 divide second child into first child (temp highp int)
+0:137 'bar107' (global highp int)
+0:138 Constant:
+0:138 39 (const int)
+0:139 add (temp highp int)
+0:139 'bar107' (global highp int)
+0:140 Constant:
+0:140 41 (const int)
+0:? Linker Objects
+0:? 'foo' (global highp float)
+0:? 'goodDecl' (global highp int)
+0:? 'a1' (const highp int)
+0:? 4 (const int)
+0:? 'a2' (const highp int)
+0:? 3 (const int)
+0:? 'a3' (const highp int)
+0:? 4 (const int)
+0:? 'a4' (const highp int)
+0:? 3 (const int)
+0:? 'q1' (global highp int)
+0:? 'q2' (global highp int)
+0:? 'q3' (global highp int)
+0:? 'q4' (global highp int)
+0:? 'abdece' (const highp int)
+0:? 10 (const int)
+0:? 'aoeuntaoehu' (const highp int)
+0:? 10 (const int)
+0:? 'funkyf' (global highp float)
+0:? 'funkyh' (global highp int)
+0:? 'funkyo' (global highp int)
+0:? 'c' (global highp int)
+0:? 'd' (global highp int)
+0:? 'bar103' (global highp int)
+0:? 'bar104' (global highp int)
+0:? 'bar105' (global highp int)
+0:? 'bar106' (global highp int)
+0:? 'bar107' (global highp int)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:20 Sequence
+0:20 move second child to first child (temp highp 4-component vector of float)
+0:20 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:20 Construct vec4 (temp highp 4-component vector of float)
+0:20 'foo' (global highp float)
+0:22 Function Definition: foo2(vf4; (global highp 4-component vector of float)
+0:22 Function Parameters:
+0:22 'a' (in highp 4-component vector of float)
+0:24 Sequence
+0:24 Sequence
+0:24 move second child to first child (temp highp 4-component vector of float)
+0:24 'b' (temp highp 4-component vector of float)
+0:24 'a' (in highp 4-component vector of float)
+0:25 Branch: Return with expression
+0:25 'b' (temp highp 4-component vector of float)
+0:47 Sequence
+0:47 move second child to first child (temp highp int)
+0:47 'q1' (global highp int)
+0:47 Constant:
+0:47 1 (const int)
+0:48 Sequence
+0:48 move second child to first child (temp highp int)
+0:48 'q2' (global highp int)
+0:48 Constant:
+0:48 1 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp highp int)
+0:49 'q3' (global highp int)
+0:49 Constant:
+0:49 1 (const int)
+0:50 Sequence
+0:50 move second child to first child (temp highp int)
+0:50 'q4' (global highp int)
+0:50 Constant:
+0:50 1 (const int)
+0:74 Sequence
+0:74 move second child to first child (temp highp float)
+0:74 'funkyf' (global highp float)
+0:75 Constant:
+0:75 12300000000000000.000000
+0:85 Sequence
+0:84 move second child to first child (temp highp int)
+0:84 'funkyh' (global highp int)
+0:86 Constant:
+0:86 244 (const int)
+0:91 Sequence
+0:91 move second child to first child (temp highp int)
+0:91 'funkyo' (global highp int)
+0:92 Constant:
+0:92 34 (const int)
+0:96 Sequence
+0:96 move second child to first child (temp highp int)
+0:96 'c' (global highp int)
+0:97 Constant:
+0:97 11 (const int)
+0:98 Sequence
+0:98 move second child to first child (temp highp int)
+0:98 'd' (global highp int)
+0:98 Constant:
+0:98 12 (const int)
+0:107 Sequence
+0:107 move second child to first child (temp highp int)
+0:107 'bar103' (global highp int)
+0:107 Constant:
+0:107 17 (const int)
+0:113 Sequence
+0:113 move second child to first child (temp highp int)
+0:113 'bar104' (global highp int)
+0:113 Constant:
+0:113 19 (const int)
+0:119 Sequence
+0:119 move second child to first child (temp highp int)
+0:119 'bar105' (global highp int)
+0:119 Constant:
+0:119 19 (const int)
+0:122 Sequence
+0:122 move second child to first child (temp highp int)
+0:122 'bar106' (global highp int)
+0:122 Constant:
+0:122 12 (const int)
+0:123 Sequence
+0:123 move second child to first child (temp highp int)
+0:123 'bar107' (global highp int)
+0:128 Constant:
+0:128 5 (const int)
+0:131 Function Definition: foo203209409( (global void)
+0:131 Function Parameters:
+0:134 Sequence
+0:134 add second child into first child (temp highp int)
+0:133 'bar107' (global highp int)
+0:134 Constant:
+0:134 37 (const int)
+0:135 multiply second child into first child (temp highp int)
+0:135 'bar107' (global highp int)
+0:136 Constant:
+0:136 38 (const int)
+0:137 divide second child into first child (temp highp int)
+0:137 'bar107' (global highp int)
+0:138 Constant:
+0:138 39 (const int)
+0:139 add (temp highp int)
+0:139 'bar107' (global highp int)
+0:140 Constant:
+0:140 41 (const int)
+0:? Linker Objects
+0:? 'foo' (global highp float)
+0:? 'goodDecl' (global highp int)
+0:? 'a1' (const highp int)
+0:? 4 (const int)
+0:? 'a2' (const highp int)
+0:? 3 (const int)
+0:? 'a3' (const highp int)
+0:? 4 (const int)
+0:? 'a4' (const highp int)
+0:? 3 (const int)
+0:? 'q1' (global highp int)
+0:? 'q2' (global highp int)
+0:? 'q3' (global highp int)
+0:? 'q4' (global highp int)
+0:? 'abdece' (const highp int)
+0:? 10 (const int)
+0:? 'aoeuntaoehu' (const highp int)
+0:? 10 (const int)
+0:? 'funkyf' (global highp float)
+0:? 'funkyh' (global highp int)
+0:? 'funkyo' (global highp int)
+0:? 'c' (global highp int)
+0:? 'd' (global highp int)
+0:? 'bar103' (global highp int)
+0:? 'bar104' (global highp int)
+0:? 'bar105' (global highp int)
+0:? 'bar106' (global highp int)
+0:? 'bar107' (global highp int)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/Test/baseResults/lineContinuation100.vert.out b/Test/baseResults/lineContinuation100.vert.out
index 2dcdca6..003637d 100644
--- a/Test/baseResults/lineContinuation100.vert.out
+++ b/Test/baseResults/lineContinuation100.vert.out
@@ -1,137 +1,137 @@
-lineContinuation100.vert
-WARNING: 0:3: 'line continuation' : used at end of comment, but this version does not provide line continuation
-ERROR: 0:4: '#error' : good error
-ERROR: 0:8: 'line continuation' : not supported for this version or the enabled extensions
-ERROR: 0:11: '#error' : e2
-ERROR: 0:13: 'line continuation' : not supported for this version or the enabled extensions
-ERROR: 0:14: 'line continuation' : not supported for this version or the enabled extensions
-ERROR: 0:15: 'line continuation' : not supported for this version or the enabled extensions
-ERROR: 0:18: '#error' : e3
-ERROR: 0:24: 'line continuation' : not supported for this version or the enabled extensions
-ERROR: 0:40: '\' : illegal use of escape character
-ERROR: 0:41: '@' : unexpected token
-ERROR: 0:42: '$' : unexpected token
-ERROR: 0:43: '\' : illegal use of escape character
-ERROR: 0:45: '\' : illegal use of escape character
-ERROR: 0:46: '\' : illegal use of escape character
-ERROR: 0:47: '$' : unexpected token
-ERROR: 0:48: '@' : unexpected token
-ERROR: 0:50: 'line continuation' : not supported for this version or the enabled extensions
-ERROR: 0:52: 'line continuation' : not supported for this version or the enabled extensions
-ERROR: 0:53: '#error' : bad continuation
-ERROR: 0:55: 'line continuation' : not supported for this version or the enabled extensions
-ERROR: 20 compilation errors. No code generated.
-
-
-Shader version: 100
-ERROR: node is still EOpNull!
-0:20 Function Definition: main( (global void)
-0:20 Function Parameters:
-0:20 Sequence
-0:20 move second child to first child (temp highp 4-component vector of float)
-0:20 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:20 Construct vec4 (temp highp 4-component vector of float)
-0:20 'foo' (global highp float)
-0:22 Function Definition: foo2(vf4; (global highp 4-component vector of float)
-0:22 Function Parameters:
-0:22 'a' (in highp 4-component vector of float)
-0:24 Sequence
-0:24 Sequence
-0:24 move second child to first child (temp highp 4-component vector of float)
-0:24 'b' (temp highp 4-component vector of float)
-0:24 'a' (in highp 4-component vector of float)
-0:25 Branch: Return with expression
-0:25 'b' (temp highp 4-component vector of float)
-0:45 Sequence
-0:45 move second child to first child (temp highp int)
-0:45 'q1' (global highp int)
-0:45 Constant:
-0:45 1 (const int)
-0:46 Sequence
-0:46 move second child to first child (temp highp int)
-0:46 'q2' (global highp int)
-0:46 Constant:
-0:46 1 (const int)
-0:47 Sequence
-0:47 move second child to first child (temp highp int)
-0:47 'q3' (global highp int)
-0:47 Constant:
-0:47 1 (const int)
-0:48 Sequence
-0:48 move second child to first child (temp highp int)
-0:48 'q4' (global highp int)
-0:48 Constant:
-0:48 1 (const int)
-0:? Linker Objects
-0:? 'foo' (global highp float)
-0:? 'a1' (const highp int)
-0:? 4 (const int)
-0:? 'a2' (const highp int)
-0:? 3 (const int)
-0:? 'a3' (const highp int)
-0:? 4 (const int)
-0:? 'a4' (const highp int)
-0:? 3 (const int)
-0:? 'q1' (global highp int)
-0:? 'q2' (global highp int)
-0:? 'q3' (global highp int)
-0:? 'q4' (global highp int)
-
-
-Linked vertex stage:
-
-
-Shader version: 100
-ERROR: node is still EOpNull!
-0:20 Function Definition: main( (global void)
-0:20 Function Parameters:
-0:20 Sequence
-0:20 move second child to first child (temp highp 4-component vector of float)
-0:20 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:20 Construct vec4 (temp highp 4-component vector of float)
-0:20 'foo' (global highp float)
-0:22 Function Definition: foo2(vf4; (global highp 4-component vector of float)
-0:22 Function Parameters:
-0:22 'a' (in highp 4-component vector of float)
-0:24 Sequence
-0:24 Sequence
-0:24 move second child to first child (temp highp 4-component vector of float)
-0:24 'b' (temp highp 4-component vector of float)
-0:24 'a' (in highp 4-component vector of float)
-0:25 Branch: Return with expression
-0:25 'b' (temp highp 4-component vector of float)
-0:45 Sequence
-0:45 move second child to first child (temp highp int)
-0:45 'q1' (global highp int)
-0:45 Constant:
-0:45 1 (const int)
-0:46 Sequence
-0:46 move second child to first child (temp highp int)
-0:46 'q2' (global highp int)
-0:46 Constant:
-0:46 1 (const int)
-0:47 Sequence
-0:47 move second child to first child (temp highp int)
-0:47 'q3' (global highp int)
-0:47 Constant:
-0:47 1 (const int)
-0:48 Sequence
-0:48 move second child to first child (temp highp int)
-0:48 'q4' (global highp int)
-0:48 Constant:
-0:48 1 (const int)
-0:? Linker Objects
-0:? 'foo' (global highp float)
-0:? 'a1' (const highp int)
-0:? 4 (const int)
-0:? 'a2' (const highp int)
-0:? 3 (const int)
-0:? 'a3' (const highp int)
-0:? 4 (const int)
-0:? 'a4' (const highp int)
-0:? 3 (const int)
-0:? 'q1' (global highp int)
-0:? 'q2' (global highp int)
-0:? 'q3' (global highp int)
-0:? 'q4' (global highp int)
-
+lineContinuation100.vert
+WARNING: 0:3: 'line continuation' : used at end of comment, but this version does not provide line continuation
+ERROR: 0:4: '#error' : good error
+ERROR: 0:8: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:11: '#error' : e2
+ERROR: 0:13: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:14: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:15: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:18: '#error' : e3
+ERROR: 0:24: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:40: '\' : illegal use of escape character
+ERROR: 0:41: '@' : unexpected token
+ERROR: 0:42: '$' : unexpected token
+ERROR: 0:43: '\' : illegal use of escape character
+ERROR: 0:45: '\' : illegal use of escape character
+ERROR: 0:46: '\' : illegal use of escape character
+ERROR: 0:47: '$' : unexpected token
+ERROR: 0:48: '@' : unexpected token
+ERROR: 0:50: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:52: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 0:53: '#error' : bad continuation
+ERROR: 0:55: 'line continuation' : not supported for this version or the enabled extensions
+ERROR: 20 compilation errors. No code generated.
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:20 Sequence
+0:20 move second child to first child (temp highp 4-component vector of float)
+0:20 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:20 Construct vec4 (temp highp 4-component vector of float)
+0:20 'foo' (global highp float)
+0:22 Function Definition: foo2(vf4; (global highp 4-component vector of float)
+0:22 Function Parameters:
+0:22 'a' (in highp 4-component vector of float)
+0:24 Sequence
+0:24 Sequence
+0:24 move second child to first child (temp highp 4-component vector of float)
+0:24 'b' (temp highp 4-component vector of float)
+0:24 'a' (in highp 4-component vector of float)
+0:25 Branch: Return with expression
+0:25 'b' (temp highp 4-component vector of float)
+0:45 Sequence
+0:45 move second child to first child (temp highp int)
+0:45 'q1' (global highp int)
+0:45 Constant:
+0:45 1 (const int)
+0:46 Sequence
+0:46 move second child to first child (temp highp int)
+0:46 'q2' (global highp int)
+0:46 Constant:
+0:46 1 (const int)
+0:47 Sequence
+0:47 move second child to first child (temp highp int)
+0:47 'q3' (global highp int)
+0:47 Constant:
+0:47 1 (const int)
+0:48 Sequence
+0:48 move second child to first child (temp highp int)
+0:48 'q4' (global highp int)
+0:48 Constant:
+0:48 1 (const int)
+0:? Linker Objects
+0:? 'foo' (global highp float)
+0:? 'a1' (const highp int)
+0:? 4 (const int)
+0:? 'a2' (const highp int)
+0:? 3 (const int)
+0:? 'a3' (const highp int)
+0:? 4 (const int)
+0:? 'a4' (const highp int)
+0:? 3 (const int)
+0:? 'q1' (global highp int)
+0:? 'q2' (global highp int)
+0:? 'q3' (global highp int)
+0:? 'q4' (global highp int)
+
+
+Linked vertex stage:
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:20 Sequence
+0:20 move second child to first child (temp highp 4-component vector of float)
+0:20 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:20 Construct vec4 (temp highp 4-component vector of float)
+0:20 'foo' (global highp float)
+0:22 Function Definition: foo2(vf4; (global highp 4-component vector of float)
+0:22 Function Parameters:
+0:22 'a' (in highp 4-component vector of float)
+0:24 Sequence
+0:24 Sequence
+0:24 move second child to first child (temp highp 4-component vector of float)
+0:24 'b' (temp highp 4-component vector of float)
+0:24 'a' (in highp 4-component vector of float)
+0:25 Branch: Return with expression
+0:25 'b' (temp highp 4-component vector of float)
+0:45 Sequence
+0:45 move second child to first child (temp highp int)
+0:45 'q1' (global highp int)
+0:45 Constant:
+0:45 1 (const int)
+0:46 Sequence
+0:46 move second child to first child (temp highp int)
+0:46 'q2' (global highp int)
+0:46 Constant:
+0:46 1 (const int)
+0:47 Sequence
+0:47 move second child to first child (temp highp int)
+0:47 'q3' (global highp int)
+0:47 Constant:
+0:47 1 (const int)
+0:48 Sequence
+0:48 move second child to first child (temp highp int)
+0:48 'q4' (global highp int)
+0:48 Constant:
+0:48 1 (const int)
+0:? Linker Objects
+0:? 'foo' (global highp float)
+0:? 'a1' (const highp int)
+0:? 4 (const int)
+0:? 'a2' (const highp int)
+0:? 3 (const int)
+0:? 'a3' (const highp int)
+0:? 4 (const int)
+0:? 'a4' (const highp int)
+0:? 3 (const int)
+0:? 'q1' (global highp int)
+0:? 'q2' (global highp int)
+0:? 'q3' (global highp int)
+0:? 'q4' (global highp int)
+
diff --git a/Test/baseResults/link1.frag.out b/Test/baseResults/link1.frag.out
index d585783..bc6cf5c 100644
--- a/Test/baseResults/link1.frag.out
+++ b/Test/baseResults/link1.frag.out
@@ -1,293 +1,293 @@
-link1.frag
-Shader version: 130
-0:? Sequence
-0:8 Sequence
-0:8 move second child to first child (temp 4-component vector of float)
-0:8 'a' (global 4-component vector of float)
-0:8 vector-scale (temp 4-component vector of float)
-0:8 Constant:
-0:8 8.000000
-0:8 'uv4' (uniform 4-component vector of float)
-0:13 Function Definition: main( (global void)
-0:13 Function Parameters:
-0:17 Sequence
-0:17 move second child to first child (temp 4-component vector of float)
-0:17 'b' (global 4-component vector of float)
-0:17 vector-scale (temp 4-component vector of float)
-0:17 Constant:
-0:17 8.000000
-0:17 'a' (global 4-component vector of float)
-0:19 Function Definition: foo(mf22; (global 2-component vector of int)
-0:19 Function Parameters:
-0:19 'm' (in 2X2 matrix of float)
-0:21 Sequence
-0:21 Branch: Return with expression
-0:21 Convert float to int (temp 2-component vector of int)
-0:21 direct index (temp 2-component vector of float)
-0:21 'm' (in 2X2 matrix of float)
-0:21 Constant:
-0:21 0 (const int)
-0:24 Sequence
-0:24 move second child to first child (temp 4-component vector of float)
-0:24 'c' (global 4-component vector of float)
-0:24 component-wise multiply (temp 4-component vector of float)
-0:24 'b' (global 4-component vector of float)
-0:24 'b' (global 4-component vector of float)
-0:? Linker Objects
-0:? 'uv4' (uniform 4-component vector of float)
-0:? 'glass' (uniform 3-component vector of float)
-0:? 'ci' (const int)
-0:? 8 (const int)
-0:? 'a' (global 4-component vector of float)
-0:? 'iv3' (smooth in 3-component vector of float)
-0:? 'cup' (smooth in 4-component vector of float)
-0:? 'b' (global 4-component vector of float)
-0:? 'c' (global 4-component vector of float)
-0:? 'cv3' (const 3-component vector of float)
-0:? 43.000000
-0:? 0.340000
-0:? 9.900000
-0:? 'cv3n' (const 3-component vector of float)
-0:? 43.000000
-0:? 0.340000
-0:? 9.900000
-0:? 'cv3e' (const 3-component vector of float)
-0:? 43.000000
-0:? 0.340000
-0:? 9.900000
-0:? 'um2' (uniform 2X2 matrix of float)
-0:? 4.000000
-0:? 0.000000
-0:? 0.000000
-0:? 4.000000
-0:? 'um2n' (uniform 2X2 matrix of float)
-0:? 4.000000
-0:? 0.000000
-0:? 0.000000
-0:? 4.000000
-0:? 'um2e' (uniform 2X2 matrix of float)
-0:? 4.000000
-0:? 0.000000
-0:? 0.000000
-0:? 4.000000
-0:? 's' (uniform structure{global int a, global float b})
-0:? 82 (const int)
-0:? 3.900000
-0:? 'sn' (uniform structure{global int a, global float b})
-0:? 'se' (uniform structure{global int a, global float b})
-0:? 82 (const int)
-0:? 3.900000
-
-link2.frag
-Shader version: 130
-Requested GL_OES_standard_derivatives
-Requested GL_OES_texture_3D
-0:? Sequence
-0:8 Sequence
-0:8 move second child to first child (temp 4-component vector of float)
-0:8 'd' (global 4-component vector of float)
-0:8 vector-scale (temp 4-component vector of float)
-0:8 Constant:
-0:8 8.000000
-0:8 'uv4' (uniform 4-component vector of float)
-0:13 Sequence
-0:13 move second child to first child (temp 4-component vector of float)
-0:13 'e' (global 4-component vector of float)
-0:13 vector-scale (temp 4-component vector of float)
-0:13 Constant:
-0:13 8.000000
-0:13 'd' (global 4-component vector of float)
-0:15 Function Definition: foo( (global 2-component vector of int)
-0:15 Function Parameters:
-0:17 Sequence
-0:17 Branch: Return with expression
-0:17 Constant:
-0:17 2 (const int)
-0:17 2 (const int)
-0:20 Sequence
-0:20 move second child to first child (temp 4-component vector of float)
-0:20 'f' (global 4-component vector of float)
-0:20 component-wise multiply (temp 4-component vector of float)
-0:20 'e' (global 4-component vector of float)
-0:20 'e' (global 4-component vector of float)
-0:? Linker Objects
-0:? 'uv4' (uniform 4-component vector of float)
-0:? 'glass' (uniform 2-component vector of float)
-0:? 'ci' (const int)
-0:? 8 (const int)
-0:? 'd' (global 4-component vector of float)
-0:? 'iv3' (smooth in 3-component vector of float)
-0:? 'cup' (flat in 4-component vector of float)
-0:? 'e' (global 4-component vector of float)
-0:? 'f' (global 4-component vector of float)
-0:? 'cv3' (const 3-component vector of float)
-0:? 43.000000
-0:? 0.340000
-0:? 9.900000
-0:? 'cv3e' (const 3-component vector of float)
-0:? 43.000000
-0:? 0.340000
-0:? 2.900000
-0:? 'um2' (uniform 2X2 matrix of float)
-0:? 4.000000
-0:? 0.000000
-0:? 0.000000
-0:? 4.000000
-0:? 'um2n' (uniform 2X2 matrix of float)
-0:? 'um2e' (uniform 2X2 matrix of float)
-0:? 3.000000
-0:? 0.000000
-0:? 0.000000
-0:? 3.000000
-0:? 's' (uniform structure{global int a, global float b})
-0:? 82 (const int)
-0:? 3.900000
-0:? 'sn' (uniform structure{global int a, global float b})
-0:? 82 (const int)
-0:? 3.900000
-0:? 'se' (uniform structure{global int a, global float b})
-0:? 81 (const int)
-0:? 3.900000
-
-link3.frag
-Shader version: 300
-Requested GL_OES_EGL_image_external
-Requested GL_OES_standard_derivatives
-Requested GL_OES_texture_3D
-0:? Sequence
-0:? Linker Objects
-0:? 'iv3' (smooth in highp 2-component vector of float)
-
-
-Linked fragment stage:
-
-ERROR: Linking fragment stage: Types must match:
- glass: "uniform 3-component vector of float" versus "uniform 2-component vector of float"
-ERROR: Linking fragment stage: Interpolation and auxiliary storage qualifiers must match:
- cup: "smooth in 4-component vector of float" versus "flat in 4-component vector of float"
-ERROR: Linking fragment stage: Initializers must match:
- cv3e
-ERROR: Linking fragment stage: Initializers must match:
- um2e
-ERROR: Linking fragment stage: Initializers must match:
- se
-ERROR: Linking fragment stage: Cannot mix ES profile with non-ES profile shaders
-
-ERROR: Linking fragment stage: Types must match:
-ERROR: Linking fragment stage: Precision qualifiers must match:
- iv3: "smooth in 3-component vector of float" versus "smooth in highp 2-component vector of float"
-
-Shader version: 300
-Requested GL_OES_EGL_image_external
-Requested GL_OES_standard_derivatives
-Requested GL_OES_texture_3D
-0:? Sequence
-0:8 Sequence
-0:8 move second child to first child (temp 4-component vector of float)
-0:8 'a' (global 4-component vector of float)
-0:8 vector-scale (temp 4-component vector of float)
-0:8 Constant:
-0:8 8.000000
-0:8 'uv4' (uniform 4-component vector of float)
-0:13 Function Definition: main( (global void)
-0:13 Function Parameters:
-0:17 Sequence
-0:17 move second child to first child (temp 4-component vector of float)
-0:17 'b' (global 4-component vector of float)
-0:17 vector-scale (temp 4-component vector of float)
-0:17 Constant:
-0:17 8.000000
-0:17 'a' (global 4-component vector of float)
-0:19 Function Definition: foo(mf22; (global 2-component vector of int)
-0:19 Function Parameters:
-0:19 'm' (in 2X2 matrix of float)
-0:21 Sequence
-0:21 Branch: Return with expression
-0:21 Convert float to int (temp 2-component vector of int)
-0:21 direct index (temp 2-component vector of float)
-0:21 'm' (in 2X2 matrix of float)
-0:21 Constant:
-0:21 0 (const int)
-0:24 Sequence
-0:24 move second child to first child (temp 4-component vector of float)
-0:24 'c' (global 4-component vector of float)
-0:24 component-wise multiply (temp 4-component vector of float)
-0:24 'b' (global 4-component vector of float)
-0:24 'b' (global 4-component vector of float)
-0:8 Sequence
-0:8 move second child to first child (temp 4-component vector of float)
-0:8 'd' (global 4-component vector of float)
-0:8 vector-scale (temp 4-component vector of float)
-0:8 Constant:
-0:8 8.000000
-0:8 'uv4' (uniform 4-component vector of float)
-0:13 Sequence
-0:13 move second child to first child (temp 4-component vector of float)
-0:13 'e' (global 4-component vector of float)
-0:13 vector-scale (temp 4-component vector of float)
-0:13 Constant:
-0:13 8.000000
-0:13 'd' (global 4-component vector of float)
-0:15 Function Definition: foo( (global 2-component vector of int)
-0:15 Function Parameters:
-0:17 Sequence
-0:17 Branch: Return with expression
-0:17 Constant:
-0:17 2 (const int)
-0:17 2 (const int)
-0:20 Sequence
-0:20 move second child to first child (temp 4-component vector of float)
-0:20 'f' (global 4-component vector of float)
-0:20 component-wise multiply (temp 4-component vector of float)
-0:20 'e' (global 4-component vector of float)
-0:20 'e' (global 4-component vector of float)
-0:? Linker Objects
-0:? 'uv4' (uniform 4-component vector of float)
-0:? 'glass' (uniform 3-component vector of float)
-0:? 'ci' (const int)
-0:? 8 (const int)
-0:? 'a' (global 4-component vector of float)
-0:? 'iv3' (smooth in 3-component vector of float)
-0:? 'cup' (smooth in 4-component vector of float)
-0:? 'b' (global 4-component vector of float)
-0:? 'c' (global 4-component vector of float)
-0:? 'cv3' (const 3-component vector of float)
-0:? 43.000000
-0:? 0.340000
-0:? 9.900000
-0:? 'cv3n' (const 3-component vector of float)
-0:? 43.000000
-0:? 0.340000
-0:? 9.900000
-0:? 'cv3e' (const 3-component vector of float)
-0:? 43.000000
-0:? 0.340000
-0:? 9.900000
-0:? 'um2' (uniform 2X2 matrix of float)
-0:? 4.000000
-0:? 0.000000
-0:? 0.000000
-0:? 4.000000
-0:? 'um2n' (uniform 2X2 matrix of float)
-0:? 4.000000
-0:? 0.000000
-0:? 0.000000
-0:? 4.000000
-0:? 'um2e' (uniform 2X2 matrix of float)
-0:? 4.000000
-0:? 0.000000
-0:? 0.000000
-0:? 4.000000
-0:? 's' (uniform structure{global int a, global float b})
-0:? 82 (const int)
-0:? 3.900000
-0:? 'sn' (uniform structure{global int a, global float b})
-0:? 82 (const int)
-0:? 3.900000
-0:? 'se' (uniform structure{global int a, global float b})
-0:? 82 (const int)
-0:? 3.900000
-0:? 'd' (global 4-component vector of float)
-0:? 'e' (global 4-component vector of float)
-0:? 'f' (global 4-component vector of float)
-
+link1.frag
+Shader version: 130
+0:? Sequence
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'a' (global 4-component vector of float)
+0:8 vector-scale (temp 4-component vector of float)
+0:8 Constant:
+0:8 8.000000
+0:8 'uv4' (uniform 4-component vector of float)
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'b' (global 4-component vector of float)
+0:17 vector-scale (temp 4-component vector of float)
+0:17 Constant:
+0:17 8.000000
+0:17 'a' (global 4-component vector of float)
+0:19 Function Definition: foo(mf22; (global 2-component vector of int)
+0:19 Function Parameters:
+0:19 'm' (in 2X2 matrix of float)
+0:21 Sequence
+0:21 Branch: Return with expression
+0:21 Convert float to int (temp 2-component vector of int)
+0:21 direct index (temp 2-component vector of float)
+0:21 'm' (in 2X2 matrix of float)
+0:21 Constant:
+0:21 0 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp 4-component vector of float)
+0:24 'c' (global 4-component vector of float)
+0:24 component-wise multiply (temp 4-component vector of float)
+0:24 'b' (global 4-component vector of float)
+0:24 'b' (global 4-component vector of float)
+0:? Linker Objects
+0:? 'uv4' (uniform 4-component vector of float)
+0:? 'glass' (uniform 3-component vector of float)
+0:? 'ci' (const int)
+0:? 8 (const int)
+0:? 'a' (global 4-component vector of float)
+0:? 'iv3' (smooth in 3-component vector of float)
+0:? 'cup' (smooth in 4-component vector of float)
+0:? 'b' (global 4-component vector of float)
+0:? 'c' (global 4-component vector of float)
+0:? 'cv3' (const 3-component vector of float)
+0:? 43.000000
+0:? 0.340000
+0:? 9.900000
+0:? 'cv3n' (const 3-component vector of float)
+0:? 43.000000
+0:? 0.340000
+0:? 9.900000
+0:? 'cv3e' (const 3-component vector of float)
+0:? 43.000000
+0:? 0.340000
+0:? 9.900000
+0:? 'um2' (uniform 2X2 matrix of float)
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 'um2n' (uniform 2X2 matrix of float)
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 'um2e' (uniform 2X2 matrix of float)
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 's' (uniform structure{global int a, global float b})
+0:? 82 (const int)
+0:? 3.900000
+0:? 'sn' (uniform structure{global int a, global float b})
+0:? 'se' (uniform structure{global int a, global float b})
+0:? 82 (const int)
+0:? 3.900000
+
+link2.frag
+Shader version: 130
+Requested GL_OES_standard_derivatives
+Requested GL_OES_texture_3D
+0:? Sequence
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'd' (global 4-component vector of float)
+0:8 vector-scale (temp 4-component vector of float)
+0:8 Constant:
+0:8 8.000000
+0:8 'uv4' (uniform 4-component vector of float)
+0:13 Sequence
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'e' (global 4-component vector of float)
+0:13 vector-scale (temp 4-component vector of float)
+0:13 Constant:
+0:13 8.000000
+0:13 'd' (global 4-component vector of float)
+0:15 Function Definition: foo( (global 2-component vector of int)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Branch: Return with expression
+0:17 Constant:
+0:17 2 (const int)
+0:17 2 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'f' (global 4-component vector of float)
+0:20 component-wise multiply (temp 4-component vector of float)
+0:20 'e' (global 4-component vector of float)
+0:20 'e' (global 4-component vector of float)
+0:? Linker Objects
+0:? 'uv4' (uniform 4-component vector of float)
+0:? 'glass' (uniform 2-component vector of float)
+0:? 'ci' (const int)
+0:? 8 (const int)
+0:? 'd' (global 4-component vector of float)
+0:? 'iv3' (smooth in 3-component vector of float)
+0:? 'cup' (flat in 4-component vector of float)
+0:? 'e' (global 4-component vector of float)
+0:? 'f' (global 4-component vector of float)
+0:? 'cv3' (const 3-component vector of float)
+0:? 43.000000
+0:? 0.340000
+0:? 9.900000
+0:? 'cv3e' (const 3-component vector of float)
+0:? 43.000000
+0:? 0.340000
+0:? 2.900000
+0:? 'um2' (uniform 2X2 matrix of float)
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 'um2n' (uniform 2X2 matrix of float)
+0:? 'um2e' (uniform 2X2 matrix of float)
+0:? 3.000000
+0:? 0.000000
+0:? 0.000000
+0:? 3.000000
+0:? 's' (uniform structure{global int a, global float b})
+0:? 82 (const int)
+0:? 3.900000
+0:? 'sn' (uniform structure{global int a, global float b})
+0:? 82 (const int)
+0:? 3.900000
+0:? 'se' (uniform structure{global int a, global float b})
+0:? 81 (const int)
+0:? 3.900000
+
+link3.frag
+Shader version: 300
+Requested GL_OES_EGL_image_external
+Requested GL_OES_standard_derivatives
+Requested GL_OES_texture_3D
+0:? Sequence
+0:? Linker Objects
+0:? 'iv3' (smooth in highp 2-component vector of float)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Types must match:
+ glass: "uniform 3-component vector of float" versus "uniform 2-component vector of float"
+ERROR: Linking fragment stage: Interpolation and auxiliary storage qualifiers must match:
+ cup: "smooth in 4-component vector of float" versus "flat in 4-component vector of float"
+ERROR: Linking fragment stage: Initializers must match:
+ cv3e
+ERROR: Linking fragment stage: Initializers must match:
+ um2e
+ERROR: Linking fragment stage: Initializers must match:
+ se
+ERROR: Linking fragment stage: Cannot mix ES profile with non-ES profile shaders
+
+ERROR: Linking fragment stage: Types must match:
+ERROR: Linking fragment stage: Precision qualifiers must match:
+ iv3: "smooth in 3-component vector of float" versus "smooth in highp 2-component vector of float"
+
+Shader version: 300
+Requested GL_OES_EGL_image_external
+Requested GL_OES_standard_derivatives
+Requested GL_OES_texture_3D
+0:? Sequence
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'a' (global 4-component vector of float)
+0:8 vector-scale (temp 4-component vector of float)
+0:8 Constant:
+0:8 8.000000
+0:8 'uv4' (uniform 4-component vector of float)
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'b' (global 4-component vector of float)
+0:17 vector-scale (temp 4-component vector of float)
+0:17 Constant:
+0:17 8.000000
+0:17 'a' (global 4-component vector of float)
+0:19 Function Definition: foo(mf22; (global 2-component vector of int)
+0:19 Function Parameters:
+0:19 'm' (in 2X2 matrix of float)
+0:21 Sequence
+0:21 Branch: Return with expression
+0:21 Convert float to int (temp 2-component vector of int)
+0:21 direct index (temp 2-component vector of float)
+0:21 'm' (in 2X2 matrix of float)
+0:21 Constant:
+0:21 0 (const int)
+0:24 Sequence
+0:24 move second child to first child (temp 4-component vector of float)
+0:24 'c' (global 4-component vector of float)
+0:24 component-wise multiply (temp 4-component vector of float)
+0:24 'b' (global 4-component vector of float)
+0:24 'b' (global 4-component vector of float)
+0:8 Sequence
+0:8 move second child to first child (temp 4-component vector of float)
+0:8 'd' (global 4-component vector of float)
+0:8 vector-scale (temp 4-component vector of float)
+0:8 Constant:
+0:8 8.000000
+0:8 'uv4' (uniform 4-component vector of float)
+0:13 Sequence
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'e' (global 4-component vector of float)
+0:13 vector-scale (temp 4-component vector of float)
+0:13 Constant:
+0:13 8.000000
+0:13 'd' (global 4-component vector of float)
+0:15 Function Definition: foo( (global 2-component vector of int)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Branch: Return with expression
+0:17 Constant:
+0:17 2 (const int)
+0:17 2 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'f' (global 4-component vector of float)
+0:20 component-wise multiply (temp 4-component vector of float)
+0:20 'e' (global 4-component vector of float)
+0:20 'e' (global 4-component vector of float)
+0:? Linker Objects
+0:? 'uv4' (uniform 4-component vector of float)
+0:? 'glass' (uniform 3-component vector of float)
+0:? 'ci' (const int)
+0:? 8 (const int)
+0:? 'a' (global 4-component vector of float)
+0:? 'iv3' (smooth in 3-component vector of float)
+0:? 'cup' (smooth in 4-component vector of float)
+0:? 'b' (global 4-component vector of float)
+0:? 'c' (global 4-component vector of float)
+0:? 'cv3' (const 3-component vector of float)
+0:? 43.000000
+0:? 0.340000
+0:? 9.900000
+0:? 'cv3n' (const 3-component vector of float)
+0:? 43.000000
+0:? 0.340000
+0:? 9.900000
+0:? 'cv3e' (const 3-component vector of float)
+0:? 43.000000
+0:? 0.340000
+0:? 9.900000
+0:? 'um2' (uniform 2X2 matrix of float)
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 'um2n' (uniform 2X2 matrix of float)
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 'um2e' (uniform 2X2 matrix of float)
+0:? 4.000000
+0:? 0.000000
+0:? 0.000000
+0:? 4.000000
+0:? 's' (uniform structure{global int a, global float b})
+0:? 82 (const int)
+0:? 3.900000
+0:? 'sn' (uniform structure{global int a, global float b})
+0:? 82 (const int)
+0:? 3.900000
+0:? 'se' (uniform structure{global int a, global float b})
+0:? 82 (const int)
+0:? 3.900000
+0:? 'd' (global 4-component vector of float)
+0:? 'e' (global 4-component vector of float)
+0:? 'f' (global 4-component vector of float)
+
diff --git a/Test/baseResults/localAggregates.frag.out b/Test/baseResults/localAggregates.frag.out
index ad47744..2e8ae76 100644
--- a/Test/baseResults/localAggregates.frag.out
+++ b/Test/baseResults/localAggregates.frag.out
@@ -1,414 +1,414 @@
-localAggregates.frag
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-WARNING: 0:5: varying deprecated in version 130; may be removed in future release
-
-Shader version: 130
-0:? Sequence
-0:34 Function Definition: main( (global void)
-0:34 Function Parameters:
-0:? Sequence
-0:41 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:41 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:41 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:41 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:41 Constant:
-0:41 0 (const int)
-0:43 Test condition and select (temp void)
-0:43 Condition
-0:43 Compare Greater Than (temp bool)
-0:43 i: direct index for structure (global int)
-0:43 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:43 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:43 Constant:
-0:43 0 (const int)
-0:43 Constant:
-0:43 0 (const int)
-0:43 Constant:
-0:43 0 (const int)
-0:43 true case
-0:44 Sequence
-0:44 move second child to first child (temp float)
-0:44 f: direct index for structure (global float)
-0:44 s1_1: direct index for structure (global structure{global int i, global float f})
-0:44 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:44 Constant:
-0:44 2 (const int)
-0:44 Constant:
-0:44 1 (const int)
-0:44 Constant:
-0:44 1.000000
-0:45 move second child to first child (temp float)
-0:45 direct index (temp float)
-0:45 'localFArray' (temp 16-element array of float)
-0:45 Constant:
-0:45 4 (const int)
-0:45 direct index (temp float)
-0:45 'coord' (smooth in 2-component vector of float)
-0:45 Constant:
-0:45 0 (const int)
-0:46 move second child to first child (temp int)
-0:46 direct index (temp int)
-0:46 'localIArray' (temp 8-element array of int)
-0:46 Constant:
-0:46 2 (const int)
-0:46 i: direct index for structure (global int)
-0:46 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:46 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:46 Constant:
-0:46 0 (const int)
-0:46 Constant:
-0:46 0 (const int)
-0:43 false case
-0:48 Sequence
-0:48 move second child to first child (temp float)
-0:48 f: direct index for structure (global float)
-0:48 s1_1: direct index for structure (global structure{global int i, global float f})
-0:48 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:48 Constant:
-0:48 2 (const int)
-0:48 Constant:
-0:48 1 (const int)
-0:48 direct index (temp float)
-0:48 'coord' (smooth in 2-component vector of float)
-0:48 Constant:
-0:48 0 (const int)
-0:49 move second child to first child (temp float)
-0:49 direct index (temp float)
-0:49 'localFArray' (temp 16-element array of float)
-0:49 Constant:
-0:49 4 (const int)
-0:49 Constant:
-0:49 1.000000
-0:50 move second child to first child (temp int)
-0:50 direct index (temp int)
-0:50 'localIArray' (temp 8-element array of int)
-0:50 Constant:
-0:50 2 (const int)
-0:50 Constant:
-0:50 0 (const int)
-0:53 Test condition and select (temp void)
-0:53 Condition
-0:53 Compare Equal (temp bool)
-0:53 direct index (temp int)
-0:53 'localIArray' (temp 8-element array of int)
-0:53 Constant:
-0:53 2 (const int)
-0:53 Constant:
-0:53 0 (const int)
-0:53 true case
-0:54 Pre-Increment (temp float)
-0:54 direct index (temp float)
-0:54 'localFArray' (temp 16-element array of float)
-0:54 Constant:
-0:54 4 (const int)
-0:57 Sequence
-0:57 move second child to first child (temp int)
-0:57 'x' (temp int)
-0:57 Constant:
-0:57 5 (const int)
-0:58 move second child to first child (temp float)
-0:58 indirect index (temp float)
-0:58 'localArray' (temp 16-element array of float)
-0:58 'x' (temp int)
-0:58 direct index (temp float)
-0:58 'coord' (smooth in 2-component vector of float)
-0:58 Constant:
-0:58 0 (const int)
-0:62 Sequence
-0:62 Sequence
-0:62 move second child to first child (temp int)
-0:62 'i' (temp int)
-0:62 Constant:
-0:62 0 (const int)
-0:62 Loop with condition tested first
-0:62 Loop Condition
-0:62 Compare Less Than (temp bool)
-0:62 'i' (temp int)
-0:62 Constant:
-0:62 16 (const int)
-0:62 Loop Body
-0:63 move second child to first child (temp float)
-0:63 indirect index (temp float)
-0:63 'a' (temp 16-element array of float)
-0:63 'i' (temp int)
-0:63 Constant:
-0:63 0.000000
-0:62 Loop Terminal Expression
-0:62 Post-Increment (temp int)
-0:62 'i' (temp int)
-0:65 Test condition and select (temp void)
-0:65 Condition
-0:65 Compare Equal (temp bool)
-0:65 'condition' (uniform int)
-0:65 Constant:
-0:65 1 (const int)
-0:65 true case
-0:66 move second child to first child (temp 16-element array of float)
-0:66 'a' (temp 16-element array of float)
-0:66 'localArray' (temp 16-element array of float)
-0:68 move second child to first child (temp 4-component vector of float)
-0:68 bleh: direct index for structure (global 4-component vector of float)
-0:68 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:68 Constant:
-0:68 3 (const int)
-0:68 'color' (smooth in 4-component vector of float)
-0:69 move second child to first child (temp float)
-0:69 direct index (temp float)
-0:69 bleh: direct index for structure (global 4-component vector of float)
-0:69 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:69 Constant:
-0:69 3 (const int)
-0:69 Constant:
-0:69 2 (const int)
-0:69 direct index (temp float)
-0:69 'coord' (smooth in 2-component vector of float)
-0:69 Constant:
-0:69 1 (const int)
-0:71 move second child to first child (temp 4-component vector of float)
-0:71 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:71 component-wise multiply (temp 4-component vector of float)
-0:71 vector-scale (temp 4-component vector of float)
-0:71 bleh: direct index for structure (global 4-component vector of float)
-0:71 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:71 Constant:
-0:71 3 (const int)
-0:71 add (temp float)
-0:71 add (temp float)
-0:71 add (temp float)
-0:71 direct index (temp float)
-0:71 'localFArray' (temp 16-element array of float)
-0:71 Constant:
-0:71 4 (const int)
-0:71 f: direct index for structure (global float)
-0:71 s1_1: direct index for structure (global structure{global int i, global float f})
-0:71 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:71 Constant:
-0:71 2 (const int)
-0:71 Constant:
-0:71 1 (const int)
-0:71 indirect index (temp float)
-0:71 'localArray' (temp 16-element array of float)
-0:71 'x' (temp int)
-0:71 indirect index (temp float)
-0:71 'a' (temp 16-element array of float)
-0:71 'x' (temp int)
-0:71 texture (global 4-component vector of float)
-0:71 'sampler' (uniform sampler2D)
-0:71 'coord' (smooth in 2-component vector of float)
-0:? Linker Objects
-0:? 'sampler' (uniform sampler2D)
-0:? 'coord' (smooth in 2-component vector of float)
-0:? 'color' (smooth in 4-component vector of float)
-0:? 'foo' (uniform structure{global int i, global float f})
-0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:? 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:? 'uFloatArray' (uniform 16-element array of float)
-0:? 'condition' (uniform int)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:34 Function Definition: main( (global void)
-0:34 Function Parameters:
-0:? Sequence
-0:41 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:41 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:41 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:41 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:41 Constant:
-0:41 0 (const int)
-0:43 Test condition and select (temp void)
-0:43 Condition
-0:43 Compare Greater Than (temp bool)
-0:43 i: direct index for structure (global int)
-0:43 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:43 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:43 Constant:
-0:43 0 (const int)
-0:43 Constant:
-0:43 0 (const int)
-0:43 Constant:
-0:43 0 (const int)
-0:43 true case
-0:44 Sequence
-0:44 move second child to first child (temp float)
-0:44 f: direct index for structure (global float)
-0:44 s1_1: direct index for structure (global structure{global int i, global float f})
-0:44 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:44 Constant:
-0:44 2 (const int)
-0:44 Constant:
-0:44 1 (const int)
-0:44 Constant:
-0:44 1.000000
-0:45 move second child to first child (temp float)
-0:45 direct index (temp float)
-0:45 'localFArray' (temp 16-element array of float)
-0:45 Constant:
-0:45 4 (const int)
-0:45 direct index (temp float)
-0:45 'coord' (smooth in 2-component vector of float)
-0:45 Constant:
-0:45 0 (const int)
-0:46 move second child to first child (temp int)
-0:46 direct index (temp int)
-0:46 'localIArray' (temp 8-element array of int)
-0:46 Constant:
-0:46 2 (const int)
-0:46 i: direct index for structure (global int)
-0:46 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:46 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:46 Constant:
-0:46 0 (const int)
-0:46 Constant:
-0:46 0 (const int)
-0:43 false case
-0:48 Sequence
-0:48 move second child to first child (temp float)
-0:48 f: direct index for structure (global float)
-0:48 s1_1: direct index for structure (global structure{global int i, global float f})
-0:48 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:48 Constant:
-0:48 2 (const int)
-0:48 Constant:
-0:48 1 (const int)
-0:48 direct index (temp float)
-0:48 'coord' (smooth in 2-component vector of float)
-0:48 Constant:
-0:48 0 (const int)
-0:49 move second child to first child (temp float)
-0:49 direct index (temp float)
-0:49 'localFArray' (temp 16-element array of float)
-0:49 Constant:
-0:49 4 (const int)
-0:49 Constant:
-0:49 1.000000
-0:50 move second child to first child (temp int)
-0:50 direct index (temp int)
-0:50 'localIArray' (temp 8-element array of int)
-0:50 Constant:
-0:50 2 (const int)
-0:50 Constant:
-0:50 0 (const int)
-0:53 Test condition and select (temp void)
-0:53 Condition
-0:53 Compare Equal (temp bool)
-0:53 direct index (temp int)
-0:53 'localIArray' (temp 8-element array of int)
-0:53 Constant:
-0:53 2 (const int)
-0:53 Constant:
-0:53 0 (const int)
-0:53 true case
-0:54 Pre-Increment (temp float)
-0:54 direct index (temp float)
-0:54 'localFArray' (temp 16-element array of float)
-0:54 Constant:
-0:54 4 (const int)
-0:57 Sequence
-0:57 move second child to first child (temp int)
-0:57 'x' (temp int)
-0:57 Constant:
-0:57 5 (const int)
-0:58 move second child to first child (temp float)
-0:58 indirect index (temp float)
-0:58 'localArray' (temp 16-element array of float)
-0:58 'x' (temp int)
-0:58 direct index (temp float)
-0:58 'coord' (smooth in 2-component vector of float)
-0:58 Constant:
-0:58 0 (const int)
-0:62 Sequence
-0:62 Sequence
-0:62 move second child to first child (temp int)
-0:62 'i' (temp int)
-0:62 Constant:
-0:62 0 (const int)
-0:62 Loop with condition tested first
-0:62 Loop Condition
-0:62 Compare Less Than (temp bool)
-0:62 'i' (temp int)
-0:62 Constant:
-0:62 16 (const int)
-0:62 Loop Body
-0:63 move second child to first child (temp float)
-0:63 indirect index (temp float)
-0:63 'a' (temp 16-element array of float)
-0:63 'i' (temp int)
-0:63 Constant:
-0:63 0.000000
-0:62 Loop Terminal Expression
-0:62 Post-Increment (temp int)
-0:62 'i' (temp int)
-0:65 Test condition and select (temp void)
-0:65 Condition
-0:65 Compare Equal (temp bool)
-0:65 'condition' (uniform int)
-0:65 Constant:
-0:65 1 (const int)
-0:65 true case
-0:66 move second child to first child (temp 16-element array of float)
-0:66 'a' (temp 16-element array of float)
-0:66 'localArray' (temp 16-element array of float)
-0:68 move second child to first child (temp 4-component vector of float)
-0:68 bleh: direct index for structure (global 4-component vector of float)
-0:68 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:68 Constant:
-0:68 3 (const int)
-0:68 'color' (smooth in 4-component vector of float)
-0:69 move second child to first child (temp float)
-0:69 direct index (temp float)
-0:69 bleh: direct index for structure (global 4-component vector of float)
-0:69 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:69 Constant:
-0:69 3 (const int)
-0:69 Constant:
-0:69 2 (const int)
-0:69 direct index (temp float)
-0:69 'coord' (smooth in 2-component vector of float)
-0:69 Constant:
-0:69 1 (const int)
-0:71 move second child to first child (temp 4-component vector of float)
-0:71 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:71 component-wise multiply (temp 4-component vector of float)
-0:71 vector-scale (temp 4-component vector of float)
-0:71 bleh: direct index for structure (global 4-component vector of float)
-0:71 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:71 Constant:
-0:71 3 (const int)
-0:71 add (temp float)
-0:71 add (temp float)
-0:71 add (temp float)
-0:71 direct index (temp float)
-0:71 'localFArray' (temp 16-element array of float)
-0:71 Constant:
-0:71 4 (const int)
-0:71 f: direct index for structure (global float)
-0:71 s1_1: direct index for structure (global structure{global int i, global float f})
-0:71 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:71 Constant:
-0:71 2 (const int)
-0:71 Constant:
-0:71 1 (const int)
-0:71 indirect index (temp float)
-0:71 'localArray' (temp 16-element array of float)
-0:71 'x' (temp int)
-0:71 indirect index (temp float)
-0:71 'a' (temp 16-element array of float)
-0:71 'x' (temp int)
-0:71 texture (global 4-component vector of float)
-0:71 'sampler' (uniform sampler2D)
-0:71 'coord' (smooth in 2-component vector of float)
-0:? Linker Objects
-0:? 'sampler' (uniform sampler2D)
-0:? 'coord' (smooth in 2-component vector of float)
-0:? 'color' (smooth in 4-component vector of float)
-0:? 'foo' (uniform structure{global int i, global float f})
-0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
-0:? 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:? 'uFloatArray' (uniform 16-element array of float)
-0:? 'condition' (uniform int)
-
+localAggregates.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+WARNING: 0:5: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:34 Function Definition: main( (global void)
+0:34 Function Parameters:
+0:? Sequence
+0:41 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:41 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:41 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:41 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:41 Constant:
+0:41 0 (const int)
+0:43 Test condition and select (temp void)
+0:43 Condition
+0:43 Compare Greater Than (temp bool)
+0:43 i: direct index for structure (global int)
+0:43 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:43 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:43 Constant:
+0:43 0 (const int)
+0:43 Constant:
+0:43 0 (const int)
+0:43 Constant:
+0:43 0 (const int)
+0:43 true case
+0:44 Sequence
+0:44 move second child to first child (temp float)
+0:44 f: direct index for structure (global float)
+0:44 s1_1: direct index for structure (global structure{global int i, global float f})
+0:44 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 1.000000
+0:45 move second child to first child (temp float)
+0:45 direct index (temp float)
+0:45 'localFArray' (temp 16-element array of float)
+0:45 Constant:
+0:45 4 (const int)
+0:45 direct index (temp float)
+0:45 'coord' (smooth in 2-component vector of float)
+0:45 Constant:
+0:45 0 (const int)
+0:46 move second child to first child (temp int)
+0:46 direct index (temp int)
+0:46 'localIArray' (temp 8-element array of int)
+0:46 Constant:
+0:46 2 (const int)
+0:46 i: direct index for structure (global int)
+0:46 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:46 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 0 (const int)
+0:43 false case
+0:48 Sequence
+0:48 move second child to first child (temp float)
+0:48 f: direct index for structure (global float)
+0:48 s1_1: direct index for structure (global structure{global int i, global float f})
+0:48 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:48 Constant:
+0:48 2 (const int)
+0:48 Constant:
+0:48 1 (const int)
+0:48 direct index (temp float)
+0:48 'coord' (smooth in 2-component vector of float)
+0:48 Constant:
+0:48 0 (const int)
+0:49 move second child to first child (temp float)
+0:49 direct index (temp float)
+0:49 'localFArray' (temp 16-element array of float)
+0:49 Constant:
+0:49 4 (const int)
+0:49 Constant:
+0:49 1.000000
+0:50 move second child to first child (temp int)
+0:50 direct index (temp int)
+0:50 'localIArray' (temp 8-element array of int)
+0:50 Constant:
+0:50 2 (const int)
+0:50 Constant:
+0:50 0 (const int)
+0:53 Test condition and select (temp void)
+0:53 Condition
+0:53 Compare Equal (temp bool)
+0:53 direct index (temp int)
+0:53 'localIArray' (temp 8-element array of int)
+0:53 Constant:
+0:53 2 (const int)
+0:53 Constant:
+0:53 0 (const int)
+0:53 true case
+0:54 Pre-Increment (temp float)
+0:54 direct index (temp float)
+0:54 'localFArray' (temp 16-element array of float)
+0:54 Constant:
+0:54 4 (const int)
+0:57 Sequence
+0:57 move second child to first child (temp int)
+0:57 'x' (temp int)
+0:57 Constant:
+0:57 5 (const int)
+0:58 move second child to first child (temp float)
+0:58 indirect index (temp float)
+0:58 'localArray' (temp 16-element array of float)
+0:58 'x' (temp int)
+0:58 direct index (temp float)
+0:58 'coord' (smooth in 2-component vector of float)
+0:58 Constant:
+0:58 0 (const int)
+0:62 Sequence
+0:62 Sequence
+0:62 move second child to first child (temp int)
+0:62 'i' (temp int)
+0:62 Constant:
+0:62 0 (const int)
+0:62 Loop with condition tested first
+0:62 Loop Condition
+0:62 Compare Less Than (temp bool)
+0:62 'i' (temp int)
+0:62 Constant:
+0:62 16 (const int)
+0:62 Loop Body
+0:63 move second child to first child (temp float)
+0:63 indirect index (temp float)
+0:63 'a' (temp 16-element array of float)
+0:63 'i' (temp int)
+0:63 Constant:
+0:63 0.000000
+0:62 Loop Terminal Expression
+0:62 Post-Increment (temp int)
+0:62 'i' (temp int)
+0:65 Test condition and select (temp void)
+0:65 Condition
+0:65 Compare Equal (temp bool)
+0:65 'condition' (uniform int)
+0:65 Constant:
+0:65 1 (const int)
+0:65 true case
+0:66 move second child to first child (temp 16-element array of float)
+0:66 'a' (temp 16-element array of float)
+0:66 'localArray' (temp 16-element array of float)
+0:68 move second child to first child (temp 4-component vector of float)
+0:68 bleh: direct index for structure (global 4-component vector of float)
+0:68 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:68 Constant:
+0:68 3 (const int)
+0:68 'color' (smooth in 4-component vector of float)
+0:69 move second child to first child (temp float)
+0:69 direct index (temp float)
+0:69 bleh: direct index for structure (global 4-component vector of float)
+0:69 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:69 Constant:
+0:69 3 (const int)
+0:69 Constant:
+0:69 2 (const int)
+0:69 direct index (temp float)
+0:69 'coord' (smooth in 2-component vector of float)
+0:69 Constant:
+0:69 1 (const int)
+0:71 move second child to first child (temp 4-component vector of float)
+0:71 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:71 component-wise multiply (temp 4-component vector of float)
+0:71 vector-scale (temp 4-component vector of float)
+0:71 bleh: direct index for structure (global 4-component vector of float)
+0:71 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:71 Constant:
+0:71 3 (const int)
+0:71 add (temp float)
+0:71 add (temp float)
+0:71 add (temp float)
+0:71 direct index (temp float)
+0:71 'localFArray' (temp 16-element array of float)
+0:71 Constant:
+0:71 4 (const int)
+0:71 f: direct index for structure (global float)
+0:71 s1_1: direct index for structure (global structure{global int i, global float f})
+0:71 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:71 Constant:
+0:71 2 (const int)
+0:71 Constant:
+0:71 1 (const int)
+0:71 indirect index (temp float)
+0:71 'localArray' (temp 16-element array of float)
+0:71 'x' (temp int)
+0:71 indirect index (temp float)
+0:71 'a' (temp 16-element array of float)
+0:71 'x' (temp int)
+0:71 texture (global 4-component vector of float)
+0:71 'sampler' (uniform sampler2D)
+0:71 'coord' (smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'color' (smooth in 4-component vector of float)
+0:? 'foo' (uniform structure{global int i, global float f})
+0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:? 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'uFloatArray' (uniform 16-element array of float)
+0:? 'condition' (uniform int)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:34 Function Definition: main( (global void)
+0:34 Function Parameters:
+0:? Sequence
+0:41 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:41 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:41 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:41 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:41 Constant:
+0:41 0 (const int)
+0:43 Test condition and select (temp void)
+0:43 Condition
+0:43 Compare Greater Than (temp bool)
+0:43 i: direct index for structure (global int)
+0:43 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:43 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:43 Constant:
+0:43 0 (const int)
+0:43 Constant:
+0:43 0 (const int)
+0:43 Constant:
+0:43 0 (const int)
+0:43 true case
+0:44 Sequence
+0:44 move second child to first child (temp float)
+0:44 f: direct index for structure (global float)
+0:44 s1_1: direct index for structure (global structure{global int i, global float f})
+0:44 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 1 (const int)
+0:44 Constant:
+0:44 1.000000
+0:45 move second child to first child (temp float)
+0:45 direct index (temp float)
+0:45 'localFArray' (temp 16-element array of float)
+0:45 Constant:
+0:45 4 (const int)
+0:45 direct index (temp float)
+0:45 'coord' (smooth in 2-component vector of float)
+0:45 Constant:
+0:45 0 (const int)
+0:46 move second child to first child (temp int)
+0:46 direct index (temp int)
+0:46 'localIArray' (temp 8-element array of int)
+0:46 Constant:
+0:46 2 (const int)
+0:46 i: direct index for structure (global int)
+0:46 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:46 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 0 (const int)
+0:43 false case
+0:48 Sequence
+0:48 move second child to first child (temp float)
+0:48 f: direct index for structure (global float)
+0:48 s1_1: direct index for structure (global structure{global int i, global float f})
+0:48 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:48 Constant:
+0:48 2 (const int)
+0:48 Constant:
+0:48 1 (const int)
+0:48 direct index (temp float)
+0:48 'coord' (smooth in 2-component vector of float)
+0:48 Constant:
+0:48 0 (const int)
+0:49 move second child to first child (temp float)
+0:49 direct index (temp float)
+0:49 'localFArray' (temp 16-element array of float)
+0:49 Constant:
+0:49 4 (const int)
+0:49 Constant:
+0:49 1.000000
+0:50 move second child to first child (temp int)
+0:50 direct index (temp int)
+0:50 'localIArray' (temp 8-element array of int)
+0:50 Constant:
+0:50 2 (const int)
+0:50 Constant:
+0:50 0 (const int)
+0:53 Test condition and select (temp void)
+0:53 Condition
+0:53 Compare Equal (temp bool)
+0:53 direct index (temp int)
+0:53 'localIArray' (temp 8-element array of int)
+0:53 Constant:
+0:53 2 (const int)
+0:53 Constant:
+0:53 0 (const int)
+0:53 true case
+0:54 Pre-Increment (temp float)
+0:54 direct index (temp float)
+0:54 'localFArray' (temp 16-element array of float)
+0:54 Constant:
+0:54 4 (const int)
+0:57 Sequence
+0:57 move second child to first child (temp int)
+0:57 'x' (temp int)
+0:57 Constant:
+0:57 5 (const int)
+0:58 move second child to first child (temp float)
+0:58 indirect index (temp float)
+0:58 'localArray' (temp 16-element array of float)
+0:58 'x' (temp int)
+0:58 direct index (temp float)
+0:58 'coord' (smooth in 2-component vector of float)
+0:58 Constant:
+0:58 0 (const int)
+0:62 Sequence
+0:62 Sequence
+0:62 move second child to first child (temp int)
+0:62 'i' (temp int)
+0:62 Constant:
+0:62 0 (const int)
+0:62 Loop with condition tested first
+0:62 Loop Condition
+0:62 Compare Less Than (temp bool)
+0:62 'i' (temp int)
+0:62 Constant:
+0:62 16 (const int)
+0:62 Loop Body
+0:63 move second child to first child (temp float)
+0:63 indirect index (temp float)
+0:63 'a' (temp 16-element array of float)
+0:63 'i' (temp int)
+0:63 Constant:
+0:63 0.000000
+0:62 Loop Terminal Expression
+0:62 Post-Increment (temp int)
+0:62 'i' (temp int)
+0:65 Test condition and select (temp void)
+0:65 Condition
+0:65 Compare Equal (temp bool)
+0:65 'condition' (uniform int)
+0:65 Constant:
+0:65 1 (const int)
+0:65 true case
+0:66 move second child to first child (temp 16-element array of float)
+0:66 'a' (temp 16-element array of float)
+0:66 'localArray' (temp 16-element array of float)
+0:68 move second child to first child (temp 4-component vector of float)
+0:68 bleh: direct index for structure (global 4-component vector of float)
+0:68 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:68 Constant:
+0:68 3 (const int)
+0:68 'color' (smooth in 4-component vector of float)
+0:69 move second child to first child (temp float)
+0:69 direct index (temp float)
+0:69 bleh: direct index for structure (global 4-component vector of float)
+0:69 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:69 Constant:
+0:69 3 (const int)
+0:69 Constant:
+0:69 2 (const int)
+0:69 direct index (temp float)
+0:69 'coord' (smooth in 2-component vector of float)
+0:69 Constant:
+0:69 1 (const int)
+0:71 move second child to first child (temp 4-component vector of float)
+0:71 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:71 component-wise multiply (temp 4-component vector of float)
+0:71 vector-scale (temp 4-component vector of float)
+0:71 bleh: direct index for structure (global 4-component vector of float)
+0:71 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:71 Constant:
+0:71 3 (const int)
+0:71 add (temp float)
+0:71 add (temp float)
+0:71 add (temp float)
+0:71 direct index (temp float)
+0:71 'localFArray' (temp 16-element array of float)
+0:71 Constant:
+0:71 4 (const int)
+0:71 f: direct index for structure (global float)
+0:71 s1_1: direct index for structure (global structure{global int i, global float f})
+0:71 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:71 Constant:
+0:71 2 (const int)
+0:71 Constant:
+0:71 1 (const int)
+0:71 indirect index (temp float)
+0:71 'localArray' (temp 16-element array of float)
+0:71 'x' (temp int)
+0:71 indirect index (temp float)
+0:71 'a' (temp 16-element array of float)
+0:71 'x' (temp int)
+0:71 texture (global 4-component vector of float)
+0:71 'sampler' (uniform sampler2D)
+0:71 'coord' (smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'color' (smooth in 4-component vector of float)
+0:? 'foo' (uniform structure{global int i, global float f})
+0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh})
+0:? 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1, global 4-component vector of float bleh} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'uFloatArray' (uniform 16-element array of float)
+0:? 'condition' (uniform int)
+
diff --git a/Test/baseResults/loops.frag.out b/Test/baseResults/loops.frag.out
index 36e8e5a..b592dbd 100644
--- a/Test/baseResults/loops.frag.out
+++ b/Test/baseResults/loops.frag.out
@@ -1,1935 +1,1935 @@
-loops.frag
-WARNING: 0:14: varying deprecated in version 130; may be removed in future release
-
-Shader version: 130
-0:? Sequence
-0:53 Function Definition: main( (global void)
-0:53 Function Parameters:
-0:55 Sequence
-0:55 Sequence
-0:55 move second child to first child (temp 4-component vector of float)
-0:55 'color' (temp 4-component vector of float)
-0:55 'BaseColor' (smooth in 4-component vector of float)
-0:58 Loop with condition tested first
-0:58 Loop Condition
-0:58 Constant:
-0:58 true (const bool)
-0:58 Loop Body
-0:59 Sequence
-0:59 Test condition and select (temp void)
-0:59 Condition
-0:59 Compare Less Than (temp bool)
-0:59 direct index (temp float)
-0:59 'color' (temp 4-component vector of float)
-0:59 Constant:
-0:59 0 (const int)
-0:59 Constant:
-0:59 0.330000
-0:59 true case
-0:60 Sequence
-0:60 add second child into first child (temp 4-component vector of float)
-0:60 'color' (temp 4-component vector of float)
-0:60 Constant:
-0:60 0.330000
-0:60 0.330000
-0:60 0.330000
-0:60 0.330000
-0:61 Branch: Break
-0:63 Test condition and select (temp void)
-0:63 Condition
-0:63 Compare Less Than (temp bool)
-0:63 direct index (temp float)
-0:63 'color' (temp 4-component vector of float)
-0:63 Constant:
-0:63 0 (const int)
-0:63 Constant:
-0:63 0.660000
-0:63 true case
-0:64 Sequence
-0:64 add second child into first child (temp 4-component vector of float)
-0:64 'color' (temp 4-component vector of float)
-0:64 Constant:
-0:64 0.660000
-0:64 0.660000
-0:64 0.660000
-0:64 0.660000
-0:65 Branch: Break
-0:68 add second child into first child (temp 4-component vector of float)
-0:68 'color' (temp 4-component vector of float)
-0:68 Constant:
-0:68 0.330000
-0:68 0.330000
-0:68 0.330000
-0:68 0.330000
-0:69 Branch: Break
-0:73 Loop with condition tested first
-0:73 Loop Condition
-0:73 Compare Less Than (temp bool)
-0:73 direct index (temp float)
-0:73 'color' (temp 4-component vector of float)
-0:73 Constant:
-0:73 0 (const int)
-0:73 'd' (uniform float)
-0:73 Loop Body
-0:74 Sequence
-0:74 add second child into first child (temp 4-component vector of float)
-0:74 'color' (temp 4-component vector of float)
-0:74 'bigColor' (uniform 4-component vector of float)
-0:78 Loop with condition tested first
-0:78 Loop Condition
-0:78 Compare Less Than (temp bool)
-0:78 direct index (temp float)
-0:78 'color' (temp 4-component vector of float)
-0:78 Constant:
-0:78 2 (const int)
-0:78 'd' (uniform float)
-0:78 Loop Body
-0:79 Sequence
-0:79 add second child into first child (temp 4-component vector of float)
-0:79 'color' (temp 4-component vector of float)
-0:79 'bigColor1_1' (uniform 4-component vector of float)
-0:80 Test condition and select (temp void)
-0:80 Condition
-0:80 Compare Less Than (temp bool)
-0:80 direct index (temp float)
-0:80 'color' (temp 4-component vector of float)
-0:80 Constant:
-0:80 3 (const int)
-0:80 'd' (uniform float)
-0:80 true case
-0:81 Branch: Continue
-0:83 add second child into first child (temp 4-component vector of float)
-0:83 'color' (temp 4-component vector of float)
-0:83 'bigColor1_1' (uniform 4-component vector of float)
-0:87 Loop with condition tested first
-0:87 Loop Condition
-0:87 Compare Less Than (temp bool)
-0:87 direct index (temp float)
-0:87 'color' (temp 4-component vector of float)
-0:87 Constant:
-0:87 0 (const int)
-0:87 Constant:
-0:87 42.000000
-0:87 Loop Body
-0:88 Sequence
-0:88 Pre-Increment (temp 4-component vector of float)
-0:88 'color' (temp 4-component vector of float)
-0:92 Loop with condition tested first
-0:92 Loop Condition
-0:92 logical-and (temp bool)
-0:92 Compare Less Than (temp bool)
-0:92 direct index (temp float)
-0:92 'color' (temp 4-component vector of float)
-0:92 Constant:
-0:92 3 (const int)
-0:92 'd2' (uniform float)
-0:92 Compare Less Than (temp bool)
-0:92 direct index (temp float)
-0:92 'color' (temp 4-component vector of float)
-0:92 Constant:
-0:92 1 (const int)
-0:92 'd3' (uniform float)
-0:92 Loop Body
-0:93 Sequence
-0:93 add second child into first child (temp 4-component vector of float)
-0:93 'color' (temp 4-component vector of float)
-0:93 'bigColor1_2' (uniform 4-component vector of float)
-0:97 Loop with condition tested first
-0:97 Loop Condition
-0:97 Compare Less Than (temp bool)
-0:97 direct index (temp float)
-0:97 'color' (temp 4-component vector of float)
-0:97 Constant:
-0:97 2 (const int)
-0:97 'd3' (uniform float)
-0:97 Loop Body
-0:98 Sequence
-0:98 add second child into first child (temp 4-component vector of float)
-0:98 'color' (temp 4-component vector of float)
-0:98 'bigColor1_3' (uniform 4-component vector of float)
-0:99 Test condition and select (temp void)
-0:99 Condition
-0:99 Compare Less Than (temp bool)
-0:99 direct index (temp float)
-0:99 'color' (temp 4-component vector of float)
-0:99 Constant:
-0:99 1 (const int)
-0:99 'd4' (uniform float)
-0:99 true case
-0:100 Branch: Break
-0:101 add second child into first child (temp 4-component vector of float)
-0:101 'color' (temp 4-component vector of float)
-0:101 'bigColor1_3' (uniform 4-component vector of float)
-0:105 Sequence
-0:105 Sequence
-0:105 move second child to first child (temp int)
-0:105 'i' (temp int)
-0:105 Constant:
-0:105 0 (const int)
-0:105 Loop with condition tested first
-0:105 Loop Condition
-0:105 Compare Less Than (temp bool)
-0:105 'i' (temp int)
-0:105 'Count' (uniform int)
-0:105 Loop Body
-0:106 Sequence
-0:106 add second child into first child (temp 4-component vector of float)
-0:106 'color' (temp 4-component vector of float)
-0:106 'bigColor2' (uniform 4-component vector of float)
-0:105 Loop Terminal Expression
-0:105 Pre-Increment (temp int)
-0:105 'i' (temp int)
-0:112 Loop with condition not tested first
-0:112 Loop Condition
-0:112 Compare Less Than (temp bool)
-0:112 direct index (temp float)
-0:112 'color' (temp 4-component vector of float)
-0:112 Constant:
-0:112 0 (const int)
-0:112 'd2' (uniform float)
-0:112 Loop Body
-0:111 Sequence
-0:111 add second child into first child (temp 4-component vector of float)
-0:111 'color' (temp 4-component vector of float)
-0:111 'bigColor3' (uniform 4-component vector of float)
-0:115 Sequence
-0:115 Sequence
-0:115 move second child to first child (temp int)
-0:115 'i' (temp int)
-0:115 Constant:
-0:115 0 (const int)
-0:115 Loop with condition tested first
-0:115 Loop Condition
-0:115 Compare Less Than (temp bool)
-0:115 'i' (temp int)
-0:115 Constant:
-0:115 42 (const int)
-0:115 Loop Body
-0:116 Sequence
-0:116 add second child into first child (temp float)
-0:116 direct index (temp float)
-0:116 'color' (temp 4-component vector of float)
-0:116 Constant:
-0:116 2 (const int)
-0:116 'd3' (uniform float)
-0:115 Loop Terminal Expression
-0:115 Pre-Increment (temp int)
-0:115 'i' (temp int)
-0:120 Sequence
-0:120 Sequence
-0:120 move second child to first child (temp int)
-0:120 'i' (temp int)
-0:120 Constant:
-0:120 0 (const int)
-0:120 Loop with condition tested first
-0:120 Loop Condition
-0:120 Compare Less Than (temp bool)
-0:120 'i' (temp int)
-0:120 Constant:
-0:120 100 (const int)
-0:120 Loop Body
-0:121 Sequence
-0:121 Test condition and select (temp void)
-0:121 Condition
-0:121 Compare Less Than (temp bool)
-0:121 direct index (temp float)
-0:121 'color' (temp 4-component vector of float)
-0:121 Constant:
-0:121 2 (const int)
-0:121 Constant:
-0:121 20.000000
-0:121 true case
-0:122 Post-Increment (temp float)
-0:122 direct index (temp float)
-0:122 'color' (temp 4-component vector of float)
-0:122 Constant:
-0:122 0 (const int)
-0:121 false case
-0:124 Post-Increment (temp float)
-0:124 direct index (temp float)
-0:124 'color' (temp 4-component vector of float)
-0:124 Constant:
-0:124 1 (const int)
-0:125 Test condition and select (temp void)
-0:125 Condition
-0:125 Compare Less Than (temp bool)
-0:125 direct index (temp float)
-0:125 'color' (temp 4-component vector of float)
-0:125 Constant:
-0:125 3 (const int)
-0:125 Constant:
-0:125 20.000000
-0:125 true case
-0:126 Test condition and select (temp void)
-0:126 Condition
-0:126 Compare Greater Than (temp bool)
-0:126 direct index (temp float)
-0:126 'color' (temp 4-component vector of float)
-0:126 Constant:
-0:126 2 (const int)
-0:126 direct index (temp float)
-0:126 'color' (temp 4-component vector of float)
-0:126 Constant:
-0:126 1 (const int)
-0:126 true case
-0:127 Constant:
-0:127 0 (const int)
-0:120 Loop Terminal Expression
-0:120 Pre-Increment (temp int)
-0:120 'i' (temp int)
-0:131 Sequence
-0:131 Sequence
-0:131 move second child to first child (temp int)
-0:131 'i' (temp int)
-0:131 Constant:
-0:131 0 (const int)
-0:131 Loop with condition tested first
-0:131 Loop Condition
-0:131 Compare Less Than (temp bool)
-0:131 'i' (temp int)
-0:131 Constant:
-0:131 120 (const int)
-0:131 Loop Body
-0:132 Sequence
-0:132 Test condition and select (temp void)
-0:132 Condition
-0:132 Compare Less Than (temp bool)
-0:132 direct index (temp float)
-0:132 'color' (temp 4-component vector of float)
-0:132 Constant:
-0:132 2 (const int)
-0:132 Constant:
-0:132 20.000000
-0:132 true case
-0:133 Post-Increment (temp float)
-0:133 direct index (temp float)
-0:133 'color' (temp 4-component vector of float)
-0:133 Constant:
-0:133 0 (const int)
-0:132 false case
-0:135 Post-Increment (temp float)
-0:135 direct index (temp float)
-0:135 'color' (temp 4-component vector of float)
-0:135 Constant:
-0:135 1 (const int)
-0:131 Loop Terminal Expression
-0:131 Pre-Increment (temp int)
-0:131 'i' (temp int)
-0:139 Sequence
-0:139 Sequence
-0:139 move second child to first child (temp int)
-0:139 'i' (temp int)
-0:139 Constant:
-0:139 0 (const int)
-0:139 Loop with condition tested first
-0:139 Loop Condition
-0:139 Compare Less Than (temp bool)
-0:139 'i' (temp int)
-0:139 Constant:
-0:139 42 (const int)
-0:139 Loop Body
-0:140 Sequence
-0:140 add second child into first child (temp float)
-0:140 direct index (temp float)
-0:140 'color' (temp 4-component vector of float)
-0:140 Constant:
-0:140 2 (const int)
-0:140 'd3' (uniform float)
-0:141 Test condition and select (temp void)
-0:141 Condition
-0:141 Compare Less Than (temp bool)
-0:141 direct index (temp float)
-0:141 'color' (temp 4-component vector of float)
-0:141 Constant:
-0:141 0 (const int)
-0:141 'd4' (uniform float)
-0:141 true case
-0:142 Branch: Continue
-0:143 Pre-Increment (temp float)
-0:143 direct index (temp float)
-0:143 'color' (temp 4-component vector of float)
-0:143 Constant:
-0:143 3 (const int)
-0:139 Loop Terminal Expression
-0:139 Pre-Increment (temp int)
-0:139 'i' (temp int)
-0:147 Sequence
-0:147 Sequence
-0:147 move second child to first child (temp int)
-0:147 'i' (temp int)
-0:147 Constant:
-0:147 0 (const int)
-0:147 Loop with condition tested first
-0:147 Loop Condition
-0:147 Compare Less Than (temp bool)
-0:147 'i' (temp int)
-0:147 Constant:
-0:147 42 (const int)
-0:147 Loop Body
-0:148 Sequence
-0:148 add second child into first child (temp float)
-0:148 direct index (temp float)
-0:148 'color' (temp 4-component vector of float)
-0:148 Constant:
-0:148 2 (const int)
-0:148 'd3' (uniform float)
-0:149 Test condition and select (temp void)
-0:149 Condition
-0:149 Compare Less Than (temp bool)
-0:149 direct index (temp float)
-0:149 'color' (temp 4-component vector of float)
-0:149 Constant:
-0:149 0 (const int)
-0:149 'd4' (uniform float)
-0:149 true case
-0:150 Branch: Break
-0:151 Pre-Increment (temp float)
-0:151 direct index (temp float)
-0:151 'color' (temp 4-component vector of float)
-0:151 Constant:
-0:151 3 (const int)
-0:147 Loop Terminal Expression
-0:147 Pre-Increment (temp int)
-0:147 'i' (temp int)
-0:163 Loop with condition not tested first
-0:163 Loop Condition
-0:163 Compare Less Than (temp bool)
-0:163 direct index (temp float)
-0:163 'color' (temp 4-component vector of float)
-0:163 Constant:
-0:163 2 (const int)
-0:163 'd4' (uniform float)
-0:163 Loop Body
-0:156 Sequence
-0:156 add second child into first child (temp 4-component vector of float)
-0:156 'color' (temp 4-component vector of float)
-0:156 'bigColor4' (uniform 4-component vector of float)
-0:157 Test condition and select (temp void)
-0:157 Condition
-0:157 Compare Less Than (temp bool)
-0:157 direct index (temp float)
-0:157 'color' (temp 4-component vector of float)
-0:157 Constant:
-0:157 0 (const int)
-0:157 'd4' (uniform float)
-0:157 true case
-0:158 Branch: Continue
-0:159 Test condition and select (temp void)
-0:159 Condition
-0:159 Compare Less Than (temp bool)
-0:159 direct index (temp float)
-0:159 'color' (temp 4-component vector of float)
-0:159 Constant:
-0:159 1 (const int)
-0:159 'd4' (uniform float)
-0:159 true case
-0:160 add second child into first child (temp float)
-0:160 direct index (temp float)
-0:160 'color' (temp 4-component vector of float)
-0:160 Constant:
-0:160 1 (const int)
-0:160 'd4' (uniform float)
-0:159 false case
-0:162 add second child into first child (temp float)
-0:162 direct index (temp float)
-0:162 'color' (temp 4-component vector of float)
-0:162 Constant:
-0:162 0 (const int)
-0:162 'd4' (uniform float)
-0:170 Loop with condition not tested first
-0:170 Loop Condition
-0:170 Compare Less Than (temp bool)
-0:170 direct index (temp float)
-0:170 'color' (temp 4-component vector of float)
-0:170 Constant:
-0:170 0 (const int)
-0:170 'd5' (uniform float)
-0:170 Loop Body
-0:167 Sequence
-0:167 add second child into first child (temp 4-component vector of float)
-0:167 'color' (temp 4-component vector of float)
-0:167 'bigColor5' (uniform 4-component vector of float)
-0:168 Test condition and select (temp void)
-0:168 Condition
-0:168 Compare Less Than (temp bool)
-0:168 direct index (temp float)
-0:168 'color' (temp 4-component vector of float)
-0:168 Constant:
-0:168 1 (const int)
-0:168 'd5' (uniform float)
-0:168 true case
-0:169 add second child into first child (temp float)
-0:169 direct index (temp float)
-0:169 'color' (temp 4-component vector of float)
-0:169 Constant:
-0:169 1 (const int)
-0:169 'd5' (uniform float)
-0:173 Test condition and select (temp void)
-0:173 Condition
-0:173 Compare Less Than (temp bool)
-0:173 direct index (temp float)
-0:173 'color' (temp 4-component vector of float)
-0:173 Constant:
-0:173 0 (const int)
-0:173 'd6' (uniform float)
-0:173 true case
-0:174 Sequence
-0:174 Loop with condition tested first
-0:174 Loop Condition
-0:174 Compare Less Than (temp bool)
-0:174 direct index (temp float)
-0:174 'color' (temp 4-component vector of float)
-0:174 Constant:
-0:174 1 (const int)
-0:174 'd6' (uniform float)
-0:174 Loop Body
-0:175 add second child into first child (temp 4-component vector of float)
-0:175 'color' (temp 4-component vector of float)
-0:175 'bigColor6' (uniform 4-component vector of float)
-0:173 false case
-0:177 Sequence
-0:177 Loop with condition tested first
-0:177 Loop Condition
-0:177 Compare Less Than (temp bool)
-0:177 direct index (temp float)
-0:177 'color' (temp 4-component vector of float)
-0:177 Constant:
-0:177 2 (const int)
-0:177 'd6' (uniform float)
-0:177 Loop Body
-0:178 add second child into first child (temp float)
-0:178 direct index (temp float)
-0:178 'color' (temp 4-component vector of float)
-0:178 Constant:
-0:178 2 (const int)
-0:178 direct index (temp float)
-0:178 'bigColor6' (uniform 4-component vector of float)
-0:178 Constant:
-0:178 2 (const int)
-0:182 Test condition and select (temp void)
-0:182 Condition
-0:182 Compare Less Than (temp bool)
-0:182 direct index (temp float)
-0:182 'color' (temp 4-component vector of float)
-0:182 Constant:
-0:182 0 (const int)
-0:182 'd6' (uniform float)
-0:182 true case
-0:183 Sequence
-0:183 Loop with condition tested first
-0:183 Loop Condition
-0:183 Compare Less Than (temp bool)
-0:183 direct index (temp float)
-0:183 'color' (temp 4-component vector of float)
-0:183 Constant:
-0:183 1 (const int)
-0:183 'd6' (uniform float)
-0:183 Loop Body
-0:184 Sequence
-0:184 add second child into first child (temp 4-component vector of float)
-0:184 'color' (temp 4-component vector of float)
-0:184 'bigColor6' (uniform 4-component vector of float)
-0:185 Test condition and select (temp void)
-0:185 Condition
-0:185 Compare Less Than (temp bool)
-0:185 'd7' (uniform float)
-0:185 Constant:
-0:185 1.000000
-0:185 true case
-0:186 Branch: Break
-0:182 false case
-0:190 Sequence
-0:190 Loop with condition tested first
-0:190 Loop Condition
-0:190 Compare Less Than (temp bool)
-0:190 direct index (temp float)
-0:190 'color' (temp 4-component vector of float)
-0:190 Constant:
-0:190 2 (const int)
-0:190 'd6' (uniform float)
-0:190 Loop Body
-0:191 add second child into first child (temp float)
-0:191 direct index (temp float)
-0:191 'color' (temp 4-component vector of float)
-0:191 Constant:
-0:191 2 (const int)
-0:191 direct index (temp float)
-0:191 'bigColor6' (uniform 4-component vector of float)
-0:191 Constant:
-0:191 2 (const int)
-0:209 Loop with condition not tested first
-0:209 Loop Condition
-0:209 Constant:
-0:209 true (const bool)
-0:209 Loop Body
-0:197 Sequence
-0:197 Test condition and select (temp void)
-0:197 Condition
-0:197 Compare Less Than (temp bool)
-0:197 'd7' (uniform float)
-0:197 Constant:
-0:197 0.000000
-0:197 true case
-0:198 Branch: Break
-0:200 add second child into first child (temp 4-component vector of float)
-0:200 'color' (temp 4-component vector of float)
-0:200 'bigColor7' (uniform 4-component vector of float)
-0:202 Test condition and select (temp void)
-0:202 Condition
-0:202 Compare Less Than (temp bool)
-0:202 'd7' (uniform float)
-0:202 Constant:
-0:202 1.000000
-0:202 true case
-0:203 Sequence
-0:203 Post-Increment (temp float)
-0:203 direct index (temp float)
-0:203 'color' (temp 4-component vector of float)
-0:203 Constant:
-0:203 2 (const int)
-0:204 Branch: Break
-0:207 add second child into first child (temp 4-component vector of float)
-0:207 'color' (temp 4-component vector of float)
-0:207 'BaseColor' (smooth in 4-component vector of float)
-0:234 Loop with condition not tested first
-0:234 Loop Condition
-0:234 Compare Less Than (temp bool)
-0:234 direct index (temp float)
-0:234 'color' (temp 4-component vector of float)
-0:234 Constant:
-0:234 2 (const int)
-0:234 'd8' (uniform float)
-0:234 Loop Body
-0:217 Sequence
-0:217 Test condition and select (temp void)
-0:217 Condition
-0:217 Compare Less Than (temp bool)
-0:217 'd8' (uniform float)
-0:217 Constant:
-0:217 0.000000
-0:217 true case
-0:218 Branch: Break
-0:220 add second child into first child (temp 4-component vector of float)
-0:220 'color' (temp 4-component vector of float)
-0:220 'bigColor7' (uniform 4-component vector of float)
-0:222 Test condition and select (temp void)
-0:222 Condition
-0:222 Compare Less Than (temp bool)
-0:222 'd8' (uniform float)
-0:222 Constant:
-0:222 1.000000
-0:222 true case
-0:223 Sequence
-0:223 Post-Increment (temp float)
-0:223 direct index (temp float)
-0:223 'color' (temp 4-component vector of float)
-0:223 Constant:
-0:223 2 (const int)
-0:224 Test condition and select (temp void)
-0:224 Condition
-0:224 Compare Less Than (temp bool)
-0:224 'd8' (uniform float)
-0:224 Constant:
-0:224 2.000000
-0:224 true case
-0:225 Sequence
-0:225 Post-Increment (temp float)
-0:225 direct index (temp float)
-0:225 'color' (temp 4-component vector of float)
-0:225 Constant:
-0:225 1 (const int)
-0:224 false case
-0:227 Sequence
-0:227 Post-Increment (temp float)
-0:227 direct index (temp float)
-0:227 'color' (temp 4-component vector of float)
-0:227 Constant:
-0:227 0 (const int)
-0:229 Branch: Break
-0:232 add second child into first child (temp 4-component vector of float)
-0:232 'color' (temp 4-component vector of float)
-0:232 'BaseColor' (smooth in 4-component vector of float)
-0:237 Loop with condition tested first
-0:237 Loop Condition
-0:237 Compare Less Than (temp bool)
-0:237 direct index (temp float)
-0:237 'color' (temp 4-component vector of float)
-0:237 Constant:
-0:237 3 (const int)
-0:237 'd9' (uniform float)
-0:237 Loop Body
-0:238 Sequence
-0:238 Test condition and select (temp void)
-0:238 Condition
-0:238 Compare Greater Than (temp bool)
-0:238 'd9' (uniform float)
-0:238 'd8' (uniform float)
-0:238 true case
-0:239 Sequence
-0:239 Test condition and select (temp void)
-0:239 Condition
-0:239 Compare Less Than or Equal (temp bool)
-0:239 direct index (temp float)
-0:239 'color' (temp 4-component vector of float)
-0:239 Constant:
-0:239 0 (const int)
-0:239 'd7' (uniform float)
-0:239 true case
-0:240 Sequence
-0:240 Test condition and select (temp void)
-0:240 Condition
-0:240 Compare Equal (temp bool)
-0:240 direct index (temp float)
-0:240 'color' (temp 4-component vector of float)
-0:240 Constant:
-0:240 2 (const int)
-0:240 Constant:
-0:240 5.000000
-0:240 true case
-0:241 Post-Increment (temp float)
-0:241 direct index (temp float)
-0:241 'color' (temp 4-component vector of float)
-0:241 Constant:
-0:241 3 (const int)
-0:240 false case
-0:243 Branch: Break
-0:250 Loop with condition tested first
-0:250 Loop Condition
-0:250 Compare Less Than (temp bool)
-0:250 direct index (temp float)
-0:250 'color' (temp 4-component vector of float)
-0:250 Constant:
-0:250 2 (const int)
-0:250 'd10' (uniform float)
-0:250 Loop Body
-0:251 Sequence
-0:251 Post-Increment (temp float)
-0:251 direct index (temp float)
-0:251 'color' (temp 4-component vector of float)
-0:251 Constant:
-0:251 1 (const int)
-0:252 Test condition and select (temp void)
-0:252 Condition
-0:252 Compare Less Than (temp bool)
-0:252 direct index (temp float)
-0:252 'color' (temp 4-component vector of float)
-0:252 Constant:
-0:252 1 (const int)
-0:252 'd11' (uniform float)
-0:252 true case
-0:253 Sequence
-0:253 Post-Increment (temp float)
-0:253 direct index (temp float)
-0:253 'color' (temp 4-component vector of float)
-0:253 Constant:
-0:253 2 (const int)
-0:254 Test condition and select (temp void)
-0:254 Condition
-0:254 Compare Less Than (temp bool)
-0:254 direct index (temp float)
-0:254 'color' (temp 4-component vector of float)
-0:254 Constant:
-0:254 3 (const int)
-0:254 'd12' (uniform float)
-0:254 true case
-0:255 Post-Increment (temp float)
-0:255 direct index (temp float)
-0:255 'color' (temp 4-component vector of float)
-0:255 Constant:
-0:255 3 (const int)
-0:254 false case
-0:257 Post-Increment (temp float)
-0:257 direct index (temp float)
-0:257 'color' (temp 4-component vector of float)
-0:257 Constant:
-0:257 0 (const int)
-0:258 Branch: Continue
-0:261 Post-Increment (temp 4-component vector of float)
-0:261 'color' (temp 4-component vector of float)
-0:262 Branch: Break
-0:266 Loop with condition tested first
-0:266 Loop Condition
-0:266 Compare Less Than (temp bool)
-0:266 direct index (temp float)
-0:266 'color' (temp 4-component vector of float)
-0:266 Constant:
-0:266 0 (const int)
-0:266 Constant:
-0:266 10.000000
-0:266 Loop Body
-0:267 Sequence
-0:267 add second child into first child (temp 4-component vector of float)
-0:267 'color' (temp 4-component vector of float)
-0:267 'bigColor8' (uniform 4-component vector of float)
-0:269 Test condition and select (temp void)
-0:269 Condition
-0:269 Compare Less Than (temp bool)
-0:269 direct index (temp float)
-0:269 'color' (temp 4-component vector of float)
-0:269 Constant:
-0:269 2 (const int)
-0:269 'd8' (uniform float)
-0:269 true case
-0:270 Test condition and select (temp void)
-0:270 Condition
-0:270 Compare Less Than (temp bool)
-0:270 direct index (temp float)
-0:270 'color' (temp 4-component vector of float)
-0:270 Constant:
-0:270 3 (const int)
-0:270 'd6' (uniform float)
-0:270 true case
-0:271 Branch: Continue
-0:273 add second child into first child (temp float)
-0:273 direct index (temp float)
-0:273 'color' (temp 4-component vector of float)
-0:273 Constant:
-0:273 1 (const int)
-0:273 direct index (temp float)
-0:273 'bigColor8' (uniform 4-component vector of float)
-0:273 Constant:
-0:273 0 (const int)
-0:276 Post-Increment (temp 4-component vector of float)
-0:276 'color' (temp 4-component vector of float)
-0:277 move second child to first child (temp 4-component vector of float)
-0:277 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:277 'color' (temp 4-component vector of float)
-0:280 Loop with condition tested first
-0:280 Loop Condition
-0:280 Compare Less Than (temp bool)
-0:280 direct index (temp float)
-0:280 'color' (temp 4-component vector of float)
-0:280 Constant:
-0:280 0 (const int)
-0:280 'd14' (uniform float)
-0:280 Loop Body
-0:281 Sequence
-0:281 Test condition and select (temp void)
-0:281 Condition
-0:281 Compare Less Than (temp bool)
-0:281 direct index (temp float)
-0:281 'color' (temp 4-component vector of float)
-0:281 Constant:
-0:281 1 (const int)
-0:281 'd15' (uniform float)
-0:281 true case
-0:282 Sequence
-0:282 Branch: Return
-0:281 false case
-0:285 Post-Increment (temp 4-component vector of float)
-0:285 'color' (temp 4-component vector of float)
-0:288 Post-Increment (temp 4-component vector of float)
-0:288 'color' (temp 4-component vector of float)
-0:290 Loop with condition tested first
-0:290 Loop Condition
-0:290 Compare Less Than (temp bool)
-0:290 direct index (temp float)
-0:290 'color' (temp 4-component vector of float)
-0:290 Constant:
-0:290 3 (const int)
-0:290 'd16' (uniform float)
-0:290 Loop Body
-0:291 Sequence
-0:291 Post-Increment (temp float)
-0:291 direct index (temp float)
-0:291 'color' (temp 4-component vector of float)
-0:291 Constant:
-0:291 3 (const int)
-0:296 Loop with condition tested first
-0:296 Loop Condition
-0:296 logical-and (temp bool)
-0:296 Compare Less Than (temp bool)
-0:296 direct index (temp float)
-0:296 'color' (temp 4-component vector of float)
-0:296 Constant:
-0:296 3 (const int)
-0:296 'd2' (uniform float)
-0:296 Compare Less Than (temp bool)
-0:296 direct index (temp float)
-0:296 'color' (temp 4-component vector of float)
-0:296 Constant:
-0:296 1 (const int)
-0:296 'd3' (uniform float)
-0:296 Loop Body
-0:297 Sequence
-0:297 add second child into first child (temp 4-component vector of float)
-0:297 'color' (temp 4-component vector of float)
-0:297 'bigColor1_2' (uniform 4-component vector of float)
-0:298 Test condition and select (temp void)
-0:298 Condition
-0:298 Compare Less Than (temp bool)
-0:298 direct index (temp float)
-0:298 'color' (temp 4-component vector of float)
-0:298 Constant:
-0:298 2 (const int)
-0:298 'd3' (uniform float)
-0:298 true case
-0:299 Branch: Return
-0:307 Loop with condition not tested first
-0:307 Loop Condition
-0:307 Compare Less Than (temp bool)
-0:307 direct index (temp float)
-0:307 'color' (temp 4-component vector of float)
-0:307 Constant:
-0:307 0 (const int)
-0:307 'd17' (uniform float)
-0:307 Loop Body
-0:304 Sequence
-0:304 Test condition and select (temp void)
-0:304 Condition
-0:304 Compare Less Than (temp bool)
-0:304 direct index (temp float)
-0:304 'color' (temp 4-component vector of float)
-0:304 Constant:
-0:304 1 (const int)
-0:304 'd18' (uniform float)
-0:304 true case
-0:305 Branch: Return
-0:306 Post-Increment (temp 4-component vector of float)
-0:306 'color' (temp 4-component vector of float)
-0:310 Loop with condition tested first
-0:310 Loop Condition
-0:310 Compare Less Than (temp bool)
-0:310 direct index (temp float)
-0:310 'color' (temp 4-component vector of float)
-0:310 Constant:
-0:310 1 (const int)
-0:310 'd16' (uniform float)
-0:310 Loop Body
-0:311 Sequence
-0:311 Test condition and select (temp void)
-0:311 Condition
-0:311 Compare Less Than (temp bool)
-0:311 direct index (temp float)
-0:311 'color' (temp 4-component vector of float)
-0:311 Constant:
-0:311 3 (const int)
-0:311 'd16' (uniform float)
-0:311 true case
-0:312 Sequence
-0:312 Branch: Kill
-0:311 false case
-0:314 Post-Increment (temp 4-component vector of float)
-0:314 'color' (temp 4-component vector of float)
-0:317 Post-Increment (temp 4-component vector of float)
-0:317 'color' (temp 4-component vector of float)
-0:319 move second child to first child (temp 4-component vector of float)
-0:319 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:319 'color' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'bigColor1_1' (uniform 4-component vector of float)
-0:? 'bigColor1_2' (uniform 4-component vector of float)
-0:? 'bigColor1_3' (uniform 4-component vector of float)
-0:? 'bigColor2' (uniform 4-component vector of float)
-0:? 'bigColor3' (uniform 4-component vector of float)
-0:? 'bigColor4' (uniform 4-component vector of float)
-0:? 'bigColor5' (uniform 4-component vector of float)
-0:? 'bigColor6' (uniform 4-component vector of float)
-0:? 'bigColor7' (uniform 4-component vector of float)
-0:? 'bigColor8' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-0:? 'd2' (uniform float)
-0:? 'd3' (uniform float)
-0:? 'd4' (uniform float)
-0:? 'd5' (uniform float)
-0:? 'd6' (uniform float)
-0:? 'd7' (uniform float)
-0:? 'd8' (uniform float)
-0:? 'd9' (uniform float)
-0:? 'd10' (uniform float)
-0:? 'd11' (uniform float)
-0:? 'd12' (uniform float)
-0:? 'd13' (uniform float)
-0:? 'd14' (uniform float)
-0:? 'd15' (uniform float)
-0:? 'd16' (uniform float)
-0:? 'd17' (uniform float)
-0:? 'd18' (uniform float)
-0:? 'd19' (uniform float)
-0:? 'd20' (uniform float)
-0:? 'd21' (uniform float)
-0:? 'd22' (uniform float)
-0:? 'd23' (uniform float)
-0:? 'd24' (uniform float)
-0:? 'd25' (uniform float)
-0:? 'd26' (uniform float)
-0:? 'd27' (uniform float)
-0:? 'd28' (uniform float)
-0:? 'd29' (uniform float)
-0:? 'd30' (uniform float)
-0:? 'd31' (uniform float)
-0:? 'd32' (uniform float)
-0:? 'd33' (uniform float)
-0:? 'd34' (uniform float)
-0:? 'Count' (uniform int)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:53 Function Definition: main( (global void)
-0:53 Function Parameters:
-0:55 Sequence
-0:55 Sequence
-0:55 move second child to first child (temp 4-component vector of float)
-0:55 'color' (temp 4-component vector of float)
-0:55 'BaseColor' (smooth in 4-component vector of float)
-0:58 Loop with condition tested first
-0:58 Loop Condition
-0:58 Constant:
-0:58 true (const bool)
-0:58 Loop Body
-0:59 Sequence
-0:59 Test condition and select (temp void)
-0:59 Condition
-0:59 Compare Less Than (temp bool)
-0:59 direct index (temp float)
-0:59 'color' (temp 4-component vector of float)
-0:59 Constant:
-0:59 0 (const int)
-0:59 Constant:
-0:59 0.330000
-0:59 true case
-0:60 Sequence
-0:60 add second child into first child (temp 4-component vector of float)
-0:60 'color' (temp 4-component vector of float)
-0:60 Constant:
-0:60 0.330000
-0:60 0.330000
-0:60 0.330000
-0:60 0.330000
-0:61 Branch: Break
-0:63 Test condition and select (temp void)
-0:63 Condition
-0:63 Compare Less Than (temp bool)
-0:63 direct index (temp float)
-0:63 'color' (temp 4-component vector of float)
-0:63 Constant:
-0:63 0 (const int)
-0:63 Constant:
-0:63 0.660000
-0:63 true case
-0:64 Sequence
-0:64 add second child into first child (temp 4-component vector of float)
-0:64 'color' (temp 4-component vector of float)
-0:64 Constant:
-0:64 0.660000
-0:64 0.660000
-0:64 0.660000
-0:64 0.660000
-0:65 Branch: Break
-0:68 add second child into first child (temp 4-component vector of float)
-0:68 'color' (temp 4-component vector of float)
-0:68 Constant:
-0:68 0.330000
-0:68 0.330000
-0:68 0.330000
-0:68 0.330000
-0:69 Branch: Break
-0:73 Loop with condition tested first
-0:73 Loop Condition
-0:73 Compare Less Than (temp bool)
-0:73 direct index (temp float)
-0:73 'color' (temp 4-component vector of float)
-0:73 Constant:
-0:73 0 (const int)
-0:73 'd' (uniform float)
-0:73 Loop Body
-0:74 Sequence
-0:74 add second child into first child (temp 4-component vector of float)
-0:74 'color' (temp 4-component vector of float)
-0:74 'bigColor' (uniform 4-component vector of float)
-0:78 Loop with condition tested first
-0:78 Loop Condition
-0:78 Compare Less Than (temp bool)
-0:78 direct index (temp float)
-0:78 'color' (temp 4-component vector of float)
-0:78 Constant:
-0:78 2 (const int)
-0:78 'd' (uniform float)
-0:78 Loop Body
-0:79 Sequence
-0:79 add second child into first child (temp 4-component vector of float)
-0:79 'color' (temp 4-component vector of float)
-0:79 'bigColor1_1' (uniform 4-component vector of float)
-0:80 Test condition and select (temp void)
-0:80 Condition
-0:80 Compare Less Than (temp bool)
-0:80 direct index (temp float)
-0:80 'color' (temp 4-component vector of float)
-0:80 Constant:
-0:80 3 (const int)
-0:80 'd' (uniform float)
-0:80 true case
-0:81 Branch: Continue
-0:83 add second child into first child (temp 4-component vector of float)
-0:83 'color' (temp 4-component vector of float)
-0:83 'bigColor1_1' (uniform 4-component vector of float)
-0:87 Loop with condition tested first
-0:87 Loop Condition
-0:87 Compare Less Than (temp bool)
-0:87 direct index (temp float)
-0:87 'color' (temp 4-component vector of float)
-0:87 Constant:
-0:87 0 (const int)
-0:87 Constant:
-0:87 42.000000
-0:87 Loop Body
-0:88 Sequence
-0:88 Pre-Increment (temp 4-component vector of float)
-0:88 'color' (temp 4-component vector of float)
-0:92 Loop with condition tested first
-0:92 Loop Condition
-0:92 logical-and (temp bool)
-0:92 Compare Less Than (temp bool)
-0:92 direct index (temp float)
-0:92 'color' (temp 4-component vector of float)
-0:92 Constant:
-0:92 3 (const int)
-0:92 'd2' (uniform float)
-0:92 Compare Less Than (temp bool)
-0:92 direct index (temp float)
-0:92 'color' (temp 4-component vector of float)
-0:92 Constant:
-0:92 1 (const int)
-0:92 'd3' (uniform float)
-0:92 Loop Body
-0:93 Sequence
-0:93 add second child into first child (temp 4-component vector of float)
-0:93 'color' (temp 4-component vector of float)
-0:93 'bigColor1_2' (uniform 4-component vector of float)
-0:97 Loop with condition tested first
-0:97 Loop Condition
-0:97 Compare Less Than (temp bool)
-0:97 direct index (temp float)
-0:97 'color' (temp 4-component vector of float)
-0:97 Constant:
-0:97 2 (const int)
-0:97 'd3' (uniform float)
-0:97 Loop Body
-0:98 Sequence
-0:98 add second child into first child (temp 4-component vector of float)
-0:98 'color' (temp 4-component vector of float)
-0:98 'bigColor1_3' (uniform 4-component vector of float)
-0:99 Test condition and select (temp void)
-0:99 Condition
-0:99 Compare Less Than (temp bool)
-0:99 direct index (temp float)
-0:99 'color' (temp 4-component vector of float)
-0:99 Constant:
-0:99 1 (const int)
-0:99 'd4' (uniform float)
-0:99 true case
-0:100 Branch: Break
-0:101 add second child into first child (temp 4-component vector of float)
-0:101 'color' (temp 4-component vector of float)
-0:101 'bigColor1_3' (uniform 4-component vector of float)
-0:105 Sequence
-0:105 Sequence
-0:105 move second child to first child (temp int)
-0:105 'i' (temp int)
-0:105 Constant:
-0:105 0 (const int)
-0:105 Loop with condition tested first
-0:105 Loop Condition
-0:105 Compare Less Than (temp bool)
-0:105 'i' (temp int)
-0:105 'Count' (uniform int)
-0:105 Loop Body
-0:106 Sequence
-0:106 add second child into first child (temp 4-component vector of float)
-0:106 'color' (temp 4-component vector of float)
-0:106 'bigColor2' (uniform 4-component vector of float)
-0:105 Loop Terminal Expression
-0:105 Pre-Increment (temp int)
-0:105 'i' (temp int)
-0:112 Loop with condition not tested first
-0:112 Loop Condition
-0:112 Compare Less Than (temp bool)
-0:112 direct index (temp float)
-0:112 'color' (temp 4-component vector of float)
-0:112 Constant:
-0:112 0 (const int)
-0:112 'd2' (uniform float)
-0:112 Loop Body
-0:111 Sequence
-0:111 add second child into first child (temp 4-component vector of float)
-0:111 'color' (temp 4-component vector of float)
-0:111 'bigColor3' (uniform 4-component vector of float)
-0:115 Sequence
-0:115 Sequence
-0:115 move second child to first child (temp int)
-0:115 'i' (temp int)
-0:115 Constant:
-0:115 0 (const int)
-0:115 Loop with condition tested first
-0:115 Loop Condition
-0:115 Compare Less Than (temp bool)
-0:115 'i' (temp int)
-0:115 Constant:
-0:115 42 (const int)
-0:115 Loop Body
-0:116 Sequence
-0:116 add second child into first child (temp float)
-0:116 direct index (temp float)
-0:116 'color' (temp 4-component vector of float)
-0:116 Constant:
-0:116 2 (const int)
-0:116 'd3' (uniform float)
-0:115 Loop Terminal Expression
-0:115 Pre-Increment (temp int)
-0:115 'i' (temp int)
-0:120 Sequence
-0:120 Sequence
-0:120 move second child to first child (temp int)
-0:120 'i' (temp int)
-0:120 Constant:
-0:120 0 (const int)
-0:120 Loop with condition tested first
-0:120 Loop Condition
-0:120 Compare Less Than (temp bool)
-0:120 'i' (temp int)
-0:120 Constant:
-0:120 100 (const int)
-0:120 Loop Body
-0:121 Sequence
-0:121 Test condition and select (temp void)
-0:121 Condition
-0:121 Compare Less Than (temp bool)
-0:121 direct index (temp float)
-0:121 'color' (temp 4-component vector of float)
-0:121 Constant:
-0:121 2 (const int)
-0:121 Constant:
-0:121 20.000000
-0:121 true case
-0:122 Post-Increment (temp float)
-0:122 direct index (temp float)
-0:122 'color' (temp 4-component vector of float)
-0:122 Constant:
-0:122 0 (const int)
-0:121 false case
-0:124 Post-Increment (temp float)
-0:124 direct index (temp float)
-0:124 'color' (temp 4-component vector of float)
-0:124 Constant:
-0:124 1 (const int)
-0:125 Test condition and select (temp void)
-0:125 Condition
-0:125 Compare Less Than (temp bool)
-0:125 direct index (temp float)
-0:125 'color' (temp 4-component vector of float)
-0:125 Constant:
-0:125 3 (const int)
-0:125 Constant:
-0:125 20.000000
-0:125 true case
-0:126 Test condition and select (temp void)
-0:126 Condition
-0:126 Compare Greater Than (temp bool)
-0:126 direct index (temp float)
-0:126 'color' (temp 4-component vector of float)
-0:126 Constant:
-0:126 2 (const int)
-0:126 direct index (temp float)
-0:126 'color' (temp 4-component vector of float)
-0:126 Constant:
-0:126 1 (const int)
-0:126 true case
-0:127 Constant:
-0:127 0 (const int)
-0:120 Loop Terminal Expression
-0:120 Pre-Increment (temp int)
-0:120 'i' (temp int)
-0:131 Sequence
-0:131 Sequence
-0:131 move second child to first child (temp int)
-0:131 'i' (temp int)
-0:131 Constant:
-0:131 0 (const int)
-0:131 Loop with condition tested first
-0:131 Loop Condition
-0:131 Compare Less Than (temp bool)
-0:131 'i' (temp int)
-0:131 Constant:
-0:131 120 (const int)
-0:131 Loop Body
-0:132 Sequence
-0:132 Test condition and select (temp void)
-0:132 Condition
-0:132 Compare Less Than (temp bool)
-0:132 direct index (temp float)
-0:132 'color' (temp 4-component vector of float)
-0:132 Constant:
-0:132 2 (const int)
-0:132 Constant:
-0:132 20.000000
-0:132 true case
-0:133 Post-Increment (temp float)
-0:133 direct index (temp float)
-0:133 'color' (temp 4-component vector of float)
-0:133 Constant:
-0:133 0 (const int)
-0:132 false case
-0:135 Post-Increment (temp float)
-0:135 direct index (temp float)
-0:135 'color' (temp 4-component vector of float)
-0:135 Constant:
-0:135 1 (const int)
-0:131 Loop Terminal Expression
-0:131 Pre-Increment (temp int)
-0:131 'i' (temp int)
-0:139 Sequence
-0:139 Sequence
-0:139 move second child to first child (temp int)
-0:139 'i' (temp int)
-0:139 Constant:
-0:139 0 (const int)
-0:139 Loop with condition tested first
-0:139 Loop Condition
-0:139 Compare Less Than (temp bool)
-0:139 'i' (temp int)
-0:139 Constant:
-0:139 42 (const int)
-0:139 Loop Body
-0:140 Sequence
-0:140 add second child into first child (temp float)
-0:140 direct index (temp float)
-0:140 'color' (temp 4-component vector of float)
-0:140 Constant:
-0:140 2 (const int)
-0:140 'd3' (uniform float)
-0:141 Test condition and select (temp void)
-0:141 Condition
-0:141 Compare Less Than (temp bool)
-0:141 direct index (temp float)
-0:141 'color' (temp 4-component vector of float)
-0:141 Constant:
-0:141 0 (const int)
-0:141 'd4' (uniform float)
-0:141 true case
-0:142 Branch: Continue
-0:143 Pre-Increment (temp float)
-0:143 direct index (temp float)
-0:143 'color' (temp 4-component vector of float)
-0:143 Constant:
-0:143 3 (const int)
-0:139 Loop Terminal Expression
-0:139 Pre-Increment (temp int)
-0:139 'i' (temp int)
-0:147 Sequence
-0:147 Sequence
-0:147 move second child to first child (temp int)
-0:147 'i' (temp int)
-0:147 Constant:
-0:147 0 (const int)
-0:147 Loop with condition tested first
-0:147 Loop Condition
-0:147 Compare Less Than (temp bool)
-0:147 'i' (temp int)
-0:147 Constant:
-0:147 42 (const int)
-0:147 Loop Body
-0:148 Sequence
-0:148 add second child into first child (temp float)
-0:148 direct index (temp float)
-0:148 'color' (temp 4-component vector of float)
-0:148 Constant:
-0:148 2 (const int)
-0:148 'd3' (uniform float)
-0:149 Test condition and select (temp void)
-0:149 Condition
-0:149 Compare Less Than (temp bool)
-0:149 direct index (temp float)
-0:149 'color' (temp 4-component vector of float)
-0:149 Constant:
-0:149 0 (const int)
-0:149 'd4' (uniform float)
-0:149 true case
-0:150 Branch: Break
-0:151 Pre-Increment (temp float)
-0:151 direct index (temp float)
-0:151 'color' (temp 4-component vector of float)
-0:151 Constant:
-0:151 3 (const int)
-0:147 Loop Terminal Expression
-0:147 Pre-Increment (temp int)
-0:147 'i' (temp int)
-0:163 Loop with condition not tested first
-0:163 Loop Condition
-0:163 Compare Less Than (temp bool)
-0:163 direct index (temp float)
-0:163 'color' (temp 4-component vector of float)
-0:163 Constant:
-0:163 2 (const int)
-0:163 'd4' (uniform float)
-0:163 Loop Body
-0:156 Sequence
-0:156 add second child into first child (temp 4-component vector of float)
-0:156 'color' (temp 4-component vector of float)
-0:156 'bigColor4' (uniform 4-component vector of float)
-0:157 Test condition and select (temp void)
-0:157 Condition
-0:157 Compare Less Than (temp bool)
-0:157 direct index (temp float)
-0:157 'color' (temp 4-component vector of float)
-0:157 Constant:
-0:157 0 (const int)
-0:157 'd4' (uniform float)
-0:157 true case
-0:158 Branch: Continue
-0:159 Test condition and select (temp void)
-0:159 Condition
-0:159 Compare Less Than (temp bool)
-0:159 direct index (temp float)
-0:159 'color' (temp 4-component vector of float)
-0:159 Constant:
-0:159 1 (const int)
-0:159 'd4' (uniform float)
-0:159 true case
-0:160 add second child into first child (temp float)
-0:160 direct index (temp float)
-0:160 'color' (temp 4-component vector of float)
-0:160 Constant:
-0:160 1 (const int)
-0:160 'd4' (uniform float)
-0:159 false case
-0:162 add second child into first child (temp float)
-0:162 direct index (temp float)
-0:162 'color' (temp 4-component vector of float)
-0:162 Constant:
-0:162 0 (const int)
-0:162 'd4' (uniform float)
-0:170 Loop with condition not tested first
-0:170 Loop Condition
-0:170 Compare Less Than (temp bool)
-0:170 direct index (temp float)
-0:170 'color' (temp 4-component vector of float)
-0:170 Constant:
-0:170 0 (const int)
-0:170 'd5' (uniform float)
-0:170 Loop Body
-0:167 Sequence
-0:167 add second child into first child (temp 4-component vector of float)
-0:167 'color' (temp 4-component vector of float)
-0:167 'bigColor5' (uniform 4-component vector of float)
-0:168 Test condition and select (temp void)
-0:168 Condition
-0:168 Compare Less Than (temp bool)
-0:168 direct index (temp float)
-0:168 'color' (temp 4-component vector of float)
-0:168 Constant:
-0:168 1 (const int)
-0:168 'd5' (uniform float)
-0:168 true case
-0:169 add second child into first child (temp float)
-0:169 direct index (temp float)
-0:169 'color' (temp 4-component vector of float)
-0:169 Constant:
-0:169 1 (const int)
-0:169 'd5' (uniform float)
-0:173 Test condition and select (temp void)
-0:173 Condition
-0:173 Compare Less Than (temp bool)
-0:173 direct index (temp float)
-0:173 'color' (temp 4-component vector of float)
-0:173 Constant:
-0:173 0 (const int)
-0:173 'd6' (uniform float)
-0:173 true case
-0:174 Sequence
-0:174 Loop with condition tested first
-0:174 Loop Condition
-0:174 Compare Less Than (temp bool)
-0:174 direct index (temp float)
-0:174 'color' (temp 4-component vector of float)
-0:174 Constant:
-0:174 1 (const int)
-0:174 'd6' (uniform float)
-0:174 Loop Body
-0:175 add second child into first child (temp 4-component vector of float)
-0:175 'color' (temp 4-component vector of float)
-0:175 'bigColor6' (uniform 4-component vector of float)
-0:173 false case
-0:177 Sequence
-0:177 Loop with condition tested first
-0:177 Loop Condition
-0:177 Compare Less Than (temp bool)
-0:177 direct index (temp float)
-0:177 'color' (temp 4-component vector of float)
-0:177 Constant:
-0:177 2 (const int)
-0:177 'd6' (uniform float)
-0:177 Loop Body
-0:178 add second child into first child (temp float)
-0:178 direct index (temp float)
-0:178 'color' (temp 4-component vector of float)
-0:178 Constant:
-0:178 2 (const int)
-0:178 direct index (temp float)
-0:178 'bigColor6' (uniform 4-component vector of float)
-0:178 Constant:
-0:178 2 (const int)
-0:182 Test condition and select (temp void)
-0:182 Condition
-0:182 Compare Less Than (temp bool)
-0:182 direct index (temp float)
-0:182 'color' (temp 4-component vector of float)
-0:182 Constant:
-0:182 0 (const int)
-0:182 'd6' (uniform float)
-0:182 true case
-0:183 Sequence
-0:183 Loop with condition tested first
-0:183 Loop Condition
-0:183 Compare Less Than (temp bool)
-0:183 direct index (temp float)
-0:183 'color' (temp 4-component vector of float)
-0:183 Constant:
-0:183 1 (const int)
-0:183 'd6' (uniform float)
-0:183 Loop Body
-0:184 Sequence
-0:184 add second child into first child (temp 4-component vector of float)
-0:184 'color' (temp 4-component vector of float)
-0:184 'bigColor6' (uniform 4-component vector of float)
-0:185 Test condition and select (temp void)
-0:185 Condition
-0:185 Compare Less Than (temp bool)
-0:185 'd7' (uniform float)
-0:185 Constant:
-0:185 1.000000
-0:185 true case
-0:186 Branch: Break
-0:182 false case
-0:190 Sequence
-0:190 Loop with condition tested first
-0:190 Loop Condition
-0:190 Compare Less Than (temp bool)
-0:190 direct index (temp float)
-0:190 'color' (temp 4-component vector of float)
-0:190 Constant:
-0:190 2 (const int)
-0:190 'd6' (uniform float)
-0:190 Loop Body
-0:191 add second child into first child (temp float)
-0:191 direct index (temp float)
-0:191 'color' (temp 4-component vector of float)
-0:191 Constant:
-0:191 2 (const int)
-0:191 direct index (temp float)
-0:191 'bigColor6' (uniform 4-component vector of float)
-0:191 Constant:
-0:191 2 (const int)
-0:209 Loop with condition not tested first
-0:209 Loop Condition
-0:209 Constant:
-0:209 true (const bool)
-0:209 Loop Body
-0:197 Sequence
-0:197 Test condition and select (temp void)
-0:197 Condition
-0:197 Compare Less Than (temp bool)
-0:197 'd7' (uniform float)
-0:197 Constant:
-0:197 0.000000
-0:197 true case
-0:198 Branch: Break
-0:200 add second child into first child (temp 4-component vector of float)
-0:200 'color' (temp 4-component vector of float)
-0:200 'bigColor7' (uniform 4-component vector of float)
-0:202 Test condition and select (temp void)
-0:202 Condition
-0:202 Compare Less Than (temp bool)
-0:202 'd7' (uniform float)
-0:202 Constant:
-0:202 1.000000
-0:202 true case
-0:203 Sequence
-0:203 Post-Increment (temp float)
-0:203 direct index (temp float)
-0:203 'color' (temp 4-component vector of float)
-0:203 Constant:
-0:203 2 (const int)
-0:204 Branch: Break
-0:207 add second child into first child (temp 4-component vector of float)
-0:207 'color' (temp 4-component vector of float)
-0:207 'BaseColor' (smooth in 4-component vector of float)
-0:234 Loop with condition not tested first
-0:234 Loop Condition
-0:234 Compare Less Than (temp bool)
-0:234 direct index (temp float)
-0:234 'color' (temp 4-component vector of float)
-0:234 Constant:
-0:234 2 (const int)
-0:234 'd8' (uniform float)
-0:234 Loop Body
-0:217 Sequence
-0:217 Test condition and select (temp void)
-0:217 Condition
-0:217 Compare Less Than (temp bool)
-0:217 'd8' (uniform float)
-0:217 Constant:
-0:217 0.000000
-0:217 true case
-0:218 Branch: Break
-0:220 add second child into first child (temp 4-component vector of float)
-0:220 'color' (temp 4-component vector of float)
-0:220 'bigColor7' (uniform 4-component vector of float)
-0:222 Test condition and select (temp void)
-0:222 Condition
-0:222 Compare Less Than (temp bool)
-0:222 'd8' (uniform float)
-0:222 Constant:
-0:222 1.000000
-0:222 true case
-0:223 Sequence
-0:223 Post-Increment (temp float)
-0:223 direct index (temp float)
-0:223 'color' (temp 4-component vector of float)
-0:223 Constant:
-0:223 2 (const int)
-0:224 Test condition and select (temp void)
-0:224 Condition
-0:224 Compare Less Than (temp bool)
-0:224 'd8' (uniform float)
-0:224 Constant:
-0:224 2.000000
-0:224 true case
-0:225 Sequence
-0:225 Post-Increment (temp float)
-0:225 direct index (temp float)
-0:225 'color' (temp 4-component vector of float)
-0:225 Constant:
-0:225 1 (const int)
-0:224 false case
-0:227 Sequence
-0:227 Post-Increment (temp float)
-0:227 direct index (temp float)
-0:227 'color' (temp 4-component vector of float)
-0:227 Constant:
-0:227 0 (const int)
-0:229 Branch: Break
-0:232 add second child into first child (temp 4-component vector of float)
-0:232 'color' (temp 4-component vector of float)
-0:232 'BaseColor' (smooth in 4-component vector of float)
-0:237 Loop with condition tested first
-0:237 Loop Condition
-0:237 Compare Less Than (temp bool)
-0:237 direct index (temp float)
-0:237 'color' (temp 4-component vector of float)
-0:237 Constant:
-0:237 3 (const int)
-0:237 'd9' (uniform float)
-0:237 Loop Body
-0:238 Sequence
-0:238 Test condition and select (temp void)
-0:238 Condition
-0:238 Compare Greater Than (temp bool)
-0:238 'd9' (uniform float)
-0:238 'd8' (uniform float)
-0:238 true case
-0:239 Sequence
-0:239 Test condition and select (temp void)
-0:239 Condition
-0:239 Compare Less Than or Equal (temp bool)
-0:239 direct index (temp float)
-0:239 'color' (temp 4-component vector of float)
-0:239 Constant:
-0:239 0 (const int)
-0:239 'd7' (uniform float)
-0:239 true case
-0:240 Sequence
-0:240 Test condition and select (temp void)
-0:240 Condition
-0:240 Compare Equal (temp bool)
-0:240 direct index (temp float)
-0:240 'color' (temp 4-component vector of float)
-0:240 Constant:
-0:240 2 (const int)
-0:240 Constant:
-0:240 5.000000
-0:240 true case
-0:241 Post-Increment (temp float)
-0:241 direct index (temp float)
-0:241 'color' (temp 4-component vector of float)
-0:241 Constant:
-0:241 3 (const int)
-0:240 false case
-0:243 Branch: Break
-0:250 Loop with condition tested first
-0:250 Loop Condition
-0:250 Compare Less Than (temp bool)
-0:250 direct index (temp float)
-0:250 'color' (temp 4-component vector of float)
-0:250 Constant:
-0:250 2 (const int)
-0:250 'd10' (uniform float)
-0:250 Loop Body
-0:251 Sequence
-0:251 Post-Increment (temp float)
-0:251 direct index (temp float)
-0:251 'color' (temp 4-component vector of float)
-0:251 Constant:
-0:251 1 (const int)
-0:252 Test condition and select (temp void)
-0:252 Condition
-0:252 Compare Less Than (temp bool)
-0:252 direct index (temp float)
-0:252 'color' (temp 4-component vector of float)
-0:252 Constant:
-0:252 1 (const int)
-0:252 'd11' (uniform float)
-0:252 true case
-0:253 Sequence
-0:253 Post-Increment (temp float)
-0:253 direct index (temp float)
-0:253 'color' (temp 4-component vector of float)
-0:253 Constant:
-0:253 2 (const int)
-0:254 Test condition and select (temp void)
-0:254 Condition
-0:254 Compare Less Than (temp bool)
-0:254 direct index (temp float)
-0:254 'color' (temp 4-component vector of float)
-0:254 Constant:
-0:254 3 (const int)
-0:254 'd12' (uniform float)
-0:254 true case
-0:255 Post-Increment (temp float)
-0:255 direct index (temp float)
-0:255 'color' (temp 4-component vector of float)
-0:255 Constant:
-0:255 3 (const int)
-0:254 false case
-0:257 Post-Increment (temp float)
-0:257 direct index (temp float)
-0:257 'color' (temp 4-component vector of float)
-0:257 Constant:
-0:257 0 (const int)
-0:258 Branch: Continue
-0:261 Post-Increment (temp 4-component vector of float)
-0:261 'color' (temp 4-component vector of float)
-0:262 Branch: Break
-0:266 Loop with condition tested first
-0:266 Loop Condition
-0:266 Compare Less Than (temp bool)
-0:266 direct index (temp float)
-0:266 'color' (temp 4-component vector of float)
-0:266 Constant:
-0:266 0 (const int)
-0:266 Constant:
-0:266 10.000000
-0:266 Loop Body
-0:267 Sequence
-0:267 add second child into first child (temp 4-component vector of float)
-0:267 'color' (temp 4-component vector of float)
-0:267 'bigColor8' (uniform 4-component vector of float)
-0:269 Test condition and select (temp void)
-0:269 Condition
-0:269 Compare Less Than (temp bool)
-0:269 direct index (temp float)
-0:269 'color' (temp 4-component vector of float)
-0:269 Constant:
-0:269 2 (const int)
-0:269 'd8' (uniform float)
-0:269 true case
-0:270 Test condition and select (temp void)
-0:270 Condition
-0:270 Compare Less Than (temp bool)
-0:270 direct index (temp float)
-0:270 'color' (temp 4-component vector of float)
-0:270 Constant:
-0:270 3 (const int)
-0:270 'd6' (uniform float)
-0:270 true case
-0:271 Branch: Continue
-0:273 add second child into first child (temp float)
-0:273 direct index (temp float)
-0:273 'color' (temp 4-component vector of float)
-0:273 Constant:
-0:273 1 (const int)
-0:273 direct index (temp float)
-0:273 'bigColor8' (uniform 4-component vector of float)
-0:273 Constant:
-0:273 0 (const int)
-0:276 Post-Increment (temp 4-component vector of float)
-0:276 'color' (temp 4-component vector of float)
-0:277 move second child to first child (temp 4-component vector of float)
-0:277 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:277 'color' (temp 4-component vector of float)
-0:280 Loop with condition tested first
-0:280 Loop Condition
-0:280 Compare Less Than (temp bool)
-0:280 direct index (temp float)
-0:280 'color' (temp 4-component vector of float)
-0:280 Constant:
-0:280 0 (const int)
-0:280 'd14' (uniform float)
-0:280 Loop Body
-0:281 Sequence
-0:281 Test condition and select (temp void)
-0:281 Condition
-0:281 Compare Less Than (temp bool)
-0:281 direct index (temp float)
-0:281 'color' (temp 4-component vector of float)
-0:281 Constant:
-0:281 1 (const int)
-0:281 'd15' (uniform float)
-0:281 true case
-0:282 Sequence
-0:282 Branch: Return
-0:281 false case
-0:285 Post-Increment (temp 4-component vector of float)
-0:285 'color' (temp 4-component vector of float)
-0:288 Post-Increment (temp 4-component vector of float)
-0:288 'color' (temp 4-component vector of float)
-0:290 Loop with condition tested first
-0:290 Loop Condition
-0:290 Compare Less Than (temp bool)
-0:290 direct index (temp float)
-0:290 'color' (temp 4-component vector of float)
-0:290 Constant:
-0:290 3 (const int)
-0:290 'd16' (uniform float)
-0:290 Loop Body
-0:291 Sequence
-0:291 Post-Increment (temp float)
-0:291 direct index (temp float)
-0:291 'color' (temp 4-component vector of float)
-0:291 Constant:
-0:291 3 (const int)
-0:296 Loop with condition tested first
-0:296 Loop Condition
-0:296 logical-and (temp bool)
-0:296 Compare Less Than (temp bool)
-0:296 direct index (temp float)
-0:296 'color' (temp 4-component vector of float)
-0:296 Constant:
-0:296 3 (const int)
-0:296 'd2' (uniform float)
-0:296 Compare Less Than (temp bool)
-0:296 direct index (temp float)
-0:296 'color' (temp 4-component vector of float)
-0:296 Constant:
-0:296 1 (const int)
-0:296 'd3' (uniform float)
-0:296 Loop Body
-0:297 Sequence
-0:297 add second child into first child (temp 4-component vector of float)
-0:297 'color' (temp 4-component vector of float)
-0:297 'bigColor1_2' (uniform 4-component vector of float)
-0:298 Test condition and select (temp void)
-0:298 Condition
-0:298 Compare Less Than (temp bool)
-0:298 direct index (temp float)
-0:298 'color' (temp 4-component vector of float)
-0:298 Constant:
-0:298 2 (const int)
-0:298 'd3' (uniform float)
-0:298 true case
-0:299 Branch: Return
-0:307 Loop with condition not tested first
-0:307 Loop Condition
-0:307 Compare Less Than (temp bool)
-0:307 direct index (temp float)
-0:307 'color' (temp 4-component vector of float)
-0:307 Constant:
-0:307 0 (const int)
-0:307 'd17' (uniform float)
-0:307 Loop Body
-0:304 Sequence
-0:304 Test condition and select (temp void)
-0:304 Condition
-0:304 Compare Less Than (temp bool)
-0:304 direct index (temp float)
-0:304 'color' (temp 4-component vector of float)
-0:304 Constant:
-0:304 1 (const int)
-0:304 'd18' (uniform float)
-0:304 true case
-0:305 Branch: Return
-0:306 Post-Increment (temp 4-component vector of float)
-0:306 'color' (temp 4-component vector of float)
-0:310 Loop with condition tested first
-0:310 Loop Condition
-0:310 Compare Less Than (temp bool)
-0:310 direct index (temp float)
-0:310 'color' (temp 4-component vector of float)
-0:310 Constant:
-0:310 1 (const int)
-0:310 'd16' (uniform float)
-0:310 Loop Body
-0:311 Sequence
-0:311 Test condition and select (temp void)
-0:311 Condition
-0:311 Compare Less Than (temp bool)
-0:311 direct index (temp float)
-0:311 'color' (temp 4-component vector of float)
-0:311 Constant:
-0:311 3 (const int)
-0:311 'd16' (uniform float)
-0:311 true case
-0:312 Sequence
-0:312 Branch: Kill
-0:311 false case
-0:314 Post-Increment (temp 4-component vector of float)
-0:314 'color' (temp 4-component vector of float)
-0:317 Post-Increment (temp 4-component vector of float)
-0:317 'color' (temp 4-component vector of float)
-0:319 move second child to first child (temp 4-component vector of float)
-0:319 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:319 'color' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'bigColor1_1' (uniform 4-component vector of float)
-0:? 'bigColor1_2' (uniform 4-component vector of float)
-0:? 'bigColor1_3' (uniform 4-component vector of float)
-0:? 'bigColor2' (uniform 4-component vector of float)
-0:? 'bigColor3' (uniform 4-component vector of float)
-0:? 'bigColor4' (uniform 4-component vector of float)
-0:? 'bigColor5' (uniform 4-component vector of float)
-0:? 'bigColor6' (uniform 4-component vector of float)
-0:? 'bigColor7' (uniform 4-component vector of float)
-0:? 'bigColor8' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-0:? 'd2' (uniform float)
-0:? 'd3' (uniform float)
-0:? 'd4' (uniform float)
-0:? 'd5' (uniform float)
-0:? 'd6' (uniform float)
-0:? 'd7' (uniform float)
-0:? 'd8' (uniform float)
-0:? 'd9' (uniform float)
-0:? 'd10' (uniform float)
-0:? 'd11' (uniform float)
-0:? 'd12' (uniform float)
-0:? 'd13' (uniform float)
-0:? 'd14' (uniform float)
-0:? 'd15' (uniform float)
-0:? 'd16' (uniform float)
-0:? 'd17' (uniform float)
-0:? 'd18' (uniform float)
-0:? 'd19' (uniform float)
-0:? 'd20' (uniform float)
-0:? 'd21' (uniform float)
-0:? 'd22' (uniform float)
-0:? 'd23' (uniform float)
-0:? 'd24' (uniform float)
-0:? 'd25' (uniform float)
-0:? 'd26' (uniform float)
-0:? 'd27' (uniform float)
-0:? 'd28' (uniform float)
-0:? 'd29' (uniform float)
-0:? 'd30' (uniform float)
-0:? 'd31' (uniform float)
-0:? 'd32' (uniform float)
-0:? 'd33' (uniform float)
-0:? 'd34' (uniform float)
-0:? 'Count' (uniform int)
-
+loops.frag
+WARNING: 0:14: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:53 Function Definition: main( (global void)
+0:53 Function Parameters:
+0:55 Sequence
+0:55 Sequence
+0:55 move second child to first child (temp 4-component vector of float)
+0:55 'color' (temp 4-component vector of float)
+0:55 'BaseColor' (smooth in 4-component vector of float)
+0:58 Loop with condition tested first
+0:58 Loop Condition
+0:58 Constant:
+0:58 true (const bool)
+0:58 Loop Body
+0:59 Sequence
+0:59 Test condition and select (temp void)
+0:59 Condition
+0:59 Compare Less Than (temp bool)
+0:59 direct index (temp float)
+0:59 'color' (temp 4-component vector of float)
+0:59 Constant:
+0:59 0 (const int)
+0:59 Constant:
+0:59 0.330000
+0:59 true case
+0:60 Sequence
+0:60 add second child into first child (temp 4-component vector of float)
+0:60 'color' (temp 4-component vector of float)
+0:60 Constant:
+0:60 0.330000
+0:60 0.330000
+0:60 0.330000
+0:60 0.330000
+0:61 Branch: Break
+0:63 Test condition and select (temp void)
+0:63 Condition
+0:63 Compare Less Than (temp bool)
+0:63 direct index (temp float)
+0:63 'color' (temp 4-component vector of float)
+0:63 Constant:
+0:63 0 (const int)
+0:63 Constant:
+0:63 0.660000
+0:63 true case
+0:64 Sequence
+0:64 add second child into first child (temp 4-component vector of float)
+0:64 'color' (temp 4-component vector of float)
+0:64 Constant:
+0:64 0.660000
+0:64 0.660000
+0:64 0.660000
+0:64 0.660000
+0:65 Branch: Break
+0:68 add second child into first child (temp 4-component vector of float)
+0:68 'color' (temp 4-component vector of float)
+0:68 Constant:
+0:68 0.330000
+0:68 0.330000
+0:68 0.330000
+0:68 0.330000
+0:69 Branch: Break
+0:73 Loop with condition tested first
+0:73 Loop Condition
+0:73 Compare Less Than (temp bool)
+0:73 direct index (temp float)
+0:73 'color' (temp 4-component vector of float)
+0:73 Constant:
+0:73 0 (const int)
+0:73 'd' (uniform float)
+0:73 Loop Body
+0:74 Sequence
+0:74 add second child into first child (temp 4-component vector of float)
+0:74 'color' (temp 4-component vector of float)
+0:74 'bigColor' (uniform 4-component vector of float)
+0:78 Loop with condition tested first
+0:78 Loop Condition
+0:78 Compare Less Than (temp bool)
+0:78 direct index (temp float)
+0:78 'color' (temp 4-component vector of float)
+0:78 Constant:
+0:78 2 (const int)
+0:78 'd' (uniform float)
+0:78 Loop Body
+0:79 Sequence
+0:79 add second child into first child (temp 4-component vector of float)
+0:79 'color' (temp 4-component vector of float)
+0:79 'bigColor1_1' (uniform 4-component vector of float)
+0:80 Test condition and select (temp void)
+0:80 Condition
+0:80 Compare Less Than (temp bool)
+0:80 direct index (temp float)
+0:80 'color' (temp 4-component vector of float)
+0:80 Constant:
+0:80 3 (const int)
+0:80 'd' (uniform float)
+0:80 true case
+0:81 Branch: Continue
+0:83 add second child into first child (temp 4-component vector of float)
+0:83 'color' (temp 4-component vector of float)
+0:83 'bigColor1_1' (uniform 4-component vector of float)
+0:87 Loop with condition tested first
+0:87 Loop Condition
+0:87 Compare Less Than (temp bool)
+0:87 direct index (temp float)
+0:87 'color' (temp 4-component vector of float)
+0:87 Constant:
+0:87 0 (const int)
+0:87 Constant:
+0:87 42.000000
+0:87 Loop Body
+0:88 Sequence
+0:88 Pre-Increment (temp 4-component vector of float)
+0:88 'color' (temp 4-component vector of float)
+0:92 Loop with condition tested first
+0:92 Loop Condition
+0:92 logical-and (temp bool)
+0:92 Compare Less Than (temp bool)
+0:92 direct index (temp float)
+0:92 'color' (temp 4-component vector of float)
+0:92 Constant:
+0:92 3 (const int)
+0:92 'd2' (uniform float)
+0:92 Compare Less Than (temp bool)
+0:92 direct index (temp float)
+0:92 'color' (temp 4-component vector of float)
+0:92 Constant:
+0:92 1 (const int)
+0:92 'd3' (uniform float)
+0:92 Loop Body
+0:93 Sequence
+0:93 add second child into first child (temp 4-component vector of float)
+0:93 'color' (temp 4-component vector of float)
+0:93 'bigColor1_2' (uniform 4-component vector of float)
+0:97 Loop with condition tested first
+0:97 Loop Condition
+0:97 Compare Less Than (temp bool)
+0:97 direct index (temp float)
+0:97 'color' (temp 4-component vector of float)
+0:97 Constant:
+0:97 2 (const int)
+0:97 'd3' (uniform float)
+0:97 Loop Body
+0:98 Sequence
+0:98 add second child into first child (temp 4-component vector of float)
+0:98 'color' (temp 4-component vector of float)
+0:98 'bigColor1_3' (uniform 4-component vector of float)
+0:99 Test condition and select (temp void)
+0:99 Condition
+0:99 Compare Less Than (temp bool)
+0:99 direct index (temp float)
+0:99 'color' (temp 4-component vector of float)
+0:99 Constant:
+0:99 1 (const int)
+0:99 'd4' (uniform float)
+0:99 true case
+0:100 Branch: Break
+0:101 add second child into first child (temp 4-component vector of float)
+0:101 'color' (temp 4-component vector of float)
+0:101 'bigColor1_3' (uniform 4-component vector of float)
+0:105 Sequence
+0:105 Sequence
+0:105 move second child to first child (temp int)
+0:105 'i' (temp int)
+0:105 Constant:
+0:105 0 (const int)
+0:105 Loop with condition tested first
+0:105 Loop Condition
+0:105 Compare Less Than (temp bool)
+0:105 'i' (temp int)
+0:105 'Count' (uniform int)
+0:105 Loop Body
+0:106 Sequence
+0:106 add second child into first child (temp 4-component vector of float)
+0:106 'color' (temp 4-component vector of float)
+0:106 'bigColor2' (uniform 4-component vector of float)
+0:105 Loop Terminal Expression
+0:105 Pre-Increment (temp int)
+0:105 'i' (temp int)
+0:112 Loop with condition not tested first
+0:112 Loop Condition
+0:112 Compare Less Than (temp bool)
+0:112 direct index (temp float)
+0:112 'color' (temp 4-component vector of float)
+0:112 Constant:
+0:112 0 (const int)
+0:112 'd2' (uniform float)
+0:112 Loop Body
+0:111 Sequence
+0:111 add second child into first child (temp 4-component vector of float)
+0:111 'color' (temp 4-component vector of float)
+0:111 'bigColor3' (uniform 4-component vector of float)
+0:115 Sequence
+0:115 Sequence
+0:115 move second child to first child (temp int)
+0:115 'i' (temp int)
+0:115 Constant:
+0:115 0 (const int)
+0:115 Loop with condition tested first
+0:115 Loop Condition
+0:115 Compare Less Than (temp bool)
+0:115 'i' (temp int)
+0:115 Constant:
+0:115 42 (const int)
+0:115 Loop Body
+0:116 Sequence
+0:116 add second child into first child (temp float)
+0:116 direct index (temp float)
+0:116 'color' (temp 4-component vector of float)
+0:116 Constant:
+0:116 2 (const int)
+0:116 'd3' (uniform float)
+0:115 Loop Terminal Expression
+0:115 Pre-Increment (temp int)
+0:115 'i' (temp int)
+0:120 Sequence
+0:120 Sequence
+0:120 move second child to first child (temp int)
+0:120 'i' (temp int)
+0:120 Constant:
+0:120 0 (const int)
+0:120 Loop with condition tested first
+0:120 Loop Condition
+0:120 Compare Less Than (temp bool)
+0:120 'i' (temp int)
+0:120 Constant:
+0:120 100 (const int)
+0:120 Loop Body
+0:121 Sequence
+0:121 Test condition and select (temp void)
+0:121 Condition
+0:121 Compare Less Than (temp bool)
+0:121 direct index (temp float)
+0:121 'color' (temp 4-component vector of float)
+0:121 Constant:
+0:121 2 (const int)
+0:121 Constant:
+0:121 20.000000
+0:121 true case
+0:122 Post-Increment (temp float)
+0:122 direct index (temp float)
+0:122 'color' (temp 4-component vector of float)
+0:122 Constant:
+0:122 0 (const int)
+0:121 false case
+0:124 Post-Increment (temp float)
+0:124 direct index (temp float)
+0:124 'color' (temp 4-component vector of float)
+0:124 Constant:
+0:124 1 (const int)
+0:125 Test condition and select (temp void)
+0:125 Condition
+0:125 Compare Less Than (temp bool)
+0:125 direct index (temp float)
+0:125 'color' (temp 4-component vector of float)
+0:125 Constant:
+0:125 3 (const int)
+0:125 Constant:
+0:125 20.000000
+0:125 true case
+0:126 Test condition and select (temp void)
+0:126 Condition
+0:126 Compare Greater Than (temp bool)
+0:126 direct index (temp float)
+0:126 'color' (temp 4-component vector of float)
+0:126 Constant:
+0:126 2 (const int)
+0:126 direct index (temp float)
+0:126 'color' (temp 4-component vector of float)
+0:126 Constant:
+0:126 1 (const int)
+0:126 true case
+0:127 Constant:
+0:127 0 (const int)
+0:120 Loop Terminal Expression
+0:120 Pre-Increment (temp int)
+0:120 'i' (temp int)
+0:131 Sequence
+0:131 Sequence
+0:131 move second child to first child (temp int)
+0:131 'i' (temp int)
+0:131 Constant:
+0:131 0 (const int)
+0:131 Loop with condition tested first
+0:131 Loop Condition
+0:131 Compare Less Than (temp bool)
+0:131 'i' (temp int)
+0:131 Constant:
+0:131 120 (const int)
+0:131 Loop Body
+0:132 Sequence
+0:132 Test condition and select (temp void)
+0:132 Condition
+0:132 Compare Less Than (temp bool)
+0:132 direct index (temp float)
+0:132 'color' (temp 4-component vector of float)
+0:132 Constant:
+0:132 2 (const int)
+0:132 Constant:
+0:132 20.000000
+0:132 true case
+0:133 Post-Increment (temp float)
+0:133 direct index (temp float)
+0:133 'color' (temp 4-component vector of float)
+0:133 Constant:
+0:133 0 (const int)
+0:132 false case
+0:135 Post-Increment (temp float)
+0:135 direct index (temp float)
+0:135 'color' (temp 4-component vector of float)
+0:135 Constant:
+0:135 1 (const int)
+0:131 Loop Terminal Expression
+0:131 Pre-Increment (temp int)
+0:131 'i' (temp int)
+0:139 Sequence
+0:139 Sequence
+0:139 move second child to first child (temp int)
+0:139 'i' (temp int)
+0:139 Constant:
+0:139 0 (const int)
+0:139 Loop with condition tested first
+0:139 Loop Condition
+0:139 Compare Less Than (temp bool)
+0:139 'i' (temp int)
+0:139 Constant:
+0:139 42 (const int)
+0:139 Loop Body
+0:140 Sequence
+0:140 add second child into first child (temp float)
+0:140 direct index (temp float)
+0:140 'color' (temp 4-component vector of float)
+0:140 Constant:
+0:140 2 (const int)
+0:140 'd3' (uniform float)
+0:141 Test condition and select (temp void)
+0:141 Condition
+0:141 Compare Less Than (temp bool)
+0:141 direct index (temp float)
+0:141 'color' (temp 4-component vector of float)
+0:141 Constant:
+0:141 0 (const int)
+0:141 'd4' (uniform float)
+0:141 true case
+0:142 Branch: Continue
+0:143 Pre-Increment (temp float)
+0:143 direct index (temp float)
+0:143 'color' (temp 4-component vector of float)
+0:143 Constant:
+0:143 3 (const int)
+0:139 Loop Terminal Expression
+0:139 Pre-Increment (temp int)
+0:139 'i' (temp int)
+0:147 Sequence
+0:147 Sequence
+0:147 move second child to first child (temp int)
+0:147 'i' (temp int)
+0:147 Constant:
+0:147 0 (const int)
+0:147 Loop with condition tested first
+0:147 Loop Condition
+0:147 Compare Less Than (temp bool)
+0:147 'i' (temp int)
+0:147 Constant:
+0:147 42 (const int)
+0:147 Loop Body
+0:148 Sequence
+0:148 add second child into first child (temp float)
+0:148 direct index (temp float)
+0:148 'color' (temp 4-component vector of float)
+0:148 Constant:
+0:148 2 (const int)
+0:148 'd3' (uniform float)
+0:149 Test condition and select (temp void)
+0:149 Condition
+0:149 Compare Less Than (temp bool)
+0:149 direct index (temp float)
+0:149 'color' (temp 4-component vector of float)
+0:149 Constant:
+0:149 0 (const int)
+0:149 'd4' (uniform float)
+0:149 true case
+0:150 Branch: Break
+0:151 Pre-Increment (temp float)
+0:151 direct index (temp float)
+0:151 'color' (temp 4-component vector of float)
+0:151 Constant:
+0:151 3 (const int)
+0:147 Loop Terminal Expression
+0:147 Pre-Increment (temp int)
+0:147 'i' (temp int)
+0:163 Loop with condition not tested first
+0:163 Loop Condition
+0:163 Compare Less Than (temp bool)
+0:163 direct index (temp float)
+0:163 'color' (temp 4-component vector of float)
+0:163 Constant:
+0:163 2 (const int)
+0:163 'd4' (uniform float)
+0:163 Loop Body
+0:156 Sequence
+0:156 add second child into first child (temp 4-component vector of float)
+0:156 'color' (temp 4-component vector of float)
+0:156 'bigColor4' (uniform 4-component vector of float)
+0:157 Test condition and select (temp void)
+0:157 Condition
+0:157 Compare Less Than (temp bool)
+0:157 direct index (temp float)
+0:157 'color' (temp 4-component vector of float)
+0:157 Constant:
+0:157 0 (const int)
+0:157 'd4' (uniform float)
+0:157 true case
+0:158 Branch: Continue
+0:159 Test condition and select (temp void)
+0:159 Condition
+0:159 Compare Less Than (temp bool)
+0:159 direct index (temp float)
+0:159 'color' (temp 4-component vector of float)
+0:159 Constant:
+0:159 1 (const int)
+0:159 'd4' (uniform float)
+0:159 true case
+0:160 add second child into first child (temp float)
+0:160 direct index (temp float)
+0:160 'color' (temp 4-component vector of float)
+0:160 Constant:
+0:160 1 (const int)
+0:160 'd4' (uniform float)
+0:159 false case
+0:162 add second child into first child (temp float)
+0:162 direct index (temp float)
+0:162 'color' (temp 4-component vector of float)
+0:162 Constant:
+0:162 0 (const int)
+0:162 'd4' (uniform float)
+0:170 Loop with condition not tested first
+0:170 Loop Condition
+0:170 Compare Less Than (temp bool)
+0:170 direct index (temp float)
+0:170 'color' (temp 4-component vector of float)
+0:170 Constant:
+0:170 0 (const int)
+0:170 'd5' (uniform float)
+0:170 Loop Body
+0:167 Sequence
+0:167 add second child into first child (temp 4-component vector of float)
+0:167 'color' (temp 4-component vector of float)
+0:167 'bigColor5' (uniform 4-component vector of float)
+0:168 Test condition and select (temp void)
+0:168 Condition
+0:168 Compare Less Than (temp bool)
+0:168 direct index (temp float)
+0:168 'color' (temp 4-component vector of float)
+0:168 Constant:
+0:168 1 (const int)
+0:168 'd5' (uniform float)
+0:168 true case
+0:169 add second child into first child (temp float)
+0:169 direct index (temp float)
+0:169 'color' (temp 4-component vector of float)
+0:169 Constant:
+0:169 1 (const int)
+0:169 'd5' (uniform float)
+0:173 Test condition and select (temp void)
+0:173 Condition
+0:173 Compare Less Than (temp bool)
+0:173 direct index (temp float)
+0:173 'color' (temp 4-component vector of float)
+0:173 Constant:
+0:173 0 (const int)
+0:173 'd6' (uniform float)
+0:173 true case
+0:174 Sequence
+0:174 Loop with condition tested first
+0:174 Loop Condition
+0:174 Compare Less Than (temp bool)
+0:174 direct index (temp float)
+0:174 'color' (temp 4-component vector of float)
+0:174 Constant:
+0:174 1 (const int)
+0:174 'd6' (uniform float)
+0:174 Loop Body
+0:175 add second child into first child (temp 4-component vector of float)
+0:175 'color' (temp 4-component vector of float)
+0:175 'bigColor6' (uniform 4-component vector of float)
+0:173 false case
+0:177 Sequence
+0:177 Loop with condition tested first
+0:177 Loop Condition
+0:177 Compare Less Than (temp bool)
+0:177 direct index (temp float)
+0:177 'color' (temp 4-component vector of float)
+0:177 Constant:
+0:177 2 (const int)
+0:177 'd6' (uniform float)
+0:177 Loop Body
+0:178 add second child into first child (temp float)
+0:178 direct index (temp float)
+0:178 'color' (temp 4-component vector of float)
+0:178 Constant:
+0:178 2 (const int)
+0:178 direct index (temp float)
+0:178 'bigColor6' (uniform 4-component vector of float)
+0:178 Constant:
+0:178 2 (const int)
+0:182 Test condition and select (temp void)
+0:182 Condition
+0:182 Compare Less Than (temp bool)
+0:182 direct index (temp float)
+0:182 'color' (temp 4-component vector of float)
+0:182 Constant:
+0:182 0 (const int)
+0:182 'd6' (uniform float)
+0:182 true case
+0:183 Sequence
+0:183 Loop with condition tested first
+0:183 Loop Condition
+0:183 Compare Less Than (temp bool)
+0:183 direct index (temp float)
+0:183 'color' (temp 4-component vector of float)
+0:183 Constant:
+0:183 1 (const int)
+0:183 'd6' (uniform float)
+0:183 Loop Body
+0:184 Sequence
+0:184 add second child into first child (temp 4-component vector of float)
+0:184 'color' (temp 4-component vector of float)
+0:184 'bigColor6' (uniform 4-component vector of float)
+0:185 Test condition and select (temp void)
+0:185 Condition
+0:185 Compare Less Than (temp bool)
+0:185 'd7' (uniform float)
+0:185 Constant:
+0:185 1.000000
+0:185 true case
+0:186 Branch: Break
+0:182 false case
+0:190 Sequence
+0:190 Loop with condition tested first
+0:190 Loop Condition
+0:190 Compare Less Than (temp bool)
+0:190 direct index (temp float)
+0:190 'color' (temp 4-component vector of float)
+0:190 Constant:
+0:190 2 (const int)
+0:190 'd6' (uniform float)
+0:190 Loop Body
+0:191 add second child into first child (temp float)
+0:191 direct index (temp float)
+0:191 'color' (temp 4-component vector of float)
+0:191 Constant:
+0:191 2 (const int)
+0:191 direct index (temp float)
+0:191 'bigColor6' (uniform 4-component vector of float)
+0:191 Constant:
+0:191 2 (const int)
+0:209 Loop with condition not tested first
+0:209 Loop Condition
+0:209 Constant:
+0:209 true (const bool)
+0:209 Loop Body
+0:197 Sequence
+0:197 Test condition and select (temp void)
+0:197 Condition
+0:197 Compare Less Than (temp bool)
+0:197 'd7' (uniform float)
+0:197 Constant:
+0:197 0.000000
+0:197 true case
+0:198 Branch: Break
+0:200 add second child into first child (temp 4-component vector of float)
+0:200 'color' (temp 4-component vector of float)
+0:200 'bigColor7' (uniform 4-component vector of float)
+0:202 Test condition and select (temp void)
+0:202 Condition
+0:202 Compare Less Than (temp bool)
+0:202 'd7' (uniform float)
+0:202 Constant:
+0:202 1.000000
+0:202 true case
+0:203 Sequence
+0:203 Post-Increment (temp float)
+0:203 direct index (temp float)
+0:203 'color' (temp 4-component vector of float)
+0:203 Constant:
+0:203 2 (const int)
+0:204 Branch: Break
+0:207 add second child into first child (temp 4-component vector of float)
+0:207 'color' (temp 4-component vector of float)
+0:207 'BaseColor' (smooth in 4-component vector of float)
+0:234 Loop with condition not tested first
+0:234 Loop Condition
+0:234 Compare Less Than (temp bool)
+0:234 direct index (temp float)
+0:234 'color' (temp 4-component vector of float)
+0:234 Constant:
+0:234 2 (const int)
+0:234 'd8' (uniform float)
+0:234 Loop Body
+0:217 Sequence
+0:217 Test condition and select (temp void)
+0:217 Condition
+0:217 Compare Less Than (temp bool)
+0:217 'd8' (uniform float)
+0:217 Constant:
+0:217 0.000000
+0:217 true case
+0:218 Branch: Break
+0:220 add second child into first child (temp 4-component vector of float)
+0:220 'color' (temp 4-component vector of float)
+0:220 'bigColor7' (uniform 4-component vector of float)
+0:222 Test condition and select (temp void)
+0:222 Condition
+0:222 Compare Less Than (temp bool)
+0:222 'd8' (uniform float)
+0:222 Constant:
+0:222 1.000000
+0:222 true case
+0:223 Sequence
+0:223 Post-Increment (temp float)
+0:223 direct index (temp float)
+0:223 'color' (temp 4-component vector of float)
+0:223 Constant:
+0:223 2 (const int)
+0:224 Test condition and select (temp void)
+0:224 Condition
+0:224 Compare Less Than (temp bool)
+0:224 'd8' (uniform float)
+0:224 Constant:
+0:224 2.000000
+0:224 true case
+0:225 Sequence
+0:225 Post-Increment (temp float)
+0:225 direct index (temp float)
+0:225 'color' (temp 4-component vector of float)
+0:225 Constant:
+0:225 1 (const int)
+0:224 false case
+0:227 Sequence
+0:227 Post-Increment (temp float)
+0:227 direct index (temp float)
+0:227 'color' (temp 4-component vector of float)
+0:227 Constant:
+0:227 0 (const int)
+0:229 Branch: Break
+0:232 add second child into first child (temp 4-component vector of float)
+0:232 'color' (temp 4-component vector of float)
+0:232 'BaseColor' (smooth in 4-component vector of float)
+0:237 Loop with condition tested first
+0:237 Loop Condition
+0:237 Compare Less Than (temp bool)
+0:237 direct index (temp float)
+0:237 'color' (temp 4-component vector of float)
+0:237 Constant:
+0:237 3 (const int)
+0:237 'd9' (uniform float)
+0:237 Loop Body
+0:238 Sequence
+0:238 Test condition and select (temp void)
+0:238 Condition
+0:238 Compare Greater Than (temp bool)
+0:238 'd9' (uniform float)
+0:238 'd8' (uniform float)
+0:238 true case
+0:239 Sequence
+0:239 Test condition and select (temp void)
+0:239 Condition
+0:239 Compare Less Than or Equal (temp bool)
+0:239 direct index (temp float)
+0:239 'color' (temp 4-component vector of float)
+0:239 Constant:
+0:239 0 (const int)
+0:239 'd7' (uniform float)
+0:239 true case
+0:240 Sequence
+0:240 Test condition and select (temp void)
+0:240 Condition
+0:240 Compare Equal (temp bool)
+0:240 direct index (temp float)
+0:240 'color' (temp 4-component vector of float)
+0:240 Constant:
+0:240 2 (const int)
+0:240 Constant:
+0:240 5.000000
+0:240 true case
+0:241 Post-Increment (temp float)
+0:241 direct index (temp float)
+0:241 'color' (temp 4-component vector of float)
+0:241 Constant:
+0:241 3 (const int)
+0:240 false case
+0:243 Branch: Break
+0:250 Loop with condition tested first
+0:250 Loop Condition
+0:250 Compare Less Than (temp bool)
+0:250 direct index (temp float)
+0:250 'color' (temp 4-component vector of float)
+0:250 Constant:
+0:250 2 (const int)
+0:250 'd10' (uniform float)
+0:250 Loop Body
+0:251 Sequence
+0:251 Post-Increment (temp float)
+0:251 direct index (temp float)
+0:251 'color' (temp 4-component vector of float)
+0:251 Constant:
+0:251 1 (const int)
+0:252 Test condition and select (temp void)
+0:252 Condition
+0:252 Compare Less Than (temp bool)
+0:252 direct index (temp float)
+0:252 'color' (temp 4-component vector of float)
+0:252 Constant:
+0:252 1 (const int)
+0:252 'd11' (uniform float)
+0:252 true case
+0:253 Sequence
+0:253 Post-Increment (temp float)
+0:253 direct index (temp float)
+0:253 'color' (temp 4-component vector of float)
+0:253 Constant:
+0:253 2 (const int)
+0:254 Test condition and select (temp void)
+0:254 Condition
+0:254 Compare Less Than (temp bool)
+0:254 direct index (temp float)
+0:254 'color' (temp 4-component vector of float)
+0:254 Constant:
+0:254 3 (const int)
+0:254 'd12' (uniform float)
+0:254 true case
+0:255 Post-Increment (temp float)
+0:255 direct index (temp float)
+0:255 'color' (temp 4-component vector of float)
+0:255 Constant:
+0:255 3 (const int)
+0:254 false case
+0:257 Post-Increment (temp float)
+0:257 direct index (temp float)
+0:257 'color' (temp 4-component vector of float)
+0:257 Constant:
+0:257 0 (const int)
+0:258 Branch: Continue
+0:261 Post-Increment (temp 4-component vector of float)
+0:261 'color' (temp 4-component vector of float)
+0:262 Branch: Break
+0:266 Loop with condition tested first
+0:266 Loop Condition
+0:266 Compare Less Than (temp bool)
+0:266 direct index (temp float)
+0:266 'color' (temp 4-component vector of float)
+0:266 Constant:
+0:266 0 (const int)
+0:266 Constant:
+0:266 10.000000
+0:266 Loop Body
+0:267 Sequence
+0:267 add second child into first child (temp 4-component vector of float)
+0:267 'color' (temp 4-component vector of float)
+0:267 'bigColor8' (uniform 4-component vector of float)
+0:269 Test condition and select (temp void)
+0:269 Condition
+0:269 Compare Less Than (temp bool)
+0:269 direct index (temp float)
+0:269 'color' (temp 4-component vector of float)
+0:269 Constant:
+0:269 2 (const int)
+0:269 'd8' (uniform float)
+0:269 true case
+0:270 Test condition and select (temp void)
+0:270 Condition
+0:270 Compare Less Than (temp bool)
+0:270 direct index (temp float)
+0:270 'color' (temp 4-component vector of float)
+0:270 Constant:
+0:270 3 (const int)
+0:270 'd6' (uniform float)
+0:270 true case
+0:271 Branch: Continue
+0:273 add second child into first child (temp float)
+0:273 direct index (temp float)
+0:273 'color' (temp 4-component vector of float)
+0:273 Constant:
+0:273 1 (const int)
+0:273 direct index (temp float)
+0:273 'bigColor8' (uniform 4-component vector of float)
+0:273 Constant:
+0:273 0 (const int)
+0:276 Post-Increment (temp 4-component vector of float)
+0:276 'color' (temp 4-component vector of float)
+0:277 move second child to first child (temp 4-component vector of float)
+0:277 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:277 'color' (temp 4-component vector of float)
+0:280 Loop with condition tested first
+0:280 Loop Condition
+0:280 Compare Less Than (temp bool)
+0:280 direct index (temp float)
+0:280 'color' (temp 4-component vector of float)
+0:280 Constant:
+0:280 0 (const int)
+0:280 'd14' (uniform float)
+0:280 Loop Body
+0:281 Sequence
+0:281 Test condition and select (temp void)
+0:281 Condition
+0:281 Compare Less Than (temp bool)
+0:281 direct index (temp float)
+0:281 'color' (temp 4-component vector of float)
+0:281 Constant:
+0:281 1 (const int)
+0:281 'd15' (uniform float)
+0:281 true case
+0:282 Sequence
+0:282 Branch: Return
+0:281 false case
+0:285 Post-Increment (temp 4-component vector of float)
+0:285 'color' (temp 4-component vector of float)
+0:288 Post-Increment (temp 4-component vector of float)
+0:288 'color' (temp 4-component vector of float)
+0:290 Loop with condition tested first
+0:290 Loop Condition
+0:290 Compare Less Than (temp bool)
+0:290 direct index (temp float)
+0:290 'color' (temp 4-component vector of float)
+0:290 Constant:
+0:290 3 (const int)
+0:290 'd16' (uniform float)
+0:290 Loop Body
+0:291 Sequence
+0:291 Post-Increment (temp float)
+0:291 direct index (temp float)
+0:291 'color' (temp 4-component vector of float)
+0:291 Constant:
+0:291 3 (const int)
+0:296 Loop with condition tested first
+0:296 Loop Condition
+0:296 logical-and (temp bool)
+0:296 Compare Less Than (temp bool)
+0:296 direct index (temp float)
+0:296 'color' (temp 4-component vector of float)
+0:296 Constant:
+0:296 3 (const int)
+0:296 'd2' (uniform float)
+0:296 Compare Less Than (temp bool)
+0:296 direct index (temp float)
+0:296 'color' (temp 4-component vector of float)
+0:296 Constant:
+0:296 1 (const int)
+0:296 'd3' (uniform float)
+0:296 Loop Body
+0:297 Sequence
+0:297 add second child into first child (temp 4-component vector of float)
+0:297 'color' (temp 4-component vector of float)
+0:297 'bigColor1_2' (uniform 4-component vector of float)
+0:298 Test condition and select (temp void)
+0:298 Condition
+0:298 Compare Less Than (temp bool)
+0:298 direct index (temp float)
+0:298 'color' (temp 4-component vector of float)
+0:298 Constant:
+0:298 2 (const int)
+0:298 'd3' (uniform float)
+0:298 true case
+0:299 Branch: Return
+0:307 Loop with condition not tested first
+0:307 Loop Condition
+0:307 Compare Less Than (temp bool)
+0:307 direct index (temp float)
+0:307 'color' (temp 4-component vector of float)
+0:307 Constant:
+0:307 0 (const int)
+0:307 'd17' (uniform float)
+0:307 Loop Body
+0:304 Sequence
+0:304 Test condition and select (temp void)
+0:304 Condition
+0:304 Compare Less Than (temp bool)
+0:304 direct index (temp float)
+0:304 'color' (temp 4-component vector of float)
+0:304 Constant:
+0:304 1 (const int)
+0:304 'd18' (uniform float)
+0:304 true case
+0:305 Branch: Return
+0:306 Post-Increment (temp 4-component vector of float)
+0:306 'color' (temp 4-component vector of float)
+0:310 Loop with condition tested first
+0:310 Loop Condition
+0:310 Compare Less Than (temp bool)
+0:310 direct index (temp float)
+0:310 'color' (temp 4-component vector of float)
+0:310 Constant:
+0:310 1 (const int)
+0:310 'd16' (uniform float)
+0:310 Loop Body
+0:311 Sequence
+0:311 Test condition and select (temp void)
+0:311 Condition
+0:311 Compare Less Than (temp bool)
+0:311 direct index (temp float)
+0:311 'color' (temp 4-component vector of float)
+0:311 Constant:
+0:311 3 (const int)
+0:311 'd16' (uniform float)
+0:311 true case
+0:312 Sequence
+0:312 Branch: Kill
+0:311 false case
+0:314 Post-Increment (temp 4-component vector of float)
+0:314 'color' (temp 4-component vector of float)
+0:317 Post-Increment (temp 4-component vector of float)
+0:317 'color' (temp 4-component vector of float)
+0:319 move second child to first child (temp 4-component vector of float)
+0:319 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:319 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'bigColor1_1' (uniform 4-component vector of float)
+0:? 'bigColor1_2' (uniform 4-component vector of float)
+0:? 'bigColor1_3' (uniform 4-component vector of float)
+0:? 'bigColor2' (uniform 4-component vector of float)
+0:? 'bigColor3' (uniform 4-component vector of float)
+0:? 'bigColor4' (uniform 4-component vector of float)
+0:? 'bigColor5' (uniform 4-component vector of float)
+0:? 'bigColor6' (uniform 4-component vector of float)
+0:? 'bigColor7' (uniform 4-component vector of float)
+0:? 'bigColor8' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+0:? 'd2' (uniform float)
+0:? 'd3' (uniform float)
+0:? 'd4' (uniform float)
+0:? 'd5' (uniform float)
+0:? 'd6' (uniform float)
+0:? 'd7' (uniform float)
+0:? 'd8' (uniform float)
+0:? 'd9' (uniform float)
+0:? 'd10' (uniform float)
+0:? 'd11' (uniform float)
+0:? 'd12' (uniform float)
+0:? 'd13' (uniform float)
+0:? 'd14' (uniform float)
+0:? 'd15' (uniform float)
+0:? 'd16' (uniform float)
+0:? 'd17' (uniform float)
+0:? 'd18' (uniform float)
+0:? 'd19' (uniform float)
+0:? 'd20' (uniform float)
+0:? 'd21' (uniform float)
+0:? 'd22' (uniform float)
+0:? 'd23' (uniform float)
+0:? 'd24' (uniform float)
+0:? 'd25' (uniform float)
+0:? 'd26' (uniform float)
+0:? 'd27' (uniform float)
+0:? 'd28' (uniform float)
+0:? 'd29' (uniform float)
+0:? 'd30' (uniform float)
+0:? 'd31' (uniform float)
+0:? 'd32' (uniform float)
+0:? 'd33' (uniform float)
+0:? 'd34' (uniform float)
+0:? 'Count' (uniform int)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:53 Function Definition: main( (global void)
+0:53 Function Parameters:
+0:55 Sequence
+0:55 Sequence
+0:55 move second child to first child (temp 4-component vector of float)
+0:55 'color' (temp 4-component vector of float)
+0:55 'BaseColor' (smooth in 4-component vector of float)
+0:58 Loop with condition tested first
+0:58 Loop Condition
+0:58 Constant:
+0:58 true (const bool)
+0:58 Loop Body
+0:59 Sequence
+0:59 Test condition and select (temp void)
+0:59 Condition
+0:59 Compare Less Than (temp bool)
+0:59 direct index (temp float)
+0:59 'color' (temp 4-component vector of float)
+0:59 Constant:
+0:59 0 (const int)
+0:59 Constant:
+0:59 0.330000
+0:59 true case
+0:60 Sequence
+0:60 add second child into first child (temp 4-component vector of float)
+0:60 'color' (temp 4-component vector of float)
+0:60 Constant:
+0:60 0.330000
+0:60 0.330000
+0:60 0.330000
+0:60 0.330000
+0:61 Branch: Break
+0:63 Test condition and select (temp void)
+0:63 Condition
+0:63 Compare Less Than (temp bool)
+0:63 direct index (temp float)
+0:63 'color' (temp 4-component vector of float)
+0:63 Constant:
+0:63 0 (const int)
+0:63 Constant:
+0:63 0.660000
+0:63 true case
+0:64 Sequence
+0:64 add second child into first child (temp 4-component vector of float)
+0:64 'color' (temp 4-component vector of float)
+0:64 Constant:
+0:64 0.660000
+0:64 0.660000
+0:64 0.660000
+0:64 0.660000
+0:65 Branch: Break
+0:68 add second child into first child (temp 4-component vector of float)
+0:68 'color' (temp 4-component vector of float)
+0:68 Constant:
+0:68 0.330000
+0:68 0.330000
+0:68 0.330000
+0:68 0.330000
+0:69 Branch: Break
+0:73 Loop with condition tested first
+0:73 Loop Condition
+0:73 Compare Less Than (temp bool)
+0:73 direct index (temp float)
+0:73 'color' (temp 4-component vector of float)
+0:73 Constant:
+0:73 0 (const int)
+0:73 'd' (uniform float)
+0:73 Loop Body
+0:74 Sequence
+0:74 add second child into first child (temp 4-component vector of float)
+0:74 'color' (temp 4-component vector of float)
+0:74 'bigColor' (uniform 4-component vector of float)
+0:78 Loop with condition tested first
+0:78 Loop Condition
+0:78 Compare Less Than (temp bool)
+0:78 direct index (temp float)
+0:78 'color' (temp 4-component vector of float)
+0:78 Constant:
+0:78 2 (const int)
+0:78 'd' (uniform float)
+0:78 Loop Body
+0:79 Sequence
+0:79 add second child into first child (temp 4-component vector of float)
+0:79 'color' (temp 4-component vector of float)
+0:79 'bigColor1_1' (uniform 4-component vector of float)
+0:80 Test condition and select (temp void)
+0:80 Condition
+0:80 Compare Less Than (temp bool)
+0:80 direct index (temp float)
+0:80 'color' (temp 4-component vector of float)
+0:80 Constant:
+0:80 3 (const int)
+0:80 'd' (uniform float)
+0:80 true case
+0:81 Branch: Continue
+0:83 add second child into first child (temp 4-component vector of float)
+0:83 'color' (temp 4-component vector of float)
+0:83 'bigColor1_1' (uniform 4-component vector of float)
+0:87 Loop with condition tested first
+0:87 Loop Condition
+0:87 Compare Less Than (temp bool)
+0:87 direct index (temp float)
+0:87 'color' (temp 4-component vector of float)
+0:87 Constant:
+0:87 0 (const int)
+0:87 Constant:
+0:87 42.000000
+0:87 Loop Body
+0:88 Sequence
+0:88 Pre-Increment (temp 4-component vector of float)
+0:88 'color' (temp 4-component vector of float)
+0:92 Loop with condition tested first
+0:92 Loop Condition
+0:92 logical-and (temp bool)
+0:92 Compare Less Than (temp bool)
+0:92 direct index (temp float)
+0:92 'color' (temp 4-component vector of float)
+0:92 Constant:
+0:92 3 (const int)
+0:92 'd2' (uniform float)
+0:92 Compare Less Than (temp bool)
+0:92 direct index (temp float)
+0:92 'color' (temp 4-component vector of float)
+0:92 Constant:
+0:92 1 (const int)
+0:92 'd3' (uniform float)
+0:92 Loop Body
+0:93 Sequence
+0:93 add second child into first child (temp 4-component vector of float)
+0:93 'color' (temp 4-component vector of float)
+0:93 'bigColor1_2' (uniform 4-component vector of float)
+0:97 Loop with condition tested first
+0:97 Loop Condition
+0:97 Compare Less Than (temp bool)
+0:97 direct index (temp float)
+0:97 'color' (temp 4-component vector of float)
+0:97 Constant:
+0:97 2 (const int)
+0:97 'd3' (uniform float)
+0:97 Loop Body
+0:98 Sequence
+0:98 add second child into first child (temp 4-component vector of float)
+0:98 'color' (temp 4-component vector of float)
+0:98 'bigColor1_3' (uniform 4-component vector of float)
+0:99 Test condition and select (temp void)
+0:99 Condition
+0:99 Compare Less Than (temp bool)
+0:99 direct index (temp float)
+0:99 'color' (temp 4-component vector of float)
+0:99 Constant:
+0:99 1 (const int)
+0:99 'd4' (uniform float)
+0:99 true case
+0:100 Branch: Break
+0:101 add second child into first child (temp 4-component vector of float)
+0:101 'color' (temp 4-component vector of float)
+0:101 'bigColor1_3' (uniform 4-component vector of float)
+0:105 Sequence
+0:105 Sequence
+0:105 move second child to first child (temp int)
+0:105 'i' (temp int)
+0:105 Constant:
+0:105 0 (const int)
+0:105 Loop with condition tested first
+0:105 Loop Condition
+0:105 Compare Less Than (temp bool)
+0:105 'i' (temp int)
+0:105 'Count' (uniform int)
+0:105 Loop Body
+0:106 Sequence
+0:106 add second child into first child (temp 4-component vector of float)
+0:106 'color' (temp 4-component vector of float)
+0:106 'bigColor2' (uniform 4-component vector of float)
+0:105 Loop Terminal Expression
+0:105 Pre-Increment (temp int)
+0:105 'i' (temp int)
+0:112 Loop with condition not tested first
+0:112 Loop Condition
+0:112 Compare Less Than (temp bool)
+0:112 direct index (temp float)
+0:112 'color' (temp 4-component vector of float)
+0:112 Constant:
+0:112 0 (const int)
+0:112 'd2' (uniform float)
+0:112 Loop Body
+0:111 Sequence
+0:111 add second child into first child (temp 4-component vector of float)
+0:111 'color' (temp 4-component vector of float)
+0:111 'bigColor3' (uniform 4-component vector of float)
+0:115 Sequence
+0:115 Sequence
+0:115 move second child to first child (temp int)
+0:115 'i' (temp int)
+0:115 Constant:
+0:115 0 (const int)
+0:115 Loop with condition tested first
+0:115 Loop Condition
+0:115 Compare Less Than (temp bool)
+0:115 'i' (temp int)
+0:115 Constant:
+0:115 42 (const int)
+0:115 Loop Body
+0:116 Sequence
+0:116 add second child into first child (temp float)
+0:116 direct index (temp float)
+0:116 'color' (temp 4-component vector of float)
+0:116 Constant:
+0:116 2 (const int)
+0:116 'd3' (uniform float)
+0:115 Loop Terminal Expression
+0:115 Pre-Increment (temp int)
+0:115 'i' (temp int)
+0:120 Sequence
+0:120 Sequence
+0:120 move second child to first child (temp int)
+0:120 'i' (temp int)
+0:120 Constant:
+0:120 0 (const int)
+0:120 Loop with condition tested first
+0:120 Loop Condition
+0:120 Compare Less Than (temp bool)
+0:120 'i' (temp int)
+0:120 Constant:
+0:120 100 (const int)
+0:120 Loop Body
+0:121 Sequence
+0:121 Test condition and select (temp void)
+0:121 Condition
+0:121 Compare Less Than (temp bool)
+0:121 direct index (temp float)
+0:121 'color' (temp 4-component vector of float)
+0:121 Constant:
+0:121 2 (const int)
+0:121 Constant:
+0:121 20.000000
+0:121 true case
+0:122 Post-Increment (temp float)
+0:122 direct index (temp float)
+0:122 'color' (temp 4-component vector of float)
+0:122 Constant:
+0:122 0 (const int)
+0:121 false case
+0:124 Post-Increment (temp float)
+0:124 direct index (temp float)
+0:124 'color' (temp 4-component vector of float)
+0:124 Constant:
+0:124 1 (const int)
+0:125 Test condition and select (temp void)
+0:125 Condition
+0:125 Compare Less Than (temp bool)
+0:125 direct index (temp float)
+0:125 'color' (temp 4-component vector of float)
+0:125 Constant:
+0:125 3 (const int)
+0:125 Constant:
+0:125 20.000000
+0:125 true case
+0:126 Test condition and select (temp void)
+0:126 Condition
+0:126 Compare Greater Than (temp bool)
+0:126 direct index (temp float)
+0:126 'color' (temp 4-component vector of float)
+0:126 Constant:
+0:126 2 (const int)
+0:126 direct index (temp float)
+0:126 'color' (temp 4-component vector of float)
+0:126 Constant:
+0:126 1 (const int)
+0:126 true case
+0:127 Constant:
+0:127 0 (const int)
+0:120 Loop Terminal Expression
+0:120 Pre-Increment (temp int)
+0:120 'i' (temp int)
+0:131 Sequence
+0:131 Sequence
+0:131 move second child to first child (temp int)
+0:131 'i' (temp int)
+0:131 Constant:
+0:131 0 (const int)
+0:131 Loop with condition tested first
+0:131 Loop Condition
+0:131 Compare Less Than (temp bool)
+0:131 'i' (temp int)
+0:131 Constant:
+0:131 120 (const int)
+0:131 Loop Body
+0:132 Sequence
+0:132 Test condition and select (temp void)
+0:132 Condition
+0:132 Compare Less Than (temp bool)
+0:132 direct index (temp float)
+0:132 'color' (temp 4-component vector of float)
+0:132 Constant:
+0:132 2 (const int)
+0:132 Constant:
+0:132 20.000000
+0:132 true case
+0:133 Post-Increment (temp float)
+0:133 direct index (temp float)
+0:133 'color' (temp 4-component vector of float)
+0:133 Constant:
+0:133 0 (const int)
+0:132 false case
+0:135 Post-Increment (temp float)
+0:135 direct index (temp float)
+0:135 'color' (temp 4-component vector of float)
+0:135 Constant:
+0:135 1 (const int)
+0:131 Loop Terminal Expression
+0:131 Pre-Increment (temp int)
+0:131 'i' (temp int)
+0:139 Sequence
+0:139 Sequence
+0:139 move second child to first child (temp int)
+0:139 'i' (temp int)
+0:139 Constant:
+0:139 0 (const int)
+0:139 Loop with condition tested first
+0:139 Loop Condition
+0:139 Compare Less Than (temp bool)
+0:139 'i' (temp int)
+0:139 Constant:
+0:139 42 (const int)
+0:139 Loop Body
+0:140 Sequence
+0:140 add second child into first child (temp float)
+0:140 direct index (temp float)
+0:140 'color' (temp 4-component vector of float)
+0:140 Constant:
+0:140 2 (const int)
+0:140 'd3' (uniform float)
+0:141 Test condition and select (temp void)
+0:141 Condition
+0:141 Compare Less Than (temp bool)
+0:141 direct index (temp float)
+0:141 'color' (temp 4-component vector of float)
+0:141 Constant:
+0:141 0 (const int)
+0:141 'd4' (uniform float)
+0:141 true case
+0:142 Branch: Continue
+0:143 Pre-Increment (temp float)
+0:143 direct index (temp float)
+0:143 'color' (temp 4-component vector of float)
+0:143 Constant:
+0:143 3 (const int)
+0:139 Loop Terminal Expression
+0:139 Pre-Increment (temp int)
+0:139 'i' (temp int)
+0:147 Sequence
+0:147 Sequence
+0:147 move second child to first child (temp int)
+0:147 'i' (temp int)
+0:147 Constant:
+0:147 0 (const int)
+0:147 Loop with condition tested first
+0:147 Loop Condition
+0:147 Compare Less Than (temp bool)
+0:147 'i' (temp int)
+0:147 Constant:
+0:147 42 (const int)
+0:147 Loop Body
+0:148 Sequence
+0:148 add second child into first child (temp float)
+0:148 direct index (temp float)
+0:148 'color' (temp 4-component vector of float)
+0:148 Constant:
+0:148 2 (const int)
+0:148 'd3' (uniform float)
+0:149 Test condition and select (temp void)
+0:149 Condition
+0:149 Compare Less Than (temp bool)
+0:149 direct index (temp float)
+0:149 'color' (temp 4-component vector of float)
+0:149 Constant:
+0:149 0 (const int)
+0:149 'd4' (uniform float)
+0:149 true case
+0:150 Branch: Break
+0:151 Pre-Increment (temp float)
+0:151 direct index (temp float)
+0:151 'color' (temp 4-component vector of float)
+0:151 Constant:
+0:151 3 (const int)
+0:147 Loop Terminal Expression
+0:147 Pre-Increment (temp int)
+0:147 'i' (temp int)
+0:163 Loop with condition not tested first
+0:163 Loop Condition
+0:163 Compare Less Than (temp bool)
+0:163 direct index (temp float)
+0:163 'color' (temp 4-component vector of float)
+0:163 Constant:
+0:163 2 (const int)
+0:163 'd4' (uniform float)
+0:163 Loop Body
+0:156 Sequence
+0:156 add second child into first child (temp 4-component vector of float)
+0:156 'color' (temp 4-component vector of float)
+0:156 'bigColor4' (uniform 4-component vector of float)
+0:157 Test condition and select (temp void)
+0:157 Condition
+0:157 Compare Less Than (temp bool)
+0:157 direct index (temp float)
+0:157 'color' (temp 4-component vector of float)
+0:157 Constant:
+0:157 0 (const int)
+0:157 'd4' (uniform float)
+0:157 true case
+0:158 Branch: Continue
+0:159 Test condition and select (temp void)
+0:159 Condition
+0:159 Compare Less Than (temp bool)
+0:159 direct index (temp float)
+0:159 'color' (temp 4-component vector of float)
+0:159 Constant:
+0:159 1 (const int)
+0:159 'd4' (uniform float)
+0:159 true case
+0:160 add second child into first child (temp float)
+0:160 direct index (temp float)
+0:160 'color' (temp 4-component vector of float)
+0:160 Constant:
+0:160 1 (const int)
+0:160 'd4' (uniform float)
+0:159 false case
+0:162 add second child into first child (temp float)
+0:162 direct index (temp float)
+0:162 'color' (temp 4-component vector of float)
+0:162 Constant:
+0:162 0 (const int)
+0:162 'd4' (uniform float)
+0:170 Loop with condition not tested first
+0:170 Loop Condition
+0:170 Compare Less Than (temp bool)
+0:170 direct index (temp float)
+0:170 'color' (temp 4-component vector of float)
+0:170 Constant:
+0:170 0 (const int)
+0:170 'd5' (uniform float)
+0:170 Loop Body
+0:167 Sequence
+0:167 add second child into first child (temp 4-component vector of float)
+0:167 'color' (temp 4-component vector of float)
+0:167 'bigColor5' (uniform 4-component vector of float)
+0:168 Test condition and select (temp void)
+0:168 Condition
+0:168 Compare Less Than (temp bool)
+0:168 direct index (temp float)
+0:168 'color' (temp 4-component vector of float)
+0:168 Constant:
+0:168 1 (const int)
+0:168 'd5' (uniform float)
+0:168 true case
+0:169 add second child into first child (temp float)
+0:169 direct index (temp float)
+0:169 'color' (temp 4-component vector of float)
+0:169 Constant:
+0:169 1 (const int)
+0:169 'd5' (uniform float)
+0:173 Test condition and select (temp void)
+0:173 Condition
+0:173 Compare Less Than (temp bool)
+0:173 direct index (temp float)
+0:173 'color' (temp 4-component vector of float)
+0:173 Constant:
+0:173 0 (const int)
+0:173 'd6' (uniform float)
+0:173 true case
+0:174 Sequence
+0:174 Loop with condition tested first
+0:174 Loop Condition
+0:174 Compare Less Than (temp bool)
+0:174 direct index (temp float)
+0:174 'color' (temp 4-component vector of float)
+0:174 Constant:
+0:174 1 (const int)
+0:174 'd6' (uniform float)
+0:174 Loop Body
+0:175 add second child into first child (temp 4-component vector of float)
+0:175 'color' (temp 4-component vector of float)
+0:175 'bigColor6' (uniform 4-component vector of float)
+0:173 false case
+0:177 Sequence
+0:177 Loop with condition tested first
+0:177 Loop Condition
+0:177 Compare Less Than (temp bool)
+0:177 direct index (temp float)
+0:177 'color' (temp 4-component vector of float)
+0:177 Constant:
+0:177 2 (const int)
+0:177 'd6' (uniform float)
+0:177 Loop Body
+0:178 add second child into first child (temp float)
+0:178 direct index (temp float)
+0:178 'color' (temp 4-component vector of float)
+0:178 Constant:
+0:178 2 (const int)
+0:178 direct index (temp float)
+0:178 'bigColor6' (uniform 4-component vector of float)
+0:178 Constant:
+0:178 2 (const int)
+0:182 Test condition and select (temp void)
+0:182 Condition
+0:182 Compare Less Than (temp bool)
+0:182 direct index (temp float)
+0:182 'color' (temp 4-component vector of float)
+0:182 Constant:
+0:182 0 (const int)
+0:182 'd6' (uniform float)
+0:182 true case
+0:183 Sequence
+0:183 Loop with condition tested first
+0:183 Loop Condition
+0:183 Compare Less Than (temp bool)
+0:183 direct index (temp float)
+0:183 'color' (temp 4-component vector of float)
+0:183 Constant:
+0:183 1 (const int)
+0:183 'd6' (uniform float)
+0:183 Loop Body
+0:184 Sequence
+0:184 add second child into first child (temp 4-component vector of float)
+0:184 'color' (temp 4-component vector of float)
+0:184 'bigColor6' (uniform 4-component vector of float)
+0:185 Test condition and select (temp void)
+0:185 Condition
+0:185 Compare Less Than (temp bool)
+0:185 'd7' (uniform float)
+0:185 Constant:
+0:185 1.000000
+0:185 true case
+0:186 Branch: Break
+0:182 false case
+0:190 Sequence
+0:190 Loop with condition tested first
+0:190 Loop Condition
+0:190 Compare Less Than (temp bool)
+0:190 direct index (temp float)
+0:190 'color' (temp 4-component vector of float)
+0:190 Constant:
+0:190 2 (const int)
+0:190 'd6' (uniform float)
+0:190 Loop Body
+0:191 add second child into first child (temp float)
+0:191 direct index (temp float)
+0:191 'color' (temp 4-component vector of float)
+0:191 Constant:
+0:191 2 (const int)
+0:191 direct index (temp float)
+0:191 'bigColor6' (uniform 4-component vector of float)
+0:191 Constant:
+0:191 2 (const int)
+0:209 Loop with condition not tested first
+0:209 Loop Condition
+0:209 Constant:
+0:209 true (const bool)
+0:209 Loop Body
+0:197 Sequence
+0:197 Test condition and select (temp void)
+0:197 Condition
+0:197 Compare Less Than (temp bool)
+0:197 'd7' (uniform float)
+0:197 Constant:
+0:197 0.000000
+0:197 true case
+0:198 Branch: Break
+0:200 add second child into first child (temp 4-component vector of float)
+0:200 'color' (temp 4-component vector of float)
+0:200 'bigColor7' (uniform 4-component vector of float)
+0:202 Test condition and select (temp void)
+0:202 Condition
+0:202 Compare Less Than (temp bool)
+0:202 'd7' (uniform float)
+0:202 Constant:
+0:202 1.000000
+0:202 true case
+0:203 Sequence
+0:203 Post-Increment (temp float)
+0:203 direct index (temp float)
+0:203 'color' (temp 4-component vector of float)
+0:203 Constant:
+0:203 2 (const int)
+0:204 Branch: Break
+0:207 add second child into first child (temp 4-component vector of float)
+0:207 'color' (temp 4-component vector of float)
+0:207 'BaseColor' (smooth in 4-component vector of float)
+0:234 Loop with condition not tested first
+0:234 Loop Condition
+0:234 Compare Less Than (temp bool)
+0:234 direct index (temp float)
+0:234 'color' (temp 4-component vector of float)
+0:234 Constant:
+0:234 2 (const int)
+0:234 'd8' (uniform float)
+0:234 Loop Body
+0:217 Sequence
+0:217 Test condition and select (temp void)
+0:217 Condition
+0:217 Compare Less Than (temp bool)
+0:217 'd8' (uniform float)
+0:217 Constant:
+0:217 0.000000
+0:217 true case
+0:218 Branch: Break
+0:220 add second child into first child (temp 4-component vector of float)
+0:220 'color' (temp 4-component vector of float)
+0:220 'bigColor7' (uniform 4-component vector of float)
+0:222 Test condition and select (temp void)
+0:222 Condition
+0:222 Compare Less Than (temp bool)
+0:222 'd8' (uniform float)
+0:222 Constant:
+0:222 1.000000
+0:222 true case
+0:223 Sequence
+0:223 Post-Increment (temp float)
+0:223 direct index (temp float)
+0:223 'color' (temp 4-component vector of float)
+0:223 Constant:
+0:223 2 (const int)
+0:224 Test condition and select (temp void)
+0:224 Condition
+0:224 Compare Less Than (temp bool)
+0:224 'd8' (uniform float)
+0:224 Constant:
+0:224 2.000000
+0:224 true case
+0:225 Sequence
+0:225 Post-Increment (temp float)
+0:225 direct index (temp float)
+0:225 'color' (temp 4-component vector of float)
+0:225 Constant:
+0:225 1 (const int)
+0:224 false case
+0:227 Sequence
+0:227 Post-Increment (temp float)
+0:227 direct index (temp float)
+0:227 'color' (temp 4-component vector of float)
+0:227 Constant:
+0:227 0 (const int)
+0:229 Branch: Break
+0:232 add second child into first child (temp 4-component vector of float)
+0:232 'color' (temp 4-component vector of float)
+0:232 'BaseColor' (smooth in 4-component vector of float)
+0:237 Loop with condition tested first
+0:237 Loop Condition
+0:237 Compare Less Than (temp bool)
+0:237 direct index (temp float)
+0:237 'color' (temp 4-component vector of float)
+0:237 Constant:
+0:237 3 (const int)
+0:237 'd9' (uniform float)
+0:237 Loop Body
+0:238 Sequence
+0:238 Test condition and select (temp void)
+0:238 Condition
+0:238 Compare Greater Than (temp bool)
+0:238 'd9' (uniform float)
+0:238 'd8' (uniform float)
+0:238 true case
+0:239 Sequence
+0:239 Test condition and select (temp void)
+0:239 Condition
+0:239 Compare Less Than or Equal (temp bool)
+0:239 direct index (temp float)
+0:239 'color' (temp 4-component vector of float)
+0:239 Constant:
+0:239 0 (const int)
+0:239 'd7' (uniform float)
+0:239 true case
+0:240 Sequence
+0:240 Test condition and select (temp void)
+0:240 Condition
+0:240 Compare Equal (temp bool)
+0:240 direct index (temp float)
+0:240 'color' (temp 4-component vector of float)
+0:240 Constant:
+0:240 2 (const int)
+0:240 Constant:
+0:240 5.000000
+0:240 true case
+0:241 Post-Increment (temp float)
+0:241 direct index (temp float)
+0:241 'color' (temp 4-component vector of float)
+0:241 Constant:
+0:241 3 (const int)
+0:240 false case
+0:243 Branch: Break
+0:250 Loop with condition tested first
+0:250 Loop Condition
+0:250 Compare Less Than (temp bool)
+0:250 direct index (temp float)
+0:250 'color' (temp 4-component vector of float)
+0:250 Constant:
+0:250 2 (const int)
+0:250 'd10' (uniform float)
+0:250 Loop Body
+0:251 Sequence
+0:251 Post-Increment (temp float)
+0:251 direct index (temp float)
+0:251 'color' (temp 4-component vector of float)
+0:251 Constant:
+0:251 1 (const int)
+0:252 Test condition and select (temp void)
+0:252 Condition
+0:252 Compare Less Than (temp bool)
+0:252 direct index (temp float)
+0:252 'color' (temp 4-component vector of float)
+0:252 Constant:
+0:252 1 (const int)
+0:252 'd11' (uniform float)
+0:252 true case
+0:253 Sequence
+0:253 Post-Increment (temp float)
+0:253 direct index (temp float)
+0:253 'color' (temp 4-component vector of float)
+0:253 Constant:
+0:253 2 (const int)
+0:254 Test condition and select (temp void)
+0:254 Condition
+0:254 Compare Less Than (temp bool)
+0:254 direct index (temp float)
+0:254 'color' (temp 4-component vector of float)
+0:254 Constant:
+0:254 3 (const int)
+0:254 'd12' (uniform float)
+0:254 true case
+0:255 Post-Increment (temp float)
+0:255 direct index (temp float)
+0:255 'color' (temp 4-component vector of float)
+0:255 Constant:
+0:255 3 (const int)
+0:254 false case
+0:257 Post-Increment (temp float)
+0:257 direct index (temp float)
+0:257 'color' (temp 4-component vector of float)
+0:257 Constant:
+0:257 0 (const int)
+0:258 Branch: Continue
+0:261 Post-Increment (temp 4-component vector of float)
+0:261 'color' (temp 4-component vector of float)
+0:262 Branch: Break
+0:266 Loop with condition tested first
+0:266 Loop Condition
+0:266 Compare Less Than (temp bool)
+0:266 direct index (temp float)
+0:266 'color' (temp 4-component vector of float)
+0:266 Constant:
+0:266 0 (const int)
+0:266 Constant:
+0:266 10.000000
+0:266 Loop Body
+0:267 Sequence
+0:267 add second child into first child (temp 4-component vector of float)
+0:267 'color' (temp 4-component vector of float)
+0:267 'bigColor8' (uniform 4-component vector of float)
+0:269 Test condition and select (temp void)
+0:269 Condition
+0:269 Compare Less Than (temp bool)
+0:269 direct index (temp float)
+0:269 'color' (temp 4-component vector of float)
+0:269 Constant:
+0:269 2 (const int)
+0:269 'd8' (uniform float)
+0:269 true case
+0:270 Test condition and select (temp void)
+0:270 Condition
+0:270 Compare Less Than (temp bool)
+0:270 direct index (temp float)
+0:270 'color' (temp 4-component vector of float)
+0:270 Constant:
+0:270 3 (const int)
+0:270 'd6' (uniform float)
+0:270 true case
+0:271 Branch: Continue
+0:273 add second child into first child (temp float)
+0:273 direct index (temp float)
+0:273 'color' (temp 4-component vector of float)
+0:273 Constant:
+0:273 1 (const int)
+0:273 direct index (temp float)
+0:273 'bigColor8' (uniform 4-component vector of float)
+0:273 Constant:
+0:273 0 (const int)
+0:276 Post-Increment (temp 4-component vector of float)
+0:276 'color' (temp 4-component vector of float)
+0:277 move second child to first child (temp 4-component vector of float)
+0:277 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:277 'color' (temp 4-component vector of float)
+0:280 Loop with condition tested first
+0:280 Loop Condition
+0:280 Compare Less Than (temp bool)
+0:280 direct index (temp float)
+0:280 'color' (temp 4-component vector of float)
+0:280 Constant:
+0:280 0 (const int)
+0:280 'd14' (uniform float)
+0:280 Loop Body
+0:281 Sequence
+0:281 Test condition and select (temp void)
+0:281 Condition
+0:281 Compare Less Than (temp bool)
+0:281 direct index (temp float)
+0:281 'color' (temp 4-component vector of float)
+0:281 Constant:
+0:281 1 (const int)
+0:281 'd15' (uniform float)
+0:281 true case
+0:282 Sequence
+0:282 Branch: Return
+0:281 false case
+0:285 Post-Increment (temp 4-component vector of float)
+0:285 'color' (temp 4-component vector of float)
+0:288 Post-Increment (temp 4-component vector of float)
+0:288 'color' (temp 4-component vector of float)
+0:290 Loop with condition tested first
+0:290 Loop Condition
+0:290 Compare Less Than (temp bool)
+0:290 direct index (temp float)
+0:290 'color' (temp 4-component vector of float)
+0:290 Constant:
+0:290 3 (const int)
+0:290 'd16' (uniform float)
+0:290 Loop Body
+0:291 Sequence
+0:291 Post-Increment (temp float)
+0:291 direct index (temp float)
+0:291 'color' (temp 4-component vector of float)
+0:291 Constant:
+0:291 3 (const int)
+0:296 Loop with condition tested first
+0:296 Loop Condition
+0:296 logical-and (temp bool)
+0:296 Compare Less Than (temp bool)
+0:296 direct index (temp float)
+0:296 'color' (temp 4-component vector of float)
+0:296 Constant:
+0:296 3 (const int)
+0:296 'd2' (uniform float)
+0:296 Compare Less Than (temp bool)
+0:296 direct index (temp float)
+0:296 'color' (temp 4-component vector of float)
+0:296 Constant:
+0:296 1 (const int)
+0:296 'd3' (uniform float)
+0:296 Loop Body
+0:297 Sequence
+0:297 add second child into first child (temp 4-component vector of float)
+0:297 'color' (temp 4-component vector of float)
+0:297 'bigColor1_2' (uniform 4-component vector of float)
+0:298 Test condition and select (temp void)
+0:298 Condition
+0:298 Compare Less Than (temp bool)
+0:298 direct index (temp float)
+0:298 'color' (temp 4-component vector of float)
+0:298 Constant:
+0:298 2 (const int)
+0:298 'd3' (uniform float)
+0:298 true case
+0:299 Branch: Return
+0:307 Loop with condition not tested first
+0:307 Loop Condition
+0:307 Compare Less Than (temp bool)
+0:307 direct index (temp float)
+0:307 'color' (temp 4-component vector of float)
+0:307 Constant:
+0:307 0 (const int)
+0:307 'd17' (uniform float)
+0:307 Loop Body
+0:304 Sequence
+0:304 Test condition and select (temp void)
+0:304 Condition
+0:304 Compare Less Than (temp bool)
+0:304 direct index (temp float)
+0:304 'color' (temp 4-component vector of float)
+0:304 Constant:
+0:304 1 (const int)
+0:304 'd18' (uniform float)
+0:304 true case
+0:305 Branch: Return
+0:306 Post-Increment (temp 4-component vector of float)
+0:306 'color' (temp 4-component vector of float)
+0:310 Loop with condition tested first
+0:310 Loop Condition
+0:310 Compare Less Than (temp bool)
+0:310 direct index (temp float)
+0:310 'color' (temp 4-component vector of float)
+0:310 Constant:
+0:310 1 (const int)
+0:310 'd16' (uniform float)
+0:310 Loop Body
+0:311 Sequence
+0:311 Test condition and select (temp void)
+0:311 Condition
+0:311 Compare Less Than (temp bool)
+0:311 direct index (temp float)
+0:311 'color' (temp 4-component vector of float)
+0:311 Constant:
+0:311 3 (const int)
+0:311 'd16' (uniform float)
+0:311 true case
+0:312 Sequence
+0:312 Branch: Kill
+0:311 false case
+0:314 Post-Increment (temp 4-component vector of float)
+0:314 'color' (temp 4-component vector of float)
+0:317 Post-Increment (temp 4-component vector of float)
+0:317 'color' (temp 4-component vector of float)
+0:319 move second child to first child (temp 4-component vector of float)
+0:319 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:319 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'bigColor1_1' (uniform 4-component vector of float)
+0:? 'bigColor1_2' (uniform 4-component vector of float)
+0:? 'bigColor1_3' (uniform 4-component vector of float)
+0:? 'bigColor2' (uniform 4-component vector of float)
+0:? 'bigColor3' (uniform 4-component vector of float)
+0:? 'bigColor4' (uniform 4-component vector of float)
+0:? 'bigColor5' (uniform 4-component vector of float)
+0:? 'bigColor6' (uniform 4-component vector of float)
+0:? 'bigColor7' (uniform 4-component vector of float)
+0:? 'bigColor8' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+0:? 'd2' (uniform float)
+0:? 'd3' (uniform float)
+0:? 'd4' (uniform float)
+0:? 'd5' (uniform float)
+0:? 'd6' (uniform float)
+0:? 'd7' (uniform float)
+0:? 'd8' (uniform float)
+0:? 'd9' (uniform float)
+0:? 'd10' (uniform float)
+0:? 'd11' (uniform float)
+0:? 'd12' (uniform float)
+0:? 'd13' (uniform float)
+0:? 'd14' (uniform float)
+0:? 'd15' (uniform float)
+0:? 'd16' (uniform float)
+0:? 'd17' (uniform float)
+0:? 'd18' (uniform float)
+0:? 'd19' (uniform float)
+0:? 'd20' (uniform float)
+0:? 'd21' (uniform float)
+0:? 'd22' (uniform float)
+0:? 'd23' (uniform float)
+0:? 'd24' (uniform float)
+0:? 'd25' (uniform float)
+0:? 'd26' (uniform float)
+0:? 'd27' (uniform float)
+0:? 'd28' (uniform float)
+0:? 'd29' (uniform float)
+0:? 'd30' (uniform float)
+0:? 'd31' (uniform float)
+0:? 'd32' (uniform float)
+0:? 'd33' (uniform float)
+0:? 'd34' (uniform float)
+0:? 'Count' (uniform int)
+
diff --git a/Test/baseResults/loopsArtificial.frag.out b/Test/baseResults/loopsArtificial.frag.out
index b5cb844..39fae13 100644
--- a/Test/baseResults/loopsArtificial.frag.out
+++ b/Test/baseResults/loopsArtificial.frag.out
@@ -1,433 +1,433 @@
-loopsArtificial.frag
-WARNING: 0:14: varying deprecated in version 130; may be removed in future release
-
-Shader version: 130
-0:? Sequence
-0:53 Function Definition: main( (global void)
-0:53 Function Parameters:
-0:55 Sequence
-0:55 Sequence
-0:55 move second child to first child (temp 4-component vector of float)
-0:55 'color' (temp 4-component vector of float)
-0:55 'BaseColor' (smooth in 4-component vector of float)
-0:71 Loop with condition not tested first
-0:71 Loop Condition
-0:71 Compare Less Than (temp bool)
-0:71 direct index (temp float)
-0:71 'color' (temp 4-component vector of float)
-0:71 Constant:
-0:71 2 (const int)
-0:71 'd4' (uniform float)
-0:71 Loop Body
-0:59 Sequence
-0:59 add second child into first child (temp 4-component vector of float)
-0:59 'color' (temp 4-component vector of float)
-0:59 'bigColor4' (uniform 4-component vector of float)
-0:60 Test condition and select (temp void)
-0:60 Condition
-0:60 Compare Less Than (temp bool)
-0:60 direct index (temp float)
-0:60 'color' (temp 4-component vector of float)
-0:60 Constant:
-0:60 0 (const int)
-0:60 'd4' (uniform float)
-0:60 true case
-0:61 Sequence
-0:61 add second child into first child (temp float)
-0:61 direct index (temp float)
-0:61 'color' (temp 4-component vector of float)
-0:61 Constant:
-0:61 2 (const int)
-0:61 Constant:
-0:61 2.000000
-0:62 Test condition and select (temp void)
-0:62 Condition
-0:62 Compare Less Than (temp bool)
-0:62 direct index (temp float)
-0:62 'color' (temp 4-component vector of float)
-0:62 Constant:
-0:62 2 (const int)
-0:62 'd4' (uniform float)
-0:62 true case
-0:63 Sequence
-0:63 Post-Increment (temp float)
-0:63 direct index (temp float)
-0:63 'color' (temp 4-component vector of float)
-0:63 Constant:
-0:63 0 (const int)
-0:64 Branch: Continue
-0:67 Test condition and select (temp void)
-0:67 Condition
-0:67 Compare Less Than (temp bool)
-0:67 direct index (temp float)
-0:67 'color' (temp 4-component vector of float)
-0:67 Constant:
-0:67 1 (const int)
-0:67 'd4' (uniform float)
-0:67 true case
-0:68 add second child into first child (temp float)
-0:68 direct index (temp float)
-0:68 'color' (temp 4-component vector of float)
-0:68 Constant:
-0:68 1 (const int)
-0:68 'd4' (uniform float)
-0:67 false case
-0:70 add second child into first child (temp float)
-0:70 direct index (temp float)
-0:70 'color' (temp 4-component vector of float)
-0:70 Constant:
-0:70 0 (const int)
-0:70 'd4' (uniform float)
-0:74 Loop with condition tested first
-0:74 Loop Condition
-0:74 Compare Less Than (temp bool)
-0:74 direct index (temp float)
-0:74 'color' (temp 4-component vector of float)
-0:74 Constant:
-0:74 3 (const int)
-0:74 'd13' (uniform float)
-0:74 Loop Body
-0:75 Sequence
-0:75 Test condition and select (temp void)
-0:75 Condition
-0:75 Compare Less Than (temp bool)
-0:75 direct index (temp float)
-0:75 'color' (temp 4-component vector of float)
-0:75 Constant:
-0:75 2 (const int)
-0:75 'd13' (uniform float)
-0:75 true case
-0:76 Post-Increment (temp 4-component vector of float)
-0:76 'color' (temp 4-component vector of float)
-0:75 false case
-0:78 Post-Decrement (temp 4-component vector of float)
-0:78 'color' (temp 4-component vector of float)
-0:80 add second child into first child (temp 4-component vector of float)
-0:80 'color' (temp 4-component vector of float)
-0:80 'bigColor4' (uniform 4-component vector of float)
-0:81 Test condition and select (temp void)
-0:81 Condition
-0:81 Compare Less Than (temp bool)
-0:81 direct index (temp float)
-0:81 'color' (temp 4-component vector of float)
-0:81 Constant:
-0:81 0 (const int)
-0:81 'd4' (uniform float)
-0:81 true case
-0:82 Sequence
-0:82 add second child into first child (temp float)
-0:82 direct index (temp float)
-0:82 'color' (temp 4-component vector of float)
-0:82 Constant:
-0:82 2 (const int)
-0:82 Constant:
-0:82 2.000000
-0:83 Test condition and select (temp void)
-0:83 Condition
-0:83 Compare Less Than (temp bool)
-0:83 direct index (temp float)
-0:83 'color' (temp 4-component vector of float)
-0:83 Constant:
-0:83 2 (const int)
-0:83 'd4' (uniform float)
-0:83 true case
-0:84 Sequence
-0:84 Post-Increment (temp float)
-0:84 direct index (temp float)
-0:84 'color' (temp 4-component vector of float)
-0:84 Constant:
-0:84 0 (const int)
-0:85 Branch: Continue
-0:88 Test condition and select (temp void)
-0:88 Condition
-0:88 Compare Less Than (temp bool)
-0:88 direct index (temp float)
-0:88 'color' (temp 4-component vector of float)
-0:88 Constant:
-0:88 1 (const int)
-0:88 'd4' (uniform float)
-0:88 true case
-0:89 add second child into first child (temp float)
-0:89 direct index (temp float)
-0:89 'color' (temp 4-component vector of float)
-0:89 Constant:
-0:89 1 (const int)
-0:89 'd4' (uniform float)
-0:88 false case
-0:91 add second child into first child (temp float)
-0:91 direct index (temp float)
-0:91 'color' (temp 4-component vector of float)
-0:91 Constant:
-0:91 0 (const int)
-0:91 'd4' (uniform float)
-0:94 Post-Increment (temp 4-component vector of float)
-0:94 'color' (temp 4-component vector of float)
-0:95 move second child to first child (temp 4-component vector of float)
-0:95 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:95 'color' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'bigColor1_1' (uniform 4-component vector of float)
-0:? 'bigColor1_2' (uniform 4-component vector of float)
-0:? 'bigColor1_3' (uniform 4-component vector of float)
-0:? 'bigColor2' (uniform 4-component vector of float)
-0:? 'bigColor3' (uniform 4-component vector of float)
-0:? 'bigColor4' (uniform 4-component vector of float)
-0:? 'bigColor5' (uniform 4-component vector of float)
-0:? 'bigColor6' (uniform 4-component vector of float)
-0:? 'bigColor7' (uniform 4-component vector of float)
-0:? 'bigColor8' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-0:? 'd2' (uniform float)
-0:? 'd3' (uniform float)
-0:? 'd4' (uniform float)
-0:? 'd5' (uniform float)
-0:? 'd6' (uniform float)
-0:? 'd7' (uniform float)
-0:? 'd8' (uniform float)
-0:? 'd9' (uniform float)
-0:? 'd10' (uniform float)
-0:? 'd11' (uniform float)
-0:? 'd12' (uniform float)
-0:? 'd13' (uniform float)
-0:? 'd14' (uniform float)
-0:? 'd15' (uniform float)
-0:? 'd16' (uniform float)
-0:? 'd17' (uniform float)
-0:? 'd18' (uniform float)
-0:? 'd19' (uniform float)
-0:? 'd20' (uniform float)
-0:? 'd21' (uniform float)
-0:? 'd22' (uniform float)
-0:? 'd23' (uniform float)
-0:? 'd24' (uniform float)
-0:? 'd25' (uniform float)
-0:? 'd26' (uniform float)
-0:? 'd27' (uniform float)
-0:? 'd28' (uniform float)
-0:? 'd29' (uniform float)
-0:? 'd30' (uniform float)
-0:? 'd31' (uniform float)
-0:? 'd32' (uniform float)
-0:? 'd33' (uniform float)
-0:? 'd34' (uniform float)
-0:? 'Count' (uniform int)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:53 Function Definition: main( (global void)
-0:53 Function Parameters:
-0:55 Sequence
-0:55 Sequence
-0:55 move second child to first child (temp 4-component vector of float)
-0:55 'color' (temp 4-component vector of float)
-0:55 'BaseColor' (smooth in 4-component vector of float)
-0:71 Loop with condition not tested first
-0:71 Loop Condition
-0:71 Compare Less Than (temp bool)
-0:71 direct index (temp float)
-0:71 'color' (temp 4-component vector of float)
-0:71 Constant:
-0:71 2 (const int)
-0:71 'd4' (uniform float)
-0:71 Loop Body
-0:59 Sequence
-0:59 add second child into first child (temp 4-component vector of float)
-0:59 'color' (temp 4-component vector of float)
-0:59 'bigColor4' (uniform 4-component vector of float)
-0:60 Test condition and select (temp void)
-0:60 Condition
-0:60 Compare Less Than (temp bool)
-0:60 direct index (temp float)
-0:60 'color' (temp 4-component vector of float)
-0:60 Constant:
-0:60 0 (const int)
-0:60 'd4' (uniform float)
-0:60 true case
-0:61 Sequence
-0:61 add second child into first child (temp float)
-0:61 direct index (temp float)
-0:61 'color' (temp 4-component vector of float)
-0:61 Constant:
-0:61 2 (const int)
-0:61 Constant:
-0:61 2.000000
-0:62 Test condition and select (temp void)
-0:62 Condition
-0:62 Compare Less Than (temp bool)
-0:62 direct index (temp float)
-0:62 'color' (temp 4-component vector of float)
-0:62 Constant:
-0:62 2 (const int)
-0:62 'd4' (uniform float)
-0:62 true case
-0:63 Sequence
-0:63 Post-Increment (temp float)
-0:63 direct index (temp float)
-0:63 'color' (temp 4-component vector of float)
-0:63 Constant:
-0:63 0 (const int)
-0:64 Branch: Continue
-0:67 Test condition and select (temp void)
-0:67 Condition
-0:67 Compare Less Than (temp bool)
-0:67 direct index (temp float)
-0:67 'color' (temp 4-component vector of float)
-0:67 Constant:
-0:67 1 (const int)
-0:67 'd4' (uniform float)
-0:67 true case
-0:68 add second child into first child (temp float)
-0:68 direct index (temp float)
-0:68 'color' (temp 4-component vector of float)
-0:68 Constant:
-0:68 1 (const int)
-0:68 'd4' (uniform float)
-0:67 false case
-0:70 add second child into first child (temp float)
-0:70 direct index (temp float)
-0:70 'color' (temp 4-component vector of float)
-0:70 Constant:
-0:70 0 (const int)
-0:70 'd4' (uniform float)
-0:74 Loop with condition tested first
-0:74 Loop Condition
-0:74 Compare Less Than (temp bool)
-0:74 direct index (temp float)
-0:74 'color' (temp 4-component vector of float)
-0:74 Constant:
-0:74 3 (const int)
-0:74 'd13' (uniform float)
-0:74 Loop Body
-0:75 Sequence
-0:75 Test condition and select (temp void)
-0:75 Condition
-0:75 Compare Less Than (temp bool)
-0:75 direct index (temp float)
-0:75 'color' (temp 4-component vector of float)
-0:75 Constant:
-0:75 2 (const int)
-0:75 'd13' (uniform float)
-0:75 true case
-0:76 Post-Increment (temp 4-component vector of float)
-0:76 'color' (temp 4-component vector of float)
-0:75 false case
-0:78 Post-Decrement (temp 4-component vector of float)
-0:78 'color' (temp 4-component vector of float)
-0:80 add second child into first child (temp 4-component vector of float)
-0:80 'color' (temp 4-component vector of float)
-0:80 'bigColor4' (uniform 4-component vector of float)
-0:81 Test condition and select (temp void)
-0:81 Condition
-0:81 Compare Less Than (temp bool)
-0:81 direct index (temp float)
-0:81 'color' (temp 4-component vector of float)
-0:81 Constant:
-0:81 0 (const int)
-0:81 'd4' (uniform float)
-0:81 true case
-0:82 Sequence
-0:82 add second child into first child (temp float)
-0:82 direct index (temp float)
-0:82 'color' (temp 4-component vector of float)
-0:82 Constant:
-0:82 2 (const int)
-0:82 Constant:
-0:82 2.000000
-0:83 Test condition and select (temp void)
-0:83 Condition
-0:83 Compare Less Than (temp bool)
-0:83 direct index (temp float)
-0:83 'color' (temp 4-component vector of float)
-0:83 Constant:
-0:83 2 (const int)
-0:83 'd4' (uniform float)
-0:83 true case
-0:84 Sequence
-0:84 Post-Increment (temp float)
-0:84 direct index (temp float)
-0:84 'color' (temp 4-component vector of float)
-0:84 Constant:
-0:84 0 (const int)
-0:85 Branch: Continue
-0:88 Test condition and select (temp void)
-0:88 Condition
-0:88 Compare Less Than (temp bool)
-0:88 direct index (temp float)
-0:88 'color' (temp 4-component vector of float)
-0:88 Constant:
-0:88 1 (const int)
-0:88 'd4' (uniform float)
-0:88 true case
-0:89 add second child into first child (temp float)
-0:89 direct index (temp float)
-0:89 'color' (temp 4-component vector of float)
-0:89 Constant:
-0:89 1 (const int)
-0:89 'd4' (uniform float)
-0:88 false case
-0:91 add second child into first child (temp float)
-0:91 direct index (temp float)
-0:91 'color' (temp 4-component vector of float)
-0:91 Constant:
-0:91 0 (const int)
-0:91 'd4' (uniform float)
-0:94 Post-Increment (temp 4-component vector of float)
-0:94 'color' (temp 4-component vector of float)
-0:95 move second child to first child (temp 4-component vector of float)
-0:95 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:95 'color' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'bigColor1_1' (uniform 4-component vector of float)
-0:? 'bigColor1_2' (uniform 4-component vector of float)
-0:? 'bigColor1_3' (uniform 4-component vector of float)
-0:? 'bigColor2' (uniform 4-component vector of float)
-0:? 'bigColor3' (uniform 4-component vector of float)
-0:? 'bigColor4' (uniform 4-component vector of float)
-0:? 'bigColor5' (uniform 4-component vector of float)
-0:? 'bigColor6' (uniform 4-component vector of float)
-0:? 'bigColor7' (uniform 4-component vector of float)
-0:? 'bigColor8' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-0:? 'd2' (uniform float)
-0:? 'd3' (uniform float)
-0:? 'd4' (uniform float)
-0:? 'd5' (uniform float)
-0:? 'd6' (uniform float)
-0:? 'd7' (uniform float)
-0:? 'd8' (uniform float)
-0:? 'd9' (uniform float)
-0:? 'd10' (uniform float)
-0:? 'd11' (uniform float)
-0:? 'd12' (uniform float)
-0:? 'd13' (uniform float)
-0:? 'd14' (uniform float)
-0:? 'd15' (uniform float)
-0:? 'd16' (uniform float)
-0:? 'd17' (uniform float)
-0:? 'd18' (uniform float)
-0:? 'd19' (uniform float)
-0:? 'd20' (uniform float)
-0:? 'd21' (uniform float)
-0:? 'd22' (uniform float)
-0:? 'd23' (uniform float)
-0:? 'd24' (uniform float)
-0:? 'd25' (uniform float)
-0:? 'd26' (uniform float)
-0:? 'd27' (uniform float)
-0:? 'd28' (uniform float)
-0:? 'd29' (uniform float)
-0:? 'd30' (uniform float)
-0:? 'd31' (uniform float)
-0:? 'd32' (uniform float)
-0:? 'd33' (uniform float)
-0:? 'd34' (uniform float)
-0:? 'Count' (uniform int)
-
+loopsArtificial.frag
+WARNING: 0:14: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:53 Function Definition: main( (global void)
+0:53 Function Parameters:
+0:55 Sequence
+0:55 Sequence
+0:55 move second child to first child (temp 4-component vector of float)
+0:55 'color' (temp 4-component vector of float)
+0:55 'BaseColor' (smooth in 4-component vector of float)
+0:71 Loop with condition not tested first
+0:71 Loop Condition
+0:71 Compare Less Than (temp bool)
+0:71 direct index (temp float)
+0:71 'color' (temp 4-component vector of float)
+0:71 Constant:
+0:71 2 (const int)
+0:71 'd4' (uniform float)
+0:71 Loop Body
+0:59 Sequence
+0:59 add second child into first child (temp 4-component vector of float)
+0:59 'color' (temp 4-component vector of float)
+0:59 'bigColor4' (uniform 4-component vector of float)
+0:60 Test condition and select (temp void)
+0:60 Condition
+0:60 Compare Less Than (temp bool)
+0:60 direct index (temp float)
+0:60 'color' (temp 4-component vector of float)
+0:60 Constant:
+0:60 0 (const int)
+0:60 'd4' (uniform float)
+0:60 true case
+0:61 Sequence
+0:61 add second child into first child (temp float)
+0:61 direct index (temp float)
+0:61 'color' (temp 4-component vector of float)
+0:61 Constant:
+0:61 2 (const int)
+0:61 Constant:
+0:61 2.000000
+0:62 Test condition and select (temp void)
+0:62 Condition
+0:62 Compare Less Than (temp bool)
+0:62 direct index (temp float)
+0:62 'color' (temp 4-component vector of float)
+0:62 Constant:
+0:62 2 (const int)
+0:62 'd4' (uniform float)
+0:62 true case
+0:63 Sequence
+0:63 Post-Increment (temp float)
+0:63 direct index (temp float)
+0:63 'color' (temp 4-component vector of float)
+0:63 Constant:
+0:63 0 (const int)
+0:64 Branch: Continue
+0:67 Test condition and select (temp void)
+0:67 Condition
+0:67 Compare Less Than (temp bool)
+0:67 direct index (temp float)
+0:67 'color' (temp 4-component vector of float)
+0:67 Constant:
+0:67 1 (const int)
+0:67 'd4' (uniform float)
+0:67 true case
+0:68 add second child into first child (temp float)
+0:68 direct index (temp float)
+0:68 'color' (temp 4-component vector of float)
+0:68 Constant:
+0:68 1 (const int)
+0:68 'd4' (uniform float)
+0:67 false case
+0:70 add second child into first child (temp float)
+0:70 direct index (temp float)
+0:70 'color' (temp 4-component vector of float)
+0:70 Constant:
+0:70 0 (const int)
+0:70 'd4' (uniform float)
+0:74 Loop with condition tested first
+0:74 Loop Condition
+0:74 Compare Less Than (temp bool)
+0:74 direct index (temp float)
+0:74 'color' (temp 4-component vector of float)
+0:74 Constant:
+0:74 3 (const int)
+0:74 'd13' (uniform float)
+0:74 Loop Body
+0:75 Sequence
+0:75 Test condition and select (temp void)
+0:75 Condition
+0:75 Compare Less Than (temp bool)
+0:75 direct index (temp float)
+0:75 'color' (temp 4-component vector of float)
+0:75 Constant:
+0:75 2 (const int)
+0:75 'd13' (uniform float)
+0:75 true case
+0:76 Post-Increment (temp 4-component vector of float)
+0:76 'color' (temp 4-component vector of float)
+0:75 false case
+0:78 Post-Decrement (temp 4-component vector of float)
+0:78 'color' (temp 4-component vector of float)
+0:80 add second child into first child (temp 4-component vector of float)
+0:80 'color' (temp 4-component vector of float)
+0:80 'bigColor4' (uniform 4-component vector of float)
+0:81 Test condition and select (temp void)
+0:81 Condition
+0:81 Compare Less Than (temp bool)
+0:81 direct index (temp float)
+0:81 'color' (temp 4-component vector of float)
+0:81 Constant:
+0:81 0 (const int)
+0:81 'd4' (uniform float)
+0:81 true case
+0:82 Sequence
+0:82 add second child into first child (temp float)
+0:82 direct index (temp float)
+0:82 'color' (temp 4-component vector of float)
+0:82 Constant:
+0:82 2 (const int)
+0:82 Constant:
+0:82 2.000000
+0:83 Test condition and select (temp void)
+0:83 Condition
+0:83 Compare Less Than (temp bool)
+0:83 direct index (temp float)
+0:83 'color' (temp 4-component vector of float)
+0:83 Constant:
+0:83 2 (const int)
+0:83 'd4' (uniform float)
+0:83 true case
+0:84 Sequence
+0:84 Post-Increment (temp float)
+0:84 direct index (temp float)
+0:84 'color' (temp 4-component vector of float)
+0:84 Constant:
+0:84 0 (const int)
+0:85 Branch: Continue
+0:88 Test condition and select (temp void)
+0:88 Condition
+0:88 Compare Less Than (temp bool)
+0:88 direct index (temp float)
+0:88 'color' (temp 4-component vector of float)
+0:88 Constant:
+0:88 1 (const int)
+0:88 'd4' (uniform float)
+0:88 true case
+0:89 add second child into first child (temp float)
+0:89 direct index (temp float)
+0:89 'color' (temp 4-component vector of float)
+0:89 Constant:
+0:89 1 (const int)
+0:89 'd4' (uniform float)
+0:88 false case
+0:91 add second child into first child (temp float)
+0:91 direct index (temp float)
+0:91 'color' (temp 4-component vector of float)
+0:91 Constant:
+0:91 0 (const int)
+0:91 'd4' (uniform float)
+0:94 Post-Increment (temp 4-component vector of float)
+0:94 'color' (temp 4-component vector of float)
+0:95 move second child to first child (temp 4-component vector of float)
+0:95 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:95 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'bigColor1_1' (uniform 4-component vector of float)
+0:? 'bigColor1_2' (uniform 4-component vector of float)
+0:? 'bigColor1_3' (uniform 4-component vector of float)
+0:? 'bigColor2' (uniform 4-component vector of float)
+0:? 'bigColor3' (uniform 4-component vector of float)
+0:? 'bigColor4' (uniform 4-component vector of float)
+0:? 'bigColor5' (uniform 4-component vector of float)
+0:? 'bigColor6' (uniform 4-component vector of float)
+0:? 'bigColor7' (uniform 4-component vector of float)
+0:? 'bigColor8' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+0:? 'd2' (uniform float)
+0:? 'd3' (uniform float)
+0:? 'd4' (uniform float)
+0:? 'd5' (uniform float)
+0:? 'd6' (uniform float)
+0:? 'd7' (uniform float)
+0:? 'd8' (uniform float)
+0:? 'd9' (uniform float)
+0:? 'd10' (uniform float)
+0:? 'd11' (uniform float)
+0:? 'd12' (uniform float)
+0:? 'd13' (uniform float)
+0:? 'd14' (uniform float)
+0:? 'd15' (uniform float)
+0:? 'd16' (uniform float)
+0:? 'd17' (uniform float)
+0:? 'd18' (uniform float)
+0:? 'd19' (uniform float)
+0:? 'd20' (uniform float)
+0:? 'd21' (uniform float)
+0:? 'd22' (uniform float)
+0:? 'd23' (uniform float)
+0:? 'd24' (uniform float)
+0:? 'd25' (uniform float)
+0:? 'd26' (uniform float)
+0:? 'd27' (uniform float)
+0:? 'd28' (uniform float)
+0:? 'd29' (uniform float)
+0:? 'd30' (uniform float)
+0:? 'd31' (uniform float)
+0:? 'd32' (uniform float)
+0:? 'd33' (uniform float)
+0:? 'd34' (uniform float)
+0:? 'Count' (uniform int)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:53 Function Definition: main( (global void)
+0:53 Function Parameters:
+0:55 Sequence
+0:55 Sequence
+0:55 move second child to first child (temp 4-component vector of float)
+0:55 'color' (temp 4-component vector of float)
+0:55 'BaseColor' (smooth in 4-component vector of float)
+0:71 Loop with condition not tested first
+0:71 Loop Condition
+0:71 Compare Less Than (temp bool)
+0:71 direct index (temp float)
+0:71 'color' (temp 4-component vector of float)
+0:71 Constant:
+0:71 2 (const int)
+0:71 'd4' (uniform float)
+0:71 Loop Body
+0:59 Sequence
+0:59 add second child into first child (temp 4-component vector of float)
+0:59 'color' (temp 4-component vector of float)
+0:59 'bigColor4' (uniform 4-component vector of float)
+0:60 Test condition and select (temp void)
+0:60 Condition
+0:60 Compare Less Than (temp bool)
+0:60 direct index (temp float)
+0:60 'color' (temp 4-component vector of float)
+0:60 Constant:
+0:60 0 (const int)
+0:60 'd4' (uniform float)
+0:60 true case
+0:61 Sequence
+0:61 add second child into first child (temp float)
+0:61 direct index (temp float)
+0:61 'color' (temp 4-component vector of float)
+0:61 Constant:
+0:61 2 (const int)
+0:61 Constant:
+0:61 2.000000
+0:62 Test condition and select (temp void)
+0:62 Condition
+0:62 Compare Less Than (temp bool)
+0:62 direct index (temp float)
+0:62 'color' (temp 4-component vector of float)
+0:62 Constant:
+0:62 2 (const int)
+0:62 'd4' (uniform float)
+0:62 true case
+0:63 Sequence
+0:63 Post-Increment (temp float)
+0:63 direct index (temp float)
+0:63 'color' (temp 4-component vector of float)
+0:63 Constant:
+0:63 0 (const int)
+0:64 Branch: Continue
+0:67 Test condition and select (temp void)
+0:67 Condition
+0:67 Compare Less Than (temp bool)
+0:67 direct index (temp float)
+0:67 'color' (temp 4-component vector of float)
+0:67 Constant:
+0:67 1 (const int)
+0:67 'd4' (uniform float)
+0:67 true case
+0:68 add second child into first child (temp float)
+0:68 direct index (temp float)
+0:68 'color' (temp 4-component vector of float)
+0:68 Constant:
+0:68 1 (const int)
+0:68 'd4' (uniform float)
+0:67 false case
+0:70 add second child into first child (temp float)
+0:70 direct index (temp float)
+0:70 'color' (temp 4-component vector of float)
+0:70 Constant:
+0:70 0 (const int)
+0:70 'd4' (uniform float)
+0:74 Loop with condition tested first
+0:74 Loop Condition
+0:74 Compare Less Than (temp bool)
+0:74 direct index (temp float)
+0:74 'color' (temp 4-component vector of float)
+0:74 Constant:
+0:74 3 (const int)
+0:74 'd13' (uniform float)
+0:74 Loop Body
+0:75 Sequence
+0:75 Test condition and select (temp void)
+0:75 Condition
+0:75 Compare Less Than (temp bool)
+0:75 direct index (temp float)
+0:75 'color' (temp 4-component vector of float)
+0:75 Constant:
+0:75 2 (const int)
+0:75 'd13' (uniform float)
+0:75 true case
+0:76 Post-Increment (temp 4-component vector of float)
+0:76 'color' (temp 4-component vector of float)
+0:75 false case
+0:78 Post-Decrement (temp 4-component vector of float)
+0:78 'color' (temp 4-component vector of float)
+0:80 add second child into first child (temp 4-component vector of float)
+0:80 'color' (temp 4-component vector of float)
+0:80 'bigColor4' (uniform 4-component vector of float)
+0:81 Test condition and select (temp void)
+0:81 Condition
+0:81 Compare Less Than (temp bool)
+0:81 direct index (temp float)
+0:81 'color' (temp 4-component vector of float)
+0:81 Constant:
+0:81 0 (const int)
+0:81 'd4' (uniform float)
+0:81 true case
+0:82 Sequence
+0:82 add second child into first child (temp float)
+0:82 direct index (temp float)
+0:82 'color' (temp 4-component vector of float)
+0:82 Constant:
+0:82 2 (const int)
+0:82 Constant:
+0:82 2.000000
+0:83 Test condition and select (temp void)
+0:83 Condition
+0:83 Compare Less Than (temp bool)
+0:83 direct index (temp float)
+0:83 'color' (temp 4-component vector of float)
+0:83 Constant:
+0:83 2 (const int)
+0:83 'd4' (uniform float)
+0:83 true case
+0:84 Sequence
+0:84 Post-Increment (temp float)
+0:84 direct index (temp float)
+0:84 'color' (temp 4-component vector of float)
+0:84 Constant:
+0:84 0 (const int)
+0:85 Branch: Continue
+0:88 Test condition and select (temp void)
+0:88 Condition
+0:88 Compare Less Than (temp bool)
+0:88 direct index (temp float)
+0:88 'color' (temp 4-component vector of float)
+0:88 Constant:
+0:88 1 (const int)
+0:88 'd4' (uniform float)
+0:88 true case
+0:89 add second child into first child (temp float)
+0:89 direct index (temp float)
+0:89 'color' (temp 4-component vector of float)
+0:89 Constant:
+0:89 1 (const int)
+0:89 'd4' (uniform float)
+0:88 false case
+0:91 add second child into first child (temp float)
+0:91 direct index (temp float)
+0:91 'color' (temp 4-component vector of float)
+0:91 Constant:
+0:91 0 (const int)
+0:91 'd4' (uniform float)
+0:94 Post-Increment (temp 4-component vector of float)
+0:94 'color' (temp 4-component vector of float)
+0:95 move second child to first child (temp 4-component vector of float)
+0:95 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:95 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'bigColor1_1' (uniform 4-component vector of float)
+0:? 'bigColor1_2' (uniform 4-component vector of float)
+0:? 'bigColor1_3' (uniform 4-component vector of float)
+0:? 'bigColor2' (uniform 4-component vector of float)
+0:? 'bigColor3' (uniform 4-component vector of float)
+0:? 'bigColor4' (uniform 4-component vector of float)
+0:? 'bigColor5' (uniform 4-component vector of float)
+0:? 'bigColor6' (uniform 4-component vector of float)
+0:? 'bigColor7' (uniform 4-component vector of float)
+0:? 'bigColor8' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+0:? 'd2' (uniform float)
+0:? 'd3' (uniform float)
+0:? 'd4' (uniform float)
+0:? 'd5' (uniform float)
+0:? 'd6' (uniform float)
+0:? 'd7' (uniform float)
+0:? 'd8' (uniform float)
+0:? 'd9' (uniform float)
+0:? 'd10' (uniform float)
+0:? 'd11' (uniform float)
+0:? 'd12' (uniform float)
+0:? 'd13' (uniform float)
+0:? 'd14' (uniform float)
+0:? 'd15' (uniform float)
+0:? 'd16' (uniform float)
+0:? 'd17' (uniform float)
+0:? 'd18' (uniform float)
+0:? 'd19' (uniform float)
+0:? 'd20' (uniform float)
+0:? 'd21' (uniform float)
+0:? 'd22' (uniform float)
+0:? 'd23' (uniform float)
+0:? 'd24' (uniform float)
+0:? 'd25' (uniform float)
+0:? 'd26' (uniform float)
+0:? 'd27' (uniform float)
+0:? 'd28' (uniform float)
+0:? 'd29' (uniform float)
+0:? 'd30' (uniform float)
+0:? 'd31' (uniform float)
+0:? 'd32' (uniform float)
+0:? 'd33' (uniform float)
+0:? 'd34' (uniform float)
+0:? 'Count' (uniform int)
+
diff --git a/Test/baseResults/mains1.frag.out b/Test/baseResults/mains1.frag.out
index 596b845..9a10431 100644
--- a/Test/baseResults/mains1.frag.out
+++ b/Test/baseResults/mains1.frag.out
@@ -1,72 +1,72 @@
-mains1.frag
-Shader version: 110
-0:? Sequence
-0:3 Function Definition: main( (global void)
-0:3 Function Parameters:
-0:? Linker Objects
-
-mains2.frag
-Shader version: 110
-0:? Sequence
-0:3 Function Definition: main( (global void)
-0:3 Function Parameters:
-0:? Linker Objects
-
-noMain1.geom
-ERROR: #version: geometry shaders require es profile with version 310 or non-es profile with version 150 or above
-ERROR: 1 compilation errors. No code generated.
-
-
-Shader version: 150
-invocations = 0
-max_vertices = 0
-input primitive = none
-output primitive = points
-ERROR: node is still EOpNull!
-0:3 Function Definition: foo( (global void)
-0:3 Function Parameters:
-0:? Linker Objects
-
-noMain2.geom
-Shader version: 150
-invocations = 0
-max_vertices = 0
-input primitive = none
-output primitive = line_strip
-0:? Sequence
-0:3 Function Definition: bar( (global void)
-0:3 Function Parameters:
-0:? Linker Objects
-
-
-Linked geometry stage:
-
-ERROR: Linking geometry stage: Contradictory output layout primitives
-ERROR: Linking geometry stage: Missing entry point: Each stage requires one "void main()" entry point
-ERROR: Linking geometry stage: At least one shader must specify an input layout primitive
-ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value)
-
-Linked fragment stage:
-
-ERROR: Linking fragment stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
- main(
-
-Shader version: 150
-invocations = 0
-max_vertices = 0
-input primitive = none
-output primitive = points
-ERROR: node is still EOpNull!
-0:3 Function Definition: foo( (global void)
-0:3 Function Parameters:
-0:3 Function Definition: bar( (global void)
-0:3 Function Parameters:
-0:? Linker Objects
-Shader version: 110
-0:? Sequence
-0:3 Function Definition: main( (global void)
-0:3 Function Parameters:
-0:3 Function Definition: main( (global void)
-0:3 Function Parameters:
-0:? Linker Objects
-
+mains1.frag
+Shader version: 110
+0:? Sequence
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:? Linker Objects
+
+mains2.frag
+Shader version: 110
+0:? Sequence
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:? Linker Objects
+
+noMain1.geom
+ERROR: #version: geometry shaders require es profile with version 310 or non-es profile with version 150 or above
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 150
+invocations = 0
+max_vertices = 0
+input primitive = none
+output primitive = points
+ERROR: node is still EOpNull!
+0:3 Function Definition: foo( (global void)
+0:3 Function Parameters:
+0:? Linker Objects
+
+noMain2.geom
+Shader version: 150
+invocations = 0
+max_vertices = 0
+input primitive = none
+output primitive = line_strip
+0:? Sequence
+0:3 Function Definition: bar( (global void)
+0:3 Function Parameters:
+0:? Linker Objects
+
+
+Linked geometry stage:
+
+ERROR: Linking geometry stage: Contradictory output layout primitives
+ERROR: Linking geometry stage: Missing entry point: Each stage requires one "void main()" entry point
+ERROR: Linking geometry stage: At least one shader must specify an input layout primitive
+ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value)
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
+ main(
+
+Shader version: 150
+invocations = 0
+max_vertices = 0
+input primitive = none
+output primitive = points
+ERROR: node is still EOpNull!
+0:3 Function Definition: foo( (global void)
+0:3 Function Parameters:
+0:3 Function Definition: bar( (global void)
+0:3 Function Parameters:
+0:? Linker Objects
+Shader version: 110
+0:? Sequence
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:? Linker Objects
+
diff --git a/Test/baseResults/matrix.frag.out b/Test/baseResults/matrix.frag.out
index 9f20b85..14c3548 100644
--- a/Test/baseResults/matrix.frag.out
+++ b/Test/baseResults/matrix.frag.out
@@ -1,507 +1,507 @@
-matrix.frag
-WARNING: 0:6: varying deprecated in version 130; may be removed in future release
-WARNING: 0:17: varying deprecated in version 130; may be removed in future release
-WARNING: 0:22: varying deprecated in version 130; may be removed in future release
-
-Shader version: 130
-0:? Sequence
-0:25 Function Definition: main( (global void)
-0:25 Function Parameters:
-0:27 Sequence
-0:27 move second child to first child (temp 4-component vector of float)
-0:27 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:27 Construct vec4 (temp 4-component vector of float)
-0:27 direct index (temp 4-component vector of float)
-0:27 'un34' (uniform 4X4 matrix of float)
-0:27 Constant:
-0:27 1 (const int)
-0:28 add second child into first child (temp 4-component vector of float)
-0:28 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:28 Construct vec4 (temp 4-component vector of float)
-0:28 vector-times-matrix (temp 3-component vector of float)
-0:28 'Color' (smooth in 3-component vector of float)
-0:28 'colorTransform' (uniform 3X3 matrix of float)
-0:28 Constant:
-0:28 1.000000
-0:30 Test condition and select (temp void)
-0:30 Condition
-0:30 Compare Not Equal (temp bool)
-0:30 'm' (uniform 4X4 matrix of float)
-0:30 'n' (uniform 4X4 matrix of float)
-0:30 true case
-0:31 add second child into first child (temp 4-component vector of float)
-0:31 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:31 'v' (smooth in 4-component vector of float)
-0:30 false case
-0:33 Sequence
-0:33 add second child into first child (temp 4-component vector of float)
-0:33 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:33 matrix-times-vector (temp 4-component vector of float)
-0:33 'm' (uniform 4X4 matrix of float)
-0:33 'v' (smooth in 4-component vector of float)
-0:34 add second child into first child (temp 4-component vector of float)
-0:34 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:34 vector-times-matrix (temp 4-component vector of float)
-0:34 'v' (smooth in 4-component vector of float)
-0:34 subtract (temp 4X4 matrix of float)
-0:34 'm' (uniform 4X4 matrix of float)
-0:34 'n' (uniform 4X4 matrix of float)
-0:42 Sequence
-0:42 move second child to first child (temp 4X4 matrix of float)
-0:42 'm34' (temp 4X4 matrix of float)
-0:45 Construct mat4 (temp 4X4 matrix of float)
-0:42 component-wise multiply (temp float)
-0:42 direct index (temp float)
-0:42 'v' (smooth in 4-component vector of float)
-0:42 Constant:
-0:42 0 (const int)
-0:42 direct index (temp float)
-0:42 'u' (smooth in 4-component vector of float)
-0:42 Constant:
-0:42 0 (const int)
-0:42 component-wise multiply (temp float)
-0:42 direct index (temp float)
-0:42 'v' (smooth in 4-component vector of float)
-0:42 Constant:
-0:42 0 (const int)
-0:42 direct index (temp float)
-0:42 'u' (smooth in 4-component vector of float)
-0:42 Constant:
-0:42 1 (const int)
-0:42 component-wise multiply (temp float)
-0:42 direct index (temp float)
-0:42 'v' (smooth in 4-component vector of float)
-0:42 Constant:
-0:42 0 (const int)
-0:42 direct index (temp float)
-0:42 'u' (smooth in 4-component vector of float)
-0:42 Constant:
-0:42 2 (const int)
-0:42 component-wise multiply (temp float)
-0:42 direct index (temp float)
-0:42 'v' (smooth in 4-component vector of float)
-0:42 Constant:
-0:42 0 (const int)
-0:42 direct index (temp float)
-0:42 'u' (smooth in 4-component vector of float)
-0:42 Constant:
-0:42 3 (const int)
-0:43 component-wise multiply (temp float)
-0:43 direct index (temp float)
-0:43 'v' (smooth in 4-component vector of float)
-0:43 Constant:
-0:43 1 (const int)
-0:43 direct index (temp float)
-0:43 'u' (smooth in 4-component vector of float)
-0:43 Constant:
-0:43 0 (const int)
-0:43 component-wise multiply (temp float)
-0:43 direct index (temp float)
-0:43 'v' (smooth in 4-component vector of float)
-0:43 Constant:
-0:43 1 (const int)
-0:43 direct index (temp float)
-0:43 'u' (smooth in 4-component vector of float)
-0:43 Constant:
-0:43 1 (const int)
-0:43 component-wise multiply (temp float)
-0:43 direct index (temp float)
-0:43 'v' (smooth in 4-component vector of float)
-0:43 Constant:
-0:43 1 (const int)
-0:43 direct index (temp float)
-0:43 'u' (smooth in 4-component vector of float)
-0:43 Constant:
-0:43 2 (const int)
-0:43 component-wise multiply (temp float)
-0:43 direct index (temp float)
-0:43 'v' (smooth in 4-component vector of float)
-0:43 Constant:
-0:43 1 (const int)
-0:43 direct index (temp float)
-0:43 'u' (smooth in 4-component vector of float)
-0:43 Constant:
-0:43 3 (const int)
-0:44 component-wise multiply (temp float)
-0:44 direct index (temp float)
-0:44 'v' (smooth in 4-component vector of float)
-0:44 Constant:
-0:44 2 (const int)
-0:44 direct index (temp float)
-0:44 'u' (smooth in 4-component vector of float)
-0:44 Constant:
-0:44 0 (const int)
-0:44 component-wise multiply (temp float)
-0:44 direct index (temp float)
-0:44 'v' (smooth in 4-component vector of float)
-0:44 Constant:
-0:44 2 (const int)
-0:44 direct index (temp float)
-0:44 'u' (smooth in 4-component vector of float)
-0:44 Constant:
-0:44 1 (const int)
-0:44 component-wise multiply (temp float)
-0:44 direct index (temp float)
-0:44 'v' (smooth in 4-component vector of float)
-0:44 Constant:
-0:44 2 (const int)
-0:44 direct index (temp float)
-0:44 'u' (smooth in 4-component vector of float)
-0:44 Constant:
-0:44 2 (const int)
-0:44 component-wise multiply (temp float)
-0:44 direct index (temp float)
-0:44 'v' (smooth in 4-component vector of float)
-0:44 Constant:
-0:44 2 (const int)
-0:44 direct index (temp float)
-0:44 'u' (smooth in 4-component vector of float)
-0:44 Constant:
-0:44 3 (const int)
-0:45 component-wise multiply (temp float)
-0:45 direct index (temp float)
-0:45 'v' (smooth in 4-component vector of float)
-0:45 Constant:
-0:45 3 (const int)
-0:45 direct index (temp float)
-0:45 'u' (smooth in 4-component vector of float)
-0:45 Constant:
-0:45 0 (const int)
-0:45 component-wise multiply (temp float)
-0:45 direct index (temp float)
-0:45 'v' (smooth in 4-component vector of float)
-0:45 Constant:
-0:45 3 (const int)
-0:45 direct index (temp float)
-0:45 'u' (smooth in 4-component vector of float)
-0:45 Constant:
-0:45 1 (const int)
-0:45 component-wise multiply (temp float)
-0:45 direct index (temp float)
-0:45 'v' (smooth in 4-component vector of float)
-0:45 Constant:
-0:45 3 (const int)
-0:45 direct index (temp float)
-0:45 'u' (smooth in 4-component vector of float)
-0:45 Constant:
-0:45 2 (const int)
-0:45 component-wise multiply (temp float)
-0:45 direct index (temp float)
-0:45 'v' (smooth in 4-component vector of float)
-0:45 Constant:
-0:45 3 (const int)
-0:45 direct index (temp float)
-0:45 'u' (smooth in 4-component vector of float)
-0:45 Constant:
-0:45 3 (const int)
-0:46 add second child into first child (temp 4X4 matrix of float)
-0:46 'm34' (temp 4X4 matrix of float)
-0:46 Construct mat4 (temp 4X4 matrix of float)
-0:46 direct index (temp float)
-0:46 'v' (smooth in 4-component vector of float)
-0:46 Constant:
-0:46 0 (const int)
-0:47 add second child into first child (temp 4X4 matrix of float)
-0:47 'm34' (temp 4X4 matrix of float)
-0:47 Construct mat4 (temp 4X4 matrix of float)
-0:47 'u' (smooth in 4-component vector of float)
-0:47 direct index (temp float)
-0:47 'u' (smooth in 4-component vector of float)
-0:47 Constant:
-0:47 0 (const int)
-0:47 'u' (smooth in 4-component vector of float)
-0:47 direct index (temp float)
-0:47 'u' (smooth in 4-component vector of float)
-0:47 Constant:
-0:47 0 (const int)
-0:47 'u' (smooth in 4-component vector of float)
-0:47 direct index (temp float)
-0:47 'u' (smooth in 4-component vector of float)
-0:47 Constant:
-0:47 0 (const int)
-0:47 direct index (temp float)
-0:47 'u' (smooth in 4-component vector of float)
-0:47 Constant:
-0:47 0 (const int)
-0:51 Test condition and select (temp void)
-0:51 Condition
-0:51 Compare Equal (temp bool)
-0:51 'm34' (temp 4X4 matrix of float)
-0:51 'un34' (uniform 4X4 matrix of float)
-0:51 true case
-0:52 add second child into first child (temp 4-component vector of float)
-0:52 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:52 matrix-times-vector (temp 4-component vector of float)
-0:52 'm34' (temp 4X4 matrix of float)
-0:52 'u' (smooth in 4-component vector of float)
-0:51 false case
-0:54 add second child into first child (temp 4-component vector of float)
-0:54 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:54 matrix-times-vector (temp 4-component vector of float)
-0:54 matrix-multiply (temp 4X4 matrix of float)
-0:54 'un34' (uniform 4X4 matrix of float)
-0:54 'um43' (uniform 4X4 matrix of float)
-0:54 'v' (smooth in 4-component vector of float)
-0:? Linker Objects
-0:? 'colorTransform' (uniform 3X3 matrix of float)
-0:? 'Color' (smooth in 3-component vector of float)
-0:? 'm' (uniform 4X4 matrix of float)
-0:? 'n' (uniform 4X4 matrix of float)
-0:? 'um43' (uniform 4X4 matrix of float)
-0:? 'un34' (uniform 4X4 matrix of float)
-0:? 'v' (smooth in 4-component vector of float)
-0:? 'u' (smooth in 4-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:25 Function Definition: main( (global void)
-0:25 Function Parameters:
-0:27 Sequence
-0:27 move second child to first child (temp 4-component vector of float)
-0:27 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:27 Construct vec4 (temp 4-component vector of float)
-0:27 direct index (temp 4-component vector of float)
-0:27 'un34' (uniform 4X4 matrix of float)
-0:27 Constant:
-0:27 1 (const int)
-0:28 add second child into first child (temp 4-component vector of float)
-0:28 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:28 Construct vec4 (temp 4-component vector of float)
-0:28 vector-times-matrix (temp 3-component vector of float)
-0:28 'Color' (smooth in 3-component vector of float)
-0:28 'colorTransform' (uniform 3X3 matrix of float)
-0:28 Constant:
-0:28 1.000000
-0:30 Test condition and select (temp void)
-0:30 Condition
-0:30 Compare Not Equal (temp bool)
-0:30 'm' (uniform 4X4 matrix of float)
-0:30 'n' (uniform 4X4 matrix of float)
-0:30 true case
-0:31 add second child into first child (temp 4-component vector of float)
-0:31 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:31 'v' (smooth in 4-component vector of float)
-0:30 false case
-0:33 Sequence
-0:33 add second child into first child (temp 4-component vector of float)
-0:33 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:33 matrix-times-vector (temp 4-component vector of float)
-0:33 'm' (uniform 4X4 matrix of float)
-0:33 'v' (smooth in 4-component vector of float)
-0:34 add second child into first child (temp 4-component vector of float)
-0:34 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:34 vector-times-matrix (temp 4-component vector of float)
-0:34 'v' (smooth in 4-component vector of float)
-0:34 subtract (temp 4X4 matrix of float)
-0:34 'm' (uniform 4X4 matrix of float)
-0:34 'n' (uniform 4X4 matrix of float)
-0:42 Sequence
-0:42 move second child to first child (temp 4X4 matrix of float)
-0:42 'm34' (temp 4X4 matrix of float)
-0:45 Construct mat4 (temp 4X4 matrix of float)
-0:42 component-wise multiply (temp float)
-0:42 direct index (temp float)
-0:42 'v' (smooth in 4-component vector of float)
-0:42 Constant:
-0:42 0 (const int)
-0:42 direct index (temp float)
-0:42 'u' (smooth in 4-component vector of float)
-0:42 Constant:
-0:42 0 (const int)
-0:42 component-wise multiply (temp float)
-0:42 direct index (temp float)
-0:42 'v' (smooth in 4-component vector of float)
-0:42 Constant:
-0:42 0 (const int)
-0:42 direct index (temp float)
-0:42 'u' (smooth in 4-component vector of float)
-0:42 Constant:
-0:42 1 (const int)
-0:42 component-wise multiply (temp float)
-0:42 direct index (temp float)
-0:42 'v' (smooth in 4-component vector of float)
-0:42 Constant:
-0:42 0 (const int)
-0:42 direct index (temp float)
-0:42 'u' (smooth in 4-component vector of float)
-0:42 Constant:
-0:42 2 (const int)
-0:42 component-wise multiply (temp float)
-0:42 direct index (temp float)
-0:42 'v' (smooth in 4-component vector of float)
-0:42 Constant:
-0:42 0 (const int)
-0:42 direct index (temp float)
-0:42 'u' (smooth in 4-component vector of float)
-0:42 Constant:
-0:42 3 (const int)
-0:43 component-wise multiply (temp float)
-0:43 direct index (temp float)
-0:43 'v' (smooth in 4-component vector of float)
-0:43 Constant:
-0:43 1 (const int)
-0:43 direct index (temp float)
-0:43 'u' (smooth in 4-component vector of float)
-0:43 Constant:
-0:43 0 (const int)
-0:43 component-wise multiply (temp float)
-0:43 direct index (temp float)
-0:43 'v' (smooth in 4-component vector of float)
-0:43 Constant:
-0:43 1 (const int)
-0:43 direct index (temp float)
-0:43 'u' (smooth in 4-component vector of float)
-0:43 Constant:
-0:43 1 (const int)
-0:43 component-wise multiply (temp float)
-0:43 direct index (temp float)
-0:43 'v' (smooth in 4-component vector of float)
-0:43 Constant:
-0:43 1 (const int)
-0:43 direct index (temp float)
-0:43 'u' (smooth in 4-component vector of float)
-0:43 Constant:
-0:43 2 (const int)
-0:43 component-wise multiply (temp float)
-0:43 direct index (temp float)
-0:43 'v' (smooth in 4-component vector of float)
-0:43 Constant:
-0:43 1 (const int)
-0:43 direct index (temp float)
-0:43 'u' (smooth in 4-component vector of float)
-0:43 Constant:
-0:43 3 (const int)
-0:44 component-wise multiply (temp float)
-0:44 direct index (temp float)
-0:44 'v' (smooth in 4-component vector of float)
-0:44 Constant:
-0:44 2 (const int)
-0:44 direct index (temp float)
-0:44 'u' (smooth in 4-component vector of float)
-0:44 Constant:
-0:44 0 (const int)
-0:44 component-wise multiply (temp float)
-0:44 direct index (temp float)
-0:44 'v' (smooth in 4-component vector of float)
-0:44 Constant:
-0:44 2 (const int)
-0:44 direct index (temp float)
-0:44 'u' (smooth in 4-component vector of float)
-0:44 Constant:
-0:44 1 (const int)
-0:44 component-wise multiply (temp float)
-0:44 direct index (temp float)
-0:44 'v' (smooth in 4-component vector of float)
-0:44 Constant:
-0:44 2 (const int)
-0:44 direct index (temp float)
-0:44 'u' (smooth in 4-component vector of float)
-0:44 Constant:
-0:44 2 (const int)
-0:44 component-wise multiply (temp float)
-0:44 direct index (temp float)
-0:44 'v' (smooth in 4-component vector of float)
-0:44 Constant:
-0:44 2 (const int)
-0:44 direct index (temp float)
-0:44 'u' (smooth in 4-component vector of float)
-0:44 Constant:
-0:44 3 (const int)
-0:45 component-wise multiply (temp float)
-0:45 direct index (temp float)
-0:45 'v' (smooth in 4-component vector of float)
-0:45 Constant:
-0:45 3 (const int)
-0:45 direct index (temp float)
-0:45 'u' (smooth in 4-component vector of float)
-0:45 Constant:
-0:45 0 (const int)
-0:45 component-wise multiply (temp float)
-0:45 direct index (temp float)
-0:45 'v' (smooth in 4-component vector of float)
-0:45 Constant:
-0:45 3 (const int)
-0:45 direct index (temp float)
-0:45 'u' (smooth in 4-component vector of float)
-0:45 Constant:
-0:45 1 (const int)
-0:45 component-wise multiply (temp float)
-0:45 direct index (temp float)
-0:45 'v' (smooth in 4-component vector of float)
-0:45 Constant:
-0:45 3 (const int)
-0:45 direct index (temp float)
-0:45 'u' (smooth in 4-component vector of float)
-0:45 Constant:
-0:45 2 (const int)
-0:45 component-wise multiply (temp float)
-0:45 direct index (temp float)
-0:45 'v' (smooth in 4-component vector of float)
-0:45 Constant:
-0:45 3 (const int)
-0:45 direct index (temp float)
-0:45 'u' (smooth in 4-component vector of float)
-0:45 Constant:
-0:45 3 (const int)
-0:46 add second child into first child (temp 4X4 matrix of float)
-0:46 'm34' (temp 4X4 matrix of float)
-0:46 Construct mat4 (temp 4X4 matrix of float)
-0:46 direct index (temp float)
-0:46 'v' (smooth in 4-component vector of float)
-0:46 Constant:
-0:46 0 (const int)
-0:47 add second child into first child (temp 4X4 matrix of float)
-0:47 'm34' (temp 4X4 matrix of float)
-0:47 Construct mat4 (temp 4X4 matrix of float)
-0:47 'u' (smooth in 4-component vector of float)
-0:47 direct index (temp float)
-0:47 'u' (smooth in 4-component vector of float)
-0:47 Constant:
-0:47 0 (const int)
-0:47 'u' (smooth in 4-component vector of float)
-0:47 direct index (temp float)
-0:47 'u' (smooth in 4-component vector of float)
-0:47 Constant:
-0:47 0 (const int)
-0:47 'u' (smooth in 4-component vector of float)
-0:47 direct index (temp float)
-0:47 'u' (smooth in 4-component vector of float)
-0:47 Constant:
-0:47 0 (const int)
-0:47 direct index (temp float)
-0:47 'u' (smooth in 4-component vector of float)
-0:47 Constant:
-0:47 0 (const int)
-0:51 Test condition and select (temp void)
-0:51 Condition
-0:51 Compare Equal (temp bool)
-0:51 'm34' (temp 4X4 matrix of float)
-0:51 'un34' (uniform 4X4 matrix of float)
-0:51 true case
-0:52 add second child into first child (temp 4-component vector of float)
-0:52 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:52 matrix-times-vector (temp 4-component vector of float)
-0:52 'm34' (temp 4X4 matrix of float)
-0:52 'u' (smooth in 4-component vector of float)
-0:51 false case
-0:54 add second child into first child (temp 4-component vector of float)
-0:54 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:54 matrix-times-vector (temp 4-component vector of float)
-0:54 matrix-multiply (temp 4X4 matrix of float)
-0:54 'un34' (uniform 4X4 matrix of float)
-0:54 'um43' (uniform 4X4 matrix of float)
-0:54 'v' (smooth in 4-component vector of float)
-0:? Linker Objects
-0:? 'colorTransform' (uniform 3X3 matrix of float)
-0:? 'Color' (smooth in 3-component vector of float)
-0:? 'm' (uniform 4X4 matrix of float)
-0:? 'n' (uniform 4X4 matrix of float)
-0:? 'um43' (uniform 4X4 matrix of float)
-0:? 'un34' (uniform 4X4 matrix of float)
-0:? 'v' (smooth in 4-component vector of float)
-0:? 'u' (smooth in 4-component vector of float)
-
+matrix.frag
+WARNING: 0:6: varying deprecated in version 130; may be removed in future release
+WARNING: 0:17: varying deprecated in version 130; may be removed in future release
+WARNING: 0:22: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:25 Function Definition: main( (global void)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 move second child to first child (temp 4-component vector of float)
+0:27 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:27 Construct vec4 (temp 4-component vector of float)
+0:27 direct index (temp 4-component vector of float)
+0:27 'un34' (uniform 4X4 matrix of float)
+0:27 Constant:
+0:27 1 (const int)
+0:28 add second child into first child (temp 4-component vector of float)
+0:28 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:28 Construct vec4 (temp 4-component vector of float)
+0:28 vector-times-matrix (temp 3-component vector of float)
+0:28 'Color' (smooth in 3-component vector of float)
+0:28 'colorTransform' (uniform 3X3 matrix of float)
+0:28 Constant:
+0:28 1.000000
+0:30 Test condition and select (temp void)
+0:30 Condition
+0:30 Compare Not Equal (temp bool)
+0:30 'm' (uniform 4X4 matrix of float)
+0:30 'n' (uniform 4X4 matrix of float)
+0:30 true case
+0:31 add second child into first child (temp 4-component vector of float)
+0:31 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:31 'v' (smooth in 4-component vector of float)
+0:30 false case
+0:33 Sequence
+0:33 add second child into first child (temp 4-component vector of float)
+0:33 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:33 matrix-times-vector (temp 4-component vector of float)
+0:33 'm' (uniform 4X4 matrix of float)
+0:33 'v' (smooth in 4-component vector of float)
+0:34 add second child into first child (temp 4-component vector of float)
+0:34 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:34 vector-times-matrix (temp 4-component vector of float)
+0:34 'v' (smooth in 4-component vector of float)
+0:34 subtract (temp 4X4 matrix of float)
+0:34 'm' (uniform 4X4 matrix of float)
+0:34 'n' (uniform 4X4 matrix of float)
+0:42 Sequence
+0:42 move second child to first child (temp 4X4 matrix of float)
+0:42 'm34' (temp 4X4 matrix of float)
+0:45 Construct mat4 (temp 4X4 matrix of float)
+0:42 component-wise multiply (temp float)
+0:42 direct index (temp float)
+0:42 'v' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 'u' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 component-wise multiply (temp float)
+0:42 direct index (temp float)
+0:42 'v' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 'u' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 1 (const int)
+0:42 component-wise multiply (temp float)
+0:42 direct index (temp float)
+0:42 'v' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 'u' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 2 (const int)
+0:42 component-wise multiply (temp float)
+0:42 direct index (temp float)
+0:42 'v' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 'u' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 3 (const int)
+0:43 component-wise multiply (temp float)
+0:43 direct index (temp float)
+0:43 'v' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 direct index (temp float)
+0:43 'u' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 0 (const int)
+0:43 component-wise multiply (temp float)
+0:43 direct index (temp float)
+0:43 'v' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 direct index (temp float)
+0:43 'u' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 component-wise multiply (temp float)
+0:43 direct index (temp float)
+0:43 'v' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 direct index (temp float)
+0:43 'u' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 2 (const int)
+0:43 component-wise multiply (temp float)
+0:43 direct index (temp float)
+0:43 'v' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 direct index (temp float)
+0:43 'u' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 3 (const int)
+0:44 component-wise multiply (temp float)
+0:44 direct index (temp float)
+0:44 'v' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 direct index (temp float)
+0:44 'u' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 0 (const int)
+0:44 component-wise multiply (temp float)
+0:44 direct index (temp float)
+0:44 'v' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 direct index (temp float)
+0:44 'u' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 1 (const int)
+0:44 component-wise multiply (temp float)
+0:44 direct index (temp float)
+0:44 'v' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 direct index (temp float)
+0:44 'u' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 component-wise multiply (temp float)
+0:44 direct index (temp float)
+0:44 'v' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 direct index (temp float)
+0:44 'u' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 3 (const int)
+0:45 component-wise multiply (temp float)
+0:45 direct index (temp float)
+0:45 'v' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 direct index (temp float)
+0:45 'u' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 0 (const int)
+0:45 component-wise multiply (temp float)
+0:45 direct index (temp float)
+0:45 'v' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 direct index (temp float)
+0:45 'u' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 1 (const int)
+0:45 component-wise multiply (temp float)
+0:45 direct index (temp float)
+0:45 'v' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 direct index (temp float)
+0:45 'u' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 2 (const int)
+0:45 component-wise multiply (temp float)
+0:45 direct index (temp float)
+0:45 'v' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 direct index (temp float)
+0:45 'u' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:46 add second child into first child (temp 4X4 matrix of float)
+0:46 'm34' (temp 4X4 matrix of float)
+0:46 Construct mat4 (temp 4X4 matrix of float)
+0:46 direct index (temp float)
+0:46 'v' (smooth in 4-component vector of float)
+0:46 Constant:
+0:46 0 (const int)
+0:47 add second child into first child (temp 4X4 matrix of float)
+0:47 'm34' (temp 4X4 matrix of float)
+0:47 Construct mat4 (temp 4X4 matrix of float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 direct index (temp float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 Constant:
+0:47 0 (const int)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 direct index (temp float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 Constant:
+0:47 0 (const int)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 direct index (temp float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 Constant:
+0:47 0 (const int)
+0:47 direct index (temp float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 Constant:
+0:47 0 (const int)
+0:51 Test condition and select (temp void)
+0:51 Condition
+0:51 Compare Equal (temp bool)
+0:51 'm34' (temp 4X4 matrix of float)
+0:51 'un34' (uniform 4X4 matrix of float)
+0:51 true case
+0:52 add second child into first child (temp 4-component vector of float)
+0:52 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:52 matrix-times-vector (temp 4-component vector of float)
+0:52 'm34' (temp 4X4 matrix of float)
+0:52 'u' (smooth in 4-component vector of float)
+0:51 false case
+0:54 add second child into first child (temp 4-component vector of float)
+0:54 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:54 matrix-times-vector (temp 4-component vector of float)
+0:54 matrix-multiply (temp 4X4 matrix of float)
+0:54 'un34' (uniform 4X4 matrix of float)
+0:54 'um43' (uniform 4X4 matrix of float)
+0:54 'v' (smooth in 4-component vector of float)
+0:? Linker Objects
+0:? 'colorTransform' (uniform 3X3 matrix of float)
+0:? 'Color' (smooth in 3-component vector of float)
+0:? 'm' (uniform 4X4 matrix of float)
+0:? 'n' (uniform 4X4 matrix of float)
+0:? 'um43' (uniform 4X4 matrix of float)
+0:? 'un34' (uniform 4X4 matrix of float)
+0:? 'v' (smooth in 4-component vector of float)
+0:? 'u' (smooth in 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:25 Function Definition: main( (global void)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 move second child to first child (temp 4-component vector of float)
+0:27 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:27 Construct vec4 (temp 4-component vector of float)
+0:27 direct index (temp 4-component vector of float)
+0:27 'un34' (uniform 4X4 matrix of float)
+0:27 Constant:
+0:27 1 (const int)
+0:28 add second child into first child (temp 4-component vector of float)
+0:28 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:28 Construct vec4 (temp 4-component vector of float)
+0:28 vector-times-matrix (temp 3-component vector of float)
+0:28 'Color' (smooth in 3-component vector of float)
+0:28 'colorTransform' (uniform 3X3 matrix of float)
+0:28 Constant:
+0:28 1.000000
+0:30 Test condition and select (temp void)
+0:30 Condition
+0:30 Compare Not Equal (temp bool)
+0:30 'm' (uniform 4X4 matrix of float)
+0:30 'n' (uniform 4X4 matrix of float)
+0:30 true case
+0:31 add second child into first child (temp 4-component vector of float)
+0:31 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:31 'v' (smooth in 4-component vector of float)
+0:30 false case
+0:33 Sequence
+0:33 add second child into first child (temp 4-component vector of float)
+0:33 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:33 matrix-times-vector (temp 4-component vector of float)
+0:33 'm' (uniform 4X4 matrix of float)
+0:33 'v' (smooth in 4-component vector of float)
+0:34 add second child into first child (temp 4-component vector of float)
+0:34 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:34 vector-times-matrix (temp 4-component vector of float)
+0:34 'v' (smooth in 4-component vector of float)
+0:34 subtract (temp 4X4 matrix of float)
+0:34 'm' (uniform 4X4 matrix of float)
+0:34 'n' (uniform 4X4 matrix of float)
+0:42 Sequence
+0:42 move second child to first child (temp 4X4 matrix of float)
+0:42 'm34' (temp 4X4 matrix of float)
+0:45 Construct mat4 (temp 4X4 matrix of float)
+0:42 component-wise multiply (temp float)
+0:42 direct index (temp float)
+0:42 'v' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 'u' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 component-wise multiply (temp float)
+0:42 direct index (temp float)
+0:42 'v' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 'u' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 1 (const int)
+0:42 component-wise multiply (temp float)
+0:42 direct index (temp float)
+0:42 'v' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 'u' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 2 (const int)
+0:42 component-wise multiply (temp float)
+0:42 direct index (temp float)
+0:42 'v' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 'u' (smooth in 4-component vector of float)
+0:42 Constant:
+0:42 3 (const int)
+0:43 component-wise multiply (temp float)
+0:43 direct index (temp float)
+0:43 'v' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 direct index (temp float)
+0:43 'u' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 0 (const int)
+0:43 component-wise multiply (temp float)
+0:43 direct index (temp float)
+0:43 'v' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 direct index (temp float)
+0:43 'u' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 component-wise multiply (temp float)
+0:43 direct index (temp float)
+0:43 'v' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 direct index (temp float)
+0:43 'u' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 2 (const int)
+0:43 component-wise multiply (temp float)
+0:43 direct index (temp float)
+0:43 'v' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 1 (const int)
+0:43 direct index (temp float)
+0:43 'u' (smooth in 4-component vector of float)
+0:43 Constant:
+0:43 3 (const int)
+0:44 component-wise multiply (temp float)
+0:44 direct index (temp float)
+0:44 'v' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 direct index (temp float)
+0:44 'u' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 0 (const int)
+0:44 component-wise multiply (temp float)
+0:44 direct index (temp float)
+0:44 'v' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 direct index (temp float)
+0:44 'u' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 1 (const int)
+0:44 component-wise multiply (temp float)
+0:44 direct index (temp float)
+0:44 'v' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 direct index (temp float)
+0:44 'u' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 component-wise multiply (temp float)
+0:44 direct index (temp float)
+0:44 'v' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 direct index (temp float)
+0:44 'u' (smooth in 4-component vector of float)
+0:44 Constant:
+0:44 3 (const int)
+0:45 component-wise multiply (temp float)
+0:45 direct index (temp float)
+0:45 'v' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 direct index (temp float)
+0:45 'u' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 0 (const int)
+0:45 component-wise multiply (temp float)
+0:45 direct index (temp float)
+0:45 'v' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 direct index (temp float)
+0:45 'u' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 1 (const int)
+0:45 component-wise multiply (temp float)
+0:45 direct index (temp float)
+0:45 'v' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 direct index (temp float)
+0:45 'u' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 2 (const int)
+0:45 component-wise multiply (temp float)
+0:45 direct index (temp float)
+0:45 'v' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 direct index (temp float)
+0:45 'u' (smooth in 4-component vector of float)
+0:45 Constant:
+0:45 3 (const int)
+0:46 add second child into first child (temp 4X4 matrix of float)
+0:46 'm34' (temp 4X4 matrix of float)
+0:46 Construct mat4 (temp 4X4 matrix of float)
+0:46 direct index (temp float)
+0:46 'v' (smooth in 4-component vector of float)
+0:46 Constant:
+0:46 0 (const int)
+0:47 add second child into first child (temp 4X4 matrix of float)
+0:47 'm34' (temp 4X4 matrix of float)
+0:47 Construct mat4 (temp 4X4 matrix of float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 direct index (temp float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 Constant:
+0:47 0 (const int)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 direct index (temp float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 Constant:
+0:47 0 (const int)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 direct index (temp float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 Constant:
+0:47 0 (const int)
+0:47 direct index (temp float)
+0:47 'u' (smooth in 4-component vector of float)
+0:47 Constant:
+0:47 0 (const int)
+0:51 Test condition and select (temp void)
+0:51 Condition
+0:51 Compare Equal (temp bool)
+0:51 'm34' (temp 4X4 matrix of float)
+0:51 'un34' (uniform 4X4 matrix of float)
+0:51 true case
+0:52 add second child into first child (temp 4-component vector of float)
+0:52 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:52 matrix-times-vector (temp 4-component vector of float)
+0:52 'm34' (temp 4X4 matrix of float)
+0:52 'u' (smooth in 4-component vector of float)
+0:51 false case
+0:54 add second child into first child (temp 4-component vector of float)
+0:54 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:54 matrix-times-vector (temp 4-component vector of float)
+0:54 matrix-multiply (temp 4X4 matrix of float)
+0:54 'un34' (uniform 4X4 matrix of float)
+0:54 'um43' (uniform 4X4 matrix of float)
+0:54 'v' (smooth in 4-component vector of float)
+0:? Linker Objects
+0:? 'colorTransform' (uniform 3X3 matrix of float)
+0:? 'Color' (smooth in 3-component vector of float)
+0:? 'm' (uniform 4X4 matrix of float)
+0:? 'n' (uniform 4X4 matrix of float)
+0:? 'um43' (uniform 4X4 matrix of float)
+0:? 'un34' (uniform 4X4 matrix of float)
+0:? 'v' (smooth in 4-component vector of float)
+0:? 'u' (smooth in 4-component vector of float)
+
diff --git a/Test/baseResults/matrix2.frag.out b/Test/baseResults/matrix2.frag.out
index d5b6d7d..d09dec0 100644
--- a/Test/baseResults/matrix2.frag.out
+++ b/Test/baseResults/matrix2.frag.out
@@ -1,347 +1,347 @@
-matrix2.frag
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-WARNING: 0:13: varying deprecated in version 130; may be removed in future release
-WARNING: 0:15: varying deprecated in version 130; may be removed in future release
-
-Shader version: 150
-0:? Sequence
-0:19 Function Definition: main( (global void)
-0:19 Function Parameters:
-0:21 Sequence
-0:21 Sequence
-0:21 move second child to first child (temp 3X4 matrix of float)
-0:21 'm34' (temp 3X4 matrix of float)
-0:21 outer product (global 3X4 matrix of float)
-0:21 'v' (smooth in 4-component vector of float)
-0:21 'u' (smooth in 3-component vector of float)
-0:23 add second child into first child (temp 3X4 matrix of float)
-0:23 'm34' (temp 3X4 matrix of float)
-0:23 Constant:
-0:23 4.300000
-0:23 0.000000
-0:23 0.000000
-0:23 0.000000
-0:23 0.000000
-0:23 4.300000
-0:23 0.000000
-0:23 0.000000
-0:23 0.000000
-0:23 0.000000
-0:23 4.300000
-0:23 0.000000
-0:25 move second child to first child (temp 4-component vector of float)
-0:25 'FragColor' (out 4-component vector of float)
-0:25 Construct vec4 (temp 4-component vector of float)
-0:25 'Color' (smooth in 3-component vector of float)
-0:25 Constant:
-0:25 1.000000
-0:26 multiply second child into first child (temp 4-component vector of float)
-0:26 'FragColor' (out 4-component vector of float)
-0:26 Construct vec4 (temp 4-component vector of float)
-0:26 vector-times-matrix (temp 3-component vector of float)
-0:26 'FragColor' (out 4-component vector of float)
-0:26 'm34' (temp 3X4 matrix of float)
-0:26 Constant:
-0:26 1.000000
-0:28 matrix scale second child into first child (temp 3X4 matrix of float)
-0:28 'm34' (temp 3X4 matrix of float)
-0:28 direct index (temp float)
-0:28 'v' (smooth in 4-component vector of float)
-0:28 Constant:
-0:28 0 (const int)
-0:30 Sequence
-0:30 move second child to first child (temp 4X4 matrix of float)
-0:30 'm44' (temp 4X4 matrix of float)
-0:30 Construct mat4 (temp 4X4 matrix of float)
-0:30 'un34' (uniform 3X4 matrix of float)
-0:32 add second child into first child (temp 4X4 matrix of float)
-0:32 'm44' (temp 4X4 matrix of float)
-0:32 matrix-multiply (temp 4X4 matrix of float)
-0:32 'm34' (temp 3X4 matrix of float)
-0:32 'um43' (uniform 4X3 matrix of float)
-0:34 add second child into first child (temp 4-component vector of float)
-0:34 'FragColor' (out 4-component vector of float)
-0:34 matrix-times-vector (temp 4-component vector of float)
-0:34 Negate value (temp 4X4 matrix of float)
-0:34 'm44' (temp 4X4 matrix of float)
-0:34 'v' (smooth in 4-component vector of float)
-0:36 matrix mult second child into first child (temp 4-component vector of float)
-0:36 'FragColor' (out 4-component vector of float)
-0:36 component-wise multiply (global 4X4 matrix of float)
-0:36 'm44' (temp 4X4 matrix of float)
-0:36 'm44' (temp 4X4 matrix of float)
-0:38 move second child to first child (temp 3X4 matrix of float)
-0:38 'm34' (temp 3X4 matrix of float)
-0:38 transpose (global 3X4 matrix of float)
-0:38 'um43' (uniform 4X3 matrix of float)
-0:39 multiply second child into first child (temp 4-component vector of float)
-0:39 'FragColor' (out 4-component vector of float)
-0:39 Construct vec4 (temp 4-component vector of float)
-0:39 vector-times-matrix (temp 3-component vector of float)
-0:39 'FragColor' (out 4-component vector of float)
-0:39 'm34' (temp 3X4 matrix of float)
-0:39 Constant:
-0:39 1.000000
-0:40 multiply second child into first child (temp 4-component vector of float)
-0:40 'FragColor' (out 4-component vector of float)
-0:40 Construct vec4 (temp 4-component vector of float)
-0:40 determinant (global float)
-0:40 'um4' (uniform 4X4 matrix of float)
-0:41 Sequence
-0:41 move second child to first child (temp 2X2 matrix of float)
-0:41 'inv' (temp 2X2 matrix of float)
-0:41 inverse (global 2X2 matrix of float)
-0:41 'um2' (uniform 2X2 matrix of float)
-0:42 multiply second child into first child (temp 4-component vector of float)
-0:42 'FragColor' (out 4-component vector of float)
-0:42 Construct vec4 (temp 4-component vector of float)
-0:42 direct index (temp float)
-0:42 direct index (temp 2-component vector of float)
-0:42 'inv' (temp 2X2 matrix of float)
-0:42 Constant:
-0:42 0 (const int)
-0:42 Constant:
-0:42 0 (const int)
-0:42 direct index (temp float)
-0:42 direct index (temp 2-component vector of float)
-0:42 'inv' (temp 2X2 matrix of float)
-0:42 Constant:
-0:42 1 (const int)
-0:42 Constant:
-0:42 0 (const int)
-0:42 direct index (temp float)
-0:42 direct index (temp 2-component vector of float)
-0:42 'inv' (temp 2X2 matrix of float)
-0:42 Constant:
-0:42 0 (const int)
-0:42 Constant:
-0:42 1 (const int)
-0:42 direct index (temp float)
-0:42 direct index (temp 2-component vector of float)
-0:42 'inv' (temp 2X2 matrix of float)
-0:42 Constant:
-0:42 1 (const int)
-0:42 Constant:
-0:42 1 (const int)
-0:43 Sequence
-0:43 move second child to first child (temp 3X3 matrix of float)
-0:43 'inv3' (temp 3X3 matrix of float)
-0:43 inverse (global 3X3 matrix of float)
-0:43 'um3' (uniform 3X3 matrix of float)
-0:44 multiply second child into first child (temp 4-component vector of float)
-0:44 'FragColor' (out 4-component vector of float)
-0:44 Construct vec4 (temp 4-component vector of float)
-0:44 direct index (temp float)
-0:44 direct index (temp 3-component vector of float)
-0:44 'inv3' (temp 3X3 matrix of float)
-0:44 Constant:
-0:44 2 (const int)
-0:44 Constant:
-0:44 1 (const int)
-0:46 Sequence
-0:46 move second child to first child (temp 4X4 matrix of float)
-0:46 'inv4' (temp 4X4 matrix of float)
-0:46 inverse (global 4X4 matrix of float)
-0:46 'um4' (uniform 4X4 matrix of float)
-0:47 matrix mult second child into first child (temp 4-component vector of float)
-0:47 'FragColor' (out 4-component vector of float)
-0:47 'inv4' (temp 4X4 matrix of float)
-0:49 move second child to first child (temp 4-component vector of float)
-0:49 'FragColor' (out 4-component vector of float)
-0:49 Construct vec4 (temp 4-component vector of float)
-0:49 vector-times-matrix (temp 3-component vector of float)
-0:49 'FragColor' (out 4-component vector of float)
-0:49 component-wise multiply (global 3X4 matrix of float)
-0:49 'un34' (uniform 3X4 matrix of float)
-0:49 'un34' (uniform 3X4 matrix of float)
-0:49 direct index (temp float)
-0:49 'FragColor' (out 4-component vector of float)
-0:49 Constant:
-0:49 3 (const int)
-0:? Linker Objects
-0:? 'colorTransform' (uniform 3X3 matrix of float)
-0:? 'Color' (smooth in 3-component vector of float)
-0:? 'm' (uniform 4X4 matrix of float)
-0:? 'n' (uniform 4X4 matrix of float)
-0:? 'um43' (uniform 4X3 matrix of float)
-0:? 'un34' (uniform 3X4 matrix of float)
-0:? 'um2' (uniform 2X2 matrix of float)
-0:? 'um3' (uniform 3X3 matrix of float)
-0:? 'um4' (uniform 4X4 matrix of float)
-0:? 'v' (smooth in 4-component vector of float)
-0:? 'u' (smooth in 3-component vector of float)
-0:? 'FragColor' (out 4-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 150
-0:? Sequence
-0:19 Function Definition: main( (global void)
-0:19 Function Parameters:
-0:21 Sequence
-0:21 Sequence
-0:21 move second child to first child (temp 3X4 matrix of float)
-0:21 'm34' (temp 3X4 matrix of float)
-0:21 outer product (global 3X4 matrix of float)
-0:21 'v' (smooth in 4-component vector of float)
-0:21 'u' (smooth in 3-component vector of float)
-0:23 add second child into first child (temp 3X4 matrix of float)
-0:23 'm34' (temp 3X4 matrix of float)
-0:23 Constant:
-0:23 4.300000
-0:23 0.000000
-0:23 0.000000
-0:23 0.000000
-0:23 0.000000
-0:23 4.300000
-0:23 0.000000
-0:23 0.000000
-0:23 0.000000
-0:23 0.000000
-0:23 4.300000
-0:23 0.000000
-0:25 move second child to first child (temp 4-component vector of float)
-0:25 'FragColor' (out 4-component vector of float)
-0:25 Construct vec4 (temp 4-component vector of float)
-0:25 'Color' (smooth in 3-component vector of float)
-0:25 Constant:
-0:25 1.000000
-0:26 multiply second child into first child (temp 4-component vector of float)
-0:26 'FragColor' (out 4-component vector of float)
-0:26 Construct vec4 (temp 4-component vector of float)
-0:26 vector-times-matrix (temp 3-component vector of float)
-0:26 'FragColor' (out 4-component vector of float)
-0:26 'm34' (temp 3X4 matrix of float)
-0:26 Constant:
-0:26 1.000000
-0:28 matrix scale second child into first child (temp 3X4 matrix of float)
-0:28 'm34' (temp 3X4 matrix of float)
-0:28 direct index (temp float)
-0:28 'v' (smooth in 4-component vector of float)
-0:28 Constant:
-0:28 0 (const int)
-0:30 Sequence
-0:30 move second child to first child (temp 4X4 matrix of float)
-0:30 'm44' (temp 4X4 matrix of float)
-0:30 Construct mat4 (temp 4X4 matrix of float)
-0:30 'un34' (uniform 3X4 matrix of float)
-0:32 add second child into first child (temp 4X4 matrix of float)
-0:32 'm44' (temp 4X4 matrix of float)
-0:32 matrix-multiply (temp 4X4 matrix of float)
-0:32 'm34' (temp 3X4 matrix of float)
-0:32 'um43' (uniform 4X3 matrix of float)
-0:34 add second child into first child (temp 4-component vector of float)
-0:34 'FragColor' (out 4-component vector of float)
-0:34 matrix-times-vector (temp 4-component vector of float)
-0:34 Negate value (temp 4X4 matrix of float)
-0:34 'm44' (temp 4X4 matrix of float)
-0:34 'v' (smooth in 4-component vector of float)
-0:36 matrix mult second child into first child (temp 4-component vector of float)
-0:36 'FragColor' (out 4-component vector of float)
-0:36 component-wise multiply (global 4X4 matrix of float)
-0:36 'm44' (temp 4X4 matrix of float)
-0:36 'm44' (temp 4X4 matrix of float)
-0:38 move second child to first child (temp 3X4 matrix of float)
-0:38 'm34' (temp 3X4 matrix of float)
-0:38 transpose (global 3X4 matrix of float)
-0:38 'um43' (uniform 4X3 matrix of float)
-0:39 multiply second child into first child (temp 4-component vector of float)
-0:39 'FragColor' (out 4-component vector of float)
-0:39 Construct vec4 (temp 4-component vector of float)
-0:39 vector-times-matrix (temp 3-component vector of float)
-0:39 'FragColor' (out 4-component vector of float)
-0:39 'm34' (temp 3X4 matrix of float)
-0:39 Constant:
-0:39 1.000000
-0:40 multiply second child into first child (temp 4-component vector of float)
-0:40 'FragColor' (out 4-component vector of float)
-0:40 Construct vec4 (temp 4-component vector of float)
-0:40 determinant (global float)
-0:40 'um4' (uniform 4X4 matrix of float)
-0:41 Sequence
-0:41 move second child to first child (temp 2X2 matrix of float)
-0:41 'inv' (temp 2X2 matrix of float)
-0:41 inverse (global 2X2 matrix of float)
-0:41 'um2' (uniform 2X2 matrix of float)
-0:42 multiply second child into first child (temp 4-component vector of float)
-0:42 'FragColor' (out 4-component vector of float)
-0:42 Construct vec4 (temp 4-component vector of float)
-0:42 direct index (temp float)
-0:42 direct index (temp 2-component vector of float)
-0:42 'inv' (temp 2X2 matrix of float)
-0:42 Constant:
-0:42 0 (const int)
-0:42 Constant:
-0:42 0 (const int)
-0:42 direct index (temp float)
-0:42 direct index (temp 2-component vector of float)
-0:42 'inv' (temp 2X2 matrix of float)
-0:42 Constant:
-0:42 1 (const int)
-0:42 Constant:
-0:42 0 (const int)
-0:42 direct index (temp float)
-0:42 direct index (temp 2-component vector of float)
-0:42 'inv' (temp 2X2 matrix of float)
-0:42 Constant:
-0:42 0 (const int)
-0:42 Constant:
-0:42 1 (const int)
-0:42 direct index (temp float)
-0:42 direct index (temp 2-component vector of float)
-0:42 'inv' (temp 2X2 matrix of float)
-0:42 Constant:
-0:42 1 (const int)
-0:42 Constant:
-0:42 1 (const int)
-0:43 Sequence
-0:43 move second child to first child (temp 3X3 matrix of float)
-0:43 'inv3' (temp 3X3 matrix of float)
-0:43 inverse (global 3X3 matrix of float)
-0:43 'um3' (uniform 3X3 matrix of float)
-0:44 multiply second child into first child (temp 4-component vector of float)
-0:44 'FragColor' (out 4-component vector of float)
-0:44 Construct vec4 (temp 4-component vector of float)
-0:44 direct index (temp float)
-0:44 direct index (temp 3-component vector of float)
-0:44 'inv3' (temp 3X3 matrix of float)
-0:44 Constant:
-0:44 2 (const int)
-0:44 Constant:
-0:44 1 (const int)
-0:46 Sequence
-0:46 move second child to first child (temp 4X4 matrix of float)
-0:46 'inv4' (temp 4X4 matrix of float)
-0:46 inverse (global 4X4 matrix of float)
-0:46 'um4' (uniform 4X4 matrix of float)
-0:47 matrix mult second child into first child (temp 4-component vector of float)
-0:47 'FragColor' (out 4-component vector of float)
-0:47 'inv4' (temp 4X4 matrix of float)
-0:49 move second child to first child (temp 4-component vector of float)
-0:49 'FragColor' (out 4-component vector of float)
-0:49 Construct vec4 (temp 4-component vector of float)
-0:49 vector-times-matrix (temp 3-component vector of float)
-0:49 'FragColor' (out 4-component vector of float)
-0:49 component-wise multiply (global 3X4 matrix of float)
-0:49 'un34' (uniform 3X4 matrix of float)
-0:49 'un34' (uniform 3X4 matrix of float)
-0:49 direct index (temp float)
-0:49 'FragColor' (out 4-component vector of float)
-0:49 Constant:
-0:49 3 (const int)
-0:? Linker Objects
-0:? 'colorTransform' (uniform 3X3 matrix of float)
-0:? 'Color' (smooth in 3-component vector of float)
-0:? 'm' (uniform 4X4 matrix of float)
-0:? 'n' (uniform 4X4 matrix of float)
-0:? 'um43' (uniform 4X3 matrix of float)
-0:? 'un34' (uniform 3X4 matrix of float)
-0:? 'um2' (uniform 2X2 matrix of float)
-0:? 'um3' (uniform 3X3 matrix of float)
-0:? 'um4' (uniform 4X4 matrix of float)
-0:? 'v' (smooth in 4-component vector of float)
-0:? 'u' (smooth in 3-component vector of float)
-0:? 'FragColor' (out 4-component vector of float)
-
+matrix2.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+WARNING: 0:13: varying deprecated in version 130; may be removed in future release
+WARNING: 0:15: varying deprecated in version 130; may be removed in future release
+
+Shader version: 150
+0:? Sequence
+0:19 Function Definition: main( (global void)
+0:19 Function Parameters:
+0:21 Sequence
+0:21 Sequence
+0:21 move second child to first child (temp 3X4 matrix of float)
+0:21 'm34' (temp 3X4 matrix of float)
+0:21 outer product (global 3X4 matrix of float)
+0:21 'v' (smooth in 4-component vector of float)
+0:21 'u' (smooth in 3-component vector of float)
+0:23 add second child into first child (temp 3X4 matrix of float)
+0:23 'm34' (temp 3X4 matrix of float)
+0:23 Constant:
+0:23 4.300000
+0:23 0.000000
+0:23 0.000000
+0:23 0.000000
+0:23 0.000000
+0:23 4.300000
+0:23 0.000000
+0:23 0.000000
+0:23 0.000000
+0:23 0.000000
+0:23 4.300000
+0:23 0.000000
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 'FragColor' (out 4-component vector of float)
+0:25 Construct vec4 (temp 4-component vector of float)
+0:25 'Color' (smooth in 3-component vector of float)
+0:25 Constant:
+0:25 1.000000
+0:26 multiply second child into first child (temp 4-component vector of float)
+0:26 'FragColor' (out 4-component vector of float)
+0:26 Construct vec4 (temp 4-component vector of float)
+0:26 vector-times-matrix (temp 3-component vector of float)
+0:26 'FragColor' (out 4-component vector of float)
+0:26 'm34' (temp 3X4 matrix of float)
+0:26 Constant:
+0:26 1.000000
+0:28 matrix scale second child into first child (temp 3X4 matrix of float)
+0:28 'm34' (temp 3X4 matrix of float)
+0:28 direct index (temp float)
+0:28 'v' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 0 (const int)
+0:30 Sequence
+0:30 move second child to first child (temp 4X4 matrix of float)
+0:30 'm44' (temp 4X4 matrix of float)
+0:30 Construct mat4 (temp 4X4 matrix of float)
+0:30 'un34' (uniform 3X4 matrix of float)
+0:32 add second child into first child (temp 4X4 matrix of float)
+0:32 'm44' (temp 4X4 matrix of float)
+0:32 matrix-multiply (temp 4X4 matrix of float)
+0:32 'm34' (temp 3X4 matrix of float)
+0:32 'um43' (uniform 4X3 matrix of float)
+0:34 add second child into first child (temp 4-component vector of float)
+0:34 'FragColor' (out 4-component vector of float)
+0:34 matrix-times-vector (temp 4-component vector of float)
+0:34 Negate value (temp 4X4 matrix of float)
+0:34 'm44' (temp 4X4 matrix of float)
+0:34 'v' (smooth in 4-component vector of float)
+0:36 matrix mult second child into first child (temp 4-component vector of float)
+0:36 'FragColor' (out 4-component vector of float)
+0:36 component-wise multiply (global 4X4 matrix of float)
+0:36 'm44' (temp 4X4 matrix of float)
+0:36 'm44' (temp 4X4 matrix of float)
+0:38 move second child to first child (temp 3X4 matrix of float)
+0:38 'm34' (temp 3X4 matrix of float)
+0:38 transpose (global 3X4 matrix of float)
+0:38 'um43' (uniform 4X3 matrix of float)
+0:39 multiply second child into first child (temp 4-component vector of float)
+0:39 'FragColor' (out 4-component vector of float)
+0:39 Construct vec4 (temp 4-component vector of float)
+0:39 vector-times-matrix (temp 3-component vector of float)
+0:39 'FragColor' (out 4-component vector of float)
+0:39 'm34' (temp 3X4 matrix of float)
+0:39 Constant:
+0:39 1.000000
+0:40 multiply second child into first child (temp 4-component vector of float)
+0:40 'FragColor' (out 4-component vector of float)
+0:40 Construct vec4 (temp 4-component vector of float)
+0:40 determinant (global float)
+0:40 'um4' (uniform 4X4 matrix of float)
+0:41 Sequence
+0:41 move second child to first child (temp 2X2 matrix of float)
+0:41 'inv' (temp 2X2 matrix of float)
+0:41 inverse (global 2X2 matrix of float)
+0:41 'um2' (uniform 2X2 matrix of float)
+0:42 multiply second child into first child (temp 4-component vector of float)
+0:42 'FragColor' (out 4-component vector of float)
+0:42 Construct vec4 (temp 4-component vector of float)
+0:42 direct index (temp float)
+0:42 direct index (temp 2-component vector of float)
+0:42 'inv' (temp 2X2 matrix of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 direct index (temp 2-component vector of float)
+0:42 'inv' (temp 2X2 matrix of float)
+0:42 Constant:
+0:42 1 (const int)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 direct index (temp 2-component vector of float)
+0:42 'inv' (temp 2X2 matrix of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 Constant:
+0:42 1 (const int)
+0:42 direct index (temp float)
+0:42 direct index (temp 2-component vector of float)
+0:42 'inv' (temp 2X2 matrix of float)
+0:42 Constant:
+0:42 1 (const int)
+0:42 Constant:
+0:42 1 (const int)
+0:43 Sequence
+0:43 move second child to first child (temp 3X3 matrix of float)
+0:43 'inv3' (temp 3X3 matrix of float)
+0:43 inverse (global 3X3 matrix of float)
+0:43 'um3' (uniform 3X3 matrix of float)
+0:44 multiply second child into first child (temp 4-component vector of float)
+0:44 'FragColor' (out 4-component vector of float)
+0:44 Construct vec4 (temp 4-component vector of float)
+0:44 direct index (temp float)
+0:44 direct index (temp 3-component vector of float)
+0:44 'inv3' (temp 3X3 matrix of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 1 (const int)
+0:46 Sequence
+0:46 move second child to first child (temp 4X4 matrix of float)
+0:46 'inv4' (temp 4X4 matrix of float)
+0:46 inverse (global 4X4 matrix of float)
+0:46 'um4' (uniform 4X4 matrix of float)
+0:47 matrix mult second child into first child (temp 4-component vector of float)
+0:47 'FragColor' (out 4-component vector of float)
+0:47 'inv4' (temp 4X4 matrix of float)
+0:49 move second child to first child (temp 4-component vector of float)
+0:49 'FragColor' (out 4-component vector of float)
+0:49 Construct vec4 (temp 4-component vector of float)
+0:49 vector-times-matrix (temp 3-component vector of float)
+0:49 'FragColor' (out 4-component vector of float)
+0:49 component-wise multiply (global 3X4 matrix of float)
+0:49 'un34' (uniform 3X4 matrix of float)
+0:49 'un34' (uniform 3X4 matrix of float)
+0:49 direct index (temp float)
+0:49 'FragColor' (out 4-component vector of float)
+0:49 Constant:
+0:49 3 (const int)
+0:? Linker Objects
+0:? 'colorTransform' (uniform 3X3 matrix of float)
+0:? 'Color' (smooth in 3-component vector of float)
+0:? 'm' (uniform 4X4 matrix of float)
+0:? 'n' (uniform 4X4 matrix of float)
+0:? 'um43' (uniform 4X3 matrix of float)
+0:? 'un34' (uniform 3X4 matrix of float)
+0:? 'um2' (uniform 2X2 matrix of float)
+0:? 'um3' (uniform 3X3 matrix of float)
+0:? 'um4' (uniform 4X4 matrix of float)
+0:? 'v' (smooth in 4-component vector of float)
+0:? 'u' (smooth in 3-component vector of float)
+0:? 'FragColor' (out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 150
+0:? Sequence
+0:19 Function Definition: main( (global void)
+0:19 Function Parameters:
+0:21 Sequence
+0:21 Sequence
+0:21 move second child to first child (temp 3X4 matrix of float)
+0:21 'm34' (temp 3X4 matrix of float)
+0:21 outer product (global 3X4 matrix of float)
+0:21 'v' (smooth in 4-component vector of float)
+0:21 'u' (smooth in 3-component vector of float)
+0:23 add second child into first child (temp 3X4 matrix of float)
+0:23 'm34' (temp 3X4 matrix of float)
+0:23 Constant:
+0:23 4.300000
+0:23 0.000000
+0:23 0.000000
+0:23 0.000000
+0:23 0.000000
+0:23 4.300000
+0:23 0.000000
+0:23 0.000000
+0:23 0.000000
+0:23 0.000000
+0:23 4.300000
+0:23 0.000000
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 'FragColor' (out 4-component vector of float)
+0:25 Construct vec4 (temp 4-component vector of float)
+0:25 'Color' (smooth in 3-component vector of float)
+0:25 Constant:
+0:25 1.000000
+0:26 multiply second child into first child (temp 4-component vector of float)
+0:26 'FragColor' (out 4-component vector of float)
+0:26 Construct vec4 (temp 4-component vector of float)
+0:26 vector-times-matrix (temp 3-component vector of float)
+0:26 'FragColor' (out 4-component vector of float)
+0:26 'm34' (temp 3X4 matrix of float)
+0:26 Constant:
+0:26 1.000000
+0:28 matrix scale second child into first child (temp 3X4 matrix of float)
+0:28 'm34' (temp 3X4 matrix of float)
+0:28 direct index (temp float)
+0:28 'v' (smooth in 4-component vector of float)
+0:28 Constant:
+0:28 0 (const int)
+0:30 Sequence
+0:30 move second child to first child (temp 4X4 matrix of float)
+0:30 'm44' (temp 4X4 matrix of float)
+0:30 Construct mat4 (temp 4X4 matrix of float)
+0:30 'un34' (uniform 3X4 matrix of float)
+0:32 add second child into first child (temp 4X4 matrix of float)
+0:32 'm44' (temp 4X4 matrix of float)
+0:32 matrix-multiply (temp 4X4 matrix of float)
+0:32 'm34' (temp 3X4 matrix of float)
+0:32 'um43' (uniform 4X3 matrix of float)
+0:34 add second child into first child (temp 4-component vector of float)
+0:34 'FragColor' (out 4-component vector of float)
+0:34 matrix-times-vector (temp 4-component vector of float)
+0:34 Negate value (temp 4X4 matrix of float)
+0:34 'm44' (temp 4X4 matrix of float)
+0:34 'v' (smooth in 4-component vector of float)
+0:36 matrix mult second child into first child (temp 4-component vector of float)
+0:36 'FragColor' (out 4-component vector of float)
+0:36 component-wise multiply (global 4X4 matrix of float)
+0:36 'm44' (temp 4X4 matrix of float)
+0:36 'm44' (temp 4X4 matrix of float)
+0:38 move second child to first child (temp 3X4 matrix of float)
+0:38 'm34' (temp 3X4 matrix of float)
+0:38 transpose (global 3X4 matrix of float)
+0:38 'um43' (uniform 4X3 matrix of float)
+0:39 multiply second child into first child (temp 4-component vector of float)
+0:39 'FragColor' (out 4-component vector of float)
+0:39 Construct vec4 (temp 4-component vector of float)
+0:39 vector-times-matrix (temp 3-component vector of float)
+0:39 'FragColor' (out 4-component vector of float)
+0:39 'm34' (temp 3X4 matrix of float)
+0:39 Constant:
+0:39 1.000000
+0:40 multiply second child into first child (temp 4-component vector of float)
+0:40 'FragColor' (out 4-component vector of float)
+0:40 Construct vec4 (temp 4-component vector of float)
+0:40 determinant (global float)
+0:40 'um4' (uniform 4X4 matrix of float)
+0:41 Sequence
+0:41 move second child to first child (temp 2X2 matrix of float)
+0:41 'inv' (temp 2X2 matrix of float)
+0:41 inverse (global 2X2 matrix of float)
+0:41 'um2' (uniform 2X2 matrix of float)
+0:42 multiply second child into first child (temp 4-component vector of float)
+0:42 'FragColor' (out 4-component vector of float)
+0:42 Construct vec4 (temp 4-component vector of float)
+0:42 direct index (temp float)
+0:42 direct index (temp 2-component vector of float)
+0:42 'inv' (temp 2X2 matrix of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 direct index (temp 2-component vector of float)
+0:42 'inv' (temp 2X2 matrix of float)
+0:42 Constant:
+0:42 1 (const int)
+0:42 Constant:
+0:42 0 (const int)
+0:42 direct index (temp float)
+0:42 direct index (temp 2-component vector of float)
+0:42 'inv' (temp 2X2 matrix of float)
+0:42 Constant:
+0:42 0 (const int)
+0:42 Constant:
+0:42 1 (const int)
+0:42 direct index (temp float)
+0:42 direct index (temp 2-component vector of float)
+0:42 'inv' (temp 2X2 matrix of float)
+0:42 Constant:
+0:42 1 (const int)
+0:42 Constant:
+0:42 1 (const int)
+0:43 Sequence
+0:43 move second child to first child (temp 3X3 matrix of float)
+0:43 'inv3' (temp 3X3 matrix of float)
+0:43 inverse (global 3X3 matrix of float)
+0:43 'um3' (uniform 3X3 matrix of float)
+0:44 multiply second child into first child (temp 4-component vector of float)
+0:44 'FragColor' (out 4-component vector of float)
+0:44 Construct vec4 (temp 4-component vector of float)
+0:44 direct index (temp float)
+0:44 direct index (temp 3-component vector of float)
+0:44 'inv3' (temp 3X3 matrix of float)
+0:44 Constant:
+0:44 2 (const int)
+0:44 Constant:
+0:44 1 (const int)
+0:46 Sequence
+0:46 move second child to first child (temp 4X4 matrix of float)
+0:46 'inv4' (temp 4X4 matrix of float)
+0:46 inverse (global 4X4 matrix of float)
+0:46 'um4' (uniform 4X4 matrix of float)
+0:47 matrix mult second child into first child (temp 4-component vector of float)
+0:47 'FragColor' (out 4-component vector of float)
+0:47 'inv4' (temp 4X4 matrix of float)
+0:49 move second child to first child (temp 4-component vector of float)
+0:49 'FragColor' (out 4-component vector of float)
+0:49 Construct vec4 (temp 4-component vector of float)
+0:49 vector-times-matrix (temp 3-component vector of float)
+0:49 'FragColor' (out 4-component vector of float)
+0:49 component-wise multiply (global 3X4 matrix of float)
+0:49 'un34' (uniform 3X4 matrix of float)
+0:49 'un34' (uniform 3X4 matrix of float)
+0:49 direct index (temp float)
+0:49 'FragColor' (out 4-component vector of float)
+0:49 Constant:
+0:49 3 (const int)
+0:? Linker Objects
+0:? 'colorTransform' (uniform 3X3 matrix of float)
+0:? 'Color' (smooth in 3-component vector of float)
+0:? 'm' (uniform 4X4 matrix of float)
+0:? 'n' (uniform 4X4 matrix of float)
+0:? 'um43' (uniform 4X3 matrix of float)
+0:? 'un34' (uniform 3X4 matrix of float)
+0:? 'um2' (uniform 2X2 matrix of float)
+0:? 'um3' (uniform 3X3 matrix of float)
+0:? 'um4' (uniform 4X4 matrix of float)
+0:? 'v' (smooth in 4-component vector of float)
+0:? 'u' (smooth in 3-component vector of float)
+0:? 'FragColor' (out 4-component vector of float)
+
diff --git a/Test/baseResults/matrixError.vert.out b/Test/baseResults/matrixError.vert.out
index fa65b99..ee0646e 100644
--- a/Test/baseResults/matrixError.vert.out
+++ b/Test/baseResults/matrixError.vert.out
@@ -1,71 +1,71 @@
-matrixError.vert
-ERROR: 0:10: 'constructor' : too many arguments
-ERROR: 0:7: 'const' : non-matching or non-convertible constant type for const initializer
-ERROR: 0:17: 'assign' : cannot convert from 'temp 2-component vector of float' to 'temp 3-component vector of float'
-ERROR: 0:18: 'assign' : cannot convert from 'temp 2-component vector of float' to 'temp 3-component vector of float'
-ERROR: 0:19: 'xy' : does not apply to this type: temp 2X3 matrix of float
-ERROR: 0:21: '[' : matrix index out of range '2'
-ERROR: 0:21: '[' : vector index out of range '4'
-ERROR: 7 compilation errors. No code generated.
-
-
-Shader version: 120
-ERROR: node is still EOpNull!
-0:12 Function Definition: main( (global void)
-0:12 Function Parameters:
-0:? Sequence
-0:17 'a' (temp 3-component vector of float)
-0:18 'b' (temp 3-component vector of float)
-0:19 'm23' (temp 2X3 matrix of float)
-0:21 move second child to first child (temp 4-component vector of float)
-0:21 'gl_Position' (gl_Position 4-component vector of float Position)
-0:21 Construct vec4 (temp 4-component vector of float)
-0:21 matrix-times-vector (temp 3-component vector of float)
-0:21 matrix-multiply (temp 3X3 matrix of float)
-0:21 'm23' (temp 2X3 matrix of float)
-0:21 'm32' (uniform 3X2 matrix of float)
-0:21 'v3' (in 3-component vector of float)
-0:21 direct index (temp float)
-0:21 direct index (temp 4-component vector of float)
-0:21 'm24' (temp 2X4 matrix of float)
-0:21 Constant:
-0:21 2 (const int)
-0:21 Constant:
-0:21 4 (const int)
-0:? Linker Objects
-0:? 'v3' (in 3-component vector of float)
-0:? 'm32' (uniform 3X2 matrix of float)
-0:? 'm24' (temp 2X4 matrix of float)
-
-
-Linked vertex stage:
-
-
-Shader version: 120
-ERROR: node is still EOpNull!
-0:12 Function Definition: main( (global void)
-0:12 Function Parameters:
-0:? Sequence
-0:17 'a' (temp 3-component vector of float)
-0:18 'b' (temp 3-component vector of float)
-0:19 'm23' (temp 2X3 matrix of float)
-0:21 move second child to first child (temp 4-component vector of float)
-0:21 'gl_Position' (gl_Position 4-component vector of float Position)
-0:21 Construct vec4 (temp 4-component vector of float)
-0:21 matrix-times-vector (temp 3-component vector of float)
-0:21 matrix-multiply (temp 3X3 matrix of float)
-0:21 'm23' (temp 2X3 matrix of float)
-0:21 'm32' (uniform 3X2 matrix of float)
-0:21 'v3' (in 3-component vector of float)
-0:21 direct index (temp float)
-0:21 direct index (temp 4-component vector of float)
-0:21 'm24' (temp 2X4 matrix of float)
-0:21 Constant:
-0:21 2 (const int)
-0:21 Constant:
-0:21 4 (const int)
-0:? Linker Objects
-0:? 'v3' (in 3-component vector of float)
-0:? 'm32' (uniform 3X2 matrix of float)
-0:? 'm24' (temp 2X4 matrix of float)
-
+matrixError.vert
+ERROR: 0:10: 'constructor' : too many arguments
+ERROR: 0:7: 'const' : non-matching or non-convertible constant type for const initializer
+ERROR: 0:17: 'assign' : cannot convert from 'temp 2-component vector of float' to 'temp 3-component vector of float'
+ERROR: 0:18: 'assign' : cannot convert from 'temp 2-component vector of float' to 'temp 3-component vector of float'
+ERROR: 0:19: 'xy' : does not apply to this type: temp 2X3 matrix of float
+ERROR: 0:21: '[' : matrix index out of range '2'
+ERROR: 0:21: '[' : vector index out of range '4'
+ERROR: 7 compilation errors. No code generated.
+
+
+Shader version: 120
+ERROR: node is still EOpNull!
+0:12 Function Definition: main( (global void)
+0:12 Function Parameters:
+0:? Sequence
+0:17 'a' (temp 3-component vector of float)
+0:18 'b' (temp 3-component vector of float)
+0:19 'm23' (temp 2X3 matrix of float)
+0:21 move second child to first child (temp 4-component vector of float)
+0:21 'gl_Position' (gl_Position 4-component vector of float Position)
+0:21 Construct vec4 (temp 4-component vector of float)
+0:21 matrix-times-vector (temp 3-component vector of float)
+0:21 matrix-multiply (temp 3X3 matrix of float)
+0:21 'm23' (temp 2X3 matrix of float)
+0:21 'm32' (uniform 3X2 matrix of float)
+0:21 'v3' (in 3-component vector of float)
+0:21 direct index (temp float)
+0:21 direct index (temp 4-component vector of float)
+0:21 'm24' (temp 2X4 matrix of float)
+0:21 Constant:
+0:21 2 (const int)
+0:21 Constant:
+0:21 4 (const int)
+0:? Linker Objects
+0:? 'v3' (in 3-component vector of float)
+0:? 'm32' (uniform 3X2 matrix of float)
+0:? 'm24' (temp 2X4 matrix of float)
+
+
+Linked vertex stage:
+
+
+Shader version: 120
+ERROR: node is still EOpNull!
+0:12 Function Definition: main( (global void)
+0:12 Function Parameters:
+0:? Sequence
+0:17 'a' (temp 3-component vector of float)
+0:18 'b' (temp 3-component vector of float)
+0:19 'm23' (temp 2X3 matrix of float)
+0:21 move second child to first child (temp 4-component vector of float)
+0:21 'gl_Position' (gl_Position 4-component vector of float Position)
+0:21 Construct vec4 (temp 4-component vector of float)
+0:21 matrix-times-vector (temp 3-component vector of float)
+0:21 matrix-multiply (temp 3X3 matrix of float)
+0:21 'm23' (temp 2X3 matrix of float)
+0:21 'm32' (uniform 3X2 matrix of float)
+0:21 'v3' (in 3-component vector of float)
+0:21 direct index (temp float)
+0:21 direct index (temp 4-component vector of float)
+0:21 'm24' (temp 2X4 matrix of float)
+0:21 Constant:
+0:21 2 (const int)
+0:21 Constant:
+0:21 4 (const int)
+0:? Linker Objects
+0:? 'v3' (in 3-component vector of float)
+0:? 'm32' (uniform 3X2 matrix of float)
+0:? 'm24' (temp 2X4 matrix of float)
+
diff --git a/Test/baseResults/newTexture.frag.out b/Test/baseResults/newTexture.frag.out
index 083a641..f63d79f 100644
--- a/Test/baseResults/newTexture.frag.out
+++ b/Test/baseResults/newTexture.frag.out
@@ -1,523 +1,523 @@
-newTexture.frag
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-
-Shader version: 430
-0:? Sequence
-0:36 Function Definition: main( (global void)
-0:36 Function Parameters:
-0:38 Sequence
-0:38 Sequence
-0:38 move second child to first child (temp 4-component vector of float)
-0:38 'v' (temp 4-component vector of float)
-0:38 texture (global 4-component vector of float)
-0:38 's2D' (uniform sampler2D)
-0:38 'c2D' (smooth in 2-component vector of float)
-0:39 add second child into first child (temp 4-component vector of float)
-0:39 'v' (temp 4-component vector of float)
-0:39 textureProj (global 4-component vector of float)
-0:39 's3D' (uniform sampler3D)
-0:39 'c4D' (smooth in 4-component vector of float)
-0:40 add second child into first child (temp 4-component vector of float)
-0:40 'v' (temp 4-component vector of float)
-0:40 textureLod (global 4-component vector of float)
-0:40 's2DArray' (uniform sampler2DArray)
-0:40 'c3D' (smooth in 3-component vector of float)
-0:40 Constant:
-0:40 1.200000
-0:41 add second child into first child (temp float)
-0:41 direct index (temp float)
-0:41 'v' (temp 4-component vector of float)
-0:41 Constant:
-0:41 1 (const int)
-0:41 textureOffset (global float)
-0:41 's2DShadow' (uniform sampler2DShadow)
-0:41 'c3D' (smooth in 3-component vector of float)
-0:41 Constant:
-0:41 3 (const int)
-0:41 3 (const int)
-0:41 'c1D' (smooth in float)
-0:42 add second child into first child (temp 4-component vector of float)
-0:42 'v' (temp 4-component vector of float)
-0:42 textureFetch (global 4-component vector of float)
-0:42 's3D' (uniform sampler3D)
-0:42 'ic3D' (flat in 3-component vector of int)
-0:42 'ic1D' (flat in int)
-0:43 add second child into first child (temp 4-component vector of float)
-0:43 'v' (temp 4-component vector of float)
-0:43 textureFetchOffset (global 4-component vector of float)
-0:43 's2D' (uniform sampler2D)
-0:43 'ic2D' (flat in 2-component vector of int)
-0:43 Constant:
-0:43 4 (const int)
-0:43 Constant:
-0:43 3 (const int)
-0:43 3 (const int)
-0:44 add second child into first child (temp 4-component vector of float)
-0:44 'v' (temp 4-component vector of float)
-0:44 textureFetchOffset (global 4-component vector of float)
-0:44 'sr' (uniform sampler2DRect)
-0:44 'ic2D' (flat in 2-component vector of int)
-0:44 Constant:
-0:44 4 (const int)
-0:44 4 (const int)
-0:45 add second child into first child (temp float)
-0:45 direct index (temp float)
-0:45 'v' (temp 4-component vector of float)
-0:45 Constant:
-0:45 1 (const int)
-0:45 textureLodOffset (global float)
-0:45 's2DShadow' (uniform sampler2DShadow)
-0:45 'c3D' (smooth in 3-component vector of float)
-0:45 'c1D' (smooth in float)
-0:45 Constant:
-0:45 3 (const int)
-0:45 3 (const int)
-0:46 add second child into first child (temp 4-component vector of float)
-0:46 'v' (temp 4-component vector of float)
-0:46 textureProjLodOffset (global 4-component vector of float)
-0:46 's2D' (uniform sampler2D)
-0:46 'c3D' (smooth in 3-component vector of float)
-0:46 'c1D' (smooth in float)
-0:46 Constant:
-0:46 3 (const int)
-0:46 3 (const int)
-0:47 add second child into first child (temp 4-component vector of float)
-0:47 'v' (temp 4-component vector of float)
-0:47 textureGrad (global 4-component vector of float)
-0:47 'sCube' (uniform samplerCube)
-0:47 'c3D' (smooth in 3-component vector of float)
-0:47 'c3D' (smooth in 3-component vector of float)
-0:47 'c3D' (smooth in 3-component vector of float)
-0:48 add second child into first child (temp float)
-0:48 direct index (temp float)
-0:48 'v' (temp 4-component vector of float)
-0:48 Constant:
-0:48 0 (const int)
-0:48 textureGradOffset (global float)
-0:48 's2DArrayShadow' (uniform sampler2DArrayShadow)
-0:48 'c4D' (smooth in 4-component vector of float)
-0:48 'c2D' (smooth in 2-component vector of float)
-0:48 'c2D' (smooth in 2-component vector of float)
-0:48 Constant:
-0:48 3 (const int)
-0:48 3 (const int)
-0:49 add second child into first child (temp 4-component vector of float)
-0:49 'v' (temp 4-component vector of float)
-0:49 textureProjGrad (global 4-component vector of float)
-0:49 's3D' (uniform sampler3D)
-0:49 'c4D' (smooth in 4-component vector of float)
-0:49 'c3D' (smooth in 3-component vector of float)
-0:49 'c3D' (smooth in 3-component vector of float)
-0:50 add second child into first child (temp 4-component vector of float)
-0:50 'v' (temp 4-component vector of float)
-0:50 textureProjGradOffset (global 4-component vector of float)
-0:50 's2D' (uniform sampler2D)
-0:50 'c3D' (smooth in 3-component vector of float)
-0:50 'c2D' (smooth in 2-component vector of float)
-0:50 'c2D' (smooth in 2-component vector of float)
-0:50 Constant:
-0:50 3 (const int)
-0:50 3 (const int)
-0:52 Sequence
-0:52 move second child to first child (temp 4-component vector of int)
-0:52 'iv' (temp 4-component vector of int)
-0:52 texture (global 4-component vector of int)
-0:52 'is2D' (uniform isampler2D)
-0:52 'c2D' (smooth in 2-component vector of float)
-0:53 add second child into first child (temp 4-component vector of float)
-0:53 'v' (temp 4-component vector of float)
-0:53 Convert int to float (temp 4-component vector of float)
-0:53 'iv' (temp 4-component vector of int)
-0:54 move second child to first child (temp 4-component vector of int)
-0:54 'iv' (temp 4-component vector of int)
-0:54 textureProjOffset (global 4-component vector of int)
-0:54 'is2D' (uniform isampler2D)
-0:54 'c4D' (smooth in 4-component vector of float)
-0:54 Constant:
-0:54 3 (const int)
-0:54 3 (const int)
-0:55 add second child into first child (temp 4-component vector of float)
-0:55 'v' (temp 4-component vector of float)
-0:55 Convert int to float (temp 4-component vector of float)
-0:55 'iv' (temp 4-component vector of int)
-0:56 move second child to first child (temp 4-component vector of int)
-0:56 'iv' (temp 4-component vector of int)
-0:56 textureProjLod (global 4-component vector of int)
-0:56 'is2D' (uniform isampler2D)
-0:56 'c3D' (smooth in 3-component vector of float)
-0:56 'c1D' (smooth in float)
-0:57 add second child into first child (temp 4-component vector of float)
-0:57 'v' (temp 4-component vector of float)
-0:57 Convert int to float (temp 4-component vector of float)
-0:57 'iv' (temp 4-component vector of int)
-0:58 move second child to first child (temp 4-component vector of int)
-0:58 'iv' (temp 4-component vector of int)
-0:58 textureProjGrad (global 4-component vector of int)
-0:58 'is2D' (uniform isampler2D)
-0:58 'c3D' (smooth in 3-component vector of float)
-0:58 'c2D' (smooth in 2-component vector of float)
-0:58 'c2D' (smooth in 2-component vector of float)
-0:59 add second child into first child (temp 4-component vector of float)
-0:59 'v' (temp 4-component vector of float)
-0:59 Convert int to float (temp 4-component vector of float)
-0:59 'iv' (temp 4-component vector of int)
-0:60 move second child to first child (temp 4-component vector of int)
-0:60 'iv' (temp 4-component vector of int)
-0:60 texture (global 4-component vector of int)
-0:60 'is3D' (uniform isampler3D)
-0:60 'c3D' (smooth in 3-component vector of float)
-0:60 Constant:
-0:60 4.200000
-0:61 add second child into first child (temp 4-component vector of float)
-0:61 'v' (temp 4-component vector of float)
-0:61 Convert int to float (temp 4-component vector of float)
-0:61 'iv' (temp 4-component vector of int)
-0:62 move second child to first child (temp 4-component vector of int)
-0:62 'iv' (temp 4-component vector of int)
-0:62 textureLod (global 4-component vector of int)
-0:62 'isCube' (uniform isamplerCube)
-0:62 'c3D' (smooth in 3-component vector of float)
-0:62 'c1D' (smooth in float)
-0:63 add second child into first child (temp 4-component vector of float)
-0:63 'v' (temp 4-component vector of float)
-0:63 Convert int to float (temp 4-component vector of float)
-0:63 'iv' (temp 4-component vector of int)
-0:64 move second child to first child (temp 4-component vector of int)
-0:64 'iv' (temp 4-component vector of int)
-0:64 textureFetch (global 4-component vector of int)
-0:64 'is2DArray' (uniform isampler2DArray)
-0:64 'ic3D' (flat in 3-component vector of int)
-0:64 'ic1D' (flat in int)
-0:65 add second child into first child (temp 4-component vector of float)
-0:65 'v' (temp 4-component vector of float)
-0:65 Convert int to float (temp 4-component vector of float)
-0:65 'iv' (temp 4-component vector of int)
-0:66 add second child into first child (temp 4-component vector of int)
-0:66 'iv' (temp 4-component vector of int)
-0:66 textureFetch (global 4-component vector of int)
-0:66 'is2Dms' (uniform isampler2DMS)
-0:66 'ic2D' (flat in 2-component vector of int)
-0:66 'ic1D' (flat in int)
-0:67 add second child into first child (temp 4-component vector of float)
-0:67 'v' (temp 4-component vector of float)
-0:67 Convert int to float (temp 4-component vector of float)
-0:67 'iv' (temp 4-component vector of int)
-0:68 add second child into first child (temp 4-component vector of float)
-0:68 'v' (temp 4-component vector of float)
-0:68 textureFetch (global 4-component vector of float)
-0:68 'sb' (uniform samplerBuffer)
-0:68 'ic1D' (flat in int)
-0:69 add second child into first child (temp 4-component vector of float)
-0:69 'v' (temp 4-component vector of float)
-0:69 textureFetch (global 4-component vector of float)
-0:69 'sr' (uniform sampler2DRect)
-0:69 'ic2D' (flat in 2-component vector of int)
-0:71 Sequence
-0:71 move second child to first child (temp 2-component vector of int)
-0:71 'iv2' (temp 2-component vector of int)
-0:71 textureSize (global 2-component vector of int)
-0:71 'sCubeShadow' (uniform samplerCubeShadow)
-0:71 Constant:
-0:71 2 (const int)
-0:74 move second child to first child (temp 4-component vector of float)
-0:74 'FragData' (out 4-component vector of float)
-0:74 add (temp 4-component vector of float)
-0:74 'v' (temp 4-component vector of float)
-0:74 Construct vec4 (temp 4-component vector of float)
-0:74 Convert int to float (temp 2-component vector of float)
-0:74 'iv2' (temp 2-component vector of int)
-0:74 Constant:
-0:74 0.000000
-0:74 Constant:
-0:74 0.000000
-0:? Linker Objects
-0:? 'sb' (uniform samplerBuffer)
-0:? 'sr' (uniform sampler2DRect)
-0:? 's2D' (uniform sampler2D)
-0:? 's3D' (uniform sampler3D)
-0:? 'sCube' (uniform samplerCube)
-0:? 'sCubeShadow' (uniform samplerCubeShadow)
-0:? 's2DShadow' (uniform sampler2DShadow)
-0:? 's2DArray' (uniform sampler2DArray)
-0:? 's2DArrayShadow' (uniform sampler2DArrayShadow)
-0:? 'is2D' (uniform isampler2D)
-0:? 'is3D' (uniform isampler3D)
-0:? 'isCube' (uniform isamplerCube)
-0:? 'is2DArray' (uniform isampler2DArray)
-0:? 'is2Dms' (uniform isampler2DMS)
-0:? 'us2D' (uniform usampler2D)
-0:? 'us3D' (uniform usampler3D)
-0:? 'usCube' (uniform usamplerCube)
-0:? 'us2DArray' (uniform usampler2DArray)
-0:? 'c1D' (smooth in float)
-0:? 'c2D' (smooth in 2-component vector of float)
-0:? 'c3D' (smooth in 3-component vector of float)
-0:? 'c4D' (smooth in 4-component vector of float)
-0:? 'ic1D' (flat in int)
-0:? 'ic2D' (flat in 2-component vector of int)
-0:? 'ic3D' (flat in 3-component vector of int)
-0:? 'ic4D' (flat in 4-component vector of int)
-0:? 'FragData' (out 4-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 430
-0:? Sequence
-0:36 Function Definition: main( (global void)
-0:36 Function Parameters:
-0:38 Sequence
-0:38 Sequence
-0:38 move second child to first child (temp 4-component vector of float)
-0:38 'v' (temp 4-component vector of float)
-0:38 texture (global 4-component vector of float)
-0:38 's2D' (uniform sampler2D)
-0:38 'c2D' (smooth in 2-component vector of float)
-0:39 add second child into first child (temp 4-component vector of float)
-0:39 'v' (temp 4-component vector of float)
-0:39 textureProj (global 4-component vector of float)
-0:39 's3D' (uniform sampler3D)
-0:39 'c4D' (smooth in 4-component vector of float)
-0:40 add second child into first child (temp 4-component vector of float)
-0:40 'v' (temp 4-component vector of float)
-0:40 textureLod (global 4-component vector of float)
-0:40 's2DArray' (uniform sampler2DArray)
-0:40 'c3D' (smooth in 3-component vector of float)
-0:40 Constant:
-0:40 1.200000
-0:41 add second child into first child (temp float)
-0:41 direct index (temp float)
-0:41 'v' (temp 4-component vector of float)
-0:41 Constant:
-0:41 1 (const int)
-0:41 textureOffset (global float)
-0:41 's2DShadow' (uniform sampler2DShadow)
-0:41 'c3D' (smooth in 3-component vector of float)
-0:41 Constant:
-0:41 3 (const int)
-0:41 3 (const int)
-0:41 'c1D' (smooth in float)
-0:42 add second child into first child (temp 4-component vector of float)
-0:42 'v' (temp 4-component vector of float)
-0:42 textureFetch (global 4-component vector of float)
-0:42 's3D' (uniform sampler3D)
-0:42 'ic3D' (flat in 3-component vector of int)
-0:42 'ic1D' (flat in int)
-0:43 add second child into first child (temp 4-component vector of float)
-0:43 'v' (temp 4-component vector of float)
-0:43 textureFetchOffset (global 4-component vector of float)
-0:43 's2D' (uniform sampler2D)
-0:43 'ic2D' (flat in 2-component vector of int)
-0:43 Constant:
-0:43 4 (const int)
-0:43 Constant:
-0:43 3 (const int)
-0:43 3 (const int)
-0:44 add second child into first child (temp 4-component vector of float)
-0:44 'v' (temp 4-component vector of float)
-0:44 textureFetchOffset (global 4-component vector of float)
-0:44 'sr' (uniform sampler2DRect)
-0:44 'ic2D' (flat in 2-component vector of int)
-0:44 Constant:
-0:44 4 (const int)
-0:44 4 (const int)
-0:45 add second child into first child (temp float)
-0:45 direct index (temp float)
-0:45 'v' (temp 4-component vector of float)
-0:45 Constant:
-0:45 1 (const int)
-0:45 textureLodOffset (global float)
-0:45 's2DShadow' (uniform sampler2DShadow)
-0:45 'c3D' (smooth in 3-component vector of float)
-0:45 'c1D' (smooth in float)
-0:45 Constant:
-0:45 3 (const int)
-0:45 3 (const int)
-0:46 add second child into first child (temp 4-component vector of float)
-0:46 'v' (temp 4-component vector of float)
-0:46 textureProjLodOffset (global 4-component vector of float)
-0:46 's2D' (uniform sampler2D)
-0:46 'c3D' (smooth in 3-component vector of float)
-0:46 'c1D' (smooth in float)
-0:46 Constant:
-0:46 3 (const int)
-0:46 3 (const int)
-0:47 add second child into first child (temp 4-component vector of float)
-0:47 'v' (temp 4-component vector of float)
-0:47 textureGrad (global 4-component vector of float)
-0:47 'sCube' (uniform samplerCube)
-0:47 'c3D' (smooth in 3-component vector of float)
-0:47 'c3D' (smooth in 3-component vector of float)
-0:47 'c3D' (smooth in 3-component vector of float)
-0:48 add second child into first child (temp float)
-0:48 direct index (temp float)
-0:48 'v' (temp 4-component vector of float)
-0:48 Constant:
-0:48 0 (const int)
-0:48 textureGradOffset (global float)
-0:48 's2DArrayShadow' (uniform sampler2DArrayShadow)
-0:48 'c4D' (smooth in 4-component vector of float)
-0:48 'c2D' (smooth in 2-component vector of float)
-0:48 'c2D' (smooth in 2-component vector of float)
-0:48 Constant:
-0:48 3 (const int)
-0:48 3 (const int)
-0:49 add second child into first child (temp 4-component vector of float)
-0:49 'v' (temp 4-component vector of float)
-0:49 textureProjGrad (global 4-component vector of float)
-0:49 's3D' (uniform sampler3D)
-0:49 'c4D' (smooth in 4-component vector of float)
-0:49 'c3D' (smooth in 3-component vector of float)
-0:49 'c3D' (smooth in 3-component vector of float)
-0:50 add second child into first child (temp 4-component vector of float)
-0:50 'v' (temp 4-component vector of float)
-0:50 textureProjGradOffset (global 4-component vector of float)
-0:50 's2D' (uniform sampler2D)
-0:50 'c3D' (smooth in 3-component vector of float)
-0:50 'c2D' (smooth in 2-component vector of float)
-0:50 'c2D' (smooth in 2-component vector of float)
-0:50 Constant:
-0:50 3 (const int)
-0:50 3 (const int)
-0:52 Sequence
-0:52 move second child to first child (temp 4-component vector of int)
-0:52 'iv' (temp 4-component vector of int)
-0:52 texture (global 4-component vector of int)
-0:52 'is2D' (uniform isampler2D)
-0:52 'c2D' (smooth in 2-component vector of float)
-0:53 add second child into first child (temp 4-component vector of float)
-0:53 'v' (temp 4-component vector of float)
-0:53 Convert int to float (temp 4-component vector of float)
-0:53 'iv' (temp 4-component vector of int)
-0:54 move second child to first child (temp 4-component vector of int)
-0:54 'iv' (temp 4-component vector of int)
-0:54 textureProjOffset (global 4-component vector of int)
-0:54 'is2D' (uniform isampler2D)
-0:54 'c4D' (smooth in 4-component vector of float)
-0:54 Constant:
-0:54 3 (const int)
-0:54 3 (const int)
-0:55 add second child into first child (temp 4-component vector of float)
-0:55 'v' (temp 4-component vector of float)
-0:55 Convert int to float (temp 4-component vector of float)
-0:55 'iv' (temp 4-component vector of int)
-0:56 move second child to first child (temp 4-component vector of int)
-0:56 'iv' (temp 4-component vector of int)
-0:56 textureProjLod (global 4-component vector of int)
-0:56 'is2D' (uniform isampler2D)
-0:56 'c3D' (smooth in 3-component vector of float)
-0:56 'c1D' (smooth in float)
-0:57 add second child into first child (temp 4-component vector of float)
-0:57 'v' (temp 4-component vector of float)
-0:57 Convert int to float (temp 4-component vector of float)
-0:57 'iv' (temp 4-component vector of int)
-0:58 move second child to first child (temp 4-component vector of int)
-0:58 'iv' (temp 4-component vector of int)
-0:58 textureProjGrad (global 4-component vector of int)
-0:58 'is2D' (uniform isampler2D)
-0:58 'c3D' (smooth in 3-component vector of float)
-0:58 'c2D' (smooth in 2-component vector of float)
-0:58 'c2D' (smooth in 2-component vector of float)
-0:59 add second child into first child (temp 4-component vector of float)
-0:59 'v' (temp 4-component vector of float)
-0:59 Convert int to float (temp 4-component vector of float)
-0:59 'iv' (temp 4-component vector of int)
-0:60 move second child to first child (temp 4-component vector of int)
-0:60 'iv' (temp 4-component vector of int)
-0:60 texture (global 4-component vector of int)
-0:60 'is3D' (uniform isampler3D)
-0:60 'c3D' (smooth in 3-component vector of float)
-0:60 Constant:
-0:60 4.200000
-0:61 add second child into first child (temp 4-component vector of float)
-0:61 'v' (temp 4-component vector of float)
-0:61 Convert int to float (temp 4-component vector of float)
-0:61 'iv' (temp 4-component vector of int)
-0:62 move second child to first child (temp 4-component vector of int)
-0:62 'iv' (temp 4-component vector of int)
-0:62 textureLod (global 4-component vector of int)
-0:62 'isCube' (uniform isamplerCube)
-0:62 'c3D' (smooth in 3-component vector of float)
-0:62 'c1D' (smooth in float)
-0:63 add second child into first child (temp 4-component vector of float)
-0:63 'v' (temp 4-component vector of float)
-0:63 Convert int to float (temp 4-component vector of float)
-0:63 'iv' (temp 4-component vector of int)
-0:64 move second child to first child (temp 4-component vector of int)
-0:64 'iv' (temp 4-component vector of int)
-0:64 textureFetch (global 4-component vector of int)
-0:64 'is2DArray' (uniform isampler2DArray)
-0:64 'ic3D' (flat in 3-component vector of int)
-0:64 'ic1D' (flat in int)
-0:65 add second child into first child (temp 4-component vector of float)
-0:65 'v' (temp 4-component vector of float)
-0:65 Convert int to float (temp 4-component vector of float)
-0:65 'iv' (temp 4-component vector of int)
-0:66 add second child into first child (temp 4-component vector of int)
-0:66 'iv' (temp 4-component vector of int)
-0:66 textureFetch (global 4-component vector of int)
-0:66 'is2Dms' (uniform isampler2DMS)
-0:66 'ic2D' (flat in 2-component vector of int)
-0:66 'ic1D' (flat in int)
-0:67 add second child into first child (temp 4-component vector of float)
-0:67 'v' (temp 4-component vector of float)
-0:67 Convert int to float (temp 4-component vector of float)
-0:67 'iv' (temp 4-component vector of int)
-0:68 add second child into first child (temp 4-component vector of float)
-0:68 'v' (temp 4-component vector of float)
-0:68 textureFetch (global 4-component vector of float)
-0:68 'sb' (uniform samplerBuffer)
-0:68 'ic1D' (flat in int)
-0:69 add second child into first child (temp 4-component vector of float)
-0:69 'v' (temp 4-component vector of float)
-0:69 textureFetch (global 4-component vector of float)
-0:69 'sr' (uniform sampler2DRect)
-0:69 'ic2D' (flat in 2-component vector of int)
-0:71 Sequence
-0:71 move second child to first child (temp 2-component vector of int)
-0:71 'iv2' (temp 2-component vector of int)
-0:71 textureSize (global 2-component vector of int)
-0:71 'sCubeShadow' (uniform samplerCubeShadow)
-0:71 Constant:
-0:71 2 (const int)
-0:74 move second child to first child (temp 4-component vector of float)
-0:74 'FragData' (out 4-component vector of float)
-0:74 add (temp 4-component vector of float)
-0:74 'v' (temp 4-component vector of float)
-0:74 Construct vec4 (temp 4-component vector of float)
-0:74 Convert int to float (temp 2-component vector of float)
-0:74 'iv2' (temp 2-component vector of int)
-0:74 Constant:
-0:74 0.000000
-0:74 Constant:
-0:74 0.000000
-0:? Linker Objects
-0:? 'sb' (uniform samplerBuffer)
-0:? 'sr' (uniform sampler2DRect)
-0:? 's2D' (uniform sampler2D)
-0:? 's3D' (uniform sampler3D)
-0:? 'sCube' (uniform samplerCube)
-0:? 'sCubeShadow' (uniform samplerCubeShadow)
-0:? 's2DShadow' (uniform sampler2DShadow)
-0:? 's2DArray' (uniform sampler2DArray)
-0:? 's2DArrayShadow' (uniform sampler2DArrayShadow)
-0:? 'is2D' (uniform isampler2D)
-0:? 'is3D' (uniform isampler3D)
-0:? 'isCube' (uniform isamplerCube)
-0:? 'is2DArray' (uniform isampler2DArray)
-0:? 'is2Dms' (uniform isampler2DMS)
-0:? 'us2D' (uniform usampler2D)
-0:? 'us3D' (uniform usampler3D)
-0:? 'usCube' (uniform usamplerCube)
-0:? 'us2DArray' (uniform usampler2DArray)
-0:? 'c1D' (smooth in float)
-0:? 'c2D' (smooth in 2-component vector of float)
-0:? 'c3D' (smooth in 3-component vector of float)
-0:? 'c4D' (smooth in 4-component vector of float)
-0:? 'ic1D' (flat in int)
-0:? 'ic2D' (flat in 2-component vector of int)
-0:? 'ic3D' (flat in 3-component vector of int)
-0:? 'ic4D' (flat in 4-component vector of int)
-0:? 'FragData' (out 4-component vector of float)
-
+newTexture.frag
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 430
+0:? Sequence
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:38 Sequence
+0:38 Sequence
+0:38 move second child to first child (temp 4-component vector of float)
+0:38 'v' (temp 4-component vector of float)
+0:38 texture (global 4-component vector of float)
+0:38 's2D' (uniform sampler2D)
+0:38 'c2D' (smooth in 2-component vector of float)
+0:39 add second child into first child (temp 4-component vector of float)
+0:39 'v' (temp 4-component vector of float)
+0:39 textureProj (global 4-component vector of float)
+0:39 's3D' (uniform sampler3D)
+0:39 'c4D' (smooth in 4-component vector of float)
+0:40 add second child into first child (temp 4-component vector of float)
+0:40 'v' (temp 4-component vector of float)
+0:40 textureLod (global 4-component vector of float)
+0:40 's2DArray' (uniform sampler2DArray)
+0:40 'c3D' (smooth in 3-component vector of float)
+0:40 Constant:
+0:40 1.200000
+0:41 add second child into first child (temp float)
+0:41 direct index (temp float)
+0:41 'v' (temp 4-component vector of float)
+0:41 Constant:
+0:41 1 (const int)
+0:41 textureOffset (global float)
+0:41 's2DShadow' (uniform sampler2DShadow)
+0:41 'c3D' (smooth in 3-component vector of float)
+0:41 Constant:
+0:41 3 (const int)
+0:41 3 (const int)
+0:41 'c1D' (smooth in float)
+0:42 add second child into first child (temp 4-component vector of float)
+0:42 'v' (temp 4-component vector of float)
+0:42 textureFetch (global 4-component vector of float)
+0:42 's3D' (uniform sampler3D)
+0:42 'ic3D' (flat in 3-component vector of int)
+0:42 'ic1D' (flat in int)
+0:43 add second child into first child (temp 4-component vector of float)
+0:43 'v' (temp 4-component vector of float)
+0:43 textureFetchOffset (global 4-component vector of float)
+0:43 's2D' (uniform sampler2D)
+0:43 'ic2D' (flat in 2-component vector of int)
+0:43 Constant:
+0:43 4 (const int)
+0:43 Constant:
+0:43 3 (const int)
+0:43 3 (const int)
+0:44 add second child into first child (temp 4-component vector of float)
+0:44 'v' (temp 4-component vector of float)
+0:44 textureFetchOffset (global 4-component vector of float)
+0:44 'sr' (uniform sampler2DRect)
+0:44 'ic2D' (flat in 2-component vector of int)
+0:44 Constant:
+0:44 4 (const int)
+0:44 4 (const int)
+0:45 add second child into first child (temp float)
+0:45 direct index (temp float)
+0:45 'v' (temp 4-component vector of float)
+0:45 Constant:
+0:45 1 (const int)
+0:45 textureLodOffset (global float)
+0:45 's2DShadow' (uniform sampler2DShadow)
+0:45 'c3D' (smooth in 3-component vector of float)
+0:45 'c1D' (smooth in float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 3 (const int)
+0:46 add second child into first child (temp 4-component vector of float)
+0:46 'v' (temp 4-component vector of float)
+0:46 textureProjLodOffset (global 4-component vector of float)
+0:46 's2D' (uniform sampler2D)
+0:46 'c3D' (smooth in 3-component vector of float)
+0:46 'c1D' (smooth in float)
+0:46 Constant:
+0:46 3 (const int)
+0:46 3 (const int)
+0:47 add second child into first child (temp 4-component vector of float)
+0:47 'v' (temp 4-component vector of float)
+0:47 textureGrad (global 4-component vector of float)
+0:47 'sCube' (uniform samplerCube)
+0:47 'c3D' (smooth in 3-component vector of float)
+0:47 'c3D' (smooth in 3-component vector of float)
+0:47 'c3D' (smooth in 3-component vector of float)
+0:48 add second child into first child (temp float)
+0:48 direct index (temp float)
+0:48 'v' (temp 4-component vector of float)
+0:48 Constant:
+0:48 0 (const int)
+0:48 textureGradOffset (global float)
+0:48 's2DArrayShadow' (uniform sampler2DArrayShadow)
+0:48 'c4D' (smooth in 4-component vector of float)
+0:48 'c2D' (smooth in 2-component vector of float)
+0:48 'c2D' (smooth in 2-component vector of float)
+0:48 Constant:
+0:48 3 (const int)
+0:48 3 (const int)
+0:49 add second child into first child (temp 4-component vector of float)
+0:49 'v' (temp 4-component vector of float)
+0:49 textureProjGrad (global 4-component vector of float)
+0:49 's3D' (uniform sampler3D)
+0:49 'c4D' (smooth in 4-component vector of float)
+0:49 'c3D' (smooth in 3-component vector of float)
+0:49 'c3D' (smooth in 3-component vector of float)
+0:50 add second child into first child (temp 4-component vector of float)
+0:50 'v' (temp 4-component vector of float)
+0:50 textureProjGradOffset (global 4-component vector of float)
+0:50 's2D' (uniform sampler2D)
+0:50 'c3D' (smooth in 3-component vector of float)
+0:50 'c2D' (smooth in 2-component vector of float)
+0:50 'c2D' (smooth in 2-component vector of float)
+0:50 Constant:
+0:50 3 (const int)
+0:50 3 (const int)
+0:52 Sequence
+0:52 move second child to first child (temp 4-component vector of int)
+0:52 'iv' (temp 4-component vector of int)
+0:52 texture (global 4-component vector of int)
+0:52 'is2D' (uniform isampler2D)
+0:52 'c2D' (smooth in 2-component vector of float)
+0:53 add second child into first child (temp 4-component vector of float)
+0:53 'v' (temp 4-component vector of float)
+0:53 Convert int to float (temp 4-component vector of float)
+0:53 'iv' (temp 4-component vector of int)
+0:54 move second child to first child (temp 4-component vector of int)
+0:54 'iv' (temp 4-component vector of int)
+0:54 textureProjOffset (global 4-component vector of int)
+0:54 'is2D' (uniform isampler2D)
+0:54 'c4D' (smooth in 4-component vector of float)
+0:54 Constant:
+0:54 3 (const int)
+0:54 3 (const int)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'v' (temp 4-component vector of float)
+0:55 Convert int to float (temp 4-component vector of float)
+0:55 'iv' (temp 4-component vector of int)
+0:56 move second child to first child (temp 4-component vector of int)
+0:56 'iv' (temp 4-component vector of int)
+0:56 textureProjLod (global 4-component vector of int)
+0:56 'is2D' (uniform isampler2D)
+0:56 'c3D' (smooth in 3-component vector of float)
+0:56 'c1D' (smooth in float)
+0:57 add second child into first child (temp 4-component vector of float)
+0:57 'v' (temp 4-component vector of float)
+0:57 Convert int to float (temp 4-component vector of float)
+0:57 'iv' (temp 4-component vector of int)
+0:58 move second child to first child (temp 4-component vector of int)
+0:58 'iv' (temp 4-component vector of int)
+0:58 textureProjGrad (global 4-component vector of int)
+0:58 'is2D' (uniform isampler2D)
+0:58 'c3D' (smooth in 3-component vector of float)
+0:58 'c2D' (smooth in 2-component vector of float)
+0:58 'c2D' (smooth in 2-component vector of float)
+0:59 add second child into first child (temp 4-component vector of float)
+0:59 'v' (temp 4-component vector of float)
+0:59 Convert int to float (temp 4-component vector of float)
+0:59 'iv' (temp 4-component vector of int)
+0:60 move second child to first child (temp 4-component vector of int)
+0:60 'iv' (temp 4-component vector of int)
+0:60 texture (global 4-component vector of int)
+0:60 'is3D' (uniform isampler3D)
+0:60 'c3D' (smooth in 3-component vector of float)
+0:60 Constant:
+0:60 4.200000
+0:61 add second child into first child (temp 4-component vector of float)
+0:61 'v' (temp 4-component vector of float)
+0:61 Convert int to float (temp 4-component vector of float)
+0:61 'iv' (temp 4-component vector of int)
+0:62 move second child to first child (temp 4-component vector of int)
+0:62 'iv' (temp 4-component vector of int)
+0:62 textureLod (global 4-component vector of int)
+0:62 'isCube' (uniform isamplerCube)
+0:62 'c3D' (smooth in 3-component vector of float)
+0:62 'c1D' (smooth in float)
+0:63 add second child into first child (temp 4-component vector of float)
+0:63 'v' (temp 4-component vector of float)
+0:63 Convert int to float (temp 4-component vector of float)
+0:63 'iv' (temp 4-component vector of int)
+0:64 move second child to first child (temp 4-component vector of int)
+0:64 'iv' (temp 4-component vector of int)
+0:64 textureFetch (global 4-component vector of int)
+0:64 'is2DArray' (uniform isampler2DArray)
+0:64 'ic3D' (flat in 3-component vector of int)
+0:64 'ic1D' (flat in int)
+0:65 add second child into first child (temp 4-component vector of float)
+0:65 'v' (temp 4-component vector of float)
+0:65 Convert int to float (temp 4-component vector of float)
+0:65 'iv' (temp 4-component vector of int)
+0:66 add second child into first child (temp 4-component vector of int)
+0:66 'iv' (temp 4-component vector of int)
+0:66 textureFetch (global 4-component vector of int)
+0:66 'is2Dms' (uniform isampler2DMS)
+0:66 'ic2D' (flat in 2-component vector of int)
+0:66 'ic1D' (flat in int)
+0:67 add second child into first child (temp 4-component vector of float)
+0:67 'v' (temp 4-component vector of float)
+0:67 Convert int to float (temp 4-component vector of float)
+0:67 'iv' (temp 4-component vector of int)
+0:68 add second child into first child (temp 4-component vector of float)
+0:68 'v' (temp 4-component vector of float)
+0:68 textureFetch (global 4-component vector of float)
+0:68 'sb' (uniform samplerBuffer)
+0:68 'ic1D' (flat in int)
+0:69 add second child into first child (temp 4-component vector of float)
+0:69 'v' (temp 4-component vector of float)
+0:69 textureFetch (global 4-component vector of float)
+0:69 'sr' (uniform sampler2DRect)
+0:69 'ic2D' (flat in 2-component vector of int)
+0:71 Sequence
+0:71 move second child to first child (temp 2-component vector of int)
+0:71 'iv2' (temp 2-component vector of int)
+0:71 textureSize (global 2-component vector of int)
+0:71 'sCubeShadow' (uniform samplerCubeShadow)
+0:71 Constant:
+0:71 2 (const int)
+0:74 move second child to first child (temp 4-component vector of float)
+0:74 'FragData' (out 4-component vector of float)
+0:74 add (temp 4-component vector of float)
+0:74 'v' (temp 4-component vector of float)
+0:74 Construct vec4 (temp 4-component vector of float)
+0:74 Convert int to float (temp 2-component vector of float)
+0:74 'iv2' (temp 2-component vector of int)
+0:74 Constant:
+0:74 0.000000
+0:74 Constant:
+0:74 0.000000
+0:? Linker Objects
+0:? 'sb' (uniform samplerBuffer)
+0:? 'sr' (uniform sampler2DRect)
+0:? 's2D' (uniform sampler2D)
+0:? 's3D' (uniform sampler3D)
+0:? 'sCube' (uniform samplerCube)
+0:? 'sCubeShadow' (uniform samplerCubeShadow)
+0:? 's2DShadow' (uniform sampler2DShadow)
+0:? 's2DArray' (uniform sampler2DArray)
+0:? 's2DArrayShadow' (uniform sampler2DArrayShadow)
+0:? 'is2D' (uniform isampler2D)
+0:? 'is3D' (uniform isampler3D)
+0:? 'isCube' (uniform isamplerCube)
+0:? 'is2DArray' (uniform isampler2DArray)
+0:? 'is2Dms' (uniform isampler2DMS)
+0:? 'us2D' (uniform usampler2D)
+0:? 'us3D' (uniform usampler3D)
+0:? 'usCube' (uniform usamplerCube)
+0:? 'us2DArray' (uniform usampler2DArray)
+0:? 'c1D' (smooth in float)
+0:? 'c2D' (smooth in 2-component vector of float)
+0:? 'c3D' (smooth in 3-component vector of float)
+0:? 'c4D' (smooth in 4-component vector of float)
+0:? 'ic1D' (flat in int)
+0:? 'ic2D' (flat in 2-component vector of int)
+0:? 'ic3D' (flat in 3-component vector of int)
+0:? 'ic4D' (flat in 4-component vector of int)
+0:? 'FragData' (out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 430
+0:? Sequence
+0:36 Function Definition: main( (global void)
+0:36 Function Parameters:
+0:38 Sequence
+0:38 Sequence
+0:38 move second child to first child (temp 4-component vector of float)
+0:38 'v' (temp 4-component vector of float)
+0:38 texture (global 4-component vector of float)
+0:38 's2D' (uniform sampler2D)
+0:38 'c2D' (smooth in 2-component vector of float)
+0:39 add second child into first child (temp 4-component vector of float)
+0:39 'v' (temp 4-component vector of float)
+0:39 textureProj (global 4-component vector of float)
+0:39 's3D' (uniform sampler3D)
+0:39 'c4D' (smooth in 4-component vector of float)
+0:40 add second child into first child (temp 4-component vector of float)
+0:40 'v' (temp 4-component vector of float)
+0:40 textureLod (global 4-component vector of float)
+0:40 's2DArray' (uniform sampler2DArray)
+0:40 'c3D' (smooth in 3-component vector of float)
+0:40 Constant:
+0:40 1.200000
+0:41 add second child into first child (temp float)
+0:41 direct index (temp float)
+0:41 'v' (temp 4-component vector of float)
+0:41 Constant:
+0:41 1 (const int)
+0:41 textureOffset (global float)
+0:41 's2DShadow' (uniform sampler2DShadow)
+0:41 'c3D' (smooth in 3-component vector of float)
+0:41 Constant:
+0:41 3 (const int)
+0:41 3 (const int)
+0:41 'c1D' (smooth in float)
+0:42 add second child into first child (temp 4-component vector of float)
+0:42 'v' (temp 4-component vector of float)
+0:42 textureFetch (global 4-component vector of float)
+0:42 's3D' (uniform sampler3D)
+0:42 'ic3D' (flat in 3-component vector of int)
+0:42 'ic1D' (flat in int)
+0:43 add second child into first child (temp 4-component vector of float)
+0:43 'v' (temp 4-component vector of float)
+0:43 textureFetchOffset (global 4-component vector of float)
+0:43 's2D' (uniform sampler2D)
+0:43 'ic2D' (flat in 2-component vector of int)
+0:43 Constant:
+0:43 4 (const int)
+0:43 Constant:
+0:43 3 (const int)
+0:43 3 (const int)
+0:44 add second child into first child (temp 4-component vector of float)
+0:44 'v' (temp 4-component vector of float)
+0:44 textureFetchOffset (global 4-component vector of float)
+0:44 'sr' (uniform sampler2DRect)
+0:44 'ic2D' (flat in 2-component vector of int)
+0:44 Constant:
+0:44 4 (const int)
+0:44 4 (const int)
+0:45 add second child into first child (temp float)
+0:45 direct index (temp float)
+0:45 'v' (temp 4-component vector of float)
+0:45 Constant:
+0:45 1 (const int)
+0:45 textureLodOffset (global float)
+0:45 's2DShadow' (uniform sampler2DShadow)
+0:45 'c3D' (smooth in 3-component vector of float)
+0:45 'c1D' (smooth in float)
+0:45 Constant:
+0:45 3 (const int)
+0:45 3 (const int)
+0:46 add second child into first child (temp 4-component vector of float)
+0:46 'v' (temp 4-component vector of float)
+0:46 textureProjLodOffset (global 4-component vector of float)
+0:46 's2D' (uniform sampler2D)
+0:46 'c3D' (smooth in 3-component vector of float)
+0:46 'c1D' (smooth in float)
+0:46 Constant:
+0:46 3 (const int)
+0:46 3 (const int)
+0:47 add second child into first child (temp 4-component vector of float)
+0:47 'v' (temp 4-component vector of float)
+0:47 textureGrad (global 4-component vector of float)
+0:47 'sCube' (uniform samplerCube)
+0:47 'c3D' (smooth in 3-component vector of float)
+0:47 'c3D' (smooth in 3-component vector of float)
+0:47 'c3D' (smooth in 3-component vector of float)
+0:48 add second child into first child (temp float)
+0:48 direct index (temp float)
+0:48 'v' (temp 4-component vector of float)
+0:48 Constant:
+0:48 0 (const int)
+0:48 textureGradOffset (global float)
+0:48 's2DArrayShadow' (uniform sampler2DArrayShadow)
+0:48 'c4D' (smooth in 4-component vector of float)
+0:48 'c2D' (smooth in 2-component vector of float)
+0:48 'c2D' (smooth in 2-component vector of float)
+0:48 Constant:
+0:48 3 (const int)
+0:48 3 (const int)
+0:49 add second child into first child (temp 4-component vector of float)
+0:49 'v' (temp 4-component vector of float)
+0:49 textureProjGrad (global 4-component vector of float)
+0:49 's3D' (uniform sampler3D)
+0:49 'c4D' (smooth in 4-component vector of float)
+0:49 'c3D' (smooth in 3-component vector of float)
+0:49 'c3D' (smooth in 3-component vector of float)
+0:50 add second child into first child (temp 4-component vector of float)
+0:50 'v' (temp 4-component vector of float)
+0:50 textureProjGradOffset (global 4-component vector of float)
+0:50 's2D' (uniform sampler2D)
+0:50 'c3D' (smooth in 3-component vector of float)
+0:50 'c2D' (smooth in 2-component vector of float)
+0:50 'c2D' (smooth in 2-component vector of float)
+0:50 Constant:
+0:50 3 (const int)
+0:50 3 (const int)
+0:52 Sequence
+0:52 move second child to first child (temp 4-component vector of int)
+0:52 'iv' (temp 4-component vector of int)
+0:52 texture (global 4-component vector of int)
+0:52 'is2D' (uniform isampler2D)
+0:52 'c2D' (smooth in 2-component vector of float)
+0:53 add second child into first child (temp 4-component vector of float)
+0:53 'v' (temp 4-component vector of float)
+0:53 Convert int to float (temp 4-component vector of float)
+0:53 'iv' (temp 4-component vector of int)
+0:54 move second child to first child (temp 4-component vector of int)
+0:54 'iv' (temp 4-component vector of int)
+0:54 textureProjOffset (global 4-component vector of int)
+0:54 'is2D' (uniform isampler2D)
+0:54 'c4D' (smooth in 4-component vector of float)
+0:54 Constant:
+0:54 3 (const int)
+0:54 3 (const int)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'v' (temp 4-component vector of float)
+0:55 Convert int to float (temp 4-component vector of float)
+0:55 'iv' (temp 4-component vector of int)
+0:56 move second child to first child (temp 4-component vector of int)
+0:56 'iv' (temp 4-component vector of int)
+0:56 textureProjLod (global 4-component vector of int)
+0:56 'is2D' (uniform isampler2D)
+0:56 'c3D' (smooth in 3-component vector of float)
+0:56 'c1D' (smooth in float)
+0:57 add second child into first child (temp 4-component vector of float)
+0:57 'v' (temp 4-component vector of float)
+0:57 Convert int to float (temp 4-component vector of float)
+0:57 'iv' (temp 4-component vector of int)
+0:58 move second child to first child (temp 4-component vector of int)
+0:58 'iv' (temp 4-component vector of int)
+0:58 textureProjGrad (global 4-component vector of int)
+0:58 'is2D' (uniform isampler2D)
+0:58 'c3D' (smooth in 3-component vector of float)
+0:58 'c2D' (smooth in 2-component vector of float)
+0:58 'c2D' (smooth in 2-component vector of float)
+0:59 add second child into first child (temp 4-component vector of float)
+0:59 'v' (temp 4-component vector of float)
+0:59 Convert int to float (temp 4-component vector of float)
+0:59 'iv' (temp 4-component vector of int)
+0:60 move second child to first child (temp 4-component vector of int)
+0:60 'iv' (temp 4-component vector of int)
+0:60 texture (global 4-component vector of int)
+0:60 'is3D' (uniform isampler3D)
+0:60 'c3D' (smooth in 3-component vector of float)
+0:60 Constant:
+0:60 4.200000
+0:61 add second child into first child (temp 4-component vector of float)
+0:61 'v' (temp 4-component vector of float)
+0:61 Convert int to float (temp 4-component vector of float)
+0:61 'iv' (temp 4-component vector of int)
+0:62 move second child to first child (temp 4-component vector of int)
+0:62 'iv' (temp 4-component vector of int)
+0:62 textureLod (global 4-component vector of int)
+0:62 'isCube' (uniform isamplerCube)
+0:62 'c3D' (smooth in 3-component vector of float)
+0:62 'c1D' (smooth in float)
+0:63 add second child into first child (temp 4-component vector of float)
+0:63 'v' (temp 4-component vector of float)
+0:63 Convert int to float (temp 4-component vector of float)
+0:63 'iv' (temp 4-component vector of int)
+0:64 move second child to first child (temp 4-component vector of int)
+0:64 'iv' (temp 4-component vector of int)
+0:64 textureFetch (global 4-component vector of int)
+0:64 'is2DArray' (uniform isampler2DArray)
+0:64 'ic3D' (flat in 3-component vector of int)
+0:64 'ic1D' (flat in int)
+0:65 add second child into first child (temp 4-component vector of float)
+0:65 'v' (temp 4-component vector of float)
+0:65 Convert int to float (temp 4-component vector of float)
+0:65 'iv' (temp 4-component vector of int)
+0:66 add second child into first child (temp 4-component vector of int)
+0:66 'iv' (temp 4-component vector of int)
+0:66 textureFetch (global 4-component vector of int)
+0:66 'is2Dms' (uniform isampler2DMS)
+0:66 'ic2D' (flat in 2-component vector of int)
+0:66 'ic1D' (flat in int)
+0:67 add second child into first child (temp 4-component vector of float)
+0:67 'v' (temp 4-component vector of float)
+0:67 Convert int to float (temp 4-component vector of float)
+0:67 'iv' (temp 4-component vector of int)
+0:68 add second child into first child (temp 4-component vector of float)
+0:68 'v' (temp 4-component vector of float)
+0:68 textureFetch (global 4-component vector of float)
+0:68 'sb' (uniform samplerBuffer)
+0:68 'ic1D' (flat in int)
+0:69 add second child into first child (temp 4-component vector of float)
+0:69 'v' (temp 4-component vector of float)
+0:69 textureFetch (global 4-component vector of float)
+0:69 'sr' (uniform sampler2DRect)
+0:69 'ic2D' (flat in 2-component vector of int)
+0:71 Sequence
+0:71 move second child to first child (temp 2-component vector of int)
+0:71 'iv2' (temp 2-component vector of int)
+0:71 textureSize (global 2-component vector of int)
+0:71 'sCubeShadow' (uniform samplerCubeShadow)
+0:71 Constant:
+0:71 2 (const int)
+0:74 move second child to first child (temp 4-component vector of float)
+0:74 'FragData' (out 4-component vector of float)
+0:74 add (temp 4-component vector of float)
+0:74 'v' (temp 4-component vector of float)
+0:74 Construct vec4 (temp 4-component vector of float)
+0:74 Convert int to float (temp 2-component vector of float)
+0:74 'iv2' (temp 2-component vector of int)
+0:74 Constant:
+0:74 0.000000
+0:74 Constant:
+0:74 0.000000
+0:? Linker Objects
+0:? 'sb' (uniform samplerBuffer)
+0:? 'sr' (uniform sampler2DRect)
+0:? 's2D' (uniform sampler2D)
+0:? 's3D' (uniform sampler3D)
+0:? 'sCube' (uniform samplerCube)
+0:? 'sCubeShadow' (uniform samplerCubeShadow)
+0:? 's2DShadow' (uniform sampler2DShadow)
+0:? 's2DArray' (uniform sampler2DArray)
+0:? 's2DArrayShadow' (uniform sampler2DArrayShadow)
+0:? 'is2D' (uniform isampler2D)
+0:? 'is3D' (uniform isampler3D)
+0:? 'isCube' (uniform isamplerCube)
+0:? 'is2DArray' (uniform isampler2DArray)
+0:? 'is2Dms' (uniform isampler2DMS)
+0:? 'us2D' (uniform usampler2D)
+0:? 'us3D' (uniform usampler3D)
+0:? 'usCube' (uniform usamplerCube)
+0:? 'us2DArray' (uniform usampler2DArray)
+0:? 'c1D' (smooth in float)
+0:? 'c2D' (smooth in 2-component vector of float)
+0:? 'c3D' (smooth in 3-component vector of float)
+0:? 'c4D' (smooth in 4-component vector of float)
+0:? 'ic1D' (flat in int)
+0:? 'ic2D' (flat in 2-component vector of int)
+0:? 'ic3D' (flat in 3-component vector of int)
+0:? 'ic4D' (flat in 4-component vector of int)
+0:? 'FragData' (out 4-component vector of float)
+
diff --git a/Test/baseResults/noMain.vert.out b/Test/baseResults/noMain.vert.out
index 052e27e..630af95 100644
--- a/Test/baseResults/noMain.vert.out
+++ b/Test/baseResults/noMain.vert.out
@@ -1,45 +1,45 @@
-noMain.vert
-Shader version: 300
-0:? Sequence
-0:3 Function Definition: foo( (global void)
-0:3 Function Parameters:
-0:? Linker Objects
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
-mains.frag
-ERROR: 0:7: 'main' : function already has a body
-ERROR: 1 compilation errors. No code generated.
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:3 Function Definition: main( (global void)
-0:3 Function Parameters:
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:? Linker Objects
-
-
-Linked vertex stage:
-
-ERROR: Linking vertex stage: Missing entry point: Each stage requires one "void main()" entry point
-
-Linked fragment stage:
-
-
-Shader version: 300
-0:? Sequence
-0:3 Function Definition: foo( (global void)
-0:3 Function Parameters:
-0:? Linker Objects
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-Shader version: 300
-ERROR: node is still EOpNull!
-0:3 Function Definition: main( (global void)
-0:3 Function Parameters:
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:? Linker Objects
-
+noMain.vert
+Shader version: 300
+0:? Sequence
+0:3 Function Definition: foo( (global void)
+0:3 Function Parameters:
+0:? Linker Objects
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+mains.frag
+ERROR: 0:7: 'main' : function already has a body
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:? Linker Objects
+
+
+Linked vertex stage:
+
+ERROR: Linking vertex stage: Missing entry point: Each stage requires one "void main()" entry point
+
+Linked fragment stage:
+
+
+Shader version: 300
+0:? Sequence
+0:3 Function Definition: foo( (global void)
+0:3 Function Parameters:
+0:? Linker Objects
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+Shader version: 300
+ERROR: node is still EOpNull!
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:? Linker Objects
+
diff --git a/Test/baseResults/nonSquare.vert.out b/Test/baseResults/nonSquare.vert.out
index 9f5c100..c075369 100644
--- a/Test/baseResults/nonSquare.vert.out
+++ b/Test/baseResults/nonSquare.vert.out
@@ -1,183 +1,183 @@
-nonSquare.vert
-Shader version: 120
-0:? Sequence
-0:15 Function Definition: main( (global void)
-0:15 Function Parameters:
-0:? Sequence
-0:20 move second child to first child (temp 2-component vector of float)
-0:20 'a' (temp 2-component vector of float)
-0:20 vector-times-matrix (temp 2-component vector of float)
-0:20 'v3' (in 3-component vector of float)
-0:20 'm23' (temp 2X3 matrix of float)
-0:21 move second child to first child (temp 2-component vector of float)
-0:21 'b' (temp 2-component vector of float)
-0:21 matrix-times-vector (temp 2-component vector of float)
-0:21 'm32' (uniform 3X2 matrix of float)
-0:21 'v3' (in 3-component vector of float)
-0:23 move second child to first child (temp 4-component vector of float)
-0:23 'gl_Position' (gl_Position 4-component vector of float Position)
-0:24 add (temp 4-component vector of float)
-0:24 add (temp 4-component vector of float)
-0:24 add (temp 4-component vector of float)
-0:23 add (temp 4-component vector of float)
-0:23 Construct vec4 (temp 4-component vector of float)
-0:23 matrix-times-vector (temp 3-component vector of float)
-0:23 matrix-multiply (temp 3X3 matrix of float)
-0:23 'm23' (temp 2X3 matrix of float)
-0:23 'm32' (uniform 3X2 matrix of float)
-0:23 'v3' (in 3-component vector of float)
-0:23 Constant:
-0:23 0.000000
-0:24 matrix-times-vector (temp 4-component vector of float)
-0:24 Constant:
-0:24 3.000000
-0:24 6.000000
-0:24 0.000000
-0:24 0.000000
-0:24 9.000000
-0:24 12.000000
-0:24 0.000000
-0:24 0.000000
-0:24 15.000000
-0:24 18.000000
-0:24 0.000000
-0:24 0.000000
-0:24 21.000000
-0:24 24.000000
-0:24 0.000000
-0:24 0.000000
-0:24 'v4' (in 4-component vector of float)
-0:24 Constant:
-0:24 50.000000
-0:24 110.000000
-0:24 170.000000
-0:24 230.000000
-0:24 Constant:
-0:24 30.000000
-0:24 60.000000
-0:24 0.000000
-0:24 0.000000
-0:24 Constant:
-0:24 20.000000
-0:24 10.000000
-0:24 6.000000
-0:24 5.000000
-0:? Linker Objects
-0:? 'v3' (in 3-component vector of float)
-0:? 'v4' (in 4-component vector of float)
-0:? 'm32' (uniform 3X2 matrix of float)
-0:? 'cv2' (const 2-component vector of float)
-0:? 10.000000
-0:? 20.000000
-0:? 'm24' (const 2X4 matrix of float)
-0:? 3.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 3.000000
-0:? 0.000000
-0:? 0.000000
-0:? 'm42' (const 4X2 matrix of float)
-0:? 1.000000
-0:? 2.000000
-0:? 3.000000
-0:? 4.000000
-0:? 5.000000
-0:? 6.000000
-0:? 7.000000
-0:? 8.000000
-
-
-Linked vertex stage:
-
-
-Shader version: 120
-0:? Sequence
-0:15 Function Definition: main( (global void)
-0:15 Function Parameters:
-0:? Sequence
-0:20 move second child to first child (temp 2-component vector of float)
-0:20 'a' (temp 2-component vector of float)
-0:20 vector-times-matrix (temp 2-component vector of float)
-0:20 'v3' (in 3-component vector of float)
-0:20 'm23' (temp 2X3 matrix of float)
-0:21 move second child to first child (temp 2-component vector of float)
-0:21 'b' (temp 2-component vector of float)
-0:21 matrix-times-vector (temp 2-component vector of float)
-0:21 'm32' (uniform 3X2 matrix of float)
-0:21 'v3' (in 3-component vector of float)
-0:23 move second child to first child (temp 4-component vector of float)
-0:23 'gl_Position' (gl_Position 4-component vector of float Position)
-0:24 add (temp 4-component vector of float)
-0:24 add (temp 4-component vector of float)
-0:24 add (temp 4-component vector of float)
-0:23 add (temp 4-component vector of float)
-0:23 Construct vec4 (temp 4-component vector of float)
-0:23 matrix-times-vector (temp 3-component vector of float)
-0:23 matrix-multiply (temp 3X3 matrix of float)
-0:23 'm23' (temp 2X3 matrix of float)
-0:23 'm32' (uniform 3X2 matrix of float)
-0:23 'v3' (in 3-component vector of float)
-0:23 Constant:
-0:23 0.000000
-0:24 matrix-times-vector (temp 4-component vector of float)
-0:24 Constant:
-0:24 3.000000
-0:24 6.000000
-0:24 0.000000
-0:24 0.000000
-0:24 9.000000
-0:24 12.000000
-0:24 0.000000
-0:24 0.000000
-0:24 15.000000
-0:24 18.000000
-0:24 0.000000
-0:24 0.000000
-0:24 21.000000
-0:24 24.000000
-0:24 0.000000
-0:24 0.000000
-0:24 'v4' (in 4-component vector of float)
-0:24 Constant:
-0:24 50.000000
-0:24 110.000000
-0:24 170.000000
-0:24 230.000000
-0:24 Constant:
-0:24 30.000000
-0:24 60.000000
-0:24 0.000000
-0:24 0.000000
-0:24 Constant:
-0:24 20.000000
-0:24 10.000000
-0:24 6.000000
-0:24 5.000000
-0:? Linker Objects
-0:? 'v3' (in 3-component vector of float)
-0:? 'v4' (in 4-component vector of float)
-0:? 'm32' (uniform 3X2 matrix of float)
-0:? 'cv2' (const 2-component vector of float)
-0:? 10.000000
-0:? 20.000000
-0:? 'm24' (const 2X4 matrix of float)
-0:? 3.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 0.000000
-0:? 3.000000
-0:? 0.000000
-0:? 0.000000
-0:? 'm42' (const 4X2 matrix of float)
-0:? 1.000000
-0:? 2.000000
-0:? 3.000000
-0:? 4.000000
-0:? 5.000000
-0:? 6.000000
-0:? 7.000000
-0:? 8.000000
-
+nonSquare.vert
+Shader version: 120
+0:? Sequence
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:? Sequence
+0:20 move second child to first child (temp 2-component vector of float)
+0:20 'a' (temp 2-component vector of float)
+0:20 vector-times-matrix (temp 2-component vector of float)
+0:20 'v3' (in 3-component vector of float)
+0:20 'm23' (temp 2X3 matrix of float)
+0:21 move second child to first child (temp 2-component vector of float)
+0:21 'b' (temp 2-component vector of float)
+0:21 matrix-times-vector (temp 2-component vector of float)
+0:21 'm32' (uniform 3X2 matrix of float)
+0:21 'v3' (in 3-component vector of float)
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'gl_Position' (gl_Position 4-component vector of float Position)
+0:24 add (temp 4-component vector of float)
+0:24 add (temp 4-component vector of float)
+0:24 add (temp 4-component vector of float)
+0:23 add (temp 4-component vector of float)
+0:23 Construct vec4 (temp 4-component vector of float)
+0:23 matrix-times-vector (temp 3-component vector of float)
+0:23 matrix-multiply (temp 3X3 matrix of float)
+0:23 'm23' (temp 2X3 matrix of float)
+0:23 'm32' (uniform 3X2 matrix of float)
+0:23 'v3' (in 3-component vector of float)
+0:23 Constant:
+0:23 0.000000
+0:24 matrix-times-vector (temp 4-component vector of float)
+0:24 Constant:
+0:24 3.000000
+0:24 6.000000
+0:24 0.000000
+0:24 0.000000
+0:24 9.000000
+0:24 12.000000
+0:24 0.000000
+0:24 0.000000
+0:24 15.000000
+0:24 18.000000
+0:24 0.000000
+0:24 0.000000
+0:24 21.000000
+0:24 24.000000
+0:24 0.000000
+0:24 0.000000
+0:24 'v4' (in 4-component vector of float)
+0:24 Constant:
+0:24 50.000000
+0:24 110.000000
+0:24 170.000000
+0:24 230.000000
+0:24 Constant:
+0:24 30.000000
+0:24 60.000000
+0:24 0.000000
+0:24 0.000000
+0:24 Constant:
+0:24 20.000000
+0:24 10.000000
+0:24 6.000000
+0:24 5.000000
+0:? Linker Objects
+0:? 'v3' (in 3-component vector of float)
+0:? 'v4' (in 4-component vector of float)
+0:? 'm32' (uniform 3X2 matrix of float)
+0:? 'cv2' (const 2-component vector of float)
+0:? 10.000000
+0:? 20.000000
+0:? 'm24' (const 2X4 matrix of float)
+0:? 3.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 3.000000
+0:? 0.000000
+0:? 0.000000
+0:? 'm42' (const 4X2 matrix of float)
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:? 7.000000
+0:? 8.000000
+
+
+Linked vertex stage:
+
+
+Shader version: 120
+0:? Sequence
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:? Sequence
+0:20 move second child to first child (temp 2-component vector of float)
+0:20 'a' (temp 2-component vector of float)
+0:20 vector-times-matrix (temp 2-component vector of float)
+0:20 'v3' (in 3-component vector of float)
+0:20 'm23' (temp 2X3 matrix of float)
+0:21 move second child to first child (temp 2-component vector of float)
+0:21 'b' (temp 2-component vector of float)
+0:21 matrix-times-vector (temp 2-component vector of float)
+0:21 'm32' (uniform 3X2 matrix of float)
+0:21 'v3' (in 3-component vector of float)
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'gl_Position' (gl_Position 4-component vector of float Position)
+0:24 add (temp 4-component vector of float)
+0:24 add (temp 4-component vector of float)
+0:24 add (temp 4-component vector of float)
+0:23 add (temp 4-component vector of float)
+0:23 Construct vec4 (temp 4-component vector of float)
+0:23 matrix-times-vector (temp 3-component vector of float)
+0:23 matrix-multiply (temp 3X3 matrix of float)
+0:23 'm23' (temp 2X3 matrix of float)
+0:23 'm32' (uniform 3X2 matrix of float)
+0:23 'v3' (in 3-component vector of float)
+0:23 Constant:
+0:23 0.000000
+0:24 matrix-times-vector (temp 4-component vector of float)
+0:24 Constant:
+0:24 3.000000
+0:24 6.000000
+0:24 0.000000
+0:24 0.000000
+0:24 9.000000
+0:24 12.000000
+0:24 0.000000
+0:24 0.000000
+0:24 15.000000
+0:24 18.000000
+0:24 0.000000
+0:24 0.000000
+0:24 21.000000
+0:24 24.000000
+0:24 0.000000
+0:24 0.000000
+0:24 'v4' (in 4-component vector of float)
+0:24 Constant:
+0:24 50.000000
+0:24 110.000000
+0:24 170.000000
+0:24 230.000000
+0:24 Constant:
+0:24 30.000000
+0:24 60.000000
+0:24 0.000000
+0:24 0.000000
+0:24 Constant:
+0:24 20.000000
+0:24 10.000000
+0:24 6.000000
+0:24 5.000000
+0:? Linker Objects
+0:? 'v3' (in 3-component vector of float)
+0:? 'v4' (in 4-component vector of float)
+0:? 'm32' (uniform 3X2 matrix of float)
+0:? 'cv2' (const 2-component vector of float)
+0:? 10.000000
+0:? 20.000000
+0:? 'm24' (const 2X4 matrix of float)
+0:? 3.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 0.000000
+0:? 3.000000
+0:? 0.000000
+0:? 0.000000
+0:? 'm42' (const 4X2 matrix of float)
+0:? 1.000000
+0:? 2.000000
+0:? 3.000000
+0:? 4.000000
+0:? 5.000000
+0:? 6.000000
+0:? 7.000000
+0:? 8.000000
+
diff --git a/Test/baseResults/numeral.frag.out b/Test/baseResults/numeral.frag.out
index 63119fa..6f5595c 100644
--- a/Test/baseResults/numeral.frag.out
+++ b/Test/baseResults/numeral.frag.out
@@ -1,829 +1,829 @@
-numeral.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:14: '' : octal literal digit too large
-ERROR: 0:15: '' : octal literal digit too large
-ERROR: 0:16: '' : octal literal digit too large
-ERROR: 0:17: '' : octal literal too big
-ERROR: 0:18: '' : octal literal too big
-ERROR: 0:23: '' : octal literal digit too large
-ERROR: 0:24: '' : octal literal digit too large
-ERROR: 0:49: '' : bad digit in hexidecimal literal
-ERROR: 0:50: '' : hexidecimal literal too big
-ERROR: 0:88: '' : float literal needs a decimal point or exponent
-ERROR: 0:98: '' : numeric literal too big
-ERROR: 0:101: '' : numeric literal too big
-ERROR: 12 compilation errors. No code generated.
-
-
-Shader version: 400
-ERROR: node is still EOpNull!
-0:3 Function Definition: main( (global void)
-0:3 Function Parameters:
-0:5 Sequence
-0:5 Sequence
-0:5 move second child to first child (temp int)
-0:5 'o00' (temp int)
-0:5 Constant:
-0:5 0 (const int)
-0:6 Sequence
-0:6 move second child to first child (temp int)
-0:6 'o000' (temp int)
-0:6 Constant:
-0:6 0 (const int)
-0:7 Sequence
-0:7 move second child to first child (temp int)
-0:7 'o0000' (temp int)
-0:7 Constant:
-0:7 0 (const int)
-0:8 Sequence
-0:8 move second child to first child (temp int)
-0:8 'o5' (temp int)
-0:8 Constant:
-0:8 5 (const int)
-0:9 Sequence
-0:9 move second child to first child (temp int)
-0:9 'o05' (temp int)
-0:9 Constant:
-0:9 5 (const int)
-0:10 Sequence
-0:10 move second child to first child (temp int)
-0:10 'o006' (temp int)
-0:10 Constant:
-0:10 6 (const int)
-0:11 Sequence
-0:11 move second child to first child (temp int)
-0:11 'o7' (temp int)
-0:11 Constant:
-0:11 7 (const int)
-0:12 Sequence
-0:12 move second child to first child (temp int)
-0:12 'o58' (temp int)
-0:12 Constant:
-0:12 58 (const int)
-0:13 Sequence
-0:13 move second child to first child (temp int)
-0:13 'omax' (temp int)
-0:13 Constant:
-0:13 -1 (const int)
-0:14 Sequence
-0:14 move second child to first child (temp int)
-0:14 'o8' (temp int)
-0:14 Constant:
-0:14 0 (const int)
-0:15 Sequence
-0:15 move second child to first child (temp int)
-0:15 'o08' (temp int)
-0:15 Constant:
-0:15 0 (const int)
-0:16 Sequence
-0:16 move second child to first child (temp int)
-0:16 'o009' (temp int)
-0:16 Constant:
-0:16 0 (const int)
-0:17 Sequence
-0:17 move second child to first child (temp int)
-0:17 'obig' (temp int)
-0:17 Constant:
-0:17 995208915 (const int)
-0:18 Sequence
-0:18 move second child to first child (temp int)
-0:18 'omax1' (temp int)
-0:18 Constant:
-0:18 536870912 (const int)
-0:20 Sequence
-0:20 move second child to first child (temp uint)
-0:20 'uo5' (temp uint)
-0:20 Constant:
-0:20 5 (const uint)
-0:21 Sequence
-0:21 move second child to first child (temp uint)
-0:21 'uo6' (temp uint)
-0:21 Constant:
-0:21 6 (const uint)
-0:22 Sequence
-0:22 move second child to first child (temp uint)
-0:22 'uo7' (temp uint)
-0:22 Constant:
-0:22 7 (const uint)
-0:23 Sequence
-0:23 move second child to first child (temp uint)
-0:23 'uo8' (temp uint)
-0:23 Constant:
-0:23 0 (const uint)
-0:24 Sequence
-0:24 move second child to first child (temp uint)
-0:24 'uo9' (temp uint)
-0:24 Constant:
-0:24 0 (const uint)
-0:26 Sequence
-0:26 move second child to first child (temp int)
-0:26 'h0' (temp int)
-0:26 Constant:
-0:26 0 (const int)
-0:27 Sequence
-0:27 move second child to first child (temp int)
-0:27 'h00' (temp int)
-0:27 Constant:
-0:27 0 (const int)
-0:28 Sequence
-0:28 move second child to first child (temp int)
-0:28 'h000' (temp int)
-0:28 Constant:
-0:28 0 (const int)
-0:29 Sequence
-0:29 move second child to first child (temp int)
-0:29 'h1' (temp int)
-0:29 Constant:
-0:29 1 (const int)
-0:30 Sequence
-0:30 move second child to first child (temp int)
-0:30 'h2' (temp int)
-0:30 Constant:
-0:30 2 (const int)
-0:31 Sequence
-0:31 move second child to first child (temp int)
-0:31 'h300' (temp int)
-0:31 Constant:
-0:31 768 (const int)
-0:32 Sequence
-0:32 move second child to first child (temp int)
-0:32 'hABCDEF' (temp int)
-0:32 Constant:
-0:32 11259375 (const int)
-0:33 Sequence
-0:33 move second child to first child (temp int)
-0:33 'hFFFFFFFF' (temp int)
-0:33 Constant:
-0:33 -1 (const int)
-0:34 Sequence
-0:34 move second child to first child (temp int)
-0:34 'h12345678' (temp int)
-0:34 Constant:
-0:34 12345678 (const int)
-0:35 Sequence
-0:35 move second child to first child (temp int)
-0:35 'hToBeOrNotToBe' (temp int)
-0:35 Constant:
-0:35 -1 (const int)
-0:37 Sequence
-0:37 move second child to first child (temp uint)
-0:37 'uh0' (temp uint)
-0:37 Constant:
-0:37 0 (const uint)
-0:38 Sequence
-0:38 move second child to first child (temp uint)
-0:38 'uhg' (temp uint)
-0:38 Constant:
-0:38 12 (const uint)
-0:39 Sequence
-0:39 move second child to first child (temp uint)
-0:39 'uh000' (temp uint)
-0:39 Constant:
-0:39 0 (const uint)
-0:40 Sequence
-0:40 move second child to first child (temp uint)
-0:40 'uh1' (temp uint)
-0:40 Constant:
-0:40 1 (const uint)
-0:41 Sequence
-0:41 move second child to first child (temp uint)
-0:41 'uh2' (temp uint)
-0:41 Constant:
-0:41 2 (const uint)
-0:42 Sequence
-0:42 move second child to first child (temp uint)
-0:42 'uh300' (temp uint)
-0:42 Constant:
-0:42 768 (const uint)
-0:43 Sequence
-0:43 move second child to first child (temp uint)
-0:43 'uhABCDEF' (temp uint)
-0:43 Constant:
-0:43 11259375 (const uint)
-0:44 Sequence
-0:44 move second child to first child (temp uint)
-0:44 'uhFFFFFFFF' (temp uint)
-0:44 Constant:
-0:44 4294967295 (const uint)
-0:45 Sequence
-0:45 move second child to first child (temp uint)
-0:45 'uh12345678' (temp uint)
-0:45 Constant:
-0:45 12345678 (const uint)
-0:46 Sequence
-0:46 move second child to first child (temp uint)
-0:46 'uhToBeOrNotToBe' (temp uint)
-0:46 Constant:
-0:46 4294967295 (const uint)
-0:49 Sequence
-0:49 move second child to first child (temp int)
-0:49 'he2' (temp int)
-0:49 Constant:
-0:49 0 (const int)
-0:50 Sequence
-0:50 move second child to first child (temp int)
-0:50 'hbig' (temp int)
-0:50 Constant:
-0:50 -1 (const int)
-0:52 Sequence
-0:52 move second child to first child (temp float)
-0:52 'f1' (temp float)
-0:52 Constant:
-0:52 1.000000
-0:53 Sequence
-0:53 move second child to first child (temp float)
-0:53 'f2' (temp float)
-0:53 Constant:
-0:53 2.000000
-0:54 Sequence
-0:54 move second child to first child (temp float)
-0:54 'f3' (temp float)
-0:54 Constant:
-0:54 3.000000
-0:55 Sequence
-0:55 move second child to first child (temp float)
-0:55 'f4' (temp float)
-0:55 Constant:
-0:55 4.000000
-0:56 Sequence
-0:56 move second child to first child (temp float)
-0:56 'f5' (temp float)
-0:56 Constant:
-0:56 5.000000
-0:57 Sequence
-0:57 move second child to first child (temp float)
-0:57 'f6' (temp float)
-0:57 Constant:
-0:57 6.000000
-0:58 Sequence
-0:58 move second child to first child (temp float)
-0:58 'f7' (temp float)
-0:58 Constant:
-0:58 7.000000
-0:59 Sequence
-0:59 move second child to first child (temp float)
-0:59 'f8' (temp float)
-0:59 Constant:
-0:59 8.000000
-0:60 Sequence
-0:60 move second child to first child (temp float)
-0:60 'f9' (temp float)
-0:60 Constant:
-0:60 9.000000
-0:61 Sequence
-0:61 move second child to first child (temp float)
-0:61 'f10' (temp float)
-0:61 Constant:
-0:61 10.000000
-0:62 Sequence
-0:62 move second child to first child (temp float)
-0:62 'f11' (temp float)
-0:62 Constant:
-0:62 11.000000
-0:63 Sequence
-0:63 move second child to first child (temp float)
-0:63 'f12' (temp float)
-0:63 Constant:
-0:63 12.000000
-0:64 Sequence
-0:64 move second child to first child (temp float)
-0:64 'f543' (temp float)
-0:64 Constant:
-0:64 543.000000
-0:65 Sequence
-0:65 move second child to first child (temp float)
-0:65 'f6789' (temp float)
-0:65 Constant:
-0:65 6789.000000
-0:66 Sequence
-0:66 move second child to first child (temp float)
-0:66 'f88' (temp float)
-0:66 Constant:
-0:66 88.000000
-0:68 Sequence
-0:68 move second child to first child (temp float)
-0:68 'g1' (temp float)
-0:68 Constant:
-0:68 53876.000000
-0:69 Sequence
-0:69 move second child to first child (temp float)
-0:69 'g2' (temp float)
-0:69 Constant:
-0:69 0.040000
-0:70 Sequence
-0:70 move second child to first child (temp float)
-0:70 'g3' (temp float)
-0:70 Constant:
-0:70 100000.000000
-0:71 Sequence
-0:71 move second child to first child (temp float)
-0:71 'g4' (temp float)
-0:71 Constant:
-0:71 0.007321
-0:72 Sequence
-0:72 move second child to first child (temp float)
-0:72 'g5' (temp float)
-0:72 Constant:
-0:72 32000.000000
-0:73 Sequence
-0:73 move second child to first child (temp float)
-0:73 'g6' (temp float)
-0:73 Constant:
-0:73 0.000005
-0:74 Sequence
-0:74 move second child to first child (temp float)
-0:74 'g7' (temp float)
-0:74 Constant:
-0:74 0.450000
-0:75 Sequence
-0:75 move second child to first child (temp float)
-0:75 'g8' (temp float)
-0:75 Constant:
-0:75 60000000000.000000
-0:77 Sequence
-0:77 move second child to first child (temp double)
-0:77 'gf1' (temp double)
-0:77 Constant:
-0:77 1.000000
-0:78 Sequence
-0:78 move second child to first child (temp double)
-0:78 'gf2' (temp double)
-0:78 Constant:
-0:78 2.000000
-0:79 Sequence
-0:79 move second child to first child (temp double)
-0:79 'gf3' (temp double)
-0:79 Constant:
-0:79 3.000000
-0:80 Sequence
-0:80 move second child to first child (temp double)
-0:80 'gf4' (temp double)
-0:80 Constant:
-0:80 4.000000
-0:81 Sequence
-0:81 move second child to first child (temp float)
-0:81 'gf5' (temp float)
-0:81 Constant:
-0:81 5.000000
-0:82 Sequence
-0:82 move second child to first child (temp float)
-0:82 'gf6' (temp float)
-0:82 Constant:
-0:82 6.000000
-0:88 Sequence
-0:88 move second child to first child (temp float)
-0:88 'e5' (temp float)
-0:88 Constant:
-0:88 5.000000
-0:98 Sequence
-0:98 move second child to first child (temp uint)
-0:98 'g1' (global uint)
-0:98 Constant:
-0:98 4294967295 (const uint)
-0:99 Sequence
-0:99 move second child to first child (temp uint)
-0:99 'g2' (global uint)
-0:99 Constant:
-0:99 4294967295 (const uint)
-0:100 Sequence
-0:100 move second child to first child (temp uint)
-0:100 'g3' (global uint)
-0:100 Constant:
-0:100 4294967294 (const uint)
-0:101 Sequence
-0:101 move second child to first child (temp int)
-0:101 'g4' (global int)
-0:101 Constant:
-0:101 -1 (const int)
-0:102 Sequence
-0:102 move second child to first child (temp int)
-0:102 'g5' (global int)
-0:102 Constant:
-0:102 -1 (const int)
-0:103 Sequence
-0:103 move second child to first child (temp int)
-0:103 'g6' (global int)
-0:103 Constant:
-0:103 -2 (const int)
-0:? Linker Objects
-0:? 'c2' (layout(location=2 ) out 4-component vector of float)
-0:? 'c3' (layout(location=3 ) out 4-component vector of float)
-0:? 'c4' (layout(location=4 ) out 4-component vector of float)
-0:? 'c5' (layout(location=5 ) out 4-component vector of float)
-0:? 'c6' (layout(location=6 ) out 4-component vector of float)
-0:? 'c7' (layout(location=7 ) out 4-component vector of float)
-0:? 'g1' (global uint)
-0:? 'g2' (global uint)
-0:? 'g3' (global uint)
-0:? 'g4' (global int)
-0:? 'g5' (global int)
-0:? 'g6' (global int)
-
-
-Linked fragment stage:
-
-
-Shader version: 400
-ERROR: node is still EOpNull!
-0:3 Function Definition: main( (global void)
-0:3 Function Parameters:
-0:5 Sequence
-0:5 Sequence
-0:5 move second child to first child (temp int)
-0:5 'o00' (temp int)
-0:5 Constant:
-0:5 0 (const int)
-0:6 Sequence
-0:6 move second child to first child (temp int)
-0:6 'o000' (temp int)
-0:6 Constant:
-0:6 0 (const int)
-0:7 Sequence
-0:7 move second child to first child (temp int)
-0:7 'o0000' (temp int)
-0:7 Constant:
-0:7 0 (const int)
-0:8 Sequence
-0:8 move second child to first child (temp int)
-0:8 'o5' (temp int)
-0:8 Constant:
-0:8 5 (const int)
-0:9 Sequence
-0:9 move second child to first child (temp int)
-0:9 'o05' (temp int)
-0:9 Constant:
-0:9 5 (const int)
-0:10 Sequence
-0:10 move second child to first child (temp int)
-0:10 'o006' (temp int)
-0:10 Constant:
-0:10 6 (const int)
-0:11 Sequence
-0:11 move second child to first child (temp int)
-0:11 'o7' (temp int)
-0:11 Constant:
-0:11 7 (const int)
-0:12 Sequence
-0:12 move second child to first child (temp int)
-0:12 'o58' (temp int)
-0:12 Constant:
-0:12 58 (const int)
-0:13 Sequence
-0:13 move second child to first child (temp int)
-0:13 'omax' (temp int)
-0:13 Constant:
-0:13 -1 (const int)
-0:14 Sequence
-0:14 move second child to first child (temp int)
-0:14 'o8' (temp int)
-0:14 Constant:
-0:14 0 (const int)
-0:15 Sequence
-0:15 move second child to first child (temp int)
-0:15 'o08' (temp int)
-0:15 Constant:
-0:15 0 (const int)
-0:16 Sequence
-0:16 move second child to first child (temp int)
-0:16 'o009' (temp int)
-0:16 Constant:
-0:16 0 (const int)
-0:17 Sequence
-0:17 move second child to first child (temp int)
-0:17 'obig' (temp int)
-0:17 Constant:
-0:17 995208915 (const int)
-0:18 Sequence
-0:18 move second child to first child (temp int)
-0:18 'omax1' (temp int)
-0:18 Constant:
-0:18 536870912 (const int)
-0:20 Sequence
-0:20 move second child to first child (temp uint)
-0:20 'uo5' (temp uint)
-0:20 Constant:
-0:20 5 (const uint)
-0:21 Sequence
-0:21 move second child to first child (temp uint)
-0:21 'uo6' (temp uint)
-0:21 Constant:
-0:21 6 (const uint)
-0:22 Sequence
-0:22 move second child to first child (temp uint)
-0:22 'uo7' (temp uint)
-0:22 Constant:
-0:22 7 (const uint)
-0:23 Sequence
-0:23 move second child to first child (temp uint)
-0:23 'uo8' (temp uint)
-0:23 Constant:
-0:23 0 (const uint)
-0:24 Sequence
-0:24 move second child to first child (temp uint)
-0:24 'uo9' (temp uint)
-0:24 Constant:
-0:24 0 (const uint)
-0:26 Sequence
-0:26 move second child to first child (temp int)
-0:26 'h0' (temp int)
-0:26 Constant:
-0:26 0 (const int)
-0:27 Sequence
-0:27 move second child to first child (temp int)
-0:27 'h00' (temp int)
-0:27 Constant:
-0:27 0 (const int)
-0:28 Sequence
-0:28 move second child to first child (temp int)
-0:28 'h000' (temp int)
-0:28 Constant:
-0:28 0 (const int)
-0:29 Sequence
-0:29 move second child to first child (temp int)
-0:29 'h1' (temp int)
-0:29 Constant:
-0:29 1 (const int)
-0:30 Sequence
-0:30 move second child to first child (temp int)
-0:30 'h2' (temp int)
-0:30 Constant:
-0:30 2 (const int)
-0:31 Sequence
-0:31 move second child to first child (temp int)
-0:31 'h300' (temp int)
-0:31 Constant:
-0:31 768 (const int)
-0:32 Sequence
-0:32 move second child to first child (temp int)
-0:32 'hABCDEF' (temp int)
-0:32 Constant:
-0:32 11259375 (const int)
-0:33 Sequence
-0:33 move second child to first child (temp int)
-0:33 'hFFFFFFFF' (temp int)
-0:33 Constant:
-0:33 -1 (const int)
-0:34 Sequence
-0:34 move second child to first child (temp int)
-0:34 'h12345678' (temp int)
-0:34 Constant:
-0:34 12345678 (const int)
-0:35 Sequence
-0:35 move second child to first child (temp int)
-0:35 'hToBeOrNotToBe' (temp int)
-0:35 Constant:
-0:35 -1 (const int)
-0:37 Sequence
-0:37 move second child to first child (temp uint)
-0:37 'uh0' (temp uint)
-0:37 Constant:
-0:37 0 (const uint)
-0:38 Sequence
-0:38 move second child to first child (temp uint)
-0:38 'uhg' (temp uint)
-0:38 Constant:
-0:38 12 (const uint)
-0:39 Sequence
-0:39 move second child to first child (temp uint)
-0:39 'uh000' (temp uint)
-0:39 Constant:
-0:39 0 (const uint)
-0:40 Sequence
-0:40 move second child to first child (temp uint)
-0:40 'uh1' (temp uint)
-0:40 Constant:
-0:40 1 (const uint)
-0:41 Sequence
-0:41 move second child to first child (temp uint)
-0:41 'uh2' (temp uint)
-0:41 Constant:
-0:41 2 (const uint)
-0:42 Sequence
-0:42 move second child to first child (temp uint)
-0:42 'uh300' (temp uint)
-0:42 Constant:
-0:42 768 (const uint)
-0:43 Sequence
-0:43 move second child to first child (temp uint)
-0:43 'uhABCDEF' (temp uint)
-0:43 Constant:
-0:43 11259375 (const uint)
-0:44 Sequence
-0:44 move second child to first child (temp uint)
-0:44 'uhFFFFFFFF' (temp uint)
-0:44 Constant:
-0:44 4294967295 (const uint)
-0:45 Sequence
-0:45 move second child to first child (temp uint)
-0:45 'uh12345678' (temp uint)
-0:45 Constant:
-0:45 12345678 (const uint)
-0:46 Sequence
-0:46 move second child to first child (temp uint)
-0:46 'uhToBeOrNotToBe' (temp uint)
-0:46 Constant:
-0:46 4294967295 (const uint)
-0:49 Sequence
-0:49 move second child to first child (temp int)
-0:49 'he2' (temp int)
-0:49 Constant:
-0:49 0 (const int)
-0:50 Sequence
-0:50 move second child to first child (temp int)
-0:50 'hbig' (temp int)
-0:50 Constant:
-0:50 -1 (const int)
-0:52 Sequence
-0:52 move second child to first child (temp float)
-0:52 'f1' (temp float)
-0:52 Constant:
-0:52 1.000000
-0:53 Sequence
-0:53 move second child to first child (temp float)
-0:53 'f2' (temp float)
-0:53 Constant:
-0:53 2.000000
-0:54 Sequence
-0:54 move second child to first child (temp float)
-0:54 'f3' (temp float)
-0:54 Constant:
-0:54 3.000000
-0:55 Sequence
-0:55 move second child to first child (temp float)
-0:55 'f4' (temp float)
-0:55 Constant:
-0:55 4.000000
-0:56 Sequence
-0:56 move second child to first child (temp float)
-0:56 'f5' (temp float)
-0:56 Constant:
-0:56 5.000000
-0:57 Sequence
-0:57 move second child to first child (temp float)
-0:57 'f6' (temp float)
-0:57 Constant:
-0:57 6.000000
-0:58 Sequence
-0:58 move second child to first child (temp float)
-0:58 'f7' (temp float)
-0:58 Constant:
-0:58 7.000000
-0:59 Sequence
-0:59 move second child to first child (temp float)
-0:59 'f8' (temp float)
-0:59 Constant:
-0:59 8.000000
-0:60 Sequence
-0:60 move second child to first child (temp float)
-0:60 'f9' (temp float)
-0:60 Constant:
-0:60 9.000000
-0:61 Sequence
-0:61 move second child to first child (temp float)
-0:61 'f10' (temp float)
-0:61 Constant:
-0:61 10.000000
-0:62 Sequence
-0:62 move second child to first child (temp float)
-0:62 'f11' (temp float)
-0:62 Constant:
-0:62 11.000000
-0:63 Sequence
-0:63 move second child to first child (temp float)
-0:63 'f12' (temp float)
-0:63 Constant:
-0:63 12.000000
-0:64 Sequence
-0:64 move second child to first child (temp float)
-0:64 'f543' (temp float)
-0:64 Constant:
-0:64 543.000000
-0:65 Sequence
-0:65 move second child to first child (temp float)
-0:65 'f6789' (temp float)
-0:65 Constant:
-0:65 6789.000000
-0:66 Sequence
-0:66 move second child to first child (temp float)
-0:66 'f88' (temp float)
-0:66 Constant:
-0:66 88.000000
-0:68 Sequence
-0:68 move second child to first child (temp float)
-0:68 'g1' (temp float)
-0:68 Constant:
-0:68 53876.000000
-0:69 Sequence
-0:69 move second child to first child (temp float)
-0:69 'g2' (temp float)
-0:69 Constant:
-0:69 0.040000
-0:70 Sequence
-0:70 move second child to first child (temp float)
-0:70 'g3' (temp float)
-0:70 Constant:
-0:70 100000.000000
-0:71 Sequence
-0:71 move second child to first child (temp float)
-0:71 'g4' (temp float)
-0:71 Constant:
-0:71 0.007321
-0:72 Sequence
-0:72 move second child to first child (temp float)
-0:72 'g5' (temp float)
-0:72 Constant:
-0:72 32000.000000
-0:73 Sequence
-0:73 move second child to first child (temp float)
-0:73 'g6' (temp float)
-0:73 Constant:
-0:73 0.000005
-0:74 Sequence
-0:74 move second child to first child (temp float)
-0:74 'g7' (temp float)
-0:74 Constant:
-0:74 0.450000
-0:75 Sequence
-0:75 move second child to first child (temp float)
-0:75 'g8' (temp float)
-0:75 Constant:
-0:75 60000000000.000000
-0:77 Sequence
-0:77 move second child to first child (temp double)
-0:77 'gf1' (temp double)
-0:77 Constant:
-0:77 1.000000
-0:78 Sequence
-0:78 move second child to first child (temp double)
-0:78 'gf2' (temp double)
-0:78 Constant:
-0:78 2.000000
-0:79 Sequence
-0:79 move second child to first child (temp double)
-0:79 'gf3' (temp double)
-0:79 Constant:
-0:79 3.000000
-0:80 Sequence
-0:80 move second child to first child (temp double)
-0:80 'gf4' (temp double)
-0:80 Constant:
-0:80 4.000000
-0:81 Sequence
-0:81 move second child to first child (temp float)
-0:81 'gf5' (temp float)
-0:81 Constant:
-0:81 5.000000
-0:82 Sequence
-0:82 move second child to first child (temp float)
-0:82 'gf6' (temp float)
-0:82 Constant:
-0:82 6.000000
-0:88 Sequence
-0:88 move second child to first child (temp float)
-0:88 'e5' (temp float)
-0:88 Constant:
-0:88 5.000000
-0:98 Sequence
-0:98 move second child to first child (temp uint)
-0:98 'g1' (global uint)
-0:98 Constant:
-0:98 4294967295 (const uint)
-0:99 Sequence
-0:99 move second child to first child (temp uint)
-0:99 'g2' (global uint)
-0:99 Constant:
-0:99 4294967295 (const uint)
-0:100 Sequence
-0:100 move second child to first child (temp uint)
-0:100 'g3' (global uint)
-0:100 Constant:
-0:100 4294967294 (const uint)
-0:101 Sequence
-0:101 move second child to first child (temp int)
-0:101 'g4' (global int)
-0:101 Constant:
-0:101 -1 (const int)
-0:102 Sequence
-0:102 move second child to first child (temp int)
-0:102 'g5' (global int)
-0:102 Constant:
-0:102 -1 (const int)
-0:103 Sequence
-0:103 move second child to first child (temp int)
-0:103 'g6' (global int)
-0:103 Constant:
-0:103 -2 (const int)
-0:? Linker Objects
-0:? 'c2' (layout(location=2 ) out 4-component vector of float)
-0:? 'c3' (layout(location=3 ) out 4-component vector of float)
-0:? 'c4' (layout(location=4 ) out 4-component vector of float)
-0:? 'c5' (layout(location=5 ) out 4-component vector of float)
-0:? 'c6' (layout(location=6 ) out 4-component vector of float)
-0:? 'c7' (layout(location=7 ) out 4-component vector of float)
-0:? 'g1' (global uint)
-0:? 'g2' (global uint)
-0:? 'g3' (global uint)
-0:? 'g4' (global int)
-0:? 'g5' (global int)
-0:? 'g6' (global int)
-
+numeral.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:14: '' : octal literal digit too large
+ERROR: 0:15: '' : octal literal digit too large
+ERROR: 0:16: '' : octal literal digit too large
+ERROR: 0:17: '' : octal literal too big
+ERROR: 0:18: '' : octal literal too big
+ERROR: 0:23: '' : octal literal digit too large
+ERROR: 0:24: '' : octal literal digit too large
+ERROR: 0:49: '' : bad digit in hexidecimal literal
+ERROR: 0:50: '' : hexidecimal literal too big
+ERROR: 0:88: '' : float literal needs a decimal point or exponent
+ERROR: 0:98: '' : numeric literal too big
+ERROR: 0:101: '' : numeric literal too big
+ERROR: 12 compilation errors. No code generated.
+
+
+Shader version: 400
+ERROR: node is still EOpNull!
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:5 Sequence
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'o00' (temp int)
+0:5 Constant:
+0:5 0 (const int)
+0:6 Sequence
+0:6 move second child to first child (temp int)
+0:6 'o000' (temp int)
+0:6 Constant:
+0:6 0 (const int)
+0:7 Sequence
+0:7 move second child to first child (temp int)
+0:7 'o0000' (temp int)
+0:7 Constant:
+0:7 0 (const int)
+0:8 Sequence
+0:8 move second child to first child (temp int)
+0:8 'o5' (temp int)
+0:8 Constant:
+0:8 5 (const int)
+0:9 Sequence
+0:9 move second child to first child (temp int)
+0:9 'o05' (temp int)
+0:9 Constant:
+0:9 5 (const int)
+0:10 Sequence
+0:10 move second child to first child (temp int)
+0:10 'o006' (temp int)
+0:10 Constant:
+0:10 6 (const int)
+0:11 Sequence
+0:11 move second child to first child (temp int)
+0:11 'o7' (temp int)
+0:11 Constant:
+0:11 7 (const int)
+0:12 Sequence
+0:12 move second child to first child (temp int)
+0:12 'o58' (temp int)
+0:12 Constant:
+0:12 58 (const int)
+0:13 Sequence
+0:13 move second child to first child (temp int)
+0:13 'omax' (temp int)
+0:13 Constant:
+0:13 -1 (const int)
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'o8' (temp int)
+0:14 Constant:
+0:14 0 (const int)
+0:15 Sequence
+0:15 move second child to first child (temp int)
+0:15 'o08' (temp int)
+0:15 Constant:
+0:15 0 (const int)
+0:16 Sequence
+0:16 move second child to first child (temp int)
+0:16 'o009' (temp int)
+0:16 Constant:
+0:16 0 (const int)
+0:17 Sequence
+0:17 move second child to first child (temp int)
+0:17 'obig' (temp int)
+0:17 Constant:
+0:17 995208915 (const int)
+0:18 Sequence
+0:18 move second child to first child (temp int)
+0:18 'omax1' (temp int)
+0:18 Constant:
+0:18 536870912 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp uint)
+0:20 'uo5' (temp uint)
+0:20 Constant:
+0:20 5 (const uint)
+0:21 Sequence
+0:21 move second child to first child (temp uint)
+0:21 'uo6' (temp uint)
+0:21 Constant:
+0:21 6 (const uint)
+0:22 Sequence
+0:22 move second child to first child (temp uint)
+0:22 'uo7' (temp uint)
+0:22 Constant:
+0:22 7 (const uint)
+0:23 Sequence
+0:23 move second child to first child (temp uint)
+0:23 'uo8' (temp uint)
+0:23 Constant:
+0:23 0 (const uint)
+0:24 Sequence
+0:24 move second child to first child (temp uint)
+0:24 'uo9' (temp uint)
+0:24 Constant:
+0:24 0 (const uint)
+0:26 Sequence
+0:26 move second child to first child (temp int)
+0:26 'h0' (temp int)
+0:26 Constant:
+0:26 0 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp int)
+0:27 'h00' (temp int)
+0:27 Constant:
+0:27 0 (const int)
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'h000' (temp int)
+0:28 Constant:
+0:28 0 (const int)
+0:29 Sequence
+0:29 move second child to first child (temp int)
+0:29 'h1' (temp int)
+0:29 Constant:
+0:29 1 (const int)
+0:30 Sequence
+0:30 move second child to first child (temp int)
+0:30 'h2' (temp int)
+0:30 Constant:
+0:30 2 (const int)
+0:31 Sequence
+0:31 move second child to first child (temp int)
+0:31 'h300' (temp int)
+0:31 Constant:
+0:31 768 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp int)
+0:32 'hABCDEF' (temp int)
+0:32 Constant:
+0:32 11259375 (const int)
+0:33 Sequence
+0:33 move second child to first child (temp int)
+0:33 'hFFFFFFFF' (temp int)
+0:33 Constant:
+0:33 -1 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp int)
+0:34 'h12345678' (temp int)
+0:34 Constant:
+0:34 12345678 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp int)
+0:35 'hToBeOrNotToBe' (temp int)
+0:35 Constant:
+0:35 -1 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp uint)
+0:37 'uh0' (temp uint)
+0:37 Constant:
+0:37 0 (const uint)
+0:38 Sequence
+0:38 move second child to first child (temp uint)
+0:38 'uhg' (temp uint)
+0:38 Constant:
+0:38 12 (const uint)
+0:39 Sequence
+0:39 move second child to first child (temp uint)
+0:39 'uh000' (temp uint)
+0:39 Constant:
+0:39 0 (const uint)
+0:40 Sequence
+0:40 move second child to first child (temp uint)
+0:40 'uh1' (temp uint)
+0:40 Constant:
+0:40 1 (const uint)
+0:41 Sequence
+0:41 move second child to first child (temp uint)
+0:41 'uh2' (temp uint)
+0:41 Constant:
+0:41 2 (const uint)
+0:42 Sequence
+0:42 move second child to first child (temp uint)
+0:42 'uh300' (temp uint)
+0:42 Constant:
+0:42 768 (const uint)
+0:43 Sequence
+0:43 move second child to first child (temp uint)
+0:43 'uhABCDEF' (temp uint)
+0:43 Constant:
+0:43 11259375 (const uint)
+0:44 Sequence
+0:44 move second child to first child (temp uint)
+0:44 'uhFFFFFFFF' (temp uint)
+0:44 Constant:
+0:44 4294967295 (const uint)
+0:45 Sequence
+0:45 move second child to first child (temp uint)
+0:45 'uh12345678' (temp uint)
+0:45 Constant:
+0:45 12345678 (const uint)
+0:46 Sequence
+0:46 move second child to first child (temp uint)
+0:46 'uhToBeOrNotToBe' (temp uint)
+0:46 Constant:
+0:46 4294967295 (const uint)
+0:49 Sequence
+0:49 move second child to first child (temp int)
+0:49 'he2' (temp int)
+0:49 Constant:
+0:49 0 (const int)
+0:50 Sequence
+0:50 move second child to first child (temp int)
+0:50 'hbig' (temp int)
+0:50 Constant:
+0:50 -1 (const int)
+0:52 Sequence
+0:52 move second child to first child (temp float)
+0:52 'f1' (temp float)
+0:52 Constant:
+0:52 1.000000
+0:53 Sequence
+0:53 move second child to first child (temp float)
+0:53 'f2' (temp float)
+0:53 Constant:
+0:53 2.000000
+0:54 Sequence
+0:54 move second child to first child (temp float)
+0:54 'f3' (temp float)
+0:54 Constant:
+0:54 3.000000
+0:55 Sequence
+0:55 move second child to first child (temp float)
+0:55 'f4' (temp float)
+0:55 Constant:
+0:55 4.000000
+0:56 Sequence
+0:56 move second child to first child (temp float)
+0:56 'f5' (temp float)
+0:56 Constant:
+0:56 5.000000
+0:57 Sequence
+0:57 move second child to first child (temp float)
+0:57 'f6' (temp float)
+0:57 Constant:
+0:57 6.000000
+0:58 Sequence
+0:58 move second child to first child (temp float)
+0:58 'f7' (temp float)
+0:58 Constant:
+0:58 7.000000
+0:59 Sequence
+0:59 move second child to first child (temp float)
+0:59 'f8' (temp float)
+0:59 Constant:
+0:59 8.000000
+0:60 Sequence
+0:60 move second child to first child (temp float)
+0:60 'f9' (temp float)
+0:60 Constant:
+0:60 9.000000
+0:61 Sequence
+0:61 move second child to first child (temp float)
+0:61 'f10' (temp float)
+0:61 Constant:
+0:61 10.000000
+0:62 Sequence
+0:62 move second child to first child (temp float)
+0:62 'f11' (temp float)
+0:62 Constant:
+0:62 11.000000
+0:63 Sequence
+0:63 move second child to first child (temp float)
+0:63 'f12' (temp float)
+0:63 Constant:
+0:63 12.000000
+0:64 Sequence
+0:64 move second child to first child (temp float)
+0:64 'f543' (temp float)
+0:64 Constant:
+0:64 543.000000
+0:65 Sequence
+0:65 move second child to first child (temp float)
+0:65 'f6789' (temp float)
+0:65 Constant:
+0:65 6789.000000
+0:66 Sequence
+0:66 move second child to first child (temp float)
+0:66 'f88' (temp float)
+0:66 Constant:
+0:66 88.000000
+0:68 Sequence
+0:68 move second child to first child (temp float)
+0:68 'g1' (temp float)
+0:68 Constant:
+0:68 53876.000000
+0:69 Sequence
+0:69 move second child to first child (temp float)
+0:69 'g2' (temp float)
+0:69 Constant:
+0:69 0.040000
+0:70 Sequence
+0:70 move second child to first child (temp float)
+0:70 'g3' (temp float)
+0:70 Constant:
+0:70 100000.000000
+0:71 Sequence
+0:71 move second child to first child (temp float)
+0:71 'g4' (temp float)
+0:71 Constant:
+0:71 0.007321
+0:72 Sequence
+0:72 move second child to first child (temp float)
+0:72 'g5' (temp float)
+0:72 Constant:
+0:72 32000.000000
+0:73 Sequence
+0:73 move second child to first child (temp float)
+0:73 'g6' (temp float)
+0:73 Constant:
+0:73 0.000005
+0:74 Sequence
+0:74 move second child to first child (temp float)
+0:74 'g7' (temp float)
+0:74 Constant:
+0:74 0.450000
+0:75 Sequence
+0:75 move second child to first child (temp float)
+0:75 'g8' (temp float)
+0:75 Constant:
+0:75 60000000000.000000
+0:77 Sequence
+0:77 move second child to first child (temp double)
+0:77 'gf1' (temp double)
+0:77 Constant:
+0:77 1.000000
+0:78 Sequence
+0:78 move second child to first child (temp double)
+0:78 'gf2' (temp double)
+0:78 Constant:
+0:78 2.000000
+0:79 Sequence
+0:79 move second child to first child (temp double)
+0:79 'gf3' (temp double)
+0:79 Constant:
+0:79 3.000000
+0:80 Sequence
+0:80 move second child to first child (temp double)
+0:80 'gf4' (temp double)
+0:80 Constant:
+0:80 4.000000
+0:81 Sequence
+0:81 move second child to first child (temp float)
+0:81 'gf5' (temp float)
+0:81 Constant:
+0:81 5.000000
+0:82 Sequence
+0:82 move second child to first child (temp float)
+0:82 'gf6' (temp float)
+0:82 Constant:
+0:82 6.000000
+0:88 Sequence
+0:88 move second child to first child (temp float)
+0:88 'e5' (temp float)
+0:88 Constant:
+0:88 5.000000
+0:98 Sequence
+0:98 move second child to first child (temp uint)
+0:98 'g1' (global uint)
+0:98 Constant:
+0:98 4294967295 (const uint)
+0:99 Sequence
+0:99 move second child to first child (temp uint)
+0:99 'g2' (global uint)
+0:99 Constant:
+0:99 4294967295 (const uint)
+0:100 Sequence
+0:100 move second child to first child (temp uint)
+0:100 'g3' (global uint)
+0:100 Constant:
+0:100 4294967294 (const uint)
+0:101 Sequence
+0:101 move second child to first child (temp int)
+0:101 'g4' (global int)
+0:101 Constant:
+0:101 -1 (const int)
+0:102 Sequence
+0:102 move second child to first child (temp int)
+0:102 'g5' (global int)
+0:102 Constant:
+0:102 -1 (const int)
+0:103 Sequence
+0:103 move second child to first child (temp int)
+0:103 'g6' (global int)
+0:103 Constant:
+0:103 -2 (const int)
+0:? Linker Objects
+0:? 'c2' (layout(location=2 ) out 4-component vector of float)
+0:? 'c3' (layout(location=3 ) out 4-component vector of float)
+0:? 'c4' (layout(location=4 ) out 4-component vector of float)
+0:? 'c5' (layout(location=5 ) out 4-component vector of float)
+0:? 'c6' (layout(location=6 ) out 4-component vector of float)
+0:? 'c7' (layout(location=7 ) out 4-component vector of float)
+0:? 'g1' (global uint)
+0:? 'g2' (global uint)
+0:? 'g3' (global uint)
+0:? 'g4' (global int)
+0:? 'g5' (global int)
+0:? 'g6' (global int)
+
+
+Linked fragment stage:
+
+
+Shader version: 400
+ERROR: node is still EOpNull!
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:5 Sequence
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'o00' (temp int)
+0:5 Constant:
+0:5 0 (const int)
+0:6 Sequence
+0:6 move second child to first child (temp int)
+0:6 'o000' (temp int)
+0:6 Constant:
+0:6 0 (const int)
+0:7 Sequence
+0:7 move second child to first child (temp int)
+0:7 'o0000' (temp int)
+0:7 Constant:
+0:7 0 (const int)
+0:8 Sequence
+0:8 move second child to first child (temp int)
+0:8 'o5' (temp int)
+0:8 Constant:
+0:8 5 (const int)
+0:9 Sequence
+0:9 move second child to first child (temp int)
+0:9 'o05' (temp int)
+0:9 Constant:
+0:9 5 (const int)
+0:10 Sequence
+0:10 move second child to first child (temp int)
+0:10 'o006' (temp int)
+0:10 Constant:
+0:10 6 (const int)
+0:11 Sequence
+0:11 move second child to first child (temp int)
+0:11 'o7' (temp int)
+0:11 Constant:
+0:11 7 (const int)
+0:12 Sequence
+0:12 move second child to first child (temp int)
+0:12 'o58' (temp int)
+0:12 Constant:
+0:12 58 (const int)
+0:13 Sequence
+0:13 move second child to first child (temp int)
+0:13 'omax' (temp int)
+0:13 Constant:
+0:13 -1 (const int)
+0:14 Sequence
+0:14 move second child to first child (temp int)
+0:14 'o8' (temp int)
+0:14 Constant:
+0:14 0 (const int)
+0:15 Sequence
+0:15 move second child to first child (temp int)
+0:15 'o08' (temp int)
+0:15 Constant:
+0:15 0 (const int)
+0:16 Sequence
+0:16 move second child to first child (temp int)
+0:16 'o009' (temp int)
+0:16 Constant:
+0:16 0 (const int)
+0:17 Sequence
+0:17 move second child to first child (temp int)
+0:17 'obig' (temp int)
+0:17 Constant:
+0:17 995208915 (const int)
+0:18 Sequence
+0:18 move second child to first child (temp int)
+0:18 'omax1' (temp int)
+0:18 Constant:
+0:18 536870912 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp uint)
+0:20 'uo5' (temp uint)
+0:20 Constant:
+0:20 5 (const uint)
+0:21 Sequence
+0:21 move second child to first child (temp uint)
+0:21 'uo6' (temp uint)
+0:21 Constant:
+0:21 6 (const uint)
+0:22 Sequence
+0:22 move second child to first child (temp uint)
+0:22 'uo7' (temp uint)
+0:22 Constant:
+0:22 7 (const uint)
+0:23 Sequence
+0:23 move second child to first child (temp uint)
+0:23 'uo8' (temp uint)
+0:23 Constant:
+0:23 0 (const uint)
+0:24 Sequence
+0:24 move second child to first child (temp uint)
+0:24 'uo9' (temp uint)
+0:24 Constant:
+0:24 0 (const uint)
+0:26 Sequence
+0:26 move second child to first child (temp int)
+0:26 'h0' (temp int)
+0:26 Constant:
+0:26 0 (const int)
+0:27 Sequence
+0:27 move second child to first child (temp int)
+0:27 'h00' (temp int)
+0:27 Constant:
+0:27 0 (const int)
+0:28 Sequence
+0:28 move second child to first child (temp int)
+0:28 'h000' (temp int)
+0:28 Constant:
+0:28 0 (const int)
+0:29 Sequence
+0:29 move second child to first child (temp int)
+0:29 'h1' (temp int)
+0:29 Constant:
+0:29 1 (const int)
+0:30 Sequence
+0:30 move second child to first child (temp int)
+0:30 'h2' (temp int)
+0:30 Constant:
+0:30 2 (const int)
+0:31 Sequence
+0:31 move second child to first child (temp int)
+0:31 'h300' (temp int)
+0:31 Constant:
+0:31 768 (const int)
+0:32 Sequence
+0:32 move second child to first child (temp int)
+0:32 'hABCDEF' (temp int)
+0:32 Constant:
+0:32 11259375 (const int)
+0:33 Sequence
+0:33 move second child to first child (temp int)
+0:33 'hFFFFFFFF' (temp int)
+0:33 Constant:
+0:33 -1 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp int)
+0:34 'h12345678' (temp int)
+0:34 Constant:
+0:34 12345678 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp int)
+0:35 'hToBeOrNotToBe' (temp int)
+0:35 Constant:
+0:35 -1 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp uint)
+0:37 'uh0' (temp uint)
+0:37 Constant:
+0:37 0 (const uint)
+0:38 Sequence
+0:38 move second child to first child (temp uint)
+0:38 'uhg' (temp uint)
+0:38 Constant:
+0:38 12 (const uint)
+0:39 Sequence
+0:39 move second child to first child (temp uint)
+0:39 'uh000' (temp uint)
+0:39 Constant:
+0:39 0 (const uint)
+0:40 Sequence
+0:40 move second child to first child (temp uint)
+0:40 'uh1' (temp uint)
+0:40 Constant:
+0:40 1 (const uint)
+0:41 Sequence
+0:41 move second child to first child (temp uint)
+0:41 'uh2' (temp uint)
+0:41 Constant:
+0:41 2 (const uint)
+0:42 Sequence
+0:42 move second child to first child (temp uint)
+0:42 'uh300' (temp uint)
+0:42 Constant:
+0:42 768 (const uint)
+0:43 Sequence
+0:43 move second child to first child (temp uint)
+0:43 'uhABCDEF' (temp uint)
+0:43 Constant:
+0:43 11259375 (const uint)
+0:44 Sequence
+0:44 move second child to first child (temp uint)
+0:44 'uhFFFFFFFF' (temp uint)
+0:44 Constant:
+0:44 4294967295 (const uint)
+0:45 Sequence
+0:45 move second child to first child (temp uint)
+0:45 'uh12345678' (temp uint)
+0:45 Constant:
+0:45 12345678 (const uint)
+0:46 Sequence
+0:46 move second child to first child (temp uint)
+0:46 'uhToBeOrNotToBe' (temp uint)
+0:46 Constant:
+0:46 4294967295 (const uint)
+0:49 Sequence
+0:49 move second child to first child (temp int)
+0:49 'he2' (temp int)
+0:49 Constant:
+0:49 0 (const int)
+0:50 Sequence
+0:50 move second child to first child (temp int)
+0:50 'hbig' (temp int)
+0:50 Constant:
+0:50 -1 (const int)
+0:52 Sequence
+0:52 move second child to first child (temp float)
+0:52 'f1' (temp float)
+0:52 Constant:
+0:52 1.000000
+0:53 Sequence
+0:53 move second child to first child (temp float)
+0:53 'f2' (temp float)
+0:53 Constant:
+0:53 2.000000
+0:54 Sequence
+0:54 move second child to first child (temp float)
+0:54 'f3' (temp float)
+0:54 Constant:
+0:54 3.000000
+0:55 Sequence
+0:55 move second child to first child (temp float)
+0:55 'f4' (temp float)
+0:55 Constant:
+0:55 4.000000
+0:56 Sequence
+0:56 move second child to first child (temp float)
+0:56 'f5' (temp float)
+0:56 Constant:
+0:56 5.000000
+0:57 Sequence
+0:57 move second child to first child (temp float)
+0:57 'f6' (temp float)
+0:57 Constant:
+0:57 6.000000
+0:58 Sequence
+0:58 move second child to first child (temp float)
+0:58 'f7' (temp float)
+0:58 Constant:
+0:58 7.000000
+0:59 Sequence
+0:59 move second child to first child (temp float)
+0:59 'f8' (temp float)
+0:59 Constant:
+0:59 8.000000
+0:60 Sequence
+0:60 move second child to first child (temp float)
+0:60 'f9' (temp float)
+0:60 Constant:
+0:60 9.000000
+0:61 Sequence
+0:61 move second child to first child (temp float)
+0:61 'f10' (temp float)
+0:61 Constant:
+0:61 10.000000
+0:62 Sequence
+0:62 move second child to first child (temp float)
+0:62 'f11' (temp float)
+0:62 Constant:
+0:62 11.000000
+0:63 Sequence
+0:63 move second child to first child (temp float)
+0:63 'f12' (temp float)
+0:63 Constant:
+0:63 12.000000
+0:64 Sequence
+0:64 move second child to first child (temp float)
+0:64 'f543' (temp float)
+0:64 Constant:
+0:64 543.000000
+0:65 Sequence
+0:65 move second child to first child (temp float)
+0:65 'f6789' (temp float)
+0:65 Constant:
+0:65 6789.000000
+0:66 Sequence
+0:66 move second child to first child (temp float)
+0:66 'f88' (temp float)
+0:66 Constant:
+0:66 88.000000
+0:68 Sequence
+0:68 move second child to first child (temp float)
+0:68 'g1' (temp float)
+0:68 Constant:
+0:68 53876.000000
+0:69 Sequence
+0:69 move second child to first child (temp float)
+0:69 'g2' (temp float)
+0:69 Constant:
+0:69 0.040000
+0:70 Sequence
+0:70 move second child to first child (temp float)
+0:70 'g3' (temp float)
+0:70 Constant:
+0:70 100000.000000
+0:71 Sequence
+0:71 move second child to first child (temp float)
+0:71 'g4' (temp float)
+0:71 Constant:
+0:71 0.007321
+0:72 Sequence
+0:72 move second child to first child (temp float)
+0:72 'g5' (temp float)
+0:72 Constant:
+0:72 32000.000000
+0:73 Sequence
+0:73 move second child to first child (temp float)
+0:73 'g6' (temp float)
+0:73 Constant:
+0:73 0.000005
+0:74 Sequence
+0:74 move second child to first child (temp float)
+0:74 'g7' (temp float)
+0:74 Constant:
+0:74 0.450000
+0:75 Sequence
+0:75 move second child to first child (temp float)
+0:75 'g8' (temp float)
+0:75 Constant:
+0:75 60000000000.000000
+0:77 Sequence
+0:77 move second child to first child (temp double)
+0:77 'gf1' (temp double)
+0:77 Constant:
+0:77 1.000000
+0:78 Sequence
+0:78 move second child to first child (temp double)
+0:78 'gf2' (temp double)
+0:78 Constant:
+0:78 2.000000
+0:79 Sequence
+0:79 move second child to first child (temp double)
+0:79 'gf3' (temp double)
+0:79 Constant:
+0:79 3.000000
+0:80 Sequence
+0:80 move second child to first child (temp double)
+0:80 'gf4' (temp double)
+0:80 Constant:
+0:80 4.000000
+0:81 Sequence
+0:81 move second child to first child (temp float)
+0:81 'gf5' (temp float)
+0:81 Constant:
+0:81 5.000000
+0:82 Sequence
+0:82 move second child to first child (temp float)
+0:82 'gf6' (temp float)
+0:82 Constant:
+0:82 6.000000
+0:88 Sequence
+0:88 move second child to first child (temp float)
+0:88 'e5' (temp float)
+0:88 Constant:
+0:88 5.000000
+0:98 Sequence
+0:98 move second child to first child (temp uint)
+0:98 'g1' (global uint)
+0:98 Constant:
+0:98 4294967295 (const uint)
+0:99 Sequence
+0:99 move second child to first child (temp uint)
+0:99 'g2' (global uint)
+0:99 Constant:
+0:99 4294967295 (const uint)
+0:100 Sequence
+0:100 move second child to first child (temp uint)
+0:100 'g3' (global uint)
+0:100 Constant:
+0:100 4294967294 (const uint)
+0:101 Sequence
+0:101 move second child to first child (temp int)
+0:101 'g4' (global int)
+0:101 Constant:
+0:101 -1 (const int)
+0:102 Sequence
+0:102 move second child to first child (temp int)
+0:102 'g5' (global int)
+0:102 Constant:
+0:102 -1 (const int)
+0:103 Sequence
+0:103 move second child to first child (temp int)
+0:103 'g6' (global int)
+0:103 Constant:
+0:103 -2 (const int)
+0:? Linker Objects
+0:? 'c2' (layout(location=2 ) out 4-component vector of float)
+0:? 'c3' (layout(location=3 ) out 4-component vector of float)
+0:? 'c4' (layout(location=4 ) out 4-component vector of float)
+0:? 'c5' (layout(location=5 ) out 4-component vector of float)
+0:? 'c6' (layout(location=6 ) out 4-component vector of float)
+0:? 'c7' (layout(location=7 ) out 4-component vector of float)
+0:? 'g1' (global uint)
+0:? 'g2' (global uint)
+0:? 'g3' (global uint)
+0:? 'g4' (global int)
+0:? 'g5' (global int)
+0:? 'g6' (global int)
+
diff --git a/Test/baseResults/pointCoord.frag.out b/Test/baseResults/pointCoord.frag.out
index 575b1aa..633d8b9 100644
--- a/Test/baseResults/pointCoord.frag.out
+++ b/Test/baseResults/pointCoord.frag.out
@@ -1,69 +1,69 @@
-pointCoord.frag
-Shader version: 100
-0:? Sequence
-0:5 Function Definition: main( (global void)
-0:5 Function Parameters:
-0:? Sequence
-0:9 Test condition and select (temp void)
-0:9 Condition
-0:9 Compare Less Than (temp bool)
-0:9 length (global mediump float)
-0:9 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord)
-0:9 Constant:
-0:9 0.300000
-0:9 true case
-0:10 move second child to first child (temp highp 4-component vector of float)
-0:10 'color' (temp highp 4-component vector of float)
-0:10 texture (global lowp 4-component vector of float)
-0:10 'sampler' (uniform lowp sampler2D)
-0:10 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord)
-0:9 false case
-0:12 move second child to first child (temp highp 4-component vector of float)
-0:12 'color' (temp highp 4-component vector of float)
-0:12 Constant:
-0:12 0.000000
-0:12 0.000000
-0:12 0.000000
-0:12 0.000000
-0:14 move second child to first child (temp highp 4-component vector of float)
-0:14 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor)
-0:14 'color' (temp highp 4-component vector of float)
-0:? Linker Objects
-0:? 'sampler' (uniform lowp sampler2D)
-
-
-Linked fragment stage:
-
-
-Shader version: 100
-0:? Sequence
-0:5 Function Definition: main( (global void)
-0:5 Function Parameters:
-0:? Sequence
-0:9 Test condition and select (temp void)
-0:9 Condition
-0:9 Compare Less Than (temp bool)
-0:9 length (global mediump float)
-0:9 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord)
-0:9 Constant:
-0:9 0.300000
-0:9 true case
-0:10 move second child to first child (temp highp 4-component vector of float)
-0:10 'color' (temp highp 4-component vector of float)
-0:10 texture (global lowp 4-component vector of float)
-0:10 'sampler' (uniform lowp sampler2D)
-0:10 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord)
-0:9 false case
-0:12 move second child to first child (temp highp 4-component vector of float)
-0:12 'color' (temp highp 4-component vector of float)
-0:12 Constant:
-0:12 0.000000
-0:12 0.000000
-0:12 0.000000
-0:12 0.000000
-0:14 move second child to first child (temp highp 4-component vector of float)
-0:14 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor)
-0:14 'color' (temp highp 4-component vector of float)
-0:? Linker Objects
-0:? 'sampler' (uniform lowp sampler2D)
-
+pointCoord.frag
+Shader version: 100
+0:? Sequence
+0:5 Function Definition: main( (global void)
+0:5 Function Parameters:
+0:? Sequence
+0:9 Test condition and select (temp void)
+0:9 Condition
+0:9 Compare Less Than (temp bool)
+0:9 length (global mediump float)
+0:9 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord)
+0:9 Constant:
+0:9 0.300000
+0:9 true case
+0:10 move second child to first child (temp highp 4-component vector of float)
+0:10 'color' (temp highp 4-component vector of float)
+0:10 texture (global lowp 4-component vector of float)
+0:10 'sampler' (uniform lowp sampler2D)
+0:10 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord)
+0:9 false case
+0:12 move second child to first child (temp highp 4-component vector of float)
+0:12 'color' (temp highp 4-component vector of float)
+0:12 Constant:
+0:12 0.000000
+0:12 0.000000
+0:12 0.000000
+0:12 0.000000
+0:14 move second child to first child (temp highp 4-component vector of float)
+0:14 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor)
+0:14 'color' (temp highp 4-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform lowp sampler2D)
+
+
+Linked fragment stage:
+
+
+Shader version: 100
+0:? Sequence
+0:5 Function Definition: main( (global void)
+0:5 Function Parameters:
+0:? Sequence
+0:9 Test condition and select (temp void)
+0:9 Condition
+0:9 Compare Less Than (temp bool)
+0:9 length (global mediump float)
+0:9 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord)
+0:9 Constant:
+0:9 0.300000
+0:9 true case
+0:10 move second child to first child (temp highp 4-component vector of float)
+0:10 'color' (temp highp 4-component vector of float)
+0:10 texture (global lowp 4-component vector of float)
+0:10 'sampler' (uniform lowp sampler2D)
+0:10 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float PointCoord)
+0:9 false case
+0:12 move second child to first child (temp highp 4-component vector of float)
+0:12 'color' (temp highp 4-component vector of float)
+0:12 Constant:
+0:12 0.000000
+0:12 0.000000
+0:12 0.000000
+0:12 0.000000
+0:14 move second child to first child (temp highp 4-component vector of float)
+0:14 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor)
+0:14 'color' (temp highp 4-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform lowp sampler2D)
+
diff --git a/Test/baseResults/precision.frag.out b/Test/baseResults/precision.frag.out
index 6733dee..79485b4 100644
--- a/Test/baseResults/precision.frag.out
+++ b/Test/baseResults/precision.frag.out
@@ -1,245 +1,245 @@
-precision.frag
-ERROR: 0:3: 'float' : type requires declaration of default precision qualifier
-ERROR: 0:18: 'int' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
-ERROR: 0:19: 'int' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
-ERROR: 0:21: 'float' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
-ERROR: 0:72: 'bool' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
-ERROR: 0:75: 'structure' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
-ERROR: 0:76: 'bool' : type cannot have precision qualifier
-ERROR: 7 compilation errors. No code generated.
-
-
-Shader version: 100
-ERROR: node is still EOpNull!
-0:5 Function Definition: foo(vf3; (global lowp 2-component vector of float)
-0:5 Function Parameters:
-0:5 'mv3' (in mediump 3-component vector of float)
-0:? Sequence
-0:8 Branch: Return with expression
-0:8 vector swizzle (temp highp 2-component vector of float)
-0:8 'hv4' (temp highp 4-component vector of float)
-0:8 Sequence
-0:8 Constant:
-0:8 0 (const int)
-0:8 Constant:
-0:8 1 (const int)
-0:25 Function Definition: main( (global void)
-0:25 Function Parameters:
-0:27 Sequence
-0:27 Sequence
-0:27 move second child to first child (temp highp int)
-0:27 'sum' (temp lowp int)
-0:27 add (temp highp int)
-0:27 'global_medium' (global mediump int)
-0:27 'global_high' (global highp int)
-0:29 move second child to first child (temp mediump 4-component vector of float)
-0:29 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor)
-0:29 Construct vec4 (temp mediump 4-component vector of float)
-0:29 'color' (smooth in mediump 3-component vector of float)
-0:29 Constant:
-0:29 1.000000
-0:32 add second child into first child (temp highp int)
-0:32 'sum' (temp lowp int)
-0:32 'level1_high' (temp highp int)
-0:36 add second child into first child (temp lowp int)
-0:36 'sum' (temp lowp int)
-0:36 'level1_low' (temp lowp int)
-0:41 Sequence
-0:41 move second child to first child (temp mediump float)
-0:41 'd' (temp lowp float)
-0:41 distance (global mediump float)
-0:41 'arg1' (temp lowp float)
-0:41 'arg2' (temp mediump float)
-0:? Sequence
-0:45 add second child into first child (temp lowp int)
-0:45 'sum' (temp lowp int)
-0:45 'level2_low' (temp lowp int)
-0:49 add second child into first child (temp highp int)
-0:49 'sum' (temp lowp int)
-0:49 'level2_high' (temp highp int)
-0:58 Loop with condition not tested first
-0:58 Loop Condition
-0:58 Constant:
-0:58 true (const bool)
-0:58 Loop Body
-0:51 Sequence
-0:51 Test condition and select (temp void)
-0:51 Condition
-0:51 Constant:
-0:51 true (const bool)
-0:51 true case
-0:? Sequence
-0:54 add second child into first child (temp mediump int)
-0:54 'sum' (temp lowp int)
-0:54 'level4_medium' (temp mediump int)
-0:57 add second child into first child (temp highp int)
-0:57 'sum' (temp lowp int)
-0:57 'level3_high' (temp highp int)
-0:60 add second child into first child (temp highp int)
-0:60 'sum' (temp lowp int)
-0:60 'level2_high2' (temp highp int)
-0:63 add second child into first child (temp lowp int)
-0:63 'sum' (temp lowp int)
-0:63 'level1_low3' (temp lowp int)
-0:65 add second child into first child (temp lowp int)
-0:65 'sum' (temp lowp int)
-0:65 add (temp lowp int)
-0:65 Constant:
-0:65 4 (const int)
-0:65 direct index (temp lowp int)
-0:65 add (temp lowp 2-component vector of int)
-0:65 component-wise multiply (temp lowp 2-component vector of int)
-0:65 Construct ivec2 (temp lowp 2-component vector of int)
-0:65 'level1_low3' (temp lowp int)
-0:65 Construct ivec2 (temp lowp 2-component vector of int)
-0:65 'level1_high' (temp highp int)
-0:65 Construct ivec2 (temp lowp 2-component vector of int)
-0:65 Comma (temp highp int)
-0:65 'level1_low3' (temp lowp int)
-0:65 'level1_high' (temp highp int)
-0:65 Constant:
-0:65 0 (const int)
-0:67 texture (global lowp 4-component vector of float)
-0:67 'samplerLow' (uniform lowp sampler2D)
-0:67 Constant:
-0:67 0.100000
-0:67 0.200000
-0:68 texture (global mediump 4-component vector of float)
-0:68 'samplerMed' (uniform mediump sampler2D)
-0:68 Constant:
-0:68 0.100000
-0:68 0.200000
-0:69 texture (global highp 4-component vector of float)
-0:69 'samplerHigh' (uniform highp sampler2D)
-0:69 Constant:
-0:69 0.100000
-0:69 0.200000
-0:? Linker Objects
-0:? 'color' (smooth in mediump 3-component vector of float)
-0:? 'global_medium' (global mediump int)
-0:? 'samplerLow' (uniform lowp sampler2D)
-0:? 'samplerMed' (uniform mediump sampler2D)
-0:? 'samplerHigh' (uniform highp sampler2D)
-0:? 'uint' (global mediump 4-component vector of float)
-0:? 'global_high' (global highp int)
-0:? 'b2' (global mediump 2-component vector of bool)
-
-
-Linked fragment stage:
-
-
-Shader version: 100
-ERROR: node is still EOpNull!
-0:5 Function Definition: foo(vf3; (global lowp 2-component vector of float)
-0:5 Function Parameters:
-0:5 'mv3' (in mediump 3-component vector of float)
-0:? Sequence
-0:8 Branch: Return with expression
-0:8 vector swizzle (temp highp 2-component vector of float)
-0:8 'hv4' (temp highp 4-component vector of float)
-0:8 Sequence
-0:8 Constant:
-0:8 0 (const int)
-0:8 Constant:
-0:8 1 (const int)
-0:25 Function Definition: main( (global void)
-0:25 Function Parameters:
-0:27 Sequence
-0:27 Sequence
-0:27 move second child to first child (temp highp int)
-0:27 'sum' (temp lowp int)
-0:27 add (temp highp int)
-0:27 'global_medium' (global mediump int)
-0:27 'global_high' (global highp int)
-0:29 move second child to first child (temp mediump 4-component vector of float)
-0:29 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor)
-0:29 Construct vec4 (temp mediump 4-component vector of float)
-0:29 'color' (smooth in mediump 3-component vector of float)
-0:29 Constant:
-0:29 1.000000
-0:32 add second child into first child (temp highp int)
-0:32 'sum' (temp lowp int)
-0:32 'level1_high' (temp highp int)
-0:36 add second child into first child (temp lowp int)
-0:36 'sum' (temp lowp int)
-0:36 'level1_low' (temp lowp int)
-0:41 Sequence
-0:41 move second child to first child (temp mediump float)
-0:41 'd' (temp lowp float)
-0:41 distance (global mediump float)
-0:41 'arg1' (temp lowp float)
-0:41 'arg2' (temp mediump float)
-0:? Sequence
-0:45 add second child into first child (temp lowp int)
-0:45 'sum' (temp lowp int)
-0:45 'level2_low' (temp lowp int)
-0:49 add second child into first child (temp highp int)
-0:49 'sum' (temp lowp int)
-0:49 'level2_high' (temp highp int)
-0:58 Loop with condition not tested first
-0:58 Loop Condition
-0:58 Constant:
-0:58 true (const bool)
-0:58 Loop Body
-0:51 Sequence
-0:51 Test condition and select (temp void)
-0:51 Condition
-0:51 Constant:
-0:51 true (const bool)
-0:51 true case
-0:? Sequence
-0:54 add second child into first child (temp mediump int)
-0:54 'sum' (temp lowp int)
-0:54 'level4_medium' (temp mediump int)
-0:57 add second child into first child (temp highp int)
-0:57 'sum' (temp lowp int)
-0:57 'level3_high' (temp highp int)
-0:60 add second child into first child (temp highp int)
-0:60 'sum' (temp lowp int)
-0:60 'level2_high2' (temp highp int)
-0:63 add second child into first child (temp lowp int)
-0:63 'sum' (temp lowp int)
-0:63 'level1_low3' (temp lowp int)
-0:65 add second child into first child (temp lowp int)
-0:65 'sum' (temp lowp int)
-0:65 add (temp lowp int)
-0:65 Constant:
-0:65 4 (const int)
-0:65 direct index (temp lowp int)
-0:65 add (temp lowp 2-component vector of int)
-0:65 component-wise multiply (temp lowp 2-component vector of int)
-0:65 Construct ivec2 (temp lowp 2-component vector of int)
-0:65 'level1_low3' (temp lowp int)
-0:65 Construct ivec2 (temp lowp 2-component vector of int)
-0:65 'level1_high' (temp highp int)
-0:65 Construct ivec2 (temp lowp 2-component vector of int)
-0:65 Comma (temp highp int)
-0:65 'level1_low3' (temp lowp int)
-0:65 'level1_high' (temp highp int)
-0:65 Constant:
-0:65 0 (const int)
-0:67 texture (global lowp 4-component vector of float)
-0:67 'samplerLow' (uniform lowp sampler2D)
-0:67 Constant:
-0:67 0.100000
-0:67 0.200000
-0:68 texture (global mediump 4-component vector of float)
-0:68 'samplerMed' (uniform mediump sampler2D)
-0:68 Constant:
-0:68 0.100000
-0:68 0.200000
-0:69 texture (global highp 4-component vector of float)
-0:69 'samplerHigh' (uniform highp sampler2D)
-0:69 Constant:
-0:69 0.100000
-0:69 0.200000
-0:? Linker Objects
-0:? 'color' (smooth in mediump 3-component vector of float)
-0:? 'global_medium' (global mediump int)
-0:? 'samplerLow' (uniform lowp sampler2D)
-0:? 'samplerMed' (uniform mediump sampler2D)
-0:? 'samplerHigh' (uniform highp sampler2D)
-0:? 'uint' (global mediump 4-component vector of float)
-0:? 'global_high' (global highp int)
-0:? 'b2' (global mediump 2-component vector of bool)
-
+precision.frag
+ERROR: 0:3: 'float' : type requires declaration of default precision qualifier
+ERROR: 0:18: 'int' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
+ERROR: 0:19: 'int' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
+ERROR: 0:21: 'float' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
+ERROR: 0:72: 'bool' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
+ERROR: 0:75: 'structure' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
+ERROR: 0:76: 'bool' : type cannot have precision qualifier
+ERROR: 7 compilation errors. No code generated.
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:5 Function Definition: foo(vf3; (global lowp 2-component vector of float)
+0:5 Function Parameters:
+0:5 'mv3' (in mediump 3-component vector of float)
+0:? Sequence
+0:8 Branch: Return with expression
+0:8 vector swizzle (temp highp 2-component vector of float)
+0:8 'hv4' (temp highp 4-component vector of float)
+0:8 Sequence
+0:8 Constant:
+0:8 0 (const int)
+0:8 Constant:
+0:8 1 (const int)
+0:25 Function Definition: main( (global void)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 Sequence
+0:27 move second child to first child (temp highp int)
+0:27 'sum' (temp lowp int)
+0:27 add (temp highp int)
+0:27 'global_medium' (global mediump int)
+0:27 'global_high' (global highp int)
+0:29 move second child to first child (temp mediump 4-component vector of float)
+0:29 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor)
+0:29 Construct vec4 (temp mediump 4-component vector of float)
+0:29 'color' (smooth in mediump 3-component vector of float)
+0:29 Constant:
+0:29 1.000000
+0:32 add second child into first child (temp highp int)
+0:32 'sum' (temp lowp int)
+0:32 'level1_high' (temp highp int)
+0:36 add second child into first child (temp lowp int)
+0:36 'sum' (temp lowp int)
+0:36 'level1_low' (temp lowp int)
+0:41 Sequence
+0:41 move second child to first child (temp mediump float)
+0:41 'd' (temp lowp float)
+0:41 distance (global mediump float)
+0:41 'arg1' (temp lowp float)
+0:41 'arg2' (temp mediump float)
+0:? Sequence
+0:45 add second child into first child (temp lowp int)
+0:45 'sum' (temp lowp int)
+0:45 'level2_low' (temp lowp int)
+0:49 add second child into first child (temp highp int)
+0:49 'sum' (temp lowp int)
+0:49 'level2_high' (temp highp int)
+0:58 Loop with condition not tested first
+0:58 Loop Condition
+0:58 Constant:
+0:58 true (const bool)
+0:58 Loop Body
+0:51 Sequence
+0:51 Test condition and select (temp void)
+0:51 Condition
+0:51 Constant:
+0:51 true (const bool)
+0:51 true case
+0:? Sequence
+0:54 add second child into first child (temp mediump int)
+0:54 'sum' (temp lowp int)
+0:54 'level4_medium' (temp mediump int)
+0:57 add second child into first child (temp highp int)
+0:57 'sum' (temp lowp int)
+0:57 'level3_high' (temp highp int)
+0:60 add second child into first child (temp highp int)
+0:60 'sum' (temp lowp int)
+0:60 'level2_high2' (temp highp int)
+0:63 add second child into first child (temp lowp int)
+0:63 'sum' (temp lowp int)
+0:63 'level1_low3' (temp lowp int)
+0:65 add second child into first child (temp lowp int)
+0:65 'sum' (temp lowp int)
+0:65 add (temp lowp int)
+0:65 Constant:
+0:65 4 (const int)
+0:65 direct index (temp lowp int)
+0:65 add (temp lowp 2-component vector of int)
+0:65 component-wise multiply (temp lowp 2-component vector of int)
+0:65 Construct ivec2 (temp lowp 2-component vector of int)
+0:65 'level1_low3' (temp lowp int)
+0:65 Construct ivec2 (temp lowp 2-component vector of int)
+0:65 'level1_high' (temp highp int)
+0:65 Construct ivec2 (temp lowp 2-component vector of int)
+0:65 Comma (temp highp int)
+0:65 'level1_low3' (temp lowp int)
+0:65 'level1_high' (temp highp int)
+0:65 Constant:
+0:65 0 (const int)
+0:67 texture (global lowp 4-component vector of float)
+0:67 'samplerLow' (uniform lowp sampler2D)
+0:67 Constant:
+0:67 0.100000
+0:67 0.200000
+0:68 texture (global mediump 4-component vector of float)
+0:68 'samplerMed' (uniform mediump sampler2D)
+0:68 Constant:
+0:68 0.100000
+0:68 0.200000
+0:69 texture (global highp 4-component vector of float)
+0:69 'samplerHigh' (uniform highp sampler2D)
+0:69 Constant:
+0:69 0.100000
+0:69 0.200000
+0:? Linker Objects
+0:? 'color' (smooth in mediump 3-component vector of float)
+0:? 'global_medium' (global mediump int)
+0:? 'samplerLow' (uniform lowp sampler2D)
+0:? 'samplerMed' (uniform mediump sampler2D)
+0:? 'samplerHigh' (uniform highp sampler2D)
+0:? 'uint' (global mediump 4-component vector of float)
+0:? 'global_high' (global highp int)
+0:? 'b2' (global mediump 2-component vector of bool)
+
+
+Linked fragment stage:
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:5 Function Definition: foo(vf3; (global lowp 2-component vector of float)
+0:5 Function Parameters:
+0:5 'mv3' (in mediump 3-component vector of float)
+0:? Sequence
+0:8 Branch: Return with expression
+0:8 vector swizzle (temp highp 2-component vector of float)
+0:8 'hv4' (temp highp 4-component vector of float)
+0:8 Sequence
+0:8 Constant:
+0:8 0 (const int)
+0:8 Constant:
+0:8 1 (const int)
+0:25 Function Definition: main( (global void)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 Sequence
+0:27 move second child to first child (temp highp int)
+0:27 'sum' (temp lowp int)
+0:27 add (temp highp int)
+0:27 'global_medium' (global mediump int)
+0:27 'global_high' (global highp int)
+0:29 move second child to first child (temp mediump 4-component vector of float)
+0:29 'gl_FragColor' (fragColor mediump 4-component vector of float FragColor)
+0:29 Construct vec4 (temp mediump 4-component vector of float)
+0:29 'color' (smooth in mediump 3-component vector of float)
+0:29 Constant:
+0:29 1.000000
+0:32 add second child into first child (temp highp int)
+0:32 'sum' (temp lowp int)
+0:32 'level1_high' (temp highp int)
+0:36 add second child into first child (temp lowp int)
+0:36 'sum' (temp lowp int)
+0:36 'level1_low' (temp lowp int)
+0:41 Sequence
+0:41 move second child to first child (temp mediump float)
+0:41 'd' (temp lowp float)
+0:41 distance (global mediump float)
+0:41 'arg1' (temp lowp float)
+0:41 'arg2' (temp mediump float)
+0:? Sequence
+0:45 add second child into first child (temp lowp int)
+0:45 'sum' (temp lowp int)
+0:45 'level2_low' (temp lowp int)
+0:49 add second child into first child (temp highp int)
+0:49 'sum' (temp lowp int)
+0:49 'level2_high' (temp highp int)
+0:58 Loop with condition not tested first
+0:58 Loop Condition
+0:58 Constant:
+0:58 true (const bool)
+0:58 Loop Body
+0:51 Sequence
+0:51 Test condition and select (temp void)
+0:51 Condition
+0:51 Constant:
+0:51 true (const bool)
+0:51 true case
+0:? Sequence
+0:54 add second child into first child (temp mediump int)
+0:54 'sum' (temp lowp int)
+0:54 'level4_medium' (temp mediump int)
+0:57 add second child into first child (temp highp int)
+0:57 'sum' (temp lowp int)
+0:57 'level3_high' (temp highp int)
+0:60 add second child into first child (temp highp int)
+0:60 'sum' (temp lowp int)
+0:60 'level2_high2' (temp highp int)
+0:63 add second child into first child (temp lowp int)
+0:63 'sum' (temp lowp int)
+0:63 'level1_low3' (temp lowp int)
+0:65 add second child into first child (temp lowp int)
+0:65 'sum' (temp lowp int)
+0:65 add (temp lowp int)
+0:65 Constant:
+0:65 4 (const int)
+0:65 direct index (temp lowp int)
+0:65 add (temp lowp 2-component vector of int)
+0:65 component-wise multiply (temp lowp 2-component vector of int)
+0:65 Construct ivec2 (temp lowp 2-component vector of int)
+0:65 'level1_low3' (temp lowp int)
+0:65 Construct ivec2 (temp lowp 2-component vector of int)
+0:65 'level1_high' (temp highp int)
+0:65 Construct ivec2 (temp lowp 2-component vector of int)
+0:65 Comma (temp highp int)
+0:65 'level1_low3' (temp lowp int)
+0:65 'level1_high' (temp highp int)
+0:65 Constant:
+0:65 0 (const int)
+0:67 texture (global lowp 4-component vector of float)
+0:67 'samplerLow' (uniform lowp sampler2D)
+0:67 Constant:
+0:67 0.100000
+0:67 0.200000
+0:68 texture (global mediump 4-component vector of float)
+0:68 'samplerMed' (uniform mediump sampler2D)
+0:68 Constant:
+0:68 0.100000
+0:68 0.200000
+0:69 texture (global highp 4-component vector of float)
+0:69 'samplerHigh' (uniform highp sampler2D)
+0:69 Constant:
+0:69 0.100000
+0:69 0.200000
+0:? Linker Objects
+0:? 'color' (smooth in mediump 3-component vector of float)
+0:? 'global_medium' (global mediump int)
+0:? 'samplerLow' (uniform lowp sampler2D)
+0:? 'samplerMed' (uniform mediump sampler2D)
+0:? 'samplerHigh' (uniform highp sampler2D)
+0:? 'uint' (global mediump 4-component vector of float)
+0:? 'global_high' (global highp int)
+0:? 'b2' (global mediump 2-component vector of bool)
+
diff --git a/Test/baseResults/precision.vert.out b/Test/baseResults/precision.vert.out
index 2b6373e..69b0e96 100644
--- a/Test/baseResults/precision.vert.out
+++ b/Test/baseResults/precision.vert.out
@@ -1,99 +1,99 @@
-precision.vert
-ERROR: 0:7: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:8: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 0:14: 'sampler/image' : type requires declaration of default precision qualifier
-ERROR: 3 compilation errors. No code generated.
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:18 Function Definition: main( (global void)
-0:18 Function Parameters:
-0:20 Sequence
-0:20 Sequence
-0:20 move second child to first child (temp highp 4-component vector of float)
-0:20 't' (temp highp 4-component vector of float)
-0:20 texture (global highp 4-component vector of float)
-0:20 's2D' (uniform lowp sampler2D)
-0:20 Constant:
-0:20 0.100000
-0:20 0.200000
-0:21 add second child into first child (temp highp 4-component vector of float)
-0:21 't' (temp highp 4-component vector of float)
-0:21 texture (global highp 4-component vector of float)
-0:21 's2Dhigh' (uniform highp sampler2D)
-0:21 Constant:
-0:21 0.100000
-0:21 0.200000
-0:22 add second child into first child (temp highp 4-component vector of float)
-0:22 't' (temp highp 4-component vector of float)
-0:22 texture (global highp float)
-0:22 's2dAS' (uniform mediump sampler2DArrayShadow)
-0:22 Constant:
-0:22 0.500000
-0:22 0.500000
-0:22 0.500000
-0:22 0.500000
-0:24 move second child to first child (temp highp 4-component vector of float)
-0:24 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:24 'pos' (in highp 4-component vector of float)
-0:? Linker Objects
-0:? 'pos' (in highp 4-component vector of float)
-0:? 's2D' (uniform lowp sampler2D)
-0:? 'sCube' (uniform lowp samplerCube)
-0:? 'is2DAbad' (uniform mediump isampler2DArray)
-0:? 's2dASbad' (uniform mediump sampler2DArrayShadow)
-0:? 's2dAS' (uniform mediump sampler2DArrayShadow)
-0:? 'is2DAbad2' (uniform mediump isampler2DArray)
-0:? 's2Dhigh' (uniform highp sampler2D)
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:18 Function Definition: main( (global void)
-0:18 Function Parameters:
-0:20 Sequence
-0:20 Sequence
-0:20 move second child to first child (temp highp 4-component vector of float)
-0:20 't' (temp highp 4-component vector of float)
-0:20 texture (global highp 4-component vector of float)
-0:20 's2D' (uniform lowp sampler2D)
-0:20 Constant:
-0:20 0.100000
-0:20 0.200000
-0:21 add second child into first child (temp highp 4-component vector of float)
-0:21 't' (temp highp 4-component vector of float)
-0:21 texture (global highp 4-component vector of float)
-0:21 's2Dhigh' (uniform highp sampler2D)
-0:21 Constant:
-0:21 0.100000
-0:21 0.200000
-0:22 add second child into first child (temp highp 4-component vector of float)
-0:22 't' (temp highp 4-component vector of float)
-0:22 texture (global highp float)
-0:22 's2dAS' (uniform mediump sampler2DArrayShadow)
-0:22 Constant:
-0:22 0.500000
-0:22 0.500000
-0:22 0.500000
-0:22 0.500000
-0:24 move second child to first child (temp highp 4-component vector of float)
-0:24 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:24 'pos' (in highp 4-component vector of float)
-0:? Linker Objects
-0:? 'pos' (in highp 4-component vector of float)
-0:? 's2D' (uniform lowp sampler2D)
-0:? 'sCube' (uniform lowp samplerCube)
-0:? 'is2DAbad' (uniform mediump isampler2DArray)
-0:? 's2dASbad' (uniform mediump sampler2DArrayShadow)
-0:? 's2dAS' (uniform mediump sampler2DArrayShadow)
-0:? 'is2DAbad2' (uniform mediump isampler2DArray)
-0:? 's2Dhigh' (uniform highp sampler2D)
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
+precision.vert
+ERROR: 0:7: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:8: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 0:14: 'sampler/image' : type requires declaration of default precision qualifier
+ERROR: 3 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:18 Function Definition: main( (global void)
+0:18 Function Parameters:
+0:20 Sequence
+0:20 Sequence
+0:20 move second child to first child (temp highp 4-component vector of float)
+0:20 't' (temp highp 4-component vector of float)
+0:20 texture (global highp 4-component vector of float)
+0:20 's2D' (uniform lowp sampler2D)
+0:20 Constant:
+0:20 0.100000
+0:20 0.200000
+0:21 add second child into first child (temp highp 4-component vector of float)
+0:21 't' (temp highp 4-component vector of float)
+0:21 texture (global highp 4-component vector of float)
+0:21 's2Dhigh' (uniform highp sampler2D)
+0:21 Constant:
+0:21 0.100000
+0:21 0.200000
+0:22 add second child into first child (temp highp 4-component vector of float)
+0:22 't' (temp highp 4-component vector of float)
+0:22 texture (global highp float)
+0:22 's2dAS' (uniform mediump sampler2DArrayShadow)
+0:22 Constant:
+0:22 0.500000
+0:22 0.500000
+0:22 0.500000
+0:22 0.500000
+0:24 move second child to first child (temp highp 4-component vector of float)
+0:24 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:24 'pos' (in highp 4-component vector of float)
+0:? Linker Objects
+0:? 'pos' (in highp 4-component vector of float)
+0:? 's2D' (uniform lowp sampler2D)
+0:? 'sCube' (uniform lowp samplerCube)
+0:? 'is2DAbad' (uniform mediump isampler2DArray)
+0:? 's2dASbad' (uniform mediump sampler2DArrayShadow)
+0:? 's2dAS' (uniform mediump sampler2DArrayShadow)
+0:? 'is2DAbad2' (uniform mediump isampler2DArray)
+0:? 's2Dhigh' (uniform highp sampler2D)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:18 Function Definition: main( (global void)
+0:18 Function Parameters:
+0:20 Sequence
+0:20 Sequence
+0:20 move second child to first child (temp highp 4-component vector of float)
+0:20 't' (temp highp 4-component vector of float)
+0:20 texture (global highp 4-component vector of float)
+0:20 's2D' (uniform lowp sampler2D)
+0:20 Constant:
+0:20 0.100000
+0:20 0.200000
+0:21 add second child into first child (temp highp 4-component vector of float)
+0:21 't' (temp highp 4-component vector of float)
+0:21 texture (global highp 4-component vector of float)
+0:21 's2Dhigh' (uniform highp sampler2D)
+0:21 Constant:
+0:21 0.100000
+0:21 0.200000
+0:22 add second child into first child (temp highp 4-component vector of float)
+0:22 't' (temp highp 4-component vector of float)
+0:22 texture (global highp float)
+0:22 's2dAS' (uniform mediump sampler2DArrayShadow)
+0:22 Constant:
+0:22 0.500000
+0:22 0.500000
+0:22 0.500000
+0:22 0.500000
+0:24 move second child to first child (temp highp 4-component vector of float)
+0:24 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:24 'pos' (in highp 4-component vector of float)
+0:? Linker Objects
+0:? 'pos' (in highp 4-component vector of float)
+0:? 's2D' (uniform lowp sampler2D)
+0:? 'sCube' (uniform lowp samplerCube)
+0:? 'is2DAbad' (uniform mediump isampler2DArray)
+0:? 's2dASbad' (uniform mediump sampler2DArrayShadow)
+0:? 's2dAS' (uniform mediump sampler2DArrayShadow)
+0:? 'is2DAbad2' (uniform mediump isampler2DArray)
+0:? 's2Dhigh' (uniform highp sampler2D)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/Test/baseResults/prepost.frag.out b/Test/baseResults/prepost.frag.out
index 42769ff..ac24229 100644
--- a/Test/baseResults/prepost.frag.out
+++ b/Test/baseResults/prepost.frag.out
@@ -1,271 +1,271 @@
-prepost.frag
-Shader version: 140
-0:? Sequence
-0:3 Function Definition: main( (global void)
-0:3 Function Parameters:
-0:? Sequence
-0:10 Sequence
-0:10 move second child to first child (temp int)
-0:10 'index' (temp int)
-0:10 Constant:
-0:10 5 (const int)
-0:12 move second child to first child (temp float)
-0:12 direct index (temp float)
-0:12 y: direct index for structure (temp 5-element array of float)
-0:12 'str' (temp structure{temp 5-element array of float y})
-0:12 Constant:
-0:12 0 (const int)
-0:12 Constant:
-0:12 4 (const int)
-0:12 Constant:
-0:12 2.000000
-0:13 move second child to first child (temp float)
-0:13 't' (temp float)
-0:13 Pre-Increment (temp float)
-0:13 indirect index (temp float)
-0:13 y: direct index for structure (temp 5-element array of float)
-0:13 'str' (temp structure{temp 5-element array of float y})
-0:13 Constant:
-0:13 0 (const int)
-0:13 Pre-Decrement (temp int)
-0:13 'index' (temp int)
-0:14 add second child into first child (temp float)
-0:14 direct index (temp float)
-0:14 y: direct index for structure (temp 5-element array of float)
-0:14 'str' (temp structure{temp 5-element array of float y})
-0:14 Constant:
-0:14 0 (const int)
-0:14 Constant:
-0:14 4 (const int)
-0:14 't' (temp float)
-0:15 move second child to first child (temp float)
-0:15 't' (temp float)
-0:15 Post-Decrement (temp float)
-0:15 direct index (temp float)
-0:15 y: direct index for structure (temp 5-element array of float)
-0:15 'str' (temp structure{temp 5-element array of float y})
-0:15 Constant:
-0:15 0 (const int)
-0:15 Constant:
-0:15 4 (const int)
-0:16 add second child into first child (temp float)
-0:16 indirect index (temp float)
-0:16 y: direct index for structure (temp 5-element array of float)
-0:16 'str' (temp structure{temp 5-element array of float y})
-0:16 Constant:
-0:16 0 (const int)
-0:16 Post-Increment (temp int)
-0:16 'index' (temp int)
-0:16 't' (temp float)
-0:17 Pre-Decrement (temp float)
-0:17 indirect index (temp float)
-0:17 y: direct index for structure (temp 5-element array of float)
-0:17 'str' (temp structure{temp 5-element array of float y})
-0:17 Constant:
-0:17 0 (const int)
-0:17 Pre-Decrement (temp int)
-0:17 'index' (temp int)
-0:19 Sequence
-0:19 move second child to first child (temp float)
-0:19 'x' (temp float)
-0:19 direct index (temp float)
-0:19 y: direct index for structure (temp 5-element array of float)
-0:19 'str' (temp structure{temp 5-element array of float y})
-0:19 Constant:
-0:19 0 (const int)
-0:19 Constant:
-0:19 4 (const int)
-0:20 Pre-Increment (temp float)
-0:20 'x' (temp float)
-0:21 Pre-Decrement (temp float)
-0:21 'x' (temp float)
-0:22 Post-Increment (temp float)
-0:22 'x' (temp float)
-0:23 Post-Decrement (temp float)
-0:23 'x' (temp float)
-0:27 Sequence
-0:27 move second child to first child (temp float)
-0:27 'y' (temp float)
-0:27 component-wise multiply (temp float)
-0:27 'x' (temp float)
-0:27 Pre-Increment (temp float)
-0:27 'x' (temp float)
-0:28 Sequence
-0:28 move second child to first child (temp float)
-0:28 'z' (temp float)
-0:28 component-wise multiply (temp float)
-0:28 'y' (temp float)
-0:28 Post-Decrement (temp float)
-0:28 'x' (temp float)
-0:33 Sequence
-0:33 move second child to first child (temp 4-component vector of float)
-0:33 'v' (temp 4-component vector of float)
-0:33 Constant:
-0:33 1.000000
-0:33 2.000000
-0:33 3.000000
-0:33 4.000000
-0:34 move second child to first child (temp float)
-0:34 direct index (temp float)
-0:34 'v' (temp 4-component vector of float)
-0:34 Constant:
-0:34 1 (const int)
-0:34 Post-Decrement (temp float)
-0:34 direct index (temp float)
-0:34 'v' (temp 4-component vector of float)
-0:34 Constant:
-0:34 2 (const int)
-0:35 move second child to first child (temp float)
-0:35 direct index (temp float)
-0:35 'v' (temp 4-component vector of float)
-0:35 Constant:
-0:35 0 (const int)
-0:35 Pre-Decrement (temp float)
-0:35 direct index (temp float)
-0:35 'v' (temp 4-component vector of float)
-0:35 Constant:
-0:35 3 (const int)
-0:37 move second child to first child (temp 4-component vector of float)
-0:37 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:37 vector-scale (temp 4-component vector of float)
-0:37 'z' (temp float)
-0:37 'v' (temp 4-component vector of float)
-0:? Linker Objects
-
-
-Linked fragment stage:
-
-
-Shader version: 140
-0:? Sequence
-0:3 Function Definition: main( (global void)
-0:3 Function Parameters:
-0:? Sequence
-0:10 Sequence
-0:10 move second child to first child (temp int)
-0:10 'index' (temp int)
-0:10 Constant:
-0:10 5 (const int)
-0:12 move second child to first child (temp float)
-0:12 direct index (temp float)
-0:12 y: direct index for structure (temp 5-element array of float)
-0:12 'str' (temp structure{temp 5-element array of float y})
-0:12 Constant:
-0:12 0 (const int)
-0:12 Constant:
-0:12 4 (const int)
-0:12 Constant:
-0:12 2.000000
-0:13 move second child to first child (temp float)
-0:13 't' (temp float)
-0:13 Pre-Increment (temp float)
-0:13 indirect index (temp float)
-0:13 y: direct index for structure (temp 5-element array of float)
-0:13 'str' (temp structure{temp 5-element array of float y})
-0:13 Constant:
-0:13 0 (const int)
-0:13 Pre-Decrement (temp int)
-0:13 'index' (temp int)
-0:14 add second child into first child (temp float)
-0:14 direct index (temp float)
-0:14 y: direct index for structure (temp 5-element array of float)
-0:14 'str' (temp structure{temp 5-element array of float y})
-0:14 Constant:
-0:14 0 (const int)
-0:14 Constant:
-0:14 4 (const int)
-0:14 't' (temp float)
-0:15 move second child to first child (temp float)
-0:15 't' (temp float)
-0:15 Post-Decrement (temp float)
-0:15 direct index (temp float)
-0:15 y: direct index for structure (temp 5-element array of float)
-0:15 'str' (temp structure{temp 5-element array of float y})
-0:15 Constant:
-0:15 0 (const int)
-0:15 Constant:
-0:15 4 (const int)
-0:16 add second child into first child (temp float)
-0:16 indirect index (temp float)
-0:16 y: direct index for structure (temp 5-element array of float)
-0:16 'str' (temp structure{temp 5-element array of float y})
-0:16 Constant:
-0:16 0 (const int)
-0:16 Post-Increment (temp int)
-0:16 'index' (temp int)
-0:16 't' (temp float)
-0:17 Pre-Decrement (temp float)
-0:17 indirect index (temp float)
-0:17 y: direct index for structure (temp 5-element array of float)
-0:17 'str' (temp structure{temp 5-element array of float y})
-0:17 Constant:
-0:17 0 (const int)
-0:17 Pre-Decrement (temp int)
-0:17 'index' (temp int)
-0:19 Sequence
-0:19 move second child to first child (temp float)
-0:19 'x' (temp float)
-0:19 direct index (temp float)
-0:19 y: direct index for structure (temp 5-element array of float)
-0:19 'str' (temp structure{temp 5-element array of float y})
-0:19 Constant:
-0:19 0 (const int)
-0:19 Constant:
-0:19 4 (const int)
-0:20 Pre-Increment (temp float)
-0:20 'x' (temp float)
-0:21 Pre-Decrement (temp float)
-0:21 'x' (temp float)
-0:22 Post-Increment (temp float)
-0:22 'x' (temp float)
-0:23 Post-Decrement (temp float)
-0:23 'x' (temp float)
-0:27 Sequence
-0:27 move second child to first child (temp float)
-0:27 'y' (temp float)
-0:27 component-wise multiply (temp float)
-0:27 'x' (temp float)
-0:27 Pre-Increment (temp float)
-0:27 'x' (temp float)
-0:28 Sequence
-0:28 move second child to first child (temp float)
-0:28 'z' (temp float)
-0:28 component-wise multiply (temp float)
-0:28 'y' (temp float)
-0:28 Post-Decrement (temp float)
-0:28 'x' (temp float)
-0:33 Sequence
-0:33 move second child to first child (temp 4-component vector of float)
-0:33 'v' (temp 4-component vector of float)
-0:33 Constant:
-0:33 1.000000
-0:33 2.000000
-0:33 3.000000
-0:33 4.000000
-0:34 move second child to first child (temp float)
-0:34 direct index (temp float)
-0:34 'v' (temp 4-component vector of float)
-0:34 Constant:
-0:34 1 (const int)
-0:34 Post-Decrement (temp float)
-0:34 direct index (temp float)
-0:34 'v' (temp 4-component vector of float)
-0:34 Constant:
-0:34 2 (const int)
-0:35 move second child to first child (temp float)
-0:35 direct index (temp float)
-0:35 'v' (temp 4-component vector of float)
-0:35 Constant:
-0:35 0 (const int)
-0:35 Pre-Decrement (temp float)
-0:35 direct index (temp float)
-0:35 'v' (temp 4-component vector of float)
-0:35 Constant:
-0:35 3 (const int)
-0:37 move second child to first child (temp 4-component vector of float)
-0:37 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:37 vector-scale (temp 4-component vector of float)
-0:37 'z' (temp float)
-0:37 'v' (temp 4-component vector of float)
-0:? Linker Objects
-
+prepost.frag
+Shader version: 140
+0:? Sequence
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:? Sequence
+0:10 Sequence
+0:10 move second child to first child (temp int)
+0:10 'index' (temp int)
+0:10 Constant:
+0:10 5 (const int)
+0:12 move second child to first child (temp float)
+0:12 direct index (temp float)
+0:12 y: direct index for structure (temp 5-element array of float)
+0:12 'str' (temp structure{temp 5-element array of float y})
+0:12 Constant:
+0:12 0 (const int)
+0:12 Constant:
+0:12 4 (const int)
+0:12 Constant:
+0:12 2.000000
+0:13 move second child to first child (temp float)
+0:13 't' (temp float)
+0:13 Pre-Increment (temp float)
+0:13 indirect index (temp float)
+0:13 y: direct index for structure (temp 5-element array of float)
+0:13 'str' (temp structure{temp 5-element array of float y})
+0:13 Constant:
+0:13 0 (const int)
+0:13 Pre-Decrement (temp int)
+0:13 'index' (temp int)
+0:14 add second child into first child (temp float)
+0:14 direct index (temp float)
+0:14 y: direct index for structure (temp 5-element array of float)
+0:14 'str' (temp structure{temp 5-element array of float y})
+0:14 Constant:
+0:14 0 (const int)
+0:14 Constant:
+0:14 4 (const int)
+0:14 't' (temp float)
+0:15 move second child to first child (temp float)
+0:15 't' (temp float)
+0:15 Post-Decrement (temp float)
+0:15 direct index (temp float)
+0:15 y: direct index for structure (temp 5-element array of float)
+0:15 'str' (temp structure{temp 5-element array of float y})
+0:15 Constant:
+0:15 0 (const int)
+0:15 Constant:
+0:15 4 (const int)
+0:16 add second child into first child (temp float)
+0:16 indirect index (temp float)
+0:16 y: direct index for structure (temp 5-element array of float)
+0:16 'str' (temp structure{temp 5-element array of float y})
+0:16 Constant:
+0:16 0 (const int)
+0:16 Post-Increment (temp int)
+0:16 'index' (temp int)
+0:16 't' (temp float)
+0:17 Pre-Decrement (temp float)
+0:17 indirect index (temp float)
+0:17 y: direct index for structure (temp 5-element array of float)
+0:17 'str' (temp structure{temp 5-element array of float y})
+0:17 Constant:
+0:17 0 (const int)
+0:17 Pre-Decrement (temp int)
+0:17 'index' (temp int)
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'x' (temp float)
+0:19 direct index (temp float)
+0:19 y: direct index for structure (temp 5-element array of float)
+0:19 'str' (temp structure{temp 5-element array of float y})
+0:19 Constant:
+0:19 0 (const int)
+0:19 Constant:
+0:19 4 (const int)
+0:20 Pre-Increment (temp float)
+0:20 'x' (temp float)
+0:21 Pre-Decrement (temp float)
+0:21 'x' (temp float)
+0:22 Post-Increment (temp float)
+0:22 'x' (temp float)
+0:23 Post-Decrement (temp float)
+0:23 'x' (temp float)
+0:27 Sequence
+0:27 move second child to first child (temp float)
+0:27 'y' (temp float)
+0:27 component-wise multiply (temp float)
+0:27 'x' (temp float)
+0:27 Pre-Increment (temp float)
+0:27 'x' (temp float)
+0:28 Sequence
+0:28 move second child to first child (temp float)
+0:28 'z' (temp float)
+0:28 component-wise multiply (temp float)
+0:28 'y' (temp float)
+0:28 Post-Decrement (temp float)
+0:28 'x' (temp float)
+0:33 Sequence
+0:33 move second child to first child (temp 4-component vector of float)
+0:33 'v' (temp 4-component vector of float)
+0:33 Constant:
+0:33 1.000000
+0:33 2.000000
+0:33 3.000000
+0:33 4.000000
+0:34 move second child to first child (temp float)
+0:34 direct index (temp float)
+0:34 'v' (temp 4-component vector of float)
+0:34 Constant:
+0:34 1 (const int)
+0:34 Post-Decrement (temp float)
+0:34 direct index (temp float)
+0:34 'v' (temp 4-component vector of float)
+0:34 Constant:
+0:34 2 (const int)
+0:35 move second child to first child (temp float)
+0:35 direct index (temp float)
+0:35 'v' (temp 4-component vector of float)
+0:35 Constant:
+0:35 0 (const int)
+0:35 Pre-Decrement (temp float)
+0:35 direct index (temp float)
+0:35 'v' (temp 4-component vector of float)
+0:35 Constant:
+0:35 3 (const int)
+0:37 move second child to first child (temp 4-component vector of float)
+0:37 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:37 vector-scale (temp 4-component vector of float)
+0:37 'z' (temp float)
+0:37 'v' (temp 4-component vector of float)
+0:? Linker Objects
+
+
+Linked fragment stage:
+
+
+Shader version: 140
+0:? Sequence
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:? Sequence
+0:10 Sequence
+0:10 move second child to first child (temp int)
+0:10 'index' (temp int)
+0:10 Constant:
+0:10 5 (const int)
+0:12 move second child to first child (temp float)
+0:12 direct index (temp float)
+0:12 y: direct index for structure (temp 5-element array of float)
+0:12 'str' (temp structure{temp 5-element array of float y})
+0:12 Constant:
+0:12 0 (const int)
+0:12 Constant:
+0:12 4 (const int)
+0:12 Constant:
+0:12 2.000000
+0:13 move second child to first child (temp float)
+0:13 't' (temp float)
+0:13 Pre-Increment (temp float)
+0:13 indirect index (temp float)
+0:13 y: direct index for structure (temp 5-element array of float)
+0:13 'str' (temp structure{temp 5-element array of float y})
+0:13 Constant:
+0:13 0 (const int)
+0:13 Pre-Decrement (temp int)
+0:13 'index' (temp int)
+0:14 add second child into first child (temp float)
+0:14 direct index (temp float)
+0:14 y: direct index for structure (temp 5-element array of float)
+0:14 'str' (temp structure{temp 5-element array of float y})
+0:14 Constant:
+0:14 0 (const int)
+0:14 Constant:
+0:14 4 (const int)
+0:14 't' (temp float)
+0:15 move second child to first child (temp float)
+0:15 't' (temp float)
+0:15 Post-Decrement (temp float)
+0:15 direct index (temp float)
+0:15 y: direct index for structure (temp 5-element array of float)
+0:15 'str' (temp structure{temp 5-element array of float y})
+0:15 Constant:
+0:15 0 (const int)
+0:15 Constant:
+0:15 4 (const int)
+0:16 add second child into first child (temp float)
+0:16 indirect index (temp float)
+0:16 y: direct index for structure (temp 5-element array of float)
+0:16 'str' (temp structure{temp 5-element array of float y})
+0:16 Constant:
+0:16 0 (const int)
+0:16 Post-Increment (temp int)
+0:16 'index' (temp int)
+0:16 't' (temp float)
+0:17 Pre-Decrement (temp float)
+0:17 indirect index (temp float)
+0:17 y: direct index for structure (temp 5-element array of float)
+0:17 'str' (temp structure{temp 5-element array of float y})
+0:17 Constant:
+0:17 0 (const int)
+0:17 Pre-Decrement (temp int)
+0:17 'index' (temp int)
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'x' (temp float)
+0:19 direct index (temp float)
+0:19 y: direct index for structure (temp 5-element array of float)
+0:19 'str' (temp structure{temp 5-element array of float y})
+0:19 Constant:
+0:19 0 (const int)
+0:19 Constant:
+0:19 4 (const int)
+0:20 Pre-Increment (temp float)
+0:20 'x' (temp float)
+0:21 Pre-Decrement (temp float)
+0:21 'x' (temp float)
+0:22 Post-Increment (temp float)
+0:22 'x' (temp float)
+0:23 Post-Decrement (temp float)
+0:23 'x' (temp float)
+0:27 Sequence
+0:27 move second child to first child (temp float)
+0:27 'y' (temp float)
+0:27 component-wise multiply (temp float)
+0:27 'x' (temp float)
+0:27 Pre-Increment (temp float)
+0:27 'x' (temp float)
+0:28 Sequence
+0:28 move second child to first child (temp float)
+0:28 'z' (temp float)
+0:28 component-wise multiply (temp float)
+0:28 'y' (temp float)
+0:28 Post-Decrement (temp float)
+0:28 'x' (temp float)
+0:33 Sequence
+0:33 move second child to first child (temp 4-component vector of float)
+0:33 'v' (temp 4-component vector of float)
+0:33 Constant:
+0:33 1.000000
+0:33 2.000000
+0:33 3.000000
+0:33 4.000000
+0:34 move second child to first child (temp float)
+0:34 direct index (temp float)
+0:34 'v' (temp 4-component vector of float)
+0:34 Constant:
+0:34 1 (const int)
+0:34 Post-Decrement (temp float)
+0:34 direct index (temp float)
+0:34 'v' (temp 4-component vector of float)
+0:34 Constant:
+0:34 2 (const int)
+0:35 move second child to first child (temp float)
+0:35 direct index (temp float)
+0:35 'v' (temp 4-component vector of float)
+0:35 Constant:
+0:35 0 (const int)
+0:35 Pre-Decrement (temp float)
+0:35 direct index (temp float)
+0:35 'v' (temp 4-component vector of float)
+0:35 Constant:
+0:35 3 (const int)
+0:37 move second child to first child (temp 4-component vector of float)
+0:37 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:37 vector-scale (temp 4-component vector of float)
+0:37 'z' (temp float)
+0:37 'v' (temp 4-component vector of float)
+0:? Linker Objects
+
diff --git a/Test/baseResults/preprocessor.cpp_style___FILE__.vert.out b/Test/baseResults/preprocessor.cpp_style___FILE__.vert.out
index 7deb279..e63d81a 100644
--- a/Test/baseResults/preprocessor.cpp_style___FILE__.vert.out
+++ b/Test/baseResults/preprocessor.cpp_style___FILE__.vert.out
@@ -1,37 +1,37 @@
-#extension GL_GOOGLE_cpp_style_line_directive : enable
-
-0
-
-#line 150 "a.h"
- "a.h"
-
-#line 24
- "a.h"
-
-#line 42
- "a.h"
-
-#line 30 "b.cc"
- "b.cc"
-
-#line 10 3
- 3
-
-#line 48
- 3
-
-#line 4
- 3
-
-#line 55 100
- 100
-
-#line 1000 "c"
- "c"
-
-#line 42 1
- 1
-
-#line 42 "this-is-a-quite-long-name-maybe-i-should-shorten-it"
- "this-is-a-quite-long-name-maybe-i-should-shorten-it"
-
+#extension GL_GOOGLE_cpp_style_line_directive : enable
+
+0
+
+#line 150 "a.h"
+ "a.h"
+
+#line 24
+ "a.h"
+
+#line 42
+ "a.h"
+
+#line 30 "b.cc"
+ "b.cc"
+
+#line 10 3
+ 3
+
+#line 48
+ 3
+
+#line 4
+ 3
+
+#line 55 100
+ 100
+
+#line 1000 "c"
+ "c"
+
+#line 42 1
+ 1
+
+#line 42 "this-is-a-quite-long-name-maybe-i-should-shorten-it"
+ "this-is-a-quite-long-name-maybe-i-should-shorten-it"
+
diff --git a/Test/baseResults/preprocessor.cpp_style_line_directive.vert.err b/Test/baseResults/preprocessor.cpp_style_line_directive.vert.err
index df89cd7..794ded8 100644
--- a/Test/baseResults/preprocessor.cpp_style_line_directive.vert.err
+++ b/Test/baseResults/preprocessor.cpp_style_line_directive.vert.err
@@ -1,15 +1,15 @@
-ERROR: 0:3: '#error' : at 0:3
-ERROR: a.h:150: '#error' : at a.h:150
-ERROR: a.h:24: '#error' : at a.h:24
-ERROR: a.h:42: '#error' : at a.h:42
-ERROR: b.cc:30: '#error' : at b.cc:30
-ERROR: 3:10: '#error' : at 3:10
-ERROR: 3:48: '#error' : at 3:48
-ERROR: 3:4: '#error' : at 3:4
-ERROR: 100:55: '#error' : at 100:55
-ERROR: c:1000: '#error' : at c:1000
-ERROR: 1:42: '#error' : at 1:42
-ERROR: this-is-a-quite-long-name-maybe-i-should-shorten-it:42: '#error' : at this-is-a-quite-long-name-maybe-i-should-shorten-it:42
-ERROR: 12 compilation errors. No code generated.
-
-
+ERROR: 0:3: '#error' : at 0:3
+ERROR: a.h:150: '#error' : at a.h:150
+ERROR: a.h:24: '#error' : at a.h:24
+ERROR: a.h:42: '#error' : at a.h:42
+ERROR: b.cc:30: '#error' : at b.cc:30
+ERROR: 3:10: '#error' : at 3:10
+ERROR: 3:48: '#error' : at 3:48
+ERROR: 3:4: '#error' : at 3:4
+ERROR: 100:55: '#error' : at 100:55
+ERROR: c:1000: '#error' : at c:1000
+ERROR: 1:42: '#error' : at 1:42
+ERROR: this-is-a-quite-long-name-maybe-i-should-shorten-it:42: '#error' : at this-is-a-quite-long-name-maybe-i-should-shorten-it:42
+ERROR: 12 compilation errors. No code generated.
+
+
diff --git a/Test/baseResults/preprocessor.defined.vert.err b/Test/baseResults/preprocessor.defined.vert.err
index eae9912..8dddabc 100644
--- a/Test/baseResults/preprocessor.defined.vert.err
+++ b/Test/baseResults/preprocessor.defined.vert.err
@@ -1,4 +1,4 @@
-ERROR: 0:2: '#define' : "defined" can't be (un)defined: defined
-ERROR: 1 compilation errors. No code generated.
-
-
+ERROR: 0:2: '#define' : "defined" can't be (un)defined: defined
+ERROR: 1 compilation errors. No code generated.
+
+
diff --git a/Test/baseResults/preprocessor.edge_cases.vert.err b/Test/baseResults/preprocessor.edge_cases.vert.err
index 5967428..5f177e6 100644
--- a/Test/baseResults/preprocessor.edge_cases.vert.err
+++ b/Test/baseResults/preprocessor.edge_cases.vert.err
@@ -1,2 +1,2 @@
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
diff --git a/Test/baseResults/preprocessor.edge_cases.vert.out b/Test/baseResults/preprocessor.edge_cases.vert.out
index 9c51bc4..17d9049 100644
--- a/Test/baseResults/preprocessor.edge_cases.vert.out
+++ b/Test/baseResults/preprocessor.edge_cases.vert.out
@@ -1,16 +1,16 @@
-#version 310 es
-
-
-
-
-
-
-
-
-
-
-
-void main(){
- gl_Position = vec4(3 + 2 + 2 * 4 + 2 + 3 * 2);
-}
-
+#version 310 es
+
+
+
+
+
+
+
+
+
+
+
+void main(){
+ gl_Position = vec4(3 + 2 + 2 * 4 + 2 + 3 * 2);
+}
+
diff --git a/Test/baseResults/preprocessor.errors.vert.err b/Test/baseResults/preprocessor.errors.vert.err
index a92e34f..cfde404 100644
--- a/Test/baseResults/preprocessor.errors.vert.err
+++ b/Test/baseResults/preprocessor.errors.vert.err
@@ -1,8 +1,8 @@
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:9: '#error' : This should show up in pp output .
-ERROR: 0:14: '#' : invalid directive: def
-ERROR: 0:15: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile Y
-ERROR: 0:21: '' : missing #endif
-ERROR: 4 compilation errors. No code generated.
-
-
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:9: '#error' : This should show up in pp output .
+ERROR: 0:14: '#' : invalid directive: def
+ERROR: 0:15: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile Y
+ERROR: 0:21: '' : missing #endif
+ERROR: 4 compilation errors. No code generated.
+
+
diff --git a/Test/baseResults/preprocessor.extensions.vert.err b/Test/baseResults/preprocessor.extensions.vert.err
index 114bd96..925cc0c 100644
--- a/Test/baseResults/preprocessor.extensions.vert.err
+++ b/Test/baseResults/preprocessor.extensions.vert.err
@@ -1,3 +1,3 @@
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-WARNING: 0:6: '#extension' : extension not supported: GL_EXT_shader_texture_image_samples
-
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+WARNING: 0:6: '#extension' : extension not supported: GL_EXT_shader_texture_image_samples
+
diff --git a/Test/baseResults/preprocessor.extensions.vert.out b/Test/baseResults/preprocessor.extensions.vert.out
index e71aa19..57d2e19 100644
--- a/Test/baseResults/preprocessor.extensions.vert.out
+++ b/Test/baseResults/preprocessor.extensions.vert.out
@@ -1,12 +1,12 @@
-#version 310 es
-
-#extension GL_EXT_geometry_shader : enable
-#extension GL_EXT_frag_depth : disable
-#extension GL_EXT_gpu_shader5 : require
-#extension GL_EXT_shader_texture_image_samples : warn
-
-#extension unknown_extension : require
-
-int main(){
-}
-
+#version 310 es
+
+#extension GL_EXT_geometry_shader : enable
+#extension GL_EXT_frag_depth : disable
+#extension GL_EXT_gpu_shader5 : require
+#extension GL_EXT_shader_texture_image_samples : warn
+
+#extension unknown_extension : require
+
+int main(){
+}
+
diff --git a/Test/baseResults/preprocessor.function_macro.vert.err b/Test/baseResults/preprocessor.function_macro.vert.err
index 5967428..5f177e6 100644
--- a/Test/baseResults/preprocessor.function_macro.vert.err
+++ b/Test/baseResults/preprocessor.function_macro.vert.err
@@ -1,2 +1,2 @@
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
diff --git a/Test/baseResults/preprocessor.function_macro.vert.out b/Test/baseResults/preprocessor.function_macro.vert.out
index 9476784..1280ddf 100644
--- a/Test/baseResults/preprocessor.function_macro.vert.out
+++ b/Test/baseResults/preprocessor.function_macro.vert.out
@@ -1,21 +1,21 @@
-#version 310 es
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-int main(){
- gl_Position = vec4(3 + 1, 3 + 4, 3 + 1);
- gl_Position = vec4(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12);
- gl_Position = vec4(4 + 3 + 3);
-}
-
+#version 310 es
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+int main(){
+ gl_Position = vec4(3 + 1, 3 + 4, 3 + 1);
+ gl_Position = vec4(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12);
+ gl_Position = vec4(4 + 3 + 3);
+}
+
diff --git a/Test/baseResults/preprocessor.include.disabled.vert.err b/Test/baseResults/preprocessor.include.disabled.vert.err
index 2fd90c9..7d1f0a0 100644
--- a/Test/baseResults/preprocessor.include.disabled.vert.err
+++ b/Test/baseResults/preprocessor.include.disabled.vert.err
@@ -1,13 +1,13 @@
-ERROR: 0:8000: '#include' : required extension not requested: GL_GOOGLE_include_directive
-ERROR: 0:8000: '#include' : must be followed by a file designation
-ERROR: 0:8001: '#include' : required extension not requested: GL_GOOGLE_include_directive
-ERROR: 0:8001: '#include' : must be followed by a file designation
-ERROR: 0:8002: '#include' : required extension not requested: GL_GOOGLE_include_directive
-ERROR: 0:8002: '#include' : unexpected include directive
-ERROR: 0:8003: '#include' : required extension not requested: GL_GOOGLE_include_directive
-ERROR: 0:8003: '#include' : extra content after file designation
-ERROR: 0:8004: '#include' : required extension not requested: GL_GOOGLE_include_directive
-ERROR: 0:8004: '#include' : unexpected include directive
-ERROR: 10 compilation errors. No code generated.
-
-
+ERROR: 0:8000: '#include' : required extension not requested: GL_GOOGLE_include_directive
+ERROR: 0:8000: '#include' : must be followed by a file designation
+ERROR: 0:8001: '#include' : required extension not requested: GL_GOOGLE_include_directive
+ERROR: 0:8001: '#include' : must be followed by a file designation
+ERROR: 0:8002: '#include' : required extension not requested: GL_GOOGLE_include_directive
+ERROR: 0:8002: '#include' : unexpected include directive
+ERROR: 0:8003: '#include' : required extension not requested: GL_GOOGLE_include_directive
+ERROR: 0:8003: '#include' : extra content after file designation
+ERROR: 0:8004: '#include' : required extension not requested: GL_GOOGLE_include_directive
+ERROR: 0:8004: '#include' : unexpected include directive
+ERROR: 10 compilation errors. No code generated.
+
+
diff --git a/Test/baseResults/preprocessor.include.enabled.vert.err b/Test/baseResults/preprocessor.include.enabled.vert.err
index 0f20e27..be8c5cf 100644
--- a/Test/baseResults/preprocessor.include.enabled.vert.err
+++ b/Test/baseResults/preprocessor.include.enabled.vert.err
@@ -1,8 +1,8 @@
-ERROR: 0:8000: '#include' : must be followed by a file designation
-ERROR: 0:8001: '#include' : must be followed by a file designation
-ERROR: 0:8002: '#include' : unexpected include directive
-ERROR: 0:8003: '#include' : extra content after file designation
-ERROR: 0:8004: '#include' : unexpected include directive
-ERROR: 5 compilation errors. No code generated.
-
-
+ERROR: 0:8000: '#include' : must be followed by a file designation
+ERROR: 0:8001: '#include' : must be followed by a file designation
+ERROR: 0:8002: '#include' : unexpected include directive
+ERROR: 0:8003: '#include' : extra content after file designation
+ERROR: 0:8004: '#include' : unexpected include directive
+ERROR: 5 compilation errors. No code generated.
+
+
diff --git a/Test/baseResults/preprocessor.line.frag.err b/Test/baseResults/preprocessor.line.frag.err
index 5967428..5f177e6 100644
--- a/Test/baseResults/preprocessor.line.frag.err
+++ b/Test/baseResults/preprocessor.line.frag.err
@@ -1,2 +1,2 @@
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
diff --git a/Test/baseResults/preprocessor.line.frag.out b/Test/baseResults/preprocessor.line.frag.out
index 74991b7..3e2206f 100644
--- a/Test/baseResults/preprocessor.line.frag.out
+++ b/Test/baseResults/preprocessor.line.frag.out
@@ -1,5 +1,5 @@
-#version 310 es
-#line 1 2
-#pragma something
-void main(){ }
-
+#version 310 es
+#line 1 2
+#pragma something
+void main(){ }
+
diff --git a/Test/baseResults/preprocessor.line.vert.out b/Test/baseResults/preprocessor.line.vert.out
index 4dab9cb..2bf0903 100644
--- a/Test/baseResults/preprocessor.line.vert.out
+++ b/Test/baseResults/preprocessor.line.vert.out
@@ -1,39 +1,39 @@
-#line 300
-
-#line 2
-
-
-
-
-
-#line 10
-
-
-#line 2
-
-#line 0
-
-
-
-#line 4
-
-
-
-
-
-#line 8
-
-void main(){
- gl_Position = vec4(10);
-}
-
-#line 8 4
-
-
-
-
-#line 12 3
-
-#line 1
-
-
+#line 300
+
+#line 2
+
+
+
+
+
+#line 10
+
+
+#line 2
+
+#line 0
+
+
+
+#line 4
+
+
+
+
+
+#line 8
+
+void main(){
+ gl_Position = vec4(10);
+}
+
+#line 8 4
+
+
+
+
+#line 12 3
+
+#line 1
+
+
diff --git a/Test/baseResults/preprocessor.pragma.vert.err b/Test/baseResults/preprocessor.pragma.vert.err
index 5967428..5f177e6 100644
--- a/Test/baseResults/preprocessor.pragma.vert.err
+++ b/Test/baseResults/preprocessor.pragma.vert.err
@@ -1,2 +1,2 @@
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
diff --git a/Test/baseResults/preprocessor.pragma.vert.out b/Test/baseResults/preprocessor.pragma.vert.out
index 62b6a13..8c52814 100644
--- a/Test/baseResults/preprocessor.pragma.vert.out
+++ b/Test/baseResults/preprocessor.pragma.vert.out
@@ -1,12 +1,12 @@
-#version 310 es
-
-#pragma optimize(on)
-#pragma optimize(off)
-#pragma debug(on)
-#pragma debug(off)
-
-#pragma undefined_pragma(x,4)
-
-int main(){
-}
-
+#version 310 es
+
+#pragma optimize(on)
+#pragma optimize(off)
+#pragma debug(on)
+#pragma debug(off)
+
+#pragma undefined_pragma(x,4)
+
+int main(){
+}
+
diff --git a/Test/baseResults/preprocessor.simple.vert.err b/Test/baseResults/preprocessor.simple.vert.err
index 5967428..5f177e6 100644
--- a/Test/baseResults/preprocessor.simple.vert.err
+++ b/Test/baseResults/preprocessor.simple.vert.err
@@ -1,2 +1,2 @@
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
diff --git a/Test/baseResults/preprocessor.simple.vert.out b/Test/baseResults/preprocessor.simple.vert.out
index 878fff7..8737bc8 100644
--- a/Test/baseResults/preprocessor.simple.vert.out
+++ b/Test/baseResults/preprocessor.simple.vert.out
@@ -1,23 +1,23 @@
-#version 310 es
-
-
-
-
-
-
-
-
-
-
-
-
- float fn(float x){ return x + 4.0;}
-
-int main(){
- gl_Position = vec4(1);
- gl_Position = clamp(1, 2, 3);
- gl_Position = vec4(1);
- gl_Position = vec4(1, 2);
- gl_Position = vec4(fn(3));
-}
-
+#version 310 es
+
+
+
+
+
+
+
+
+
+
+
+
+ float fn(float x){ return x + 4.0;}
+
+int main(){
+ gl_Position = vec4(1);
+ gl_Position = clamp(1, 2, 3);
+ gl_Position = vec4(1);
+ gl_Position = vec4(1, 2);
+ gl_Position = vec4(fn(3));
+}
+
diff --git a/Test/baseResults/preprocessor.success_if_parse_would_fail.vert.out b/Test/baseResults/preprocessor.success_if_parse_would_fail.vert.out
index ab57fb0..624813a 100644
--- a/Test/baseResults/preprocessor.success_if_parse_would_fail.vert.out
+++ b/Test/baseResults/preprocessor.success_if_parse_would_fail.vert.out
@@ -1,4 +1,4 @@
-int x(){
- something that shouldnt compile;
-}
-
+int x(){
+ something that shouldnt compile;
+}
+
diff --git a/Test/baseResults/recurse1.vert.out b/Test/baseResults/recurse1.vert.out
index 1b43ee1..c2ae014 100644
--- a/Test/baseResults/recurse1.vert.out
+++ b/Test/baseResults/recurse1.vert.out
@@ -1,397 +1,397 @@
-recurse1.vert
-Shader version: 330
-0:? Sequence
-0:3 Function Definition: main( (global void)
-0:3 Function Parameters:
-0:9 Function Definition: self( (global void)
-0:9 Function Parameters:
-0:11 Sequence
-0:11 Function Call: self( (global void)
-0:16 Function Definition: foo(f1; (global void)
-0:16 Function Parameters:
-0:16 '' (in float)
-0:18 Sequence
-0:18 Function Call: bar(i1; (global float)
-0:18 Constant:
-0:18 2 (const int)
-0:21 Function Definition: bar(i1; (global float)
-0:21 Function Parameters:
-0:21 '' (in int)
-0:23 Sequence
-0:23 Function Call: foo(f1; (global void)
-0:23 Constant:
-0:23 4.200000
-0:25 Branch: Return with expression
-0:25 Constant:
-0:25 3.200000
-0:32 Function Definition: A( (global void)
-0:32 Function Parameters:
-0:32 Sequence
-0:32 Function Call: B( (global void)
-0:33 Function Definition: C( (global void)
-0:33 Function Parameters:
-0:33 Sequence
-0:33 Function Call: D( (global void)
-0:34 Function Definition: B( (global void)
-0:34 Function Parameters:
-0:34 Sequence
-0:34 Function Call: C( (global void)
-0:35 Function Definition: D( (global void)
-0:35 Function Parameters:
-0:35 Sequence
-0:35 Function Call: A( (global void)
-0:41 Function Definition: AT( (global void)
-0:41 Function Parameters:
-0:41 Sequence
-0:41 Function Call: BT( (global void)
-0:41 Function Call: BT( (global void)
-0:41 Function Call: BT( (global void)
-0:42 Function Definition: CT( (global void)
-0:42 Function Parameters:
-0:42 Sequence
-0:42 Function Call: DT( (global void)
-0:42 Function Call: AT( (global void)
-0:42 Function Call: DT( (global void)
-0:42 Function Call: BT( (global void)
-0:43 Function Definition: BT( (global void)
-0:43 Function Parameters:
-0:43 Sequence
-0:43 Function Call: CT( (global void)
-0:43 Function Call: CT( (global void)
-0:43 Function Call: CT( (global void)
-0:44 Function Definition: DT( (global void)
-0:44 Function Parameters:
-0:44 Sequence
-0:44 Function Call: AT( (global void)
-0:? Linker Objects
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
-recurse1.frag
-Shader version: 330
-0:? Sequence
-0:5 Function Definition: main( (global void)
-0:5 Function Parameters:
-0:11 Function Definition: cfoo(f1; (global void)
-0:11 Function Parameters:
-0:11 '' (in float)
-0:13 Sequence
-0:13 Function Call: cbar(i1; (global float)
-0:13 Constant:
-0:13 2 (const int)
-0:20 Function Definition: CA( (global void)
-0:20 Function Parameters:
-0:20 Sequence
-0:20 Function Call: CB( (global void)
-0:21 Function Definition: CC( (global void)
-0:21 Function Parameters:
-0:21 Sequence
-0:21 Function Call: CD( (global void)
-0:27 Function Definition: CAT( (global void)
-0:27 Function Parameters:
-0:27 Sequence
-0:27 Function Call: CBT( (global void)
-0:27 Function Call: CBT( (global void)
-0:27 Function Call: CBT( (global void)
-0:28 Function Definition: CCT( (global void)
-0:28 Function Parameters:
-0:28 Sequence
-0:28 Function Call: CDT( (global void)
-0:28 Function Call: CDT( (global void)
-0:28 Function Call: CBT( (global void)
-0:32 Function Definition: norA( (global void)
-0:32 Function Parameters:
-0:33 Function Definition: norB( (global void)
-0:33 Function Parameters:
-0:33 Sequence
-0:33 Function Call: norA( (global void)
-0:34 Function Definition: norC( (global void)
-0:34 Function Parameters:
-0:34 Sequence
-0:34 Function Call: norA( (global void)
-0:35 Function Definition: norD( (global void)
-0:35 Function Parameters:
-0:35 Sequence
-0:35 Function Call: norA( (global void)
-0:36 Function Definition: norE( (global void)
-0:36 Function Parameters:
-0:36 Sequence
-0:36 Function Call: norB( (global void)
-0:37 Function Definition: norF( (global void)
-0:37 Function Parameters:
-0:37 Sequence
-0:37 Function Call: norB( (global void)
-0:38 Function Definition: norG( (global void)
-0:38 Function Parameters:
-0:38 Sequence
-0:38 Function Call: norE( (global void)
-0:39 Function Definition: norH( (global void)
-0:39 Function Parameters:
-0:39 Sequence
-0:39 Function Call: norE( (global void)
-0:40 Function Definition: norI( (global void)
-0:40 Function Parameters:
-0:40 Sequence
-0:40 Function Call: norE( (global void)
-0:44 Function Definition: norcA( (global void)
-0:44 Function Parameters:
-0:45 Function Definition: norcB( (global void)
-0:45 Function Parameters:
-0:45 Sequence
-0:45 Function Call: norcA( (global void)
-0:46 Function Definition: norcC( (global void)
-0:46 Function Parameters:
-0:46 Sequence
-0:46 Function Call: norcB( (global void)
-0:47 Function Definition: norcD( (global void)
-0:47 Function Parameters:
-0:47 Sequence
-0:47 Function Call: norcC( (global void)
-0:47 Function Call: norcB( (global void)
-0:48 Function Definition: norcE( (global void)
-0:48 Function Parameters:
-0:48 Sequence
-0:48 Function Call: norcD( (global void)
-0:? Linker Objects
-
-recurse2.frag
-Shader version: 330
-0:? Sequence
-0:9 Function Definition: cbar(i1; (global float)
-0:9 Function Parameters:
-0:9 '' (in int)
-0:11 Sequence
-0:11 Function Call: cfoo(f1; (global void)
-0:11 Constant:
-0:11 4.200000
-0:13 Branch: Return with expression
-0:13 Constant:
-0:13 3.200000
-0:20 Function Definition: CB( (global void)
-0:20 Function Parameters:
-0:20 Sequence
-0:20 Function Call: CC( (global void)
-0:21 Function Definition: CD( (global void)
-0:21 Function Parameters:
-0:21 Sequence
-0:21 Function Call: CA( (global void)
-0:27 Function Definition: CBT( (global void)
-0:27 Function Parameters:
-0:27 Sequence
-0:27 Function Call: CCT( (global void)
-0:27 Function Call: CCT( (global void)
-0:27 Function Call: CCT( (global void)
-0:28 Function Definition: CDT( (global void)
-0:28 Function Parameters:
-0:28 Sequence
-0:28 Function Call: CAT( (global void)
-0:? Linker Objects
-
-
-Linked vertex stage:
-
-ERROR: Linking vertex stage: Recursion detected:
- BT( calling CT(
-ERROR: Linking vertex stage: Recursion detected:
- AT( calling BT(
-ERROR: Linking vertex stage: Recursion detected:
- DT( calling AT(
-ERROR: Linking vertex stage: Recursion detected:
- D( calling A(
-ERROR: Linking vertex stage: Recursion detected:
- bar(i1; calling foo(f1;
-ERROR: Linking vertex stage: Recursion detected:
- self( calling self(
-
-Linked fragment stage:
-
-ERROR: Linking fragment stage: Recursion detected:
- CCT( calling CBT(
-ERROR: Linking fragment stage: Recursion detected:
- CBT( calling CCT(
-ERROR: Linking fragment stage: Recursion detected:
- CC( calling CD(
-ERROR: Linking fragment stage: Recursion detected:
- cfoo(f1; calling cbar(i1;
-
-Shader version: 330
-0:? Sequence
-0:3 Function Definition: main( (global void)
-0:3 Function Parameters:
-0:9 Function Definition: self( (global void)
-0:9 Function Parameters:
-0:11 Sequence
-0:11 Function Call: self( (global void)
-0:16 Function Definition: foo(f1; (global void)
-0:16 Function Parameters:
-0:16 '' (in float)
-0:18 Sequence
-0:18 Function Call: bar(i1; (global float)
-0:18 Constant:
-0:18 2 (const int)
-0:21 Function Definition: bar(i1; (global float)
-0:21 Function Parameters:
-0:21 '' (in int)
-0:23 Sequence
-0:23 Function Call: foo(f1; (global void)
-0:23 Constant:
-0:23 4.200000
-0:25 Branch: Return with expression
-0:25 Constant:
-0:25 3.200000
-0:32 Function Definition: A( (global void)
-0:32 Function Parameters:
-0:32 Sequence
-0:32 Function Call: B( (global void)
-0:33 Function Definition: C( (global void)
-0:33 Function Parameters:
-0:33 Sequence
-0:33 Function Call: D( (global void)
-0:34 Function Definition: B( (global void)
-0:34 Function Parameters:
-0:34 Sequence
-0:34 Function Call: C( (global void)
-0:35 Function Definition: D( (global void)
-0:35 Function Parameters:
-0:35 Sequence
-0:35 Function Call: A( (global void)
-0:41 Function Definition: AT( (global void)
-0:41 Function Parameters:
-0:41 Sequence
-0:41 Function Call: BT( (global void)
-0:41 Function Call: BT( (global void)
-0:41 Function Call: BT( (global void)
-0:42 Function Definition: CT( (global void)
-0:42 Function Parameters:
-0:42 Sequence
-0:42 Function Call: DT( (global void)
-0:42 Function Call: AT( (global void)
-0:42 Function Call: DT( (global void)
-0:42 Function Call: BT( (global void)
-0:43 Function Definition: BT( (global void)
-0:43 Function Parameters:
-0:43 Sequence
-0:43 Function Call: CT( (global void)
-0:43 Function Call: CT( (global void)
-0:43 Function Call: CT( (global void)
-0:44 Function Definition: DT( (global void)
-0:44 Function Parameters:
-0:44 Sequence
-0:44 Function Call: AT( (global void)
-0:? Linker Objects
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-Shader version: 330
-0:? Sequence
-0:5 Function Definition: main( (global void)
-0:5 Function Parameters:
-0:11 Function Definition: cfoo(f1; (global void)
-0:11 Function Parameters:
-0:11 '' (in float)
-0:13 Sequence
-0:13 Function Call: cbar(i1; (global float)
-0:13 Constant:
-0:13 2 (const int)
-0:20 Function Definition: CA( (global void)
-0:20 Function Parameters:
-0:20 Sequence
-0:20 Function Call: CB( (global void)
-0:21 Function Definition: CC( (global void)
-0:21 Function Parameters:
-0:21 Sequence
-0:21 Function Call: CD( (global void)
-0:27 Function Definition: CAT( (global void)
-0:27 Function Parameters:
-0:27 Sequence
-0:27 Function Call: CBT( (global void)
-0:27 Function Call: CBT( (global void)
-0:27 Function Call: CBT( (global void)
-0:28 Function Definition: CCT( (global void)
-0:28 Function Parameters:
-0:28 Sequence
-0:28 Function Call: CDT( (global void)
-0:28 Function Call: CDT( (global void)
-0:28 Function Call: CBT( (global void)
-0:32 Function Definition: norA( (global void)
-0:32 Function Parameters:
-0:33 Function Definition: norB( (global void)
-0:33 Function Parameters:
-0:33 Sequence
-0:33 Function Call: norA( (global void)
-0:34 Function Definition: norC( (global void)
-0:34 Function Parameters:
-0:34 Sequence
-0:34 Function Call: norA( (global void)
-0:35 Function Definition: norD( (global void)
-0:35 Function Parameters:
-0:35 Sequence
-0:35 Function Call: norA( (global void)
-0:36 Function Definition: norE( (global void)
-0:36 Function Parameters:
-0:36 Sequence
-0:36 Function Call: norB( (global void)
-0:37 Function Definition: norF( (global void)
-0:37 Function Parameters:
-0:37 Sequence
-0:37 Function Call: norB( (global void)
-0:38 Function Definition: norG( (global void)
-0:38 Function Parameters:
-0:38 Sequence
-0:38 Function Call: norE( (global void)
-0:39 Function Definition: norH( (global void)
-0:39 Function Parameters:
-0:39 Sequence
-0:39 Function Call: norE( (global void)
-0:40 Function Definition: norI( (global void)
-0:40 Function Parameters:
-0:40 Sequence
-0:40 Function Call: norE( (global void)
-0:44 Function Definition: norcA( (global void)
-0:44 Function Parameters:
-0:45 Function Definition: norcB( (global void)
-0:45 Function Parameters:
-0:45 Sequence
-0:45 Function Call: norcA( (global void)
-0:46 Function Definition: norcC( (global void)
-0:46 Function Parameters:
-0:46 Sequence
-0:46 Function Call: norcB( (global void)
-0:47 Function Definition: norcD( (global void)
-0:47 Function Parameters:
-0:47 Sequence
-0:47 Function Call: norcC( (global void)
-0:47 Function Call: norcB( (global void)
-0:48 Function Definition: norcE( (global void)
-0:48 Function Parameters:
-0:48 Sequence
-0:48 Function Call: norcD( (global void)
-0:9 Function Definition: cbar(i1; (global float)
-0:9 Function Parameters:
-0:9 '' (in int)
-0:11 Sequence
-0:11 Function Call: cfoo(f1; (global void)
-0:11 Constant:
-0:11 4.200000
-0:13 Branch: Return with expression
-0:13 Constant:
-0:13 3.200000
-0:20 Function Definition: CB( (global void)
-0:20 Function Parameters:
-0:20 Sequence
-0:20 Function Call: CC( (global void)
-0:21 Function Definition: CD( (global void)
-0:21 Function Parameters:
-0:21 Sequence
-0:21 Function Call: CA( (global void)
-0:27 Function Definition: CBT( (global void)
-0:27 Function Parameters:
-0:27 Sequence
-0:27 Function Call: CCT( (global void)
-0:27 Function Call: CCT( (global void)
-0:27 Function Call: CCT( (global void)
-0:28 Function Definition: CDT( (global void)
-0:28 Function Parameters:
-0:28 Sequence
-0:28 Function Call: CAT( (global void)
-0:? Linker Objects
-
+recurse1.vert
+Shader version: 330
+0:? Sequence
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:9 Function Definition: self( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Function Call: self( (global void)
+0:16 Function Definition: foo(f1; (global void)
+0:16 Function Parameters:
+0:16 '' (in float)
+0:18 Sequence
+0:18 Function Call: bar(i1; (global float)
+0:18 Constant:
+0:18 2 (const int)
+0:21 Function Definition: bar(i1; (global float)
+0:21 Function Parameters:
+0:21 '' (in int)
+0:23 Sequence
+0:23 Function Call: foo(f1; (global void)
+0:23 Constant:
+0:23 4.200000
+0:25 Branch: Return with expression
+0:25 Constant:
+0:25 3.200000
+0:32 Function Definition: A( (global void)
+0:32 Function Parameters:
+0:32 Sequence
+0:32 Function Call: B( (global void)
+0:33 Function Definition: C( (global void)
+0:33 Function Parameters:
+0:33 Sequence
+0:33 Function Call: D( (global void)
+0:34 Function Definition: B( (global void)
+0:34 Function Parameters:
+0:34 Sequence
+0:34 Function Call: C( (global void)
+0:35 Function Definition: D( (global void)
+0:35 Function Parameters:
+0:35 Sequence
+0:35 Function Call: A( (global void)
+0:41 Function Definition: AT( (global void)
+0:41 Function Parameters:
+0:41 Sequence
+0:41 Function Call: BT( (global void)
+0:41 Function Call: BT( (global void)
+0:41 Function Call: BT( (global void)
+0:42 Function Definition: CT( (global void)
+0:42 Function Parameters:
+0:42 Sequence
+0:42 Function Call: DT( (global void)
+0:42 Function Call: AT( (global void)
+0:42 Function Call: DT( (global void)
+0:42 Function Call: BT( (global void)
+0:43 Function Definition: BT( (global void)
+0:43 Function Parameters:
+0:43 Sequence
+0:43 Function Call: CT( (global void)
+0:43 Function Call: CT( (global void)
+0:43 Function Call: CT( (global void)
+0:44 Function Definition: DT( (global void)
+0:44 Function Parameters:
+0:44 Sequence
+0:44 Function Call: AT( (global void)
+0:? Linker Objects
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+recurse1.frag
+Shader version: 330
+0:? Sequence
+0:5 Function Definition: main( (global void)
+0:5 Function Parameters:
+0:11 Function Definition: cfoo(f1; (global void)
+0:11 Function Parameters:
+0:11 '' (in float)
+0:13 Sequence
+0:13 Function Call: cbar(i1; (global float)
+0:13 Constant:
+0:13 2 (const int)
+0:20 Function Definition: CA( (global void)
+0:20 Function Parameters:
+0:20 Sequence
+0:20 Function Call: CB( (global void)
+0:21 Function Definition: CC( (global void)
+0:21 Function Parameters:
+0:21 Sequence
+0:21 Function Call: CD( (global void)
+0:27 Function Definition: CAT( (global void)
+0:27 Function Parameters:
+0:27 Sequence
+0:27 Function Call: CBT( (global void)
+0:27 Function Call: CBT( (global void)
+0:27 Function Call: CBT( (global void)
+0:28 Function Definition: CCT( (global void)
+0:28 Function Parameters:
+0:28 Sequence
+0:28 Function Call: CDT( (global void)
+0:28 Function Call: CDT( (global void)
+0:28 Function Call: CBT( (global void)
+0:32 Function Definition: norA( (global void)
+0:32 Function Parameters:
+0:33 Function Definition: norB( (global void)
+0:33 Function Parameters:
+0:33 Sequence
+0:33 Function Call: norA( (global void)
+0:34 Function Definition: norC( (global void)
+0:34 Function Parameters:
+0:34 Sequence
+0:34 Function Call: norA( (global void)
+0:35 Function Definition: norD( (global void)
+0:35 Function Parameters:
+0:35 Sequence
+0:35 Function Call: norA( (global void)
+0:36 Function Definition: norE( (global void)
+0:36 Function Parameters:
+0:36 Sequence
+0:36 Function Call: norB( (global void)
+0:37 Function Definition: norF( (global void)
+0:37 Function Parameters:
+0:37 Sequence
+0:37 Function Call: norB( (global void)
+0:38 Function Definition: norG( (global void)
+0:38 Function Parameters:
+0:38 Sequence
+0:38 Function Call: norE( (global void)
+0:39 Function Definition: norH( (global void)
+0:39 Function Parameters:
+0:39 Sequence
+0:39 Function Call: norE( (global void)
+0:40 Function Definition: norI( (global void)
+0:40 Function Parameters:
+0:40 Sequence
+0:40 Function Call: norE( (global void)
+0:44 Function Definition: norcA( (global void)
+0:44 Function Parameters:
+0:45 Function Definition: norcB( (global void)
+0:45 Function Parameters:
+0:45 Sequence
+0:45 Function Call: norcA( (global void)
+0:46 Function Definition: norcC( (global void)
+0:46 Function Parameters:
+0:46 Sequence
+0:46 Function Call: norcB( (global void)
+0:47 Function Definition: norcD( (global void)
+0:47 Function Parameters:
+0:47 Sequence
+0:47 Function Call: norcC( (global void)
+0:47 Function Call: norcB( (global void)
+0:48 Function Definition: norcE( (global void)
+0:48 Function Parameters:
+0:48 Sequence
+0:48 Function Call: norcD( (global void)
+0:? Linker Objects
+
+recurse2.frag
+Shader version: 330
+0:? Sequence
+0:9 Function Definition: cbar(i1; (global float)
+0:9 Function Parameters:
+0:9 '' (in int)
+0:11 Sequence
+0:11 Function Call: cfoo(f1; (global void)
+0:11 Constant:
+0:11 4.200000
+0:13 Branch: Return with expression
+0:13 Constant:
+0:13 3.200000
+0:20 Function Definition: CB( (global void)
+0:20 Function Parameters:
+0:20 Sequence
+0:20 Function Call: CC( (global void)
+0:21 Function Definition: CD( (global void)
+0:21 Function Parameters:
+0:21 Sequence
+0:21 Function Call: CA( (global void)
+0:27 Function Definition: CBT( (global void)
+0:27 Function Parameters:
+0:27 Sequence
+0:27 Function Call: CCT( (global void)
+0:27 Function Call: CCT( (global void)
+0:27 Function Call: CCT( (global void)
+0:28 Function Definition: CDT( (global void)
+0:28 Function Parameters:
+0:28 Sequence
+0:28 Function Call: CAT( (global void)
+0:? Linker Objects
+
+
+Linked vertex stage:
+
+ERROR: Linking vertex stage: Recursion detected:
+ BT( calling CT(
+ERROR: Linking vertex stage: Recursion detected:
+ AT( calling BT(
+ERROR: Linking vertex stage: Recursion detected:
+ DT( calling AT(
+ERROR: Linking vertex stage: Recursion detected:
+ D( calling A(
+ERROR: Linking vertex stage: Recursion detected:
+ bar(i1; calling foo(f1;
+ERROR: Linking vertex stage: Recursion detected:
+ self( calling self(
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Recursion detected:
+ CCT( calling CBT(
+ERROR: Linking fragment stage: Recursion detected:
+ CBT( calling CCT(
+ERROR: Linking fragment stage: Recursion detected:
+ CC( calling CD(
+ERROR: Linking fragment stage: Recursion detected:
+ cfoo(f1; calling cbar(i1;
+
+Shader version: 330
+0:? Sequence
+0:3 Function Definition: main( (global void)
+0:3 Function Parameters:
+0:9 Function Definition: self( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Function Call: self( (global void)
+0:16 Function Definition: foo(f1; (global void)
+0:16 Function Parameters:
+0:16 '' (in float)
+0:18 Sequence
+0:18 Function Call: bar(i1; (global float)
+0:18 Constant:
+0:18 2 (const int)
+0:21 Function Definition: bar(i1; (global float)
+0:21 Function Parameters:
+0:21 '' (in int)
+0:23 Sequence
+0:23 Function Call: foo(f1; (global void)
+0:23 Constant:
+0:23 4.200000
+0:25 Branch: Return with expression
+0:25 Constant:
+0:25 3.200000
+0:32 Function Definition: A( (global void)
+0:32 Function Parameters:
+0:32 Sequence
+0:32 Function Call: B( (global void)
+0:33 Function Definition: C( (global void)
+0:33 Function Parameters:
+0:33 Sequence
+0:33 Function Call: D( (global void)
+0:34 Function Definition: B( (global void)
+0:34 Function Parameters:
+0:34 Sequence
+0:34 Function Call: C( (global void)
+0:35 Function Definition: D( (global void)
+0:35 Function Parameters:
+0:35 Sequence
+0:35 Function Call: A( (global void)
+0:41 Function Definition: AT( (global void)
+0:41 Function Parameters:
+0:41 Sequence
+0:41 Function Call: BT( (global void)
+0:41 Function Call: BT( (global void)
+0:41 Function Call: BT( (global void)
+0:42 Function Definition: CT( (global void)
+0:42 Function Parameters:
+0:42 Sequence
+0:42 Function Call: DT( (global void)
+0:42 Function Call: AT( (global void)
+0:42 Function Call: DT( (global void)
+0:42 Function Call: BT( (global void)
+0:43 Function Definition: BT( (global void)
+0:43 Function Parameters:
+0:43 Sequence
+0:43 Function Call: CT( (global void)
+0:43 Function Call: CT( (global void)
+0:43 Function Call: CT( (global void)
+0:44 Function Definition: DT( (global void)
+0:44 Function Parameters:
+0:44 Sequence
+0:44 Function Call: AT( (global void)
+0:? Linker Objects
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+Shader version: 330
+0:? Sequence
+0:5 Function Definition: main( (global void)
+0:5 Function Parameters:
+0:11 Function Definition: cfoo(f1; (global void)
+0:11 Function Parameters:
+0:11 '' (in float)
+0:13 Sequence
+0:13 Function Call: cbar(i1; (global float)
+0:13 Constant:
+0:13 2 (const int)
+0:20 Function Definition: CA( (global void)
+0:20 Function Parameters:
+0:20 Sequence
+0:20 Function Call: CB( (global void)
+0:21 Function Definition: CC( (global void)
+0:21 Function Parameters:
+0:21 Sequence
+0:21 Function Call: CD( (global void)
+0:27 Function Definition: CAT( (global void)
+0:27 Function Parameters:
+0:27 Sequence
+0:27 Function Call: CBT( (global void)
+0:27 Function Call: CBT( (global void)
+0:27 Function Call: CBT( (global void)
+0:28 Function Definition: CCT( (global void)
+0:28 Function Parameters:
+0:28 Sequence
+0:28 Function Call: CDT( (global void)
+0:28 Function Call: CDT( (global void)
+0:28 Function Call: CBT( (global void)
+0:32 Function Definition: norA( (global void)
+0:32 Function Parameters:
+0:33 Function Definition: norB( (global void)
+0:33 Function Parameters:
+0:33 Sequence
+0:33 Function Call: norA( (global void)
+0:34 Function Definition: norC( (global void)
+0:34 Function Parameters:
+0:34 Sequence
+0:34 Function Call: norA( (global void)
+0:35 Function Definition: norD( (global void)
+0:35 Function Parameters:
+0:35 Sequence
+0:35 Function Call: norA( (global void)
+0:36 Function Definition: norE( (global void)
+0:36 Function Parameters:
+0:36 Sequence
+0:36 Function Call: norB( (global void)
+0:37 Function Definition: norF( (global void)
+0:37 Function Parameters:
+0:37 Sequence
+0:37 Function Call: norB( (global void)
+0:38 Function Definition: norG( (global void)
+0:38 Function Parameters:
+0:38 Sequence
+0:38 Function Call: norE( (global void)
+0:39 Function Definition: norH( (global void)
+0:39 Function Parameters:
+0:39 Sequence
+0:39 Function Call: norE( (global void)
+0:40 Function Definition: norI( (global void)
+0:40 Function Parameters:
+0:40 Sequence
+0:40 Function Call: norE( (global void)
+0:44 Function Definition: norcA( (global void)
+0:44 Function Parameters:
+0:45 Function Definition: norcB( (global void)
+0:45 Function Parameters:
+0:45 Sequence
+0:45 Function Call: norcA( (global void)
+0:46 Function Definition: norcC( (global void)
+0:46 Function Parameters:
+0:46 Sequence
+0:46 Function Call: norcB( (global void)
+0:47 Function Definition: norcD( (global void)
+0:47 Function Parameters:
+0:47 Sequence
+0:47 Function Call: norcC( (global void)
+0:47 Function Call: norcB( (global void)
+0:48 Function Definition: norcE( (global void)
+0:48 Function Parameters:
+0:48 Sequence
+0:48 Function Call: norcD( (global void)
+0:9 Function Definition: cbar(i1; (global float)
+0:9 Function Parameters:
+0:9 '' (in int)
+0:11 Sequence
+0:11 Function Call: cfoo(f1; (global void)
+0:11 Constant:
+0:11 4.200000
+0:13 Branch: Return with expression
+0:13 Constant:
+0:13 3.200000
+0:20 Function Definition: CB( (global void)
+0:20 Function Parameters:
+0:20 Sequence
+0:20 Function Call: CC( (global void)
+0:21 Function Definition: CD( (global void)
+0:21 Function Parameters:
+0:21 Sequence
+0:21 Function Call: CA( (global void)
+0:27 Function Definition: CBT( (global void)
+0:27 Function Parameters:
+0:27 Sequence
+0:27 Function Call: CCT( (global void)
+0:27 Function Call: CCT( (global void)
+0:27 Function Call: CCT( (global void)
+0:28 Function Definition: CDT( (global void)
+0:28 Function Parameters:
+0:28 Sequence
+0:28 Function Call: CAT( (global void)
+0:? Linker Objects
+
diff --git a/Test/baseResults/reflection.vert.out b/Test/baseResults/reflection.vert.out
index cb01abe..7e9d322 100644
--- a/Test/baseResults/reflection.vert.out
+++ b/Test/baseResults/reflection.vert.out
@@ -1,97 +1,97 @@
-reflection.vert
-Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked vertex stage:
-
-
-Uniform reflection:
-image_ui2D: offset -1, type 9063, size 1, index -1
-sampler_2D: offset -1, type 8b5e, size 1, index -1
-sampler_2DMSArray: offset -1, type 910b, size 1, index -1
-anonMember3: offset 80, type 8b52, size 1, index 0
-s.a: offset -1, type 1404, size 1, index -1
-named.scalar: offset 12, type 1404, size 1, index 1
-m23: offset 16, type 8b67, size 1, index 0
-scalarAfterm23: offset 48, type 1404, size 1, index 0
-c_m23: offset 16, type 8b67, size 1, index 2
-c_scalarAfterm23: offset 64, type 1404, size 1, index 2
-scalarBeforeArray: offset 96, type 1404, size 1, index 0
-floatArray: offset 112, type 1406, size 5, index 0
-scalarAfterArray: offset 192, type 1404, size 1, index 0
-named.memvec2: offset 48, type 8b50, size 1, index 1
-named.memf1: offset 56, type 1406, size 1, index 1
-named.memf2: offset 60, type 8b56, size 1, index 1
-named.memf3: offset 64, type 1404, size 1, index 1
-named.memvec2a: offset 72, type 8b50, size 1, index 1
-named.m22: offset 80, type 8b5a, size 7, index 1
-dm22: offset -1, type 8b5a, size 4, index -1
-m22: offset 208, type 8b5a, size 3, index 0
-nested.foo.n1.a: offset 0, type 1406, size 1, index 3
-nested.foo.n2.b: offset 16, type 1406, size 1, index 3
-nested.foo.n2.c: offset 20, type 1406, size 1, index 3
-nested.foo.n2.d: offset 24, type 1406, size 1, index 3
-deepA[0].d2.d1[2].va: offset -1, type 8b50, size 2, index -1
-deepA[1].d2.d1[2].va: offset -1, type 8b50, size 2, index -1
-deepB[1].d2.d1[0].va: offset -1, type 8b50, size 2, index -1
-deepB[1].d2.d1[1].va: offset -1, type 8b50, size 2, index -1
-deepB[1].d2.d1[2].va: offset -1, type 8b50, size 2, index -1
-deepB[1].d2.d1[3].va: offset -1, type 8b50, size 2, index -1
-deepB[0].d2.d1[0].va: offset -1, type 8b50, size 2, index -1
-deepB[0].d2.d1[1].va: offset -1, type 8b50, size 2, index -1
-deepB[0].d2.d1[2].va: offset -1, type 8b50, size 2, index -1
-deepB[0].d2.d1[3].va: offset -1, type 8b50, size 2, index -1
-deepC[1].iv4: offset -1, type 8b52, size 1, index -1
-deepC[1].d2.i: offset -1, type 1404, size 1, index -1
-deepC[1].d2.d1[0].va: offset -1, type 8b50, size 3, index -1
-deepC[1].d2.d1[0].b: offset -1, type 8b56, size 1, index -1
-deepC[1].d2.d1[1].va: offset -1, type 8b50, size 3, index -1
-deepC[1].d2.d1[1].b: offset -1, type 8b56, size 1, index -1
-deepC[1].d2.d1[2].va: offset -1, type 8b50, size 3, index -1
-deepC[1].d2.d1[2].b: offset -1, type 8b56, size 1, index -1
-deepC[1].d2.d1[3].va: offset -1, type 8b50, size 3, index -1
-deepC[1].d2.d1[3].b: offset -1, type 8b56, size 1, index -1
-deepC[1].v3: offset -1, type 8b54, size 1, index -1
-deepD[0].iv4: offset -1, type 8b52, size 1, index -1
-deepD[0].d2.i: offset -1, type 1404, size 1, index -1
-deepD[0].d2.d1[0].va: offset -1, type 8b50, size 3, index -1
-deepD[0].d2.d1[0].b: offset -1, type 8b56, size 1, index -1
-deepD[0].d2.d1[1].va: offset -1, type 8b50, size 3, index -1
-deepD[0].d2.d1[1].b: offset -1, type 8b56, size 1, index -1
-deepD[0].d2.d1[2].va: offset -1, type 8b50, size 3, index -1
-deepD[0].d2.d1[2].b: offset -1, type 8b56, size 1, index -1
-deepD[0].d2.d1[3].va: offset -1, type 8b50, size 3, index -1
-deepD[0].d2.d1[3].b: offset -1, type 8b56, size 1, index -1
-deepD[0].v3: offset -1, type 8b54, size 1, index -1
-deepD[1].iv4: offset -1, type 8b52, size 1, index -1
-deepD[1].d2.i: offset -1, type 1404, size 1, index -1
-deepD[1].d2.d1[0].va: offset -1, type 8b50, size 3, index -1
-deepD[1].d2.d1[0].b: offset -1, type 8b56, size 1, index -1
-deepD[1].d2.d1[1].va: offset -1, type 8b50, size 3, index -1
-deepD[1].d2.d1[1].b: offset -1, type 8b56, size 1, index -1
-deepD[1].d2.d1[2].va: offset -1, type 8b50, size 3, index -1
-deepD[1].d2.d1[2].b: offset -1, type 8b56, size 1, index -1
-deepD[1].d2.d1[3].va: offset -1, type 8b50, size 3, index -1
-deepD[1].d2.d1[3].b: offset -1, type 8b56, size 1, index -1
-deepD[1].v3: offset -1, type 8b54, size 1, index -1
-abl.foo: offset 0, type 1406, size 1, index 7
-abl2.foo: offset 0, type 1406, size 1, index 11
-anonMember1: offset 0, type 8b51, size 1, index 0
-uf1: offset -1, type 1406, size 1, index -1
-uf2: offset -1, type 1406, size 1, index -1
-named.member3: offset 32, type 8b52, size 1, index 1
-
-Uniform block reflection:
-nameless: offset -1, type ffffffff, size 496, index -1
-named: offset -1, type ffffffff, size 304, index -1
-c_nameless: offset -1, type ffffffff, size 112, index -1
-nested: offset -1, type ffffffff, size 28, index -1
-abl[0]: offset -1, type ffffffff, size 4, index -1
-abl[1]: offset -1, type ffffffff, size 4, index -1
-abl[2]: offset -1, type ffffffff, size 4, index -1
-abl[3]: offset -1, type ffffffff, size 4, index -1
-abl2[0]: offset -1, type ffffffff, size 4, index -1
-abl2[1]: offset -1, type ffffffff, size 4, index -1
-abl2[2]: offset -1, type ffffffff, size 4, index -1
-abl2[3]: offset -1, type ffffffff, size 4, index -1
-
+reflection.vert
+Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+Uniform reflection:
+image_ui2D: offset -1, type 9063, size 1, index -1
+sampler_2D: offset -1, type 8b5e, size 1, index -1
+sampler_2DMSArray: offset -1, type 910b, size 1, index -1
+anonMember3: offset 80, type 8b52, size 1, index 0
+s.a: offset -1, type 1404, size 1, index -1
+named.scalar: offset 12, type 1404, size 1, index 1
+m23: offset 16, type 8b67, size 1, index 0
+scalarAfterm23: offset 48, type 1404, size 1, index 0
+c_m23: offset 16, type 8b67, size 1, index 2
+c_scalarAfterm23: offset 64, type 1404, size 1, index 2
+scalarBeforeArray: offset 96, type 1404, size 1, index 0
+floatArray: offset 112, type 1406, size 5, index 0
+scalarAfterArray: offset 192, type 1404, size 1, index 0
+named.memvec2: offset 48, type 8b50, size 1, index 1
+named.memf1: offset 56, type 1406, size 1, index 1
+named.memf2: offset 60, type 8b56, size 1, index 1
+named.memf3: offset 64, type 1404, size 1, index 1
+named.memvec2a: offset 72, type 8b50, size 1, index 1
+named.m22: offset 80, type 8b5a, size 7, index 1
+dm22: offset -1, type 8b5a, size 4, index -1
+m22: offset 208, type 8b5a, size 3, index 0
+nested.foo.n1.a: offset 0, type 1406, size 1, index 3
+nested.foo.n2.b: offset 16, type 1406, size 1, index 3
+nested.foo.n2.c: offset 20, type 1406, size 1, index 3
+nested.foo.n2.d: offset 24, type 1406, size 1, index 3
+deepA[0].d2.d1[2].va: offset -1, type 8b50, size 2, index -1
+deepA[1].d2.d1[2].va: offset -1, type 8b50, size 2, index -1
+deepB[1].d2.d1[0].va: offset -1, type 8b50, size 2, index -1
+deepB[1].d2.d1[1].va: offset -1, type 8b50, size 2, index -1
+deepB[1].d2.d1[2].va: offset -1, type 8b50, size 2, index -1
+deepB[1].d2.d1[3].va: offset -1, type 8b50, size 2, index -1
+deepB[0].d2.d1[0].va: offset -1, type 8b50, size 2, index -1
+deepB[0].d2.d1[1].va: offset -1, type 8b50, size 2, index -1
+deepB[0].d2.d1[2].va: offset -1, type 8b50, size 2, index -1
+deepB[0].d2.d1[3].va: offset -1, type 8b50, size 2, index -1
+deepC[1].iv4: offset -1, type 8b52, size 1, index -1
+deepC[1].d2.i: offset -1, type 1404, size 1, index -1
+deepC[1].d2.d1[0].va: offset -1, type 8b50, size 3, index -1
+deepC[1].d2.d1[0].b: offset -1, type 8b56, size 1, index -1
+deepC[1].d2.d1[1].va: offset -1, type 8b50, size 3, index -1
+deepC[1].d2.d1[1].b: offset -1, type 8b56, size 1, index -1
+deepC[1].d2.d1[2].va: offset -1, type 8b50, size 3, index -1
+deepC[1].d2.d1[2].b: offset -1, type 8b56, size 1, index -1
+deepC[1].d2.d1[3].va: offset -1, type 8b50, size 3, index -1
+deepC[1].d2.d1[3].b: offset -1, type 8b56, size 1, index -1
+deepC[1].v3: offset -1, type 8b54, size 1, index -1
+deepD[0].iv4: offset -1, type 8b52, size 1, index -1
+deepD[0].d2.i: offset -1, type 1404, size 1, index -1
+deepD[0].d2.d1[0].va: offset -1, type 8b50, size 3, index -1
+deepD[0].d2.d1[0].b: offset -1, type 8b56, size 1, index -1
+deepD[0].d2.d1[1].va: offset -1, type 8b50, size 3, index -1
+deepD[0].d2.d1[1].b: offset -1, type 8b56, size 1, index -1
+deepD[0].d2.d1[2].va: offset -1, type 8b50, size 3, index -1
+deepD[0].d2.d1[2].b: offset -1, type 8b56, size 1, index -1
+deepD[0].d2.d1[3].va: offset -1, type 8b50, size 3, index -1
+deepD[0].d2.d1[3].b: offset -1, type 8b56, size 1, index -1
+deepD[0].v3: offset -1, type 8b54, size 1, index -1
+deepD[1].iv4: offset -1, type 8b52, size 1, index -1
+deepD[1].d2.i: offset -1, type 1404, size 1, index -1
+deepD[1].d2.d1[0].va: offset -1, type 8b50, size 3, index -1
+deepD[1].d2.d1[0].b: offset -1, type 8b56, size 1, index -1
+deepD[1].d2.d1[1].va: offset -1, type 8b50, size 3, index -1
+deepD[1].d2.d1[1].b: offset -1, type 8b56, size 1, index -1
+deepD[1].d2.d1[2].va: offset -1, type 8b50, size 3, index -1
+deepD[1].d2.d1[2].b: offset -1, type 8b56, size 1, index -1
+deepD[1].d2.d1[3].va: offset -1, type 8b50, size 3, index -1
+deepD[1].d2.d1[3].b: offset -1, type 8b56, size 1, index -1
+deepD[1].v3: offset -1, type 8b54, size 1, index -1
+abl.foo: offset 0, type 1406, size 1, index 7
+abl2.foo: offset 0, type 1406, size 1, index 11
+anonMember1: offset 0, type 8b51, size 1, index 0
+uf1: offset -1, type 1406, size 1, index -1
+uf2: offset -1, type 1406, size 1, index -1
+named.member3: offset 32, type 8b52, size 1, index 1
+
+Uniform block reflection:
+nameless: offset -1, type ffffffff, size 496, index -1
+named: offset -1, type ffffffff, size 304, index -1
+c_nameless: offset -1, type ffffffff, size 112, index -1
+nested: offset -1, type ffffffff, size 28, index -1
+abl[0]: offset -1, type ffffffff, size 4, index -1
+abl[1]: offset -1, type ffffffff, size 4, index -1
+abl[2]: offset -1, type ffffffff, size 4, index -1
+abl[3]: offset -1, type ffffffff, size 4, index -1
+abl2[0]: offset -1, type ffffffff, size 4, index -1
+abl2[1]: offset -1, type ffffffff, size 4, index -1
+abl2[2]: offset -1, type ffffffff, size 4, index -1
+abl2[3]: offset -1, type ffffffff, size 4, index -1
+
diff --git a/Test/baseResults/sample.frag.out b/Test/baseResults/sample.frag.out
index bfa6e5a..7ad9295 100644
--- a/Test/baseResults/sample.frag.out
+++ b/Test/baseResults/sample.frag.out
@@ -1,33 +1,33 @@
-sample.frag
-Shader version: 110
-0:? Sequence
-0:38 Function Definition: main( (global void)
-0:38 Function Parameters:
-0:40 Sequence
-0:40 move second child to first child (temp 4-component vector of float)
-0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:40 Construct vec4 (temp 4-component vector of float)
-0:40 'color' (smooth in 3-component vector of float)
-0:40 Constant:
-0:40 1.000000
-0:? Linker Objects
-0:? 'color' (smooth in 3-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 110
-0:? Sequence
-0:38 Function Definition: main( (global void)
-0:38 Function Parameters:
-0:40 Sequence
-0:40 move second child to first child (temp 4-component vector of float)
-0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:40 Construct vec4 (temp 4-component vector of float)
-0:40 'color' (smooth in 3-component vector of float)
-0:40 Constant:
-0:40 1.000000
-0:? Linker Objects
-0:? 'color' (smooth in 3-component vector of float)
-
+sample.frag
+Shader version: 110
+0:? Sequence
+0:38 Function Definition: main( (global void)
+0:38 Function Parameters:
+0:40 Sequence
+0:40 move second child to first child (temp 4-component vector of float)
+0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:40 Construct vec4 (temp 4-component vector of float)
+0:40 'color' (smooth in 3-component vector of float)
+0:40 Constant:
+0:40 1.000000
+0:? Linker Objects
+0:? 'color' (smooth in 3-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:38 Function Definition: main( (global void)
+0:38 Function Parameters:
+0:40 Sequence
+0:40 move second child to first child (temp 4-component vector of float)
+0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:40 Construct vec4 (temp 4-component vector of float)
+0:40 'color' (smooth in 3-component vector of float)
+0:40 Constant:
+0:40 1.000000
+0:? Linker Objects
+0:? 'color' (smooth in 3-component vector of float)
+
diff --git a/Test/baseResults/sample.vert.out b/Test/baseResults/sample.vert.out
index a2071e9..e67db57 100644
--- a/Test/baseResults/sample.vert.out
+++ b/Test/baseResults/sample.vert.out
@@ -1,43 +1,43 @@
-sample.vert
-Shader version: 110
-0:? Sequence
-0:38 Function Definition: main( (global void)
-0:38 Function Parameters:
-0:40 Sequence
-0:40 move second child to first child (temp 3-component vector of float)
-0:40 'color' (smooth out 3-component vector of float)
-0:40 Constant:
-0:40 1.000000
-0:40 1.000000
-0:40 1.000000
-0:42 move second child to first child (temp 4-component vector of float)
-0:42 'gl_Position' (gl_Position 4-component vector of float Position)
-0:42 matrix-times-vector (temp 4-component vector of float)
-0:42 'gl_ModelViewProjectionMatrix' (uniform 4X4 matrix of float)
-0:42 'gl_Vertex' (in 4-component vector of float Vertex)
-0:? Linker Objects
-0:? 'color' (smooth out 3-component vector of float)
-
-
-Linked vertex stage:
-
-
-Shader version: 110
-0:? Sequence
-0:38 Function Definition: main( (global void)
-0:38 Function Parameters:
-0:40 Sequence
-0:40 move second child to first child (temp 3-component vector of float)
-0:40 'color' (smooth out 3-component vector of float)
-0:40 Constant:
-0:40 1.000000
-0:40 1.000000
-0:40 1.000000
-0:42 move second child to first child (temp 4-component vector of float)
-0:42 'gl_Position' (gl_Position 4-component vector of float Position)
-0:42 matrix-times-vector (temp 4-component vector of float)
-0:42 'gl_ModelViewProjectionMatrix' (uniform 4X4 matrix of float)
-0:42 'gl_Vertex' (in 4-component vector of float Vertex)
-0:? Linker Objects
-0:? 'color' (smooth out 3-component vector of float)
-
+sample.vert
+Shader version: 110
+0:? Sequence
+0:38 Function Definition: main( (global void)
+0:38 Function Parameters:
+0:40 Sequence
+0:40 move second child to first child (temp 3-component vector of float)
+0:40 'color' (smooth out 3-component vector of float)
+0:40 Constant:
+0:40 1.000000
+0:40 1.000000
+0:40 1.000000
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 'gl_Position' (gl_Position 4-component vector of float Position)
+0:42 matrix-times-vector (temp 4-component vector of float)
+0:42 'gl_ModelViewProjectionMatrix' (uniform 4X4 matrix of float)
+0:42 'gl_Vertex' (in 4-component vector of float Vertex)
+0:? Linker Objects
+0:? 'color' (smooth out 3-component vector of float)
+
+
+Linked vertex stage:
+
+
+Shader version: 110
+0:? Sequence
+0:38 Function Definition: main( (global void)
+0:38 Function Parameters:
+0:40 Sequence
+0:40 move second child to first child (temp 3-component vector of float)
+0:40 'color' (smooth out 3-component vector of float)
+0:40 Constant:
+0:40 1.000000
+0:40 1.000000
+0:40 1.000000
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 'gl_Position' (gl_Position 4-component vector of float Position)
+0:42 matrix-times-vector (temp 4-component vector of float)
+0:42 'gl_ModelViewProjectionMatrix' (uniform 4X4 matrix of float)
+0:42 'gl_Vertex' (in 4-component vector of float Vertex)
+0:? Linker Objects
+0:? 'color' (smooth out 3-component vector of float)
+
diff --git a/Test/baseResults/simpleFunctionCall.frag.out b/Test/baseResults/simpleFunctionCall.frag.out
index cb55c55..2cc42a3 100644
--- a/Test/baseResults/simpleFunctionCall.frag.out
+++ b/Test/baseResults/simpleFunctionCall.frag.out
@@ -1,43 +1,43 @@
-simpleFunctionCall.frag
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-
-Shader version: 150
-0:? Sequence
-0:7 Function Definition: foo( (global 4-component vector of float)
-0:7 Function Parameters:
-0:9 Sequence
-0:9 Branch: Return with expression
-0:9 'BaseColor' (smooth in 4-component vector of float)
-0:12 Function Definition: main( (global void)
-0:12 Function Parameters:
-0:14 Sequence
-0:14 move second child to first child (temp 4-component vector of float)
-0:14 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:14 Function Call: foo( (global 4-component vector of float)
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-
-
-Linked fragment stage:
-
-
-Shader version: 150
-0:? Sequence
-0:7 Function Definition: foo( (global 4-component vector of float)
-0:7 Function Parameters:
-0:9 Sequence
-0:9 Branch: Return with expression
-0:9 'BaseColor' (smooth in 4-component vector of float)
-0:12 Function Definition: main( (global void)
-0:12 Function Parameters:
-0:14 Sequence
-0:14 move second child to first child (temp 4-component vector of float)
-0:14 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:14 Function Call: foo( (global 4-component vector of float)
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-
+simpleFunctionCall.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+
+Shader version: 150
+0:? Sequence
+0:7 Function Definition: foo( (global 4-component vector of float)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Branch: Return with expression
+0:9 'BaseColor' (smooth in 4-component vector of float)
+0:12 Function Definition: main( (global void)
+0:12 Function Parameters:
+0:14 Sequence
+0:14 move second child to first child (temp 4-component vector of float)
+0:14 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:14 Function Call: foo( (global 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
+
+Linked fragment stage:
+
+
+Shader version: 150
+0:? Sequence
+0:7 Function Definition: foo( (global 4-component vector of float)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Branch: Return with expression
+0:9 'BaseColor' (smooth in 4-component vector of float)
+0:12 Function Definition: main( (global void)
+0:12 Function Parameters:
+0:14 Sequence
+0:14 move second child to first child (temp 4-component vector of float)
+0:14 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:14 Function Call: foo( (global 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
diff --git a/Test/baseResults/specExamples.frag.out b/Test/baseResults/specExamples.frag.out
index f73c7e3..464a279 100644
--- a/Test/baseResults/specExamples.frag.out
+++ b/Test/baseResults/specExamples.frag.out
@@ -1,617 +1,617 @@
-specExamples.frag
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:6: '=' : cannot convert from 'const uint' to 'global int'
-ERROR: 0:20: '' : numeric literal too big
-ERROR: 0:21: '' : hexidecimal literal too big
-ERROR: 0:37: 'view' : redefinition
-ERROR: 0:63: 'invariant' : can only apply to an output
-ERROR: 0:68: 'lightPosition' : redefinition
-ERROR: 0:75: 'Atten' : member storage qualifier cannot contradict block storage qualifier
-ERROR: 0:87: 'Color' : redefinition
-ERROR: 0:92: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
-ERROR: 0:93: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
-ERROR: 0:99: 'local_size_x' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:99: 'local_size_y' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:100: 'local_size_x' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:102: 'color' : redefinition
-ERROR: 0:112: 'redeclaration' : all redeclarations must use the same depth layout on gl_FragDepth
-ERROR: 0:118: 'redeclaration' : all redeclarations must use the same depth layout on gl_FragDepth
-ERROR: 0:121: 'redeclaration' : all redeclarations must use the same depth layout on gl_FragDepth
-ERROR: 0:172: 'x' : undeclared identifier
-ERROR: 0:172: '[]' : scalar integer expression required
-ERROR: 0:175: 'x' : undeclared identifier
-ERROR: 0:175: '[]' : scalar integer expression required
-ERROR: 0:175: 'b' : left of '[' is not of type array, matrix, or vector
-ERROR: 0:175: 'a' : vector field selection out of range
-ERROR: 0:175: 'length' : does not operate on this type: const float
-ERROR: 0:175: '' : function call, method, or subroutine call expected
-ERROR: 0:175: '' : no matching overloaded function found
-ERROR: 0:178: '[]' : scalar integer expression required
-ERROR: 0:178: 's' : undeclared identifier
-ERROR: 0:178: 's' : left of '[' is not of type array, matrix, or vector
-ERROR: 0:178: 'a' : vector field selection out of range
-ERROR: 0:178: 'length' : does not operate on this type: const float
-ERROR: 0:178: '' : function call, method, or subroutine call expected
-ERROR: 0:178: '' : no matching overloaded function found
-ERROR: 0:198: 'e' : redefinition
-ERROR: 0:226: 'in' : not allowed in nested scope
-ERROR: 0:227: 'in' : not allowed in nested scope
-ERROR: 0:228: 'in' : not allowed in nested scope
-ERROR: 0:232: 'out' : not allowed in nested scope
-ERROR: 38 compilation errors. No code generated.
-
-
-Shader version: 430
-Requested GL_3DL_array_objects
-gl_FragCoord pixel center is integer
-gl_FragCoord origin is upper left
-using early_fragment_tests
-using depth_greater
-ERROR: node is still EOpNull!
-0:5 Sequence
-0:5 move second child to first child (temp int)
-0:5 'a' (global int)
-0:5 Constant:
-0:5 -1 (const int)
-0:7 Sequence
-0:7 move second child to first child (temp uint)
-0:7 'c' (global uint)
-0:7 Constant:
-0:7 4294967295 (const uint)
-0:8 Sequence
-0:8 move second child to first child (temp uint)
-0:8 'd' (global uint)
-0:8 Constant:
-0:8 4294967295 (const uint)
-0:9 Sequence
-0:9 move second child to first child (temp int)
-0:9 'e' (global int)
-0:9 Constant:
-0:9 -1 (const int)
-0:13 Sequence
-0:13 move second child to first child (temp uint)
-0:13 'f' (global uint)
-0:13 Constant:
-0:13 4294967295 (const uint)
-0:17 Sequence
-0:17 move second child to first child (temp int)
-0:17 'g' (global int)
-0:17 Constant:
-0:17 -1294967296 (const int)
-0:19 Sequence
-0:19 move second child to first child (temp int)
-0:19 'h' (global int)
-0:19 Constant:
-0:19 -1610612736 (const int)
-0:20 Sequence
-0:20 move second child to first child (temp int)
-0:20 'i' (global int)
-0:20 Constant:
-0:20 -1 (const int)
-0:21 Sequence
-0:21 move second child to first child (temp int)
-0:21 'j' (global int)
-0:21 Constant:
-0:21 -1 (const int)
-0:22 Sequence
-0:22 move second child to first child (temp int)
-0:22 'k' (global int)
-0:22 Constant:
-0:22 -2147483648 (const int)
-0:23 Sequence
-0:23 move second child to first child (temp int)
-0:23 'l' (global int)
-0:23 Constant:
-0:23 -2147483648 (const int)
-0:25 Sequence
-0:25 move second child to first child (temp float)
-0:25 'fb' (global float)
-0:25 Constant:
-0:25 1.500000
-0:26 Sequence
-0:26 move second child to first child (temp double)
-0:26 'fd' (global double)
-0:26 Constant:
-0:26 2.000000
-0:127 Function Definition: foo(f1[5]; (global 5-element array of float)
-0:127 Function Parameters:
-0:127 '' (in 5-element array of float)
-0:129 Sequence
-0:129 Branch: Return with expression
-0:129 Constant:
-0:129 3.400000
-0:129 4.200000
-0:129 5.000000
-0:129 5.200000
-0:129 1.100000
-0:137 Function Definition: main( (global void)
-0:137 Function Parameters:
-0:140 Sequence
-0:140 Sequence
-0:140 Sequence
-0:140 move second child to first child (temp 5-element array of float)
-0:140 'a' (temp 5-element array of float)
-0:140 Constant:
-0:140 3.400000
-0:140 4.200000
-0:140 5.000000
-0:140 5.200000
-0:140 1.100000
-0:143 Sequence
-0:143 Sequence
-0:143 move second child to first child (temp 5-element array of float)
-0:143 'a' (temp 5-element array of float)
-0:143 Constant:
-0:143 3.400000
-0:143 4.200000
-0:143 5.000000
-0:143 5.200000
-0:143 1.100000
-0:? Sequence
-0:149 Sequence
-0:149 move second child to first child (temp 2-element array of 4-component vector of float)
-0:149 'b' (temp 2-element array of 4-component vector of float)
-0:149 Constant:
-0:149 0.000000
-0:149 0.000000
-0:149 0.000000
-0:149 0.000000
-0:149 0.100000
-0:149 0.100000
-0:149 0.100000
-0:149 0.100000
-0:150 Sequence
-0:150 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:150 'a3' (temp 3-element array of 2-element array of 4-component vector of float)
-0:150 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
-0:150 'b' (temp 2-element array of 4-component vector of float)
-0:150 'b' (temp 2-element array of 4-component vector of float)
-0:150 'b' (temp 2-element array of 4-component vector of float)
-0:152 Sequence
-0:152 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:152 'a4' (temp 3-element array of 2-element array of 4-component vector of float)
-0:152 Constant:
-0:152 0.000000
-0:152 0.000000
-0:152 0.000000
-0:152 0.000000
-0:152 1.000000
-0:152 1.000000
-0:152 1.000000
-0:152 1.000000
-0:152 0.000000
-0:152 0.000000
-0:152 0.000000
-0:152 0.000000
-0:152 1.000000
-0:152 1.000000
-0:152 1.000000
-0:152 1.000000
-0:152 0.000000
-0:152 0.000000
-0:152 0.000000
-0:152 0.000000
-0:152 1.000000
-0:152 1.000000
-0:152 1.000000
-0:152 1.000000
-0:? Sequence
-0:159 Sequence
-0:159 Sequence
-0:159 move second child to first child (temp 5-element array of float)
-0:159 'b' (temp 5-element array of float)
-0:159 'a' (temp 5-element array of float)
-0:162 Sequence
-0:162 Sequence
-0:162 move second child to first child (temp 5-element array of float)
-0:162 'b' (temp 5-element array of float)
-0:162 'a' (temp 5-element array of float)
-0:165 Sequence
-0:165 Sequence
-0:165 move second child to first child (temp 5-element array of float)
-0:165 'b' (temp 5-element array of float)
-0:165 Constant:
-0:165 1.000000
-0:165 2.000000
-0:165 3.000000
-0:165 4.000000
-0:165 5.000000
-0:167 Constant:
-0:167 5 (const int)
-0:? Sequence
-0:171 Constant:
-0:171 3 (const int)
-0:172 Constant:
-0:172 2 (const int)
-0:175 Constant:
-0:175 0.000000
-0:178 Constant:
-0:178 0.000000
-0:193 Sequence
-0:193 move second child to first child (temp structure{temp float a, temp int b})
-0:193 'e' (temp structure{temp float a, temp int b})
-0:193 Constant:
-0:193 1.200000
-0:193 2 (const int)
-0:216 Sequence
-0:216 Sequence
-0:216 move second child to first child (temp 5-element array of float)
-0:216 'a' (temp 5-element array of float)
-0:216 Constant:
-0:216 3.400000
-0:216 4.200000
-0:216 5.000000
-0:216 5.200000
-0:216 1.100000
-0:217 Sequence
-0:217 move second child to first child (temp 5-element array of float)
-0:217 'b' (temp 5-element array of float)
-0:217 Constant:
-0:217 3.400000
-0:217 4.200000
-0:217 5.000000
-0:217 5.200000
-0:217 1.100000
-0:218 Sequence
-0:218 move second child to first child (temp 5-element array of float)
-0:218 'c' (temp 5-element array of float)
-0:218 'a' (temp 5-element array of float)
-0:219 Sequence
-0:219 move second child to first child (temp 5-element array of float)
-0:219 'd' (temp 5-element array of float)
-0:219 'b' (temp 5-element array of float)
-0:? Sequence
-0:223 Sequence
-0:223 move second child to first child (temp float)
-0:223 'ceiling' (const (read only) float)
-0:223 Convert int to float (temp float)
-0:223 add (temp int)
-0:223 'a' (global int)
-0:223 'b' (global int)
-0:? Linker Objects
-0:? 'a' (global int)
-0:? 'b' (global int)
-0:? 'c' (global uint)
-0:? 'd' (global uint)
-0:? 'e' (global int)
-0:? 'f' (global uint)
-0:? 'g' (global int)
-0:? 'h' (global int)
-0:? 'i' (global int)
-0:? 'j' (global int)
-0:? 'k' (global int)
-0:? 'l' (global int)
-0:? 'fa' (global float)
-0:? 'fb' (global float)
-0:? 'fc' (global double)
-0:? 'fd' (global double)
-0:? 'texcoord1' (global 2-component vector of float)
-0:? 'texcoord2' (global 2-component vector of float)
-0:? 'position' (global 3-component vector of float)
-0:? 'myRGBA' (global 4-component vector of float)
-0:? 'textureLookup' (global 2-component vector of int)
-0:? 'less' (global 3-component vector of bool)
-0:? 'mat2D' (global 2X2 matrix of float)
-0:? 'optMatrix' (global 3X3 matrix of float)
-0:? 'view' (global 4X4 matrix of float)
-0:? 'projection' (global 4X4 matrix of float)
-0:? 'm' (global 3X2 matrix of float)
-0:? 'highPrecisionMVP' (global 4X4 matrix of double)
-0:? 'dm' (global 2X4 matrix of double)
-0:? 'lightVar' (global structure{global float intensity, global 3-component vector of float position})
-0:? 'frequencies' (global 3-element array of float)
-0:? 'lightPosition' (uniform 4-element array of 4-component vector of float)
-0:? 'lights' (global 2-element array of structure{global float intensity, global 3-component vector of float position})
-0:? 'numLights' (const int)
-0:? 2 (const int)
-0:? 'normal' (smooth in 3-component vector of float)
-0:? 'TexCoord' (centroid smooth in 2-component vector of float)
-0:? 'Color' (invariant centroid smooth in 4-component vector of float)
-0:? 'temperature' (noperspective in float)
-0:? 'myColor' (flat in 3-component vector of float)
-0:? 'myTexCoord' (centroid noperspective in 2-component vector of float)
-0:? 'color' (uniform 3-component vector of float)
-0:? 0.700000
-0:? 0.700000
-0:? 0.200000
-0:? 'anon@0' (in block{smooth in 4-component vector of float Color1, smooth in 4-component vector of float Color2, in 2-component vector of float TexCoordA, in float Atten})
-0:? 'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor})
-0:? 'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord})
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:? 'factor' (layout(location=3 index=1 ) out 4-component vector of float)
-0:? 'colors' (layout(location=2 ) out 3-element array of 4-component vector of float)
-0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
-0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
-
-
-Linked fragment stage:
-
-
-Shader version: 430
-Requested GL_3DL_array_objects
-gl_FragCoord pixel center is integer
-gl_FragCoord origin is upper left
-using early_fragment_tests
-using depth_greater
-ERROR: node is still EOpNull!
-0:5 Sequence
-0:5 move second child to first child (temp int)
-0:5 'a' (global int)
-0:5 Constant:
-0:5 -1 (const int)
-0:7 Sequence
-0:7 move second child to first child (temp uint)
-0:7 'c' (global uint)
-0:7 Constant:
-0:7 4294967295 (const uint)
-0:8 Sequence
-0:8 move second child to first child (temp uint)
-0:8 'd' (global uint)
-0:8 Constant:
-0:8 4294967295 (const uint)
-0:9 Sequence
-0:9 move second child to first child (temp int)
-0:9 'e' (global int)
-0:9 Constant:
-0:9 -1 (const int)
-0:13 Sequence
-0:13 move second child to first child (temp uint)
-0:13 'f' (global uint)
-0:13 Constant:
-0:13 4294967295 (const uint)
-0:17 Sequence
-0:17 move second child to first child (temp int)
-0:17 'g' (global int)
-0:17 Constant:
-0:17 -1294967296 (const int)
-0:19 Sequence
-0:19 move second child to first child (temp int)
-0:19 'h' (global int)
-0:19 Constant:
-0:19 -1610612736 (const int)
-0:20 Sequence
-0:20 move second child to first child (temp int)
-0:20 'i' (global int)
-0:20 Constant:
-0:20 -1 (const int)
-0:21 Sequence
-0:21 move second child to first child (temp int)
-0:21 'j' (global int)
-0:21 Constant:
-0:21 -1 (const int)
-0:22 Sequence
-0:22 move second child to first child (temp int)
-0:22 'k' (global int)
-0:22 Constant:
-0:22 -2147483648 (const int)
-0:23 Sequence
-0:23 move second child to first child (temp int)
-0:23 'l' (global int)
-0:23 Constant:
-0:23 -2147483648 (const int)
-0:25 Sequence
-0:25 move second child to first child (temp float)
-0:25 'fb' (global float)
-0:25 Constant:
-0:25 1.500000
-0:26 Sequence
-0:26 move second child to first child (temp double)
-0:26 'fd' (global double)
-0:26 Constant:
-0:26 2.000000
-0:127 Function Definition: foo(f1[5]; (global 5-element array of float)
-0:127 Function Parameters:
-0:127 '' (in 5-element array of float)
-0:129 Sequence
-0:129 Branch: Return with expression
-0:129 Constant:
-0:129 3.400000
-0:129 4.200000
-0:129 5.000000
-0:129 5.200000
-0:129 1.100000
-0:137 Function Definition: main( (global void)
-0:137 Function Parameters:
-0:140 Sequence
-0:140 Sequence
-0:140 Sequence
-0:140 move second child to first child (temp 5-element array of float)
-0:140 'a' (temp 5-element array of float)
-0:140 Constant:
-0:140 3.400000
-0:140 4.200000
-0:140 5.000000
-0:140 5.200000
-0:140 1.100000
-0:143 Sequence
-0:143 Sequence
-0:143 move second child to first child (temp 5-element array of float)
-0:143 'a' (temp 5-element array of float)
-0:143 Constant:
-0:143 3.400000
-0:143 4.200000
-0:143 5.000000
-0:143 5.200000
-0:143 1.100000
-0:? Sequence
-0:149 Sequence
-0:149 move second child to first child (temp 2-element array of 4-component vector of float)
-0:149 'b' (temp 2-element array of 4-component vector of float)
-0:149 Constant:
-0:149 0.000000
-0:149 0.000000
-0:149 0.000000
-0:149 0.000000
-0:149 0.100000
-0:149 0.100000
-0:149 0.100000
-0:149 0.100000
-0:150 Sequence
-0:150 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:150 'a3' (temp 3-element array of 2-element array of 4-component vector of float)
-0:150 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
-0:150 'b' (temp 2-element array of 4-component vector of float)
-0:150 'b' (temp 2-element array of 4-component vector of float)
-0:150 'b' (temp 2-element array of 4-component vector of float)
-0:152 Sequence
-0:152 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
-0:152 'a4' (temp 3-element array of 2-element array of 4-component vector of float)
-0:152 Constant:
-0:152 0.000000
-0:152 0.000000
-0:152 0.000000
-0:152 0.000000
-0:152 1.000000
-0:152 1.000000
-0:152 1.000000
-0:152 1.000000
-0:152 0.000000
-0:152 0.000000
-0:152 0.000000
-0:152 0.000000
-0:152 1.000000
-0:152 1.000000
-0:152 1.000000
-0:152 1.000000
-0:152 0.000000
-0:152 0.000000
-0:152 0.000000
-0:152 0.000000
-0:152 1.000000
-0:152 1.000000
-0:152 1.000000
-0:152 1.000000
-0:? Sequence
-0:159 Sequence
-0:159 Sequence
-0:159 move second child to first child (temp 5-element array of float)
-0:159 'b' (temp 5-element array of float)
-0:159 'a' (temp 5-element array of float)
-0:162 Sequence
-0:162 Sequence
-0:162 move second child to first child (temp 5-element array of float)
-0:162 'b' (temp 5-element array of float)
-0:162 'a' (temp 5-element array of float)
-0:165 Sequence
-0:165 Sequence
-0:165 move second child to first child (temp 5-element array of float)
-0:165 'b' (temp 5-element array of float)
-0:165 Constant:
-0:165 1.000000
-0:165 2.000000
-0:165 3.000000
-0:165 4.000000
-0:165 5.000000
-0:167 Constant:
-0:167 5 (const int)
-0:? Sequence
-0:171 Constant:
-0:171 3 (const int)
-0:172 Constant:
-0:172 2 (const int)
-0:175 Constant:
-0:175 0.000000
-0:178 Constant:
-0:178 0.000000
-0:193 Sequence
-0:193 move second child to first child (temp structure{temp float a, temp int b})
-0:193 'e' (temp structure{temp float a, temp int b})
-0:193 Constant:
-0:193 1.200000
-0:193 2 (const int)
-0:216 Sequence
-0:216 Sequence
-0:216 move second child to first child (temp 5-element array of float)
-0:216 'a' (temp 5-element array of float)
-0:216 Constant:
-0:216 3.400000
-0:216 4.200000
-0:216 5.000000
-0:216 5.200000
-0:216 1.100000
-0:217 Sequence
-0:217 move second child to first child (temp 5-element array of float)
-0:217 'b' (temp 5-element array of float)
-0:217 Constant:
-0:217 3.400000
-0:217 4.200000
-0:217 5.000000
-0:217 5.200000
-0:217 1.100000
-0:218 Sequence
-0:218 move second child to first child (temp 5-element array of float)
-0:218 'c' (temp 5-element array of float)
-0:218 'a' (temp 5-element array of float)
-0:219 Sequence
-0:219 move second child to first child (temp 5-element array of float)
-0:219 'd' (temp 5-element array of float)
-0:219 'b' (temp 5-element array of float)
-0:? Sequence
-0:223 Sequence
-0:223 move second child to first child (temp float)
-0:223 'ceiling' (const (read only) float)
-0:223 Convert int to float (temp float)
-0:223 add (temp int)
-0:223 'a' (global int)
-0:223 'b' (global int)
-0:? Linker Objects
-0:? 'a' (global int)
-0:? 'b' (global int)
-0:? 'c' (global uint)
-0:? 'd' (global uint)
-0:? 'e' (global int)
-0:? 'f' (global uint)
-0:? 'g' (global int)
-0:? 'h' (global int)
-0:? 'i' (global int)
-0:? 'j' (global int)
-0:? 'k' (global int)
-0:? 'l' (global int)
-0:? 'fa' (global float)
-0:? 'fb' (global float)
-0:? 'fc' (global double)
-0:? 'fd' (global double)
-0:? 'texcoord1' (global 2-component vector of float)
-0:? 'texcoord2' (global 2-component vector of float)
-0:? 'position' (global 3-component vector of float)
-0:? 'myRGBA' (global 4-component vector of float)
-0:? 'textureLookup' (global 2-component vector of int)
-0:? 'less' (global 3-component vector of bool)
-0:? 'mat2D' (global 2X2 matrix of float)
-0:? 'optMatrix' (global 3X3 matrix of float)
-0:? 'view' (global 4X4 matrix of float)
-0:? 'projection' (global 4X4 matrix of float)
-0:? 'm' (global 3X2 matrix of float)
-0:? 'highPrecisionMVP' (global 4X4 matrix of double)
-0:? 'dm' (global 2X4 matrix of double)
-0:? 'lightVar' (global structure{global float intensity, global 3-component vector of float position})
-0:? 'frequencies' (global 3-element array of float)
-0:? 'lightPosition' (uniform 4-element array of 4-component vector of float)
-0:? 'lights' (global 2-element array of structure{global float intensity, global 3-component vector of float position})
-0:? 'numLights' (const int)
-0:? 2 (const int)
-0:? 'normal' (smooth in 3-component vector of float)
-0:? 'TexCoord' (centroid smooth in 2-component vector of float)
-0:? 'Color' (invariant centroid smooth in 4-component vector of float)
-0:? 'temperature' (noperspective in float)
-0:? 'myColor' (flat in 3-component vector of float)
-0:? 'myTexCoord' (centroid noperspective in 2-component vector of float)
-0:? 'color' (uniform 3-component vector of float)
-0:? 0.700000
-0:? 0.700000
-0:? 0.200000
-0:? 'anon@0' (in block{smooth in 4-component vector of float Color1, smooth in 4-component vector of float Color2, in 2-component vector of float TexCoordA, in float Atten})
-0:? 'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor})
-0:? 'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord})
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:? 'factor' (layout(location=3 index=1 ) out 4-component vector of float)
-0:? 'colors' (layout(location=2 ) out 3-element array of 4-component vector of float)
-0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
-0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
-
+specExamples.frag
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:6: '=' : cannot convert from 'const uint' to 'global int'
+ERROR: 0:20: '' : numeric literal too big
+ERROR: 0:21: '' : hexidecimal literal too big
+ERROR: 0:37: 'view' : redefinition
+ERROR: 0:63: 'invariant' : can only apply to an output
+ERROR: 0:68: 'lightPosition' : redefinition
+ERROR: 0:75: 'Atten' : member storage qualifier cannot contradict block storage qualifier
+ERROR: 0:87: 'Color' : redefinition
+ERROR: 0:92: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
+ERROR: 0:93: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
+ERROR: 0:99: 'local_size_x' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:99: 'local_size_y' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:100: 'local_size_x' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:102: 'color' : redefinition
+ERROR: 0:112: 'redeclaration' : all redeclarations must use the same depth layout on gl_FragDepth
+ERROR: 0:118: 'redeclaration' : all redeclarations must use the same depth layout on gl_FragDepth
+ERROR: 0:121: 'redeclaration' : all redeclarations must use the same depth layout on gl_FragDepth
+ERROR: 0:172: 'x' : undeclared identifier
+ERROR: 0:172: '[]' : scalar integer expression required
+ERROR: 0:175: 'x' : undeclared identifier
+ERROR: 0:175: '[]' : scalar integer expression required
+ERROR: 0:175: 'b' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:175: 'a' : vector field selection out of range
+ERROR: 0:175: 'length' : does not operate on this type: const float
+ERROR: 0:175: '' : function call, method, or subroutine call expected
+ERROR: 0:175: '' : no matching overloaded function found
+ERROR: 0:178: '[]' : scalar integer expression required
+ERROR: 0:178: 's' : undeclared identifier
+ERROR: 0:178: 's' : left of '[' is not of type array, matrix, or vector
+ERROR: 0:178: 'a' : vector field selection out of range
+ERROR: 0:178: 'length' : does not operate on this type: const float
+ERROR: 0:178: '' : function call, method, or subroutine call expected
+ERROR: 0:178: '' : no matching overloaded function found
+ERROR: 0:198: 'e' : redefinition
+ERROR: 0:226: 'in' : not allowed in nested scope
+ERROR: 0:227: 'in' : not allowed in nested scope
+ERROR: 0:228: 'in' : not allowed in nested scope
+ERROR: 0:232: 'out' : not allowed in nested scope
+ERROR: 38 compilation errors. No code generated.
+
+
+Shader version: 430
+Requested GL_3DL_array_objects
+gl_FragCoord pixel center is integer
+gl_FragCoord origin is upper left
+using early_fragment_tests
+using depth_greater
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'a' (global int)
+0:5 Constant:
+0:5 -1 (const int)
+0:7 Sequence
+0:7 move second child to first child (temp uint)
+0:7 'c' (global uint)
+0:7 Constant:
+0:7 4294967295 (const uint)
+0:8 Sequence
+0:8 move second child to first child (temp uint)
+0:8 'd' (global uint)
+0:8 Constant:
+0:8 4294967295 (const uint)
+0:9 Sequence
+0:9 move second child to first child (temp int)
+0:9 'e' (global int)
+0:9 Constant:
+0:9 -1 (const int)
+0:13 Sequence
+0:13 move second child to first child (temp uint)
+0:13 'f' (global uint)
+0:13 Constant:
+0:13 4294967295 (const uint)
+0:17 Sequence
+0:17 move second child to first child (temp int)
+0:17 'g' (global int)
+0:17 Constant:
+0:17 -1294967296 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp int)
+0:19 'h' (global int)
+0:19 Constant:
+0:19 -1610612736 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp int)
+0:20 'i' (global int)
+0:20 Constant:
+0:20 -1 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp int)
+0:21 'j' (global int)
+0:21 Constant:
+0:21 -1 (const int)
+0:22 Sequence
+0:22 move second child to first child (temp int)
+0:22 'k' (global int)
+0:22 Constant:
+0:22 -2147483648 (const int)
+0:23 Sequence
+0:23 move second child to first child (temp int)
+0:23 'l' (global int)
+0:23 Constant:
+0:23 -2147483648 (const int)
+0:25 Sequence
+0:25 move second child to first child (temp float)
+0:25 'fb' (global float)
+0:25 Constant:
+0:25 1.500000
+0:26 Sequence
+0:26 move second child to first child (temp double)
+0:26 'fd' (global double)
+0:26 Constant:
+0:26 2.000000
+0:127 Function Definition: foo(f1[5]; (global 5-element array of float)
+0:127 Function Parameters:
+0:127 '' (in 5-element array of float)
+0:129 Sequence
+0:129 Branch: Return with expression
+0:129 Constant:
+0:129 3.400000
+0:129 4.200000
+0:129 5.000000
+0:129 5.200000
+0:129 1.100000
+0:137 Function Definition: main( (global void)
+0:137 Function Parameters:
+0:140 Sequence
+0:140 Sequence
+0:140 Sequence
+0:140 move second child to first child (temp 5-element array of float)
+0:140 'a' (temp 5-element array of float)
+0:140 Constant:
+0:140 3.400000
+0:140 4.200000
+0:140 5.000000
+0:140 5.200000
+0:140 1.100000
+0:143 Sequence
+0:143 Sequence
+0:143 move second child to first child (temp 5-element array of float)
+0:143 'a' (temp 5-element array of float)
+0:143 Constant:
+0:143 3.400000
+0:143 4.200000
+0:143 5.000000
+0:143 5.200000
+0:143 1.100000
+0:? Sequence
+0:149 Sequence
+0:149 move second child to first child (temp 2-element array of 4-component vector of float)
+0:149 'b' (temp 2-element array of 4-component vector of float)
+0:149 Constant:
+0:149 0.000000
+0:149 0.000000
+0:149 0.000000
+0:149 0.000000
+0:149 0.100000
+0:149 0.100000
+0:149 0.100000
+0:149 0.100000
+0:150 Sequence
+0:150 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:150 'a3' (temp 3-element array of 2-element array of 4-component vector of float)
+0:150 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
+0:150 'b' (temp 2-element array of 4-component vector of float)
+0:150 'b' (temp 2-element array of 4-component vector of float)
+0:150 'b' (temp 2-element array of 4-component vector of float)
+0:152 Sequence
+0:152 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:152 'a4' (temp 3-element array of 2-element array of 4-component vector of float)
+0:152 Constant:
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:? Sequence
+0:159 Sequence
+0:159 Sequence
+0:159 move second child to first child (temp 5-element array of float)
+0:159 'b' (temp 5-element array of float)
+0:159 'a' (temp 5-element array of float)
+0:162 Sequence
+0:162 Sequence
+0:162 move second child to first child (temp 5-element array of float)
+0:162 'b' (temp 5-element array of float)
+0:162 'a' (temp 5-element array of float)
+0:165 Sequence
+0:165 Sequence
+0:165 move second child to first child (temp 5-element array of float)
+0:165 'b' (temp 5-element array of float)
+0:165 Constant:
+0:165 1.000000
+0:165 2.000000
+0:165 3.000000
+0:165 4.000000
+0:165 5.000000
+0:167 Constant:
+0:167 5 (const int)
+0:? Sequence
+0:171 Constant:
+0:171 3 (const int)
+0:172 Constant:
+0:172 2 (const int)
+0:175 Constant:
+0:175 0.000000
+0:178 Constant:
+0:178 0.000000
+0:193 Sequence
+0:193 move second child to first child (temp structure{temp float a, temp int b})
+0:193 'e' (temp structure{temp float a, temp int b})
+0:193 Constant:
+0:193 1.200000
+0:193 2 (const int)
+0:216 Sequence
+0:216 Sequence
+0:216 move second child to first child (temp 5-element array of float)
+0:216 'a' (temp 5-element array of float)
+0:216 Constant:
+0:216 3.400000
+0:216 4.200000
+0:216 5.000000
+0:216 5.200000
+0:216 1.100000
+0:217 Sequence
+0:217 move second child to first child (temp 5-element array of float)
+0:217 'b' (temp 5-element array of float)
+0:217 Constant:
+0:217 3.400000
+0:217 4.200000
+0:217 5.000000
+0:217 5.200000
+0:217 1.100000
+0:218 Sequence
+0:218 move second child to first child (temp 5-element array of float)
+0:218 'c' (temp 5-element array of float)
+0:218 'a' (temp 5-element array of float)
+0:219 Sequence
+0:219 move second child to first child (temp 5-element array of float)
+0:219 'd' (temp 5-element array of float)
+0:219 'b' (temp 5-element array of float)
+0:? Sequence
+0:223 Sequence
+0:223 move second child to first child (temp float)
+0:223 'ceiling' (const (read only) float)
+0:223 Convert int to float (temp float)
+0:223 add (temp int)
+0:223 'a' (global int)
+0:223 'b' (global int)
+0:? Linker Objects
+0:? 'a' (global int)
+0:? 'b' (global int)
+0:? 'c' (global uint)
+0:? 'd' (global uint)
+0:? 'e' (global int)
+0:? 'f' (global uint)
+0:? 'g' (global int)
+0:? 'h' (global int)
+0:? 'i' (global int)
+0:? 'j' (global int)
+0:? 'k' (global int)
+0:? 'l' (global int)
+0:? 'fa' (global float)
+0:? 'fb' (global float)
+0:? 'fc' (global double)
+0:? 'fd' (global double)
+0:? 'texcoord1' (global 2-component vector of float)
+0:? 'texcoord2' (global 2-component vector of float)
+0:? 'position' (global 3-component vector of float)
+0:? 'myRGBA' (global 4-component vector of float)
+0:? 'textureLookup' (global 2-component vector of int)
+0:? 'less' (global 3-component vector of bool)
+0:? 'mat2D' (global 2X2 matrix of float)
+0:? 'optMatrix' (global 3X3 matrix of float)
+0:? 'view' (global 4X4 matrix of float)
+0:? 'projection' (global 4X4 matrix of float)
+0:? 'm' (global 3X2 matrix of float)
+0:? 'highPrecisionMVP' (global 4X4 matrix of double)
+0:? 'dm' (global 2X4 matrix of double)
+0:? 'lightVar' (global structure{global float intensity, global 3-component vector of float position})
+0:? 'frequencies' (global 3-element array of float)
+0:? 'lightPosition' (uniform 4-element array of 4-component vector of float)
+0:? 'lights' (global 2-element array of structure{global float intensity, global 3-component vector of float position})
+0:? 'numLights' (const int)
+0:? 2 (const int)
+0:? 'normal' (smooth in 3-component vector of float)
+0:? 'TexCoord' (centroid smooth in 2-component vector of float)
+0:? 'Color' (invariant centroid smooth in 4-component vector of float)
+0:? 'temperature' (noperspective in float)
+0:? 'myColor' (flat in 3-component vector of float)
+0:? 'myTexCoord' (centroid noperspective in 2-component vector of float)
+0:? 'color' (uniform 3-component vector of float)
+0:? 0.700000
+0:? 0.700000
+0:? 0.200000
+0:? 'anon@0' (in block{smooth in 4-component vector of float Color1, smooth in 4-component vector of float Color2, in 2-component vector of float TexCoordA, in float Atten})
+0:? 'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor})
+0:? 'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord})
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'factor' (layout(location=3 index=1 ) out 4-component vector of float)
+0:? 'colors' (layout(location=2 ) out 3-element array of 4-component vector of float)
+0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
+0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
+
+
+Linked fragment stage:
+
+
+Shader version: 430
+Requested GL_3DL_array_objects
+gl_FragCoord pixel center is integer
+gl_FragCoord origin is upper left
+using early_fragment_tests
+using depth_greater
+ERROR: node is still EOpNull!
+0:5 Sequence
+0:5 move second child to first child (temp int)
+0:5 'a' (global int)
+0:5 Constant:
+0:5 -1 (const int)
+0:7 Sequence
+0:7 move second child to first child (temp uint)
+0:7 'c' (global uint)
+0:7 Constant:
+0:7 4294967295 (const uint)
+0:8 Sequence
+0:8 move second child to first child (temp uint)
+0:8 'd' (global uint)
+0:8 Constant:
+0:8 4294967295 (const uint)
+0:9 Sequence
+0:9 move second child to first child (temp int)
+0:9 'e' (global int)
+0:9 Constant:
+0:9 -1 (const int)
+0:13 Sequence
+0:13 move second child to first child (temp uint)
+0:13 'f' (global uint)
+0:13 Constant:
+0:13 4294967295 (const uint)
+0:17 Sequence
+0:17 move second child to first child (temp int)
+0:17 'g' (global int)
+0:17 Constant:
+0:17 -1294967296 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp int)
+0:19 'h' (global int)
+0:19 Constant:
+0:19 -1610612736 (const int)
+0:20 Sequence
+0:20 move second child to first child (temp int)
+0:20 'i' (global int)
+0:20 Constant:
+0:20 -1 (const int)
+0:21 Sequence
+0:21 move second child to first child (temp int)
+0:21 'j' (global int)
+0:21 Constant:
+0:21 -1 (const int)
+0:22 Sequence
+0:22 move second child to first child (temp int)
+0:22 'k' (global int)
+0:22 Constant:
+0:22 -2147483648 (const int)
+0:23 Sequence
+0:23 move second child to first child (temp int)
+0:23 'l' (global int)
+0:23 Constant:
+0:23 -2147483648 (const int)
+0:25 Sequence
+0:25 move second child to first child (temp float)
+0:25 'fb' (global float)
+0:25 Constant:
+0:25 1.500000
+0:26 Sequence
+0:26 move second child to first child (temp double)
+0:26 'fd' (global double)
+0:26 Constant:
+0:26 2.000000
+0:127 Function Definition: foo(f1[5]; (global 5-element array of float)
+0:127 Function Parameters:
+0:127 '' (in 5-element array of float)
+0:129 Sequence
+0:129 Branch: Return with expression
+0:129 Constant:
+0:129 3.400000
+0:129 4.200000
+0:129 5.000000
+0:129 5.200000
+0:129 1.100000
+0:137 Function Definition: main( (global void)
+0:137 Function Parameters:
+0:140 Sequence
+0:140 Sequence
+0:140 Sequence
+0:140 move second child to first child (temp 5-element array of float)
+0:140 'a' (temp 5-element array of float)
+0:140 Constant:
+0:140 3.400000
+0:140 4.200000
+0:140 5.000000
+0:140 5.200000
+0:140 1.100000
+0:143 Sequence
+0:143 Sequence
+0:143 move second child to first child (temp 5-element array of float)
+0:143 'a' (temp 5-element array of float)
+0:143 Constant:
+0:143 3.400000
+0:143 4.200000
+0:143 5.000000
+0:143 5.200000
+0:143 1.100000
+0:? Sequence
+0:149 Sequence
+0:149 move second child to first child (temp 2-element array of 4-component vector of float)
+0:149 'b' (temp 2-element array of 4-component vector of float)
+0:149 Constant:
+0:149 0.000000
+0:149 0.000000
+0:149 0.000000
+0:149 0.000000
+0:149 0.100000
+0:149 0.100000
+0:149 0.100000
+0:149 0.100000
+0:150 Sequence
+0:150 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:150 'a3' (temp 3-element array of 2-element array of 4-component vector of float)
+0:150 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
+0:150 'b' (temp 2-element array of 4-component vector of float)
+0:150 'b' (temp 2-element array of 4-component vector of float)
+0:150 'b' (temp 2-element array of 4-component vector of float)
+0:152 Sequence
+0:152 move second child to first child (temp 3-element array of 2-element array of 4-component vector of float)
+0:152 'a4' (temp 3-element array of 2-element array of 4-component vector of float)
+0:152 Constant:
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 0.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:152 1.000000
+0:? Sequence
+0:159 Sequence
+0:159 Sequence
+0:159 move second child to first child (temp 5-element array of float)
+0:159 'b' (temp 5-element array of float)
+0:159 'a' (temp 5-element array of float)
+0:162 Sequence
+0:162 Sequence
+0:162 move second child to first child (temp 5-element array of float)
+0:162 'b' (temp 5-element array of float)
+0:162 'a' (temp 5-element array of float)
+0:165 Sequence
+0:165 Sequence
+0:165 move second child to first child (temp 5-element array of float)
+0:165 'b' (temp 5-element array of float)
+0:165 Constant:
+0:165 1.000000
+0:165 2.000000
+0:165 3.000000
+0:165 4.000000
+0:165 5.000000
+0:167 Constant:
+0:167 5 (const int)
+0:? Sequence
+0:171 Constant:
+0:171 3 (const int)
+0:172 Constant:
+0:172 2 (const int)
+0:175 Constant:
+0:175 0.000000
+0:178 Constant:
+0:178 0.000000
+0:193 Sequence
+0:193 move second child to first child (temp structure{temp float a, temp int b})
+0:193 'e' (temp structure{temp float a, temp int b})
+0:193 Constant:
+0:193 1.200000
+0:193 2 (const int)
+0:216 Sequence
+0:216 Sequence
+0:216 move second child to first child (temp 5-element array of float)
+0:216 'a' (temp 5-element array of float)
+0:216 Constant:
+0:216 3.400000
+0:216 4.200000
+0:216 5.000000
+0:216 5.200000
+0:216 1.100000
+0:217 Sequence
+0:217 move second child to first child (temp 5-element array of float)
+0:217 'b' (temp 5-element array of float)
+0:217 Constant:
+0:217 3.400000
+0:217 4.200000
+0:217 5.000000
+0:217 5.200000
+0:217 1.100000
+0:218 Sequence
+0:218 move second child to first child (temp 5-element array of float)
+0:218 'c' (temp 5-element array of float)
+0:218 'a' (temp 5-element array of float)
+0:219 Sequence
+0:219 move second child to first child (temp 5-element array of float)
+0:219 'd' (temp 5-element array of float)
+0:219 'b' (temp 5-element array of float)
+0:? Sequence
+0:223 Sequence
+0:223 move second child to first child (temp float)
+0:223 'ceiling' (const (read only) float)
+0:223 Convert int to float (temp float)
+0:223 add (temp int)
+0:223 'a' (global int)
+0:223 'b' (global int)
+0:? Linker Objects
+0:? 'a' (global int)
+0:? 'b' (global int)
+0:? 'c' (global uint)
+0:? 'd' (global uint)
+0:? 'e' (global int)
+0:? 'f' (global uint)
+0:? 'g' (global int)
+0:? 'h' (global int)
+0:? 'i' (global int)
+0:? 'j' (global int)
+0:? 'k' (global int)
+0:? 'l' (global int)
+0:? 'fa' (global float)
+0:? 'fb' (global float)
+0:? 'fc' (global double)
+0:? 'fd' (global double)
+0:? 'texcoord1' (global 2-component vector of float)
+0:? 'texcoord2' (global 2-component vector of float)
+0:? 'position' (global 3-component vector of float)
+0:? 'myRGBA' (global 4-component vector of float)
+0:? 'textureLookup' (global 2-component vector of int)
+0:? 'less' (global 3-component vector of bool)
+0:? 'mat2D' (global 2X2 matrix of float)
+0:? 'optMatrix' (global 3X3 matrix of float)
+0:? 'view' (global 4X4 matrix of float)
+0:? 'projection' (global 4X4 matrix of float)
+0:? 'm' (global 3X2 matrix of float)
+0:? 'highPrecisionMVP' (global 4X4 matrix of double)
+0:? 'dm' (global 2X4 matrix of double)
+0:? 'lightVar' (global structure{global float intensity, global 3-component vector of float position})
+0:? 'frequencies' (global 3-element array of float)
+0:? 'lightPosition' (uniform 4-element array of 4-component vector of float)
+0:? 'lights' (global 2-element array of structure{global float intensity, global 3-component vector of float position})
+0:? 'numLights' (const int)
+0:? 2 (const int)
+0:? 'normal' (smooth in 3-component vector of float)
+0:? 'TexCoord' (centroid smooth in 2-component vector of float)
+0:? 'Color' (invariant centroid smooth in 4-component vector of float)
+0:? 'temperature' (noperspective in float)
+0:? 'myColor' (flat in 3-component vector of float)
+0:? 'myTexCoord' (centroid noperspective in 2-component vector of float)
+0:? 'color' (uniform 3-component vector of float)
+0:? 0.700000
+0:? 0.700000
+0:? 0.200000
+0:? 'anon@0' (in block{smooth in 4-component vector of float Color1, smooth in 4-component vector of float Color2, in 2-component vector of float TexCoordA, in float Atten})
+0:? 'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor})
+0:? 'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord})
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
+0:? 'factor' (layout(location=3 index=1 ) out 4-component vector of float)
+0:? 'colors' (layout(location=2 ) out 3-element array of 4-component vector of float)
+0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:? 'gl_FragDepth' (gl_FragDepth float FragDepth)
+0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
+0:? 'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
+
diff --git a/Test/baseResults/specExamples.vert.out b/Test/baseResults/specExamples.vert.out
index 8359f12..bec3fb3 100644
--- a/Test/baseResults/specExamples.vert.out
+++ b/Test/baseResults/specExamples.vert.out
@@ -1,603 +1,603 @@
-specExamples.vert
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-ERROR: 0:29: 'location' : can only appy to uniform, buffer, in, or out storage qualifiers
-ERROR: 0:31: 'triangles' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
-ERROR: 0:31: 'invocations' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:33: 'lines' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
-ERROR: 0:35: 'triangle_strip' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
-ERROR: 0:35: 'max_vertices' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:36: 'max_vertices' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:37: 'triangle_strip' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
-ERROR: 0:41: 'stream' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:43: 'stream' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:45: 'stream' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:46: 'stream' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:47: 'stream' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:50: 'stream' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:55: 'stream' : there is no such layout identifier for this stage taking an assigned value
-ERROR: 0:80: 's17' : redefinition
-ERROR: 0:85: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
-ERROR: 0:87: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
-ERROR: 0:89: 'binding' : atomic_uint binding is too large
-ERROR: 0:91: 'bar' : redefinition
-ERROR: 0:92: 'atomic_uint' : layout(binding=X) is required
-ERROR: 0:94: 'a2' : redefinition
-ERROR: 0:95: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
-ERROR: 0:96: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
-ERROR: 0:97: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
-ERROR: 0:106: '' : vertex input cannot be further qualified
-ERROR: 0:106: 'redeclaration' : cannot change storage, memory, or auxiliary qualification of gl_FrontColor
-ERROR: 0:112: 'ColorIvn' : identifier not previously declared
-WARNING: 0:118: '' : unknown requalification
-ERROR: 0:132: 'shared' : not supported in this stage: vertex
-ERROR: 0:134: '' : function does not return a value: funcA
-ERROR: 0:136: '' : function does not return a value: funcB
-ERROR: 0:153: '' : function does not return a value: func3
-ERROR: 0:170: 'coherent' : argument cannot drop memory qualifier when passed to formal parameter
-ERROR: 33 compilation errors. No code generated.
-
-
-Shader version: 430
-Requested GL_3DL_array_objects
-ERROR: node is still EOpNull!
-0:134 Function Definition: funcA(I21; (global 4-component vector of float)
-0:134 Function Parameters:
-0:134 'a' (restrict in image2D)
-0:136 Function Definition: funcB(I21; (global 4-component vector of float)
-0:136 Function Parameters:
-0:136 'a' (in image2D)
-0:140 Function Definition: func(f1;f1;f1;f1; (global float)
-0:140 Function Parameters:
-0:140 'e' (in float)
-0:140 'f' (in float)
-0:140 'g' (in float)
-0:140 'h' (in float)
-0:142 Sequence
-0:142 Branch: Return with expression
-0:142 add (temp float)
-0:142 component-wise multiply (temp float)
-0:142 'e' (in float)
-0:142 'f' (in float)
-0:142 component-wise multiply (temp float)
-0:142 'g' (in float)
-0:142 'h' (in float)
-0:146 Function Definition: func2(f1;f1;f1;f1; (global float)
-0:146 Function Parameters:
-0:146 'e' (in float)
-0:146 'f' (in float)
-0:146 'g' (in float)
-0:146 'h' (in float)
-0:148 Sequence
-0:148 Sequence
-0:148 move second child to first child (temp float)
-0:148 'result' (temp float)
-0:148 add (temp float)
-0:148 component-wise multiply (temp float)
-0:148 'e' (in float)
-0:148 'f' (in float)
-0:148 component-wise multiply (temp float)
-0:148 'g' (in float)
-0:148 'h' (in float)
-0:150 Branch: Return with expression
-0:150 'result' (temp float)
-0:153 Function Definition: func3(f1;f1;f1; (global float)
-0:153 Function Parameters:
-0:153 'i' (in float)
-0:153 'j' (in float)
-0:153 'k' (out float)
-0:155 Sequence
-0:155 move second child to first child (temp float)
-0:155 'k' (out float)
-0:155 add (temp float)
-0:155 component-wise multiply (temp float)
-0:155 'i' (in float)
-0:155 'i' (in float)
-0:155 'j' (in float)
-0:158 Function Definition: main( (global void)
-0:158 Function Parameters:
-0:160 Sequence
-0:160 Sequence
-0:160 move second child to first child (temp 3-component vector of float)
-0:160 'r' (temp 3-component vector of float)
-0:160 Construct vec3 (temp 3-component vector of float)
-0:160 component-wise multiply (temp 4-component vector of float)
-0:160 'a' (in 4-component vector of float)
-0:160 'b' (in 4-component vector of float)
-0:161 Sequence
-0:161 move second child to first child (temp 3-component vector of float)
-0:161 's' (temp 3-component vector of float)
-0:161 Construct vec3 (temp 3-component vector of float)
-0:161 component-wise multiply (temp 4-component vector of float)
-0:161 'c' (in 4-component vector of float)
-0:161 'd' (in 4-component vector of float)
-0:162 move second child to first child (temp 3-component vector of float)
-0:162 vector swizzle (temp 3-component vector of float)
-0:162 'v' (smooth out 4-component vector of float)
-0:162 Sequence
-0:162 Constant:
-0:162 0 (const int)
-0:162 Constant:
-0:162 1 (const int)
-0:162 Constant:
-0:162 2 (const int)
-0:162 add (temp 3-component vector of float)
-0:162 'r' (temp 3-component vector of float)
-0:162 's' (temp 3-component vector of float)
-0:163 move second child to first child (temp float)
-0:163 direct index (temp float)
-0:163 'v' (smooth out 4-component vector of float)
-0:163 Constant:
-0:163 3 (const int)
-0:163 add (temp float)
-0:163 component-wise multiply (temp float)
-0:163 direct index (temp float)
-0:163 'a' (in 4-component vector of float)
-0:163 Constant:
-0:163 3 (const int)
-0:163 direct index (temp float)
-0:163 'b' (in 4-component vector of float)
-0:163 Constant:
-0:163 3 (const int)
-0:163 component-wise multiply (temp float)
-0:163 direct index (temp float)
-0:163 'c' (in 4-component vector of float)
-0:163 Constant:
-0:163 3 (const int)
-0:163 direct index (temp float)
-0:163 'd' (in 4-component vector of float)
-0:163 Constant:
-0:163 3 (const int)
-0:164 move second child to first child (temp float)
-0:164 direct index (temp float)
-0:164 'v' (smooth out 4-component vector of float)
-0:164 Constant:
-0:164 0 (const int)
-0:164 Function Call: func(f1;f1;f1;f1; (global float)
-0:164 direct index (temp float)
-0:164 'a' (in 4-component vector of float)
-0:164 Constant:
-0:164 0 (const int)
-0:164 direct index (temp float)
-0:164 'b' (in 4-component vector of float)
-0:164 Constant:
-0:164 0 (const int)
-0:164 direct index (temp float)
-0:164 'c' (in 4-component vector of float)
-0:164 Constant:
-0:164 0 (const int)
-0:164 direct index (temp float)
-0:164 'd' (in 4-component vector of float)
-0:164 Constant:
-0:164 0 (const int)
-0:166 move second child to first child (temp float)
-0:166 direct index (temp float)
-0:166 'v' (smooth out 4-component vector of float)
-0:166 Constant:
-0:166 0 (const int)
-0:166 Function Call: func2(f1;f1;f1;f1; (global float)
-0:166 direct index (temp float)
-0:166 'a' (in 4-component vector of float)
-0:166 Constant:
-0:166 0 (const int)
-0:166 direct index (temp float)
-0:166 'b' (in 4-component vector of float)
-0:166 Constant:
-0:166 0 (const int)
-0:166 direct index (temp float)
-0:166 'c' (in 4-component vector of float)
-0:166 Constant:
-0:166 0 (const int)
-0:166 direct index (temp float)
-0:166 'd' (in 4-component vector of float)
-0:166 Constant:
-0:166 0 (const int)
-0:167 Function Call: func3(f1;f1;f1; (global float)
-0:167 component-wise multiply (temp float)
-0:167 direct index (temp float)
-0:167 'a' (in 4-component vector of float)
-0:167 Constant:
-0:167 0 (const int)
-0:167 direct index (temp float)
-0:167 'b' (in 4-component vector of float)
-0:167 Constant:
-0:167 0 (const int)
-0:167 component-wise multiply (temp float)
-0:167 direct index (temp float)
-0:167 'c' (in 4-component vector of float)
-0:167 Constant:
-0:167 0 (const int)
-0:167 direct index (temp float)
-0:167 'd' (in 4-component vector of float)
-0:167 Constant:
-0:167 0 (const int)
-0:167 direct index (temp float)
-0:167 'v' (smooth out 4-component vector of float)
-0:167 Constant:
-0:167 0 (const int)
-0:169 Function Call: funcA(I21; (global 4-component vector of float)
-0:169 'img1' (layout(rgba32f ) uniform image2D)
-0:170 Function Call: funcB(I21; (global 4-component vector of float)
-0:170 'img2' (layout(rgba32f ) coherent uniform image2D)
-0:? Sequence
-0:178 Sequence
-0:178 move second child to first child (temp structure{temp float intensity, temp 3-component vector of float position})
-0:178 'lightVar' (temp structure{temp float intensity, temp 3-component vector of float position})
-0:178 Constant:
-0:178 3.000000
-0:178 1.000000
-0:178 2.000000
-0:178 3.000000
-0:? Sequence
-0:185 Sequence
-0:185 move second child to first child (temp 5-element array of float)
-0:185 'a' (temp 5-element array of float)
-0:185 Construct float (temp 5-element array of float)
-0:185 'g' (temp float)
-0:185 Constant:
-0:185 1.000000
-0:185 'g' (temp float)
-0:185 Constant:
-0:185 2.300000
-0:185 'g' (temp float)
-0:188 move second child to first child (temp 3-element array of float)
-0:188 'b' (temp 3-element array of float)
-0:188 Construct float (temp 3-element array of float)
-0:188 'g' (temp float)
-0:188 add (temp float)
-0:188 'g' (temp float)
-0:188 Constant:
-0:188 1.000000
-0:188 add (temp float)
-0:188 'g' (temp float)
-0:188 Constant:
-0:188 2.000000
-0:191 Sequence
-0:191 Sequence
-0:191 move second child to first child (temp 2-element array of 4-component vector of float)
-0:191 'b' (temp 2-element array of 4-component vector of float)
-0:191 Constant:
-0:191 1.000000
-0:191 1.000000
-0:191 1.000000
-0:191 1.000000
-0:191 1.000000
-0:191 1.000000
-0:191 1.000000
-0:191 1.000000
-0:192 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
-0:192 'b' (temp 2-element array of 4-component vector of float)
-0:192 'b' (temp 2-element array of 4-component vector of float)
-0:192 'b' (temp 2-element array of 4-component vector of float)
-0:193 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
-0:193 'b' (temp 2-element array of 4-component vector of float)
-0:193 'b' (temp 2-element array of 4-component vector of float)
-0:193 'b' (temp 2-element array of 4-component vector of float)
-0:194 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
-0:194 'b' (temp 2-element array of 4-component vector of float)
-0:194 'b' (temp 2-element array of 4-component vector of float)
-0:194 'b' (temp 2-element array of 4-component vector of float)
-0:? Linker Objects
-0:? 'Coords' (out block{out 4-component vector of float Position, out 2-component vector of float Texture})
-0:? 'anon@0' (out block{out 4-component vector of float Color})
-0:? 'transforms' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform 4X4 matrix of float ModelViewMatrix, layout(column_major shared ) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout(column_major shared ) uniform implicitly-sized array of 4-component vector of float a, layout(column_major shared ) uniform float Deformation})
-0:? 'normal' (layout(location=3 ) in 4-component vector of float)
-0:? 'colors' (layout(location=6 ) in 3-element array of 4-component vector of float)
-0:? 'transforms2' (layout(location=9 ) in 2-element array of 4X4 matrix of float)
-0:? 's' (layout(location=3 ) temp structure{global 3-component vector of float a1, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c})
-0:? 'var1' (smooth out 4-component vector of float)
-0:? 'anon@1' (out block{out 4-component vector of float var2, out 2-component vector of float var3, out 3-component vector of float var4})
-0:? 'var5' (smooth out 4-component vector of float)
-0:? 'anon@2' (out block{out 4-component vector of float var6})
-0:? 'var7' (smooth out 4-component vector of float)
-0:? 'anon@3' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform 3X3 matrix of float N1})
-0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform 4X4 matrix of float M13, layout(row_major shared ) uniform 4X4 matrix of float m14, layout(column_major shared ) uniform 3X3 matrix of float N12})
-0:? 's17' (layout(binding=3 ) uniform sampler2D)
-0:? 'a2' (layout(binding=2 offset=4 ) uniform atomic_uint)
-0:? 'bar' (layout(binding=2 ) uniform atomic_uint)
-0:? 'bar23' (layout(offset=8 ) uniform atomic_uint)
-0:? 'b2' (layout(binding=2 ) uniform atomic_uint)
-0:? 'c2' (layout(binding=3 ) uniform atomic_uint)
-0:? 'd2' (layout(binding=2 ) uniform atomic_uint)
-0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:? 'ColorInv' (smooth out 3-component vector of float)
-0:? 'Color4' (invariant centroid smooth out 3-component vector of float)
-0:? 'position' (smooth out 4-component vector of float)
-0:? 'Color5' (smooth out 3-component vector of float)
-0:? 'a' (in 4-component vector of float)
-0:? 'b' (in 4-component vector of float)
-0:? 'c' (in 4-component vector of float)
-0:? 'd' (in 4-component vector of float)
-0:? 'v' (smooth out 4-component vector of float)
-0:? 'anon@6' (layout(column_major shared ) coherent buffer block{layout(column_major shared ) readonly buffer 4-component vector of float member1, layout(column_major shared ) buffer 4-component vector of float member2})
-0:? 'anon@7' (layout(column_major shared ) buffer block{layout(column_major shared ) coherent readonly buffer 4-component vector of float member1A, layout(column_major shared ) coherent buffer 4-component vector of float member2A})
-0:? 'shv' (shared 4-component vector of float)
-0:? 'img1' (layout(rgba32f ) uniform image2D)
-0:? 'img2' (layout(rgba32f ) coherent uniform image2D)
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 430
-Requested GL_3DL_array_objects
-ERROR: node is still EOpNull!
-0:134 Function Definition: funcA(I21; (global 4-component vector of float)
-0:134 Function Parameters:
-0:134 'a' (restrict in image2D)
-0:136 Function Definition: funcB(I21; (global 4-component vector of float)
-0:136 Function Parameters:
-0:136 'a' (in image2D)
-0:140 Function Definition: func(f1;f1;f1;f1; (global float)
-0:140 Function Parameters:
-0:140 'e' (in float)
-0:140 'f' (in float)
-0:140 'g' (in float)
-0:140 'h' (in float)
-0:142 Sequence
-0:142 Branch: Return with expression
-0:142 add (temp float)
-0:142 component-wise multiply (temp float)
-0:142 'e' (in float)
-0:142 'f' (in float)
-0:142 component-wise multiply (temp float)
-0:142 'g' (in float)
-0:142 'h' (in float)
-0:146 Function Definition: func2(f1;f1;f1;f1; (global float)
-0:146 Function Parameters:
-0:146 'e' (in float)
-0:146 'f' (in float)
-0:146 'g' (in float)
-0:146 'h' (in float)
-0:148 Sequence
-0:148 Sequence
-0:148 move second child to first child (temp float)
-0:148 'result' (temp float)
-0:148 add (temp float)
-0:148 component-wise multiply (temp float)
-0:148 'e' (in float)
-0:148 'f' (in float)
-0:148 component-wise multiply (temp float)
-0:148 'g' (in float)
-0:148 'h' (in float)
-0:150 Branch: Return with expression
-0:150 'result' (temp float)
-0:153 Function Definition: func3(f1;f1;f1; (global float)
-0:153 Function Parameters:
-0:153 'i' (in float)
-0:153 'j' (in float)
-0:153 'k' (out float)
-0:155 Sequence
-0:155 move second child to first child (temp float)
-0:155 'k' (out float)
-0:155 add (temp float)
-0:155 component-wise multiply (temp float)
-0:155 'i' (in float)
-0:155 'i' (in float)
-0:155 'j' (in float)
-0:158 Function Definition: main( (global void)
-0:158 Function Parameters:
-0:160 Sequence
-0:160 Sequence
-0:160 move second child to first child (temp 3-component vector of float)
-0:160 'r' (temp 3-component vector of float)
-0:160 Construct vec3 (temp 3-component vector of float)
-0:160 component-wise multiply (temp 4-component vector of float)
-0:160 'a' (in 4-component vector of float)
-0:160 'b' (in 4-component vector of float)
-0:161 Sequence
-0:161 move second child to first child (temp 3-component vector of float)
-0:161 's' (temp 3-component vector of float)
-0:161 Construct vec3 (temp 3-component vector of float)
-0:161 component-wise multiply (temp 4-component vector of float)
-0:161 'c' (in 4-component vector of float)
-0:161 'd' (in 4-component vector of float)
-0:162 move second child to first child (temp 3-component vector of float)
-0:162 vector swizzle (temp 3-component vector of float)
-0:162 'v' (smooth out 4-component vector of float)
-0:162 Sequence
-0:162 Constant:
-0:162 0 (const int)
-0:162 Constant:
-0:162 1 (const int)
-0:162 Constant:
-0:162 2 (const int)
-0:162 add (temp 3-component vector of float)
-0:162 'r' (temp 3-component vector of float)
-0:162 's' (temp 3-component vector of float)
-0:163 move second child to first child (temp float)
-0:163 direct index (temp float)
-0:163 'v' (smooth out 4-component vector of float)
-0:163 Constant:
-0:163 3 (const int)
-0:163 add (temp float)
-0:163 component-wise multiply (temp float)
-0:163 direct index (temp float)
-0:163 'a' (in 4-component vector of float)
-0:163 Constant:
-0:163 3 (const int)
-0:163 direct index (temp float)
-0:163 'b' (in 4-component vector of float)
-0:163 Constant:
-0:163 3 (const int)
-0:163 component-wise multiply (temp float)
-0:163 direct index (temp float)
-0:163 'c' (in 4-component vector of float)
-0:163 Constant:
-0:163 3 (const int)
-0:163 direct index (temp float)
-0:163 'd' (in 4-component vector of float)
-0:163 Constant:
-0:163 3 (const int)
-0:164 move second child to first child (temp float)
-0:164 direct index (temp float)
-0:164 'v' (smooth out 4-component vector of float)
-0:164 Constant:
-0:164 0 (const int)
-0:164 Function Call: func(f1;f1;f1;f1; (global float)
-0:164 direct index (temp float)
-0:164 'a' (in 4-component vector of float)
-0:164 Constant:
-0:164 0 (const int)
-0:164 direct index (temp float)
-0:164 'b' (in 4-component vector of float)
-0:164 Constant:
-0:164 0 (const int)
-0:164 direct index (temp float)
-0:164 'c' (in 4-component vector of float)
-0:164 Constant:
-0:164 0 (const int)
-0:164 direct index (temp float)
-0:164 'd' (in 4-component vector of float)
-0:164 Constant:
-0:164 0 (const int)
-0:166 move second child to first child (temp float)
-0:166 direct index (temp float)
-0:166 'v' (smooth out 4-component vector of float)
-0:166 Constant:
-0:166 0 (const int)
-0:166 Function Call: func2(f1;f1;f1;f1; (global float)
-0:166 direct index (temp float)
-0:166 'a' (in 4-component vector of float)
-0:166 Constant:
-0:166 0 (const int)
-0:166 direct index (temp float)
-0:166 'b' (in 4-component vector of float)
-0:166 Constant:
-0:166 0 (const int)
-0:166 direct index (temp float)
-0:166 'c' (in 4-component vector of float)
-0:166 Constant:
-0:166 0 (const int)
-0:166 direct index (temp float)
-0:166 'd' (in 4-component vector of float)
-0:166 Constant:
-0:166 0 (const int)
-0:167 Function Call: func3(f1;f1;f1; (global float)
-0:167 component-wise multiply (temp float)
-0:167 direct index (temp float)
-0:167 'a' (in 4-component vector of float)
-0:167 Constant:
-0:167 0 (const int)
-0:167 direct index (temp float)
-0:167 'b' (in 4-component vector of float)
-0:167 Constant:
-0:167 0 (const int)
-0:167 component-wise multiply (temp float)
-0:167 direct index (temp float)
-0:167 'c' (in 4-component vector of float)
-0:167 Constant:
-0:167 0 (const int)
-0:167 direct index (temp float)
-0:167 'd' (in 4-component vector of float)
-0:167 Constant:
-0:167 0 (const int)
-0:167 direct index (temp float)
-0:167 'v' (smooth out 4-component vector of float)
-0:167 Constant:
-0:167 0 (const int)
-0:169 Function Call: funcA(I21; (global 4-component vector of float)
-0:169 'img1' (layout(rgba32f ) uniform image2D)
-0:170 Function Call: funcB(I21; (global 4-component vector of float)
-0:170 'img2' (layout(rgba32f ) coherent uniform image2D)
-0:? Sequence
-0:178 Sequence
-0:178 move second child to first child (temp structure{temp float intensity, temp 3-component vector of float position})
-0:178 'lightVar' (temp structure{temp float intensity, temp 3-component vector of float position})
-0:178 Constant:
-0:178 3.000000
-0:178 1.000000
-0:178 2.000000
-0:178 3.000000
-0:? Sequence
-0:185 Sequence
-0:185 move second child to first child (temp 5-element array of float)
-0:185 'a' (temp 5-element array of float)
-0:185 Construct float (temp 5-element array of float)
-0:185 'g' (temp float)
-0:185 Constant:
-0:185 1.000000
-0:185 'g' (temp float)
-0:185 Constant:
-0:185 2.300000
-0:185 'g' (temp float)
-0:188 move second child to first child (temp 3-element array of float)
-0:188 'b' (temp 3-element array of float)
-0:188 Construct float (temp 3-element array of float)
-0:188 'g' (temp float)
-0:188 add (temp float)
-0:188 'g' (temp float)
-0:188 Constant:
-0:188 1.000000
-0:188 add (temp float)
-0:188 'g' (temp float)
-0:188 Constant:
-0:188 2.000000
-0:191 Sequence
-0:191 Sequence
-0:191 move second child to first child (temp 2-element array of 4-component vector of float)
-0:191 'b' (temp 2-element array of 4-component vector of float)
-0:191 Constant:
-0:191 1.000000
-0:191 1.000000
-0:191 1.000000
-0:191 1.000000
-0:191 1.000000
-0:191 1.000000
-0:191 1.000000
-0:191 1.000000
-0:192 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
-0:192 'b' (temp 2-element array of 4-component vector of float)
-0:192 'b' (temp 2-element array of 4-component vector of float)
-0:192 'b' (temp 2-element array of 4-component vector of float)
-0:193 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
-0:193 'b' (temp 2-element array of 4-component vector of float)
-0:193 'b' (temp 2-element array of 4-component vector of float)
-0:193 'b' (temp 2-element array of 4-component vector of float)
-0:194 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
-0:194 'b' (temp 2-element array of 4-component vector of float)
-0:194 'b' (temp 2-element array of 4-component vector of float)
-0:194 'b' (temp 2-element array of 4-component vector of float)
-0:? Linker Objects
-0:? 'Coords' (out block{out 4-component vector of float Position, out 2-component vector of float Texture})
-0:? 'anon@0' (out block{out 4-component vector of float Color})
-0:? 'transforms' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform 4X4 matrix of float ModelViewMatrix, layout(column_major shared ) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout(column_major shared ) uniform 1-element array of 4-component vector of float a, layout(column_major shared ) uniform float Deformation})
-0:? 'normal' (layout(location=3 ) in 4-component vector of float)
-0:? 'colors' (layout(location=6 ) in 3-element array of 4-component vector of float)
-0:? 'transforms2' (layout(location=9 ) in 2-element array of 4X4 matrix of float)
-0:? 's' (layout(location=3 ) temp structure{global 3-component vector of float a1, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c})
-0:? 'var1' (smooth out 4-component vector of float)
-0:? 'anon@1' (out block{out 4-component vector of float var2, out 2-component vector of float var3, out 3-component vector of float var4})
-0:? 'var5' (smooth out 4-component vector of float)
-0:? 'anon@2' (out block{out 4-component vector of float var6})
-0:? 'var7' (smooth out 4-component vector of float)
-0:? 'anon@3' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform 3X3 matrix of float N1})
-0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform 4X4 matrix of float M13, layout(row_major shared ) uniform 4X4 matrix of float m14, layout(column_major shared ) uniform 3X3 matrix of float N12})
-0:? 's17' (layout(binding=3 ) uniform sampler2D)
-0:? 'a2' (layout(binding=2 offset=4 ) uniform atomic_uint)
-0:? 'bar' (layout(binding=2 ) uniform atomic_uint)
-0:? 'bar23' (layout(offset=8 ) uniform atomic_uint)
-0:? 'b2' (layout(binding=2 ) uniform atomic_uint)
-0:? 'c2' (layout(binding=3 ) uniform atomic_uint)
-0:? 'd2' (layout(binding=2 ) uniform atomic_uint)
-0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:? 'ColorInv' (smooth out 3-component vector of float)
-0:? 'Color4' (invariant centroid smooth out 3-component vector of float)
-0:? 'position' (smooth out 4-component vector of float)
-0:? 'Color5' (smooth out 3-component vector of float)
-0:? 'a' (in 4-component vector of float)
-0:? 'b' (in 4-component vector of float)
-0:? 'c' (in 4-component vector of float)
-0:? 'd' (in 4-component vector of float)
-0:? 'v' (smooth out 4-component vector of float)
-0:? 'anon@6' (layout(column_major shared ) coherent buffer block{layout(column_major shared ) readonly buffer 4-component vector of float member1, layout(column_major shared ) buffer 4-component vector of float member2})
-0:? 'anon@7' (layout(column_major shared ) buffer block{layout(column_major shared ) coherent readonly buffer 4-component vector of float member1A, layout(column_major shared ) coherent buffer 4-component vector of float member2A})
-0:? 'shv' (shared 4-component vector of float)
-0:? 'img1' (layout(rgba32f ) uniform image2D)
-0:? 'img2' (layout(rgba32f ) coherent uniform image2D)
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
+specExamples.vert
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+ERROR: 0:29: 'location' : can only appy to uniform, buffer, in, or out storage qualifiers
+ERROR: 0:31: 'triangles' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:31: 'invocations' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:33: 'lines' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:35: 'triangle_strip' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:35: 'max_vertices' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:36: 'max_vertices' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:37: 'triangle_strip' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4)
+ERROR: 0:41: 'stream' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:43: 'stream' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:45: 'stream' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:46: 'stream' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:47: 'stream' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:50: 'stream' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:55: 'stream' : there is no such layout identifier for this stage taking an assigned value
+ERROR: 0:80: 's17' : redefinition
+ERROR: 0:85: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 0:87: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 0:89: 'binding' : atomic_uint binding is too large
+ERROR: 0:91: 'bar' : redefinition
+ERROR: 0:92: 'atomic_uint' : layout(binding=X) is required
+ERROR: 0:94: 'a2' : redefinition
+ERROR: 0:95: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 0:96: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 0:97: 'binding' : atomic_uint binding is too large; see gl_MaxAtomicCounterBindings
+ERROR: 0:106: '' : vertex input cannot be further qualified
+ERROR: 0:106: 'redeclaration' : cannot change storage, memory, or auxiliary qualification of gl_FrontColor
+ERROR: 0:112: 'ColorIvn' : identifier not previously declared
+WARNING: 0:118: '' : unknown requalification
+ERROR: 0:132: 'shared' : not supported in this stage: vertex
+ERROR: 0:134: '' : function does not return a value: funcA
+ERROR: 0:136: '' : function does not return a value: funcB
+ERROR: 0:153: '' : function does not return a value: func3
+ERROR: 0:170: 'coherent' : argument cannot drop memory qualifier when passed to formal parameter
+ERROR: 33 compilation errors. No code generated.
+
+
+Shader version: 430
+Requested GL_3DL_array_objects
+ERROR: node is still EOpNull!
+0:134 Function Definition: funcA(I21; (global 4-component vector of float)
+0:134 Function Parameters:
+0:134 'a' (restrict in image2D)
+0:136 Function Definition: funcB(I21; (global 4-component vector of float)
+0:136 Function Parameters:
+0:136 'a' (in image2D)
+0:140 Function Definition: func(f1;f1;f1;f1; (global float)
+0:140 Function Parameters:
+0:140 'e' (in float)
+0:140 'f' (in float)
+0:140 'g' (in float)
+0:140 'h' (in float)
+0:142 Sequence
+0:142 Branch: Return with expression
+0:142 add (temp float)
+0:142 component-wise multiply (temp float)
+0:142 'e' (in float)
+0:142 'f' (in float)
+0:142 component-wise multiply (temp float)
+0:142 'g' (in float)
+0:142 'h' (in float)
+0:146 Function Definition: func2(f1;f1;f1;f1; (global float)
+0:146 Function Parameters:
+0:146 'e' (in float)
+0:146 'f' (in float)
+0:146 'g' (in float)
+0:146 'h' (in float)
+0:148 Sequence
+0:148 Sequence
+0:148 move second child to first child (temp float)
+0:148 'result' (temp float)
+0:148 add (temp float)
+0:148 component-wise multiply (temp float)
+0:148 'e' (in float)
+0:148 'f' (in float)
+0:148 component-wise multiply (temp float)
+0:148 'g' (in float)
+0:148 'h' (in float)
+0:150 Branch: Return with expression
+0:150 'result' (temp float)
+0:153 Function Definition: func3(f1;f1;f1; (global float)
+0:153 Function Parameters:
+0:153 'i' (in float)
+0:153 'j' (in float)
+0:153 'k' (out float)
+0:155 Sequence
+0:155 move second child to first child (temp float)
+0:155 'k' (out float)
+0:155 add (temp float)
+0:155 component-wise multiply (temp float)
+0:155 'i' (in float)
+0:155 'i' (in float)
+0:155 'j' (in float)
+0:158 Function Definition: main( (global void)
+0:158 Function Parameters:
+0:160 Sequence
+0:160 Sequence
+0:160 move second child to first child (temp 3-component vector of float)
+0:160 'r' (temp 3-component vector of float)
+0:160 Construct vec3 (temp 3-component vector of float)
+0:160 component-wise multiply (temp 4-component vector of float)
+0:160 'a' (in 4-component vector of float)
+0:160 'b' (in 4-component vector of float)
+0:161 Sequence
+0:161 move second child to first child (temp 3-component vector of float)
+0:161 's' (temp 3-component vector of float)
+0:161 Construct vec3 (temp 3-component vector of float)
+0:161 component-wise multiply (temp 4-component vector of float)
+0:161 'c' (in 4-component vector of float)
+0:161 'd' (in 4-component vector of float)
+0:162 move second child to first child (temp 3-component vector of float)
+0:162 vector swizzle (temp 3-component vector of float)
+0:162 'v' (smooth out 4-component vector of float)
+0:162 Sequence
+0:162 Constant:
+0:162 0 (const int)
+0:162 Constant:
+0:162 1 (const int)
+0:162 Constant:
+0:162 2 (const int)
+0:162 add (temp 3-component vector of float)
+0:162 'r' (temp 3-component vector of float)
+0:162 's' (temp 3-component vector of float)
+0:163 move second child to first child (temp float)
+0:163 direct index (temp float)
+0:163 'v' (smooth out 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:163 add (temp float)
+0:163 component-wise multiply (temp float)
+0:163 direct index (temp float)
+0:163 'a' (in 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:163 direct index (temp float)
+0:163 'b' (in 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:163 component-wise multiply (temp float)
+0:163 direct index (temp float)
+0:163 'c' (in 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:163 direct index (temp float)
+0:163 'd' (in 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:164 move second child to first child (temp float)
+0:164 direct index (temp float)
+0:164 'v' (smooth out 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:164 Function Call: func(f1;f1;f1;f1; (global float)
+0:164 direct index (temp float)
+0:164 'a' (in 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:164 direct index (temp float)
+0:164 'b' (in 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:164 direct index (temp float)
+0:164 'c' (in 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:164 direct index (temp float)
+0:164 'd' (in 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:166 move second child to first child (temp float)
+0:166 direct index (temp float)
+0:166 'v' (smooth out 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:166 Function Call: func2(f1;f1;f1;f1; (global float)
+0:166 direct index (temp float)
+0:166 'a' (in 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:166 direct index (temp float)
+0:166 'b' (in 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:166 direct index (temp float)
+0:166 'c' (in 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:166 direct index (temp float)
+0:166 'd' (in 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:167 Function Call: func3(f1;f1;f1; (global float)
+0:167 component-wise multiply (temp float)
+0:167 direct index (temp float)
+0:167 'a' (in 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:167 direct index (temp float)
+0:167 'b' (in 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:167 component-wise multiply (temp float)
+0:167 direct index (temp float)
+0:167 'c' (in 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:167 direct index (temp float)
+0:167 'd' (in 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:167 direct index (temp float)
+0:167 'v' (smooth out 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:169 Function Call: funcA(I21; (global 4-component vector of float)
+0:169 'img1' (layout(rgba32f ) uniform image2D)
+0:170 Function Call: funcB(I21; (global 4-component vector of float)
+0:170 'img2' (layout(rgba32f ) coherent uniform image2D)
+0:? Sequence
+0:178 Sequence
+0:178 move second child to first child (temp structure{temp float intensity, temp 3-component vector of float position})
+0:178 'lightVar' (temp structure{temp float intensity, temp 3-component vector of float position})
+0:178 Constant:
+0:178 3.000000
+0:178 1.000000
+0:178 2.000000
+0:178 3.000000
+0:? Sequence
+0:185 Sequence
+0:185 move second child to first child (temp 5-element array of float)
+0:185 'a' (temp 5-element array of float)
+0:185 Construct float (temp 5-element array of float)
+0:185 'g' (temp float)
+0:185 Constant:
+0:185 1.000000
+0:185 'g' (temp float)
+0:185 Constant:
+0:185 2.300000
+0:185 'g' (temp float)
+0:188 move second child to first child (temp 3-element array of float)
+0:188 'b' (temp 3-element array of float)
+0:188 Construct float (temp 3-element array of float)
+0:188 'g' (temp float)
+0:188 add (temp float)
+0:188 'g' (temp float)
+0:188 Constant:
+0:188 1.000000
+0:188 add (temp float)
+0:188 'g' (temp float)
+0:188 Constant:
+0:188 2.000000
+0:191 Sequence
+0:191 Sequence
+0:191 move second child to first child (temp 2-element array of 4-component vector of float)
+0:191 'b' (temp 2-element array of 4-component vector of float)
+0:191 Constant:
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:192 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
+0:192 'b' (temp 2-element array of 4-component vector of float)
+0:192 'b' (temp 2-element array of 4-component vector of float)
+0:192 'b' (temp 2-element array of 4-component vector of float)
+0:193 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
+0:193 'b' (temp 2-element array of 4-component vector of float)
+0:193 'b' (temp 2-element array of 4-component vector of float)
+0:193 'b' (temp 2-element array of 4-component vector of float)
+0:194 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
+0:194 'b' (temp 2-element array of 4-component vector of float)
+0:194 'b' (temp 2-element array of 4-component vector of float)
+0:194 'b' (temp 2-element array of 4-component vector of float)
+0:? Linker Objects
+0:? 'Coords' (out block{out 4-component vector of float Position, out 2-component vector of float Texture})
+0:? 'anon@0' (out block{out 4-component vector of float Color})
+0:? 'transforms' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform 4X4 matrix of float ModelViewMatrix, layout(column_major shared ) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout(column_major shared ) uniform implicitly-sized array of 4-component vector of float a, layout(column_major shared ) uniform float Deformation})
+0:? 'normal' (layout(location=3 ) in 4-component vector of float)
+0:? 'colors' (layout(location=6 ) in 3-element array of 4-component vector of float)
+0:? 'transforms2' (layout(location=9 ) in 2-element array of 4X4 matrix of float)
+0:? 's' (layout(location=3 ) temp structure{global 3-component vector of float a1, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c})
+0:? 'var1' (smooth out 4-component vector of float)
+0:? 'anon@1' (out block{out 4-component vector of float var2, out 2-component vector of float var3, out 3-component vector of float var4})
+0:? 'var5' (smooth out 4-component vector of float)
+0:? 'anon@2' (out block{out 4-component vector of float var6})
+0:? 'var7' (smooth out 4-component vector of float)
+0:? 'anon@3' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform 3X3 matrix of float N1})
+0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform 4X4 matrix of float M13, layout(row_major shared ) uniform 4X4 matrix of float m14, layout(column_major shared ) uniform 3X3 matrix of float N12})
+0:? 's17' (layout(binding=3 ) uniform sampler2D)
+0:? 'a2' (layout(binding=2 offset=4 ) uniform atomic_uint)
+0:? 'bar' (layout(binding=2 ) uniform atomic_uint)
+0:? 'bar23' (layout(offset=8 ) uniform atomic_uint)
+0:? 'b2' (layout(binding=2 ) uniform atomic_uint)
+0:? 'c2' (layout(binding=3 ) uniform atomic_uint)
+0:? 'd2' (layout(binding=2 ) uniform atomic_uint)
+0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'ColorInv' (smooth out 3-component vector of float)
+0:? 'Color4' (invariant centroid smooth out 3-component vector of float)
+0:? 'position' (smooth out 4-component vector of float)
+0:? 'Color5' (smooth out 3-component vector of float)
+0:? 'a' (in 4-component vector of float)
+0:? 'b' (in 4-component vector of float)
+0:? 'c' (in 4-component vector of float)
+0:? 'd' (in 4-component vector of float)
+0:? 'v' (smooth out 4-component vector of float)
+0:? 'anon@6' (layout(column_major shared ) coherent buffer block{layout(column_major shared ) readonly buffer 4-component vector of float member1, layout(column_major shared ) buffer 4-component vector of float member2})
+0:? 'anon@7' (layout(column_major shared ) buffer block{layout(column_major shared ) coherent readonly buffer 4-component vector of float member1A, layout(column_major shared ) coherent buffer 4-component vector of float member2A})
+0:? 'shv' (shared 4-component vector of float)
+0:? 'img1' (layout(rgba32f ) uniform image2D)
+0:? 'img2' (layout(rgba32f ) coherent uniform image2D)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 430
+Requested GL_3DL_array_objects
+ERROR: node is still EOpNull!
+0:134 Function Definition: funcA(I21; (global 4-component vector of float)
+0:134 Function Parameters:
+0:134 'a' (restrict in image2D)
+0:136 Function Definition: funcB(I21; (global 4-component vector of float)
+0:136 Function Parameters:
+0:136 'a' (in image2D)
+0:140 Function Definition: func(f1;f1;f1;f1; (global float)
+0:140 Function Parameters:
+0:140 'e' (in float)
+0:140 'f' (in float)
+0:140 'g' (in float)
+0:140 'h' (in float)
+0:142 Sequence
+0:142 Branch: Return with expression
+0:142 add (temp float)
+0:142 component-wise multiply (temp float)
+0:142 'e' (in float)
+0:142 'f' (in float)
+0:142 component-wise multiply (temp float)
+0:142 'g' (in float)
+0:142 'h' (in float)
+0:146 Function Definition: func2(f1;f1;f1;f1; (global float)
+0:146 Function Parameters:
+0:146 'e' (in float)
+0:146 'f' (in float)
+0:146 'g' (in float)
+0:146 'h' (in float)
+0:148 Sequence
+0:148 Sequence
+0:148 move second child to first child (temp float)
+0:148 'result' (temp float)
+0:148 add (temp float)
+0:148 component-wise multiply (temp float)
+0:148 'e' (in float)
+0:148 'f' (in float)
+0:148 component-wise multiply (temp float)
+0:148 'g' (in float)
+0:148 'h' (in float)
+0:150 Branch: Return with expression
+0:150 'result' (temp float)
+0:153 Function Definition: func3(f1;f1;f1; (global float)
+0:153 Function Parameters:
+0:153 'i' (in float)
+0:153 'j' (in float)
+0:153 'k' (out float)
+0:155 Sequence
+0:155 move second child to first child (temp float)
+0:155 'k' (out float)
+0:155 add (temp float)
+0:155 component-wise multiply (temp float)
+0:155 'i' (in float)
+0:155 'i' (in float)
+0:155 'j' (in float)
+0:158 Function Definition: main( (global void)
+0:158 Function Parameters:
+0:160 Sequence
+0:160 Sequence
+0:160 move second child to first child (temp 3-component vector of float)
+0:160 'r' (temp 3-component vector of float)
+0:160 Construct vec3 (temp 3-component vector of float)
+0:160 component-wise multiply (temp 4-component vector of float)
+0:160 'a' (in 4-component vector of float)
+0:160 'b' (in 4-component vector of float)
+0:161 Sequence
+0:161 move second child to first child (temp 3-component vector of float)
+0:161 's' (temp 3-component vector of float)
+0:161 Construct vec3 (temp 3-component vector of float)
+0:161 component-wise multiply (temp 4-component vector of float)
+0:161 'c' (in 4-component vector of float)
+0:161 'd' (in 4-component vector of float)
+0:162 move second child to first child (temp 3-component vector of float)
+0:162 vector swizzle (temp 3-component vector of float)
+0:162 'v' (smooth out 4-component vector of float)
+0:162 Sequence
+0:162 Constant:
+0:162 0 (const int)
+0:162 Constant:
+0:162 1 (const int)
+0:162 Constant:
+0:162 2 (const int)
+0:162 add (temp 3-component vector of float)
+0:162 'r' (temp 3-component vector of float)
+0:162 's' (temp 3-component vector of float)
+0:163 move second child to first child (temp float)
+0:163 direct index (temp float)
+0:163 'v' (smooth out 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:163 add (temp float)
+0:163 component-wise multiply (temp float)
+0:163 direct index (temp float)
+0:163 'a' (in 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:163 direct index (temp float)
+0:163 'b' (in 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:163 component-wise multiply (temp float)
+0:163 direct index (temp float)
+0:163 'c' (in 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:163 direct index (temp float)
+0:163 'd' (in 4-component vector of float)
+0:163 Constant:
+0:163 3 (const int)
+0:164 move second child to first child (temp float)
+0:164 direct index (temp float)
+0:164 'v' (smooth out 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:164 Function Call: func(f1;f1;f1;f1; (global float)
+0:164 direct index (temp float)
+0:164 'a' (in 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:164 direct index (temp float)
+0:164 'b' (in 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:164 direct index (temp float)
+0:164 'c' (in 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:164 direct index (temp float)
+0:164 'd' (in 4-component vector of float)
+0:164 Constant:
+0:164 0 (const int)
+0:166 move second child to first child (temp float)
+0:166 direct index (temp float)
+0:166 'v' (smooth out 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:166 Function Call: func2(f1;f1;f1;f1; (global float)
+0:166 direct index (temp float)
+0:166 'a' (in 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:166 direct index (temp float)
+0:166 'b' (in 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:166 direct index (temp float)
+0:166 'c' (in 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:166 direct index (temp float)
+0:166 'd' (in 4-component vector of float)
+0:166 Constant:
+0:166 0 (const int)
+0:167 Function Call: func3(f1;f1;f1; (global float)
+0:167 component-wise multiply (temp float)
+0:167 direct index (temp float)
+0:167 'a' (in 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:167 direct index (temp float)
+0:167 'b' (in 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:167 component-wise multiply (temp float)
+0:167 direct index (temp float)
+0:167 'c' (in 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:167 direct index (temp float)
+0:167 'd' (in 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:167 direct index (temp float)
+0:167 'v' (smooth out 4-component vector of float)
+0:167 Constant:
+0:167 0 (const int)
+0:169 Function Call: funcA(I21; (global 4-component vector of float)
+0:169 'img1' (layout(rgba32f ) uniform image2D)
+0:170 Function Call: funcB(I21; (global 4-component vector of float)
+0:170 'img2' (layout(rgba32f ) coherent uniform image2D)
+0:? Sequence
+0:178 Sequence
+0:178 move second child to first child (temp structure{temp float intensity, temp 3-component vector of float position})
+0:178 'lightVar' (temp structure{temp float intensity, temp 3-component vector of float position})
+0:178 Constant:
+0:178 3.000000
+0:178 1.000000
+0:178 2.000000
+0:178 3.000000
+0:? Sequence
+0:185 Sequence
+0:185 move second child to first child (temp 5-element array of float)
+0:185 'a' (temp 5-element array of float)
+0:185 Construct float (temp 5-element array of float)
+0:185 'g' (temp float)
+0:185 Constant:
+0:185 1.000000
+0:185 'g' (temp float)
+0:185 Constant:
+0:185 2.300000
+0:185 'g' (temp float)
+0:188 move second child to first child (temp 3-element array of float)
+0:188 'b' (temp 3-element array of float)
+0:188 Construct float (temp 3-element array of float)
+0:188 'g' (temp float)
+0:188 add (temp float)
+0:188 'g' (temp float)
+0:188 Constant:
+0:188 1.000000
+0:188 add (temp float)
+0:188 'g' (temp float)
+0:188 Constant:
+0:188 2.000000
+0:191 Sequence
+0:191 Sequence
+0:191 move second child to first child (temp 2-element array of 4-component vector of float)
+0:191 'b' (temp 2-element array of 4-component vector of float)
+0:191 Constant:
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:191 1.000000
+0:192 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
+0:192 'b' (temp 2-element array of 4-component vector of float)
+0:192 'b' (temp 2-element array of 4-component vector of float)
+0:192 'b' (temp 2-element array of 4-component vector of float)
+0:193 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
+0:193 'b' (temp 2-element array of 4-component vector of float)
+0:193 'b' (temp 2-element array of 4-component vector of float)
+0:193 'b' (temp 2-element array of 4-component vector of float)
+0:194 Construct vec4 (temp 3-element array of 2-element array of 4-component vector of float)
+0:194 'b' (temp 2-element array of 4-component vector of float)
+0:194 'b' (temp 2-element array of 4-component vector of float)
+0:194 'b' (temp 2-element array of 4-component vector of float)
+0:? Linker Objects
+0:? 'Coords' (out block{out 4-component vector of float Position, out 2-component vector of float Texture})
+0:? 'anon@0' (out block{out 4-component vector of float Color})
+0:? 'transforms' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform 4X4 matrix of float ModelViewMatrix, layout(column_major shared ) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout(column_major shared ) uniform 1-element array of 4-component vector of float a, layout(column_major shared ) uniform float Deformation})
+0:? 'normal' (layout(location=3 ) in 4-component vector of float)
+0:? 'colors' (layout(location=6 ) in 3-element array of 4-component vector of float)
+0:? 'transforms2' (layout(location=9 ) in 2-element array of 4X4 matrix of float)
+0:? 's' (layout(location=3 ) temp structure{global 3-component vector of float a1, global 2X2 matrix of float b, global 2-element array of 4-component vector of float c})
+0:? 'var1' (smooth out 4-component vector of float)
+0:? 'anon@1' (out block{out 4-component vector of float var2, out 2-component vector of float var3, out 3-component vector of float var4})
+0:? 'var5' (smooth out 4-component vector of float)
+0:? 'anon@2' (out block{out 4-component vector of float var6})
+0:? 'var7' (smooth out 4-component vector of float)
+0:? 'anon@3' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform 3X3 matrix of float N1})
+0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform 4X4 matrix of float M13, layout(row_major shared ) uniform 4X4 matrix of float m14, layout(column_major shared ) uniform 3X3 matrix of float N12})
+0:? 's17' (layout(binding=3 ) uniform sampler2D)
+0:? 'a2' (layout(binding=2 offset=4 ) uniform atomic_uint)
+0:? 'bar' (layout(binding=2 ) uniform atomic_uint)
+0:? 'bar23' (layout(offset=8 ) uniform atomic_uint)
+0:? 'b2' (layout(binding=2 ) uniform atomic_uint)
+0:? 'c2' (layout(binding=3 ) uniform atomic_uint)
+0:? 'd2' (layout(binding=2 ) uniform atomic_uint)
+0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'ColorInv' (smooth out 3-component vector of float)
+0:? 'Color4' (invariant centroid smooth out 3-component vector of float)
+0:? 'position' (smooth out 4-component vector of float)
+0:? 'Color5' (smooth out 3-component vector of float)
+0:? 'a' (in 4-component vector of float)
+0:? 'b' (in 4-component vector of float)
+0:? 'c' (in 4-component vector of float)
+0:? 'd' (in 4-component vector of float)
+0:? 'v' (smooth out 4-component vector of float)
+0:? 'anon@6' (layout(column_major shared ) coherent buffer block{layout(column_major shared ) readonly buffer 4-component vector of float member1, layout(column_major shared ) buffer 4-component vector of float member2})
+0:? 'anon@7' (layout(column_major shared ) buffer block{layout(column_major shared ) coherent readonly buffer 4-component vector of float member1A, layout(column_major shared ) coherent buffer 4-component vector of float member2A})
+0:? 'shv' (shared 4-component vector of float)
+0:? 'img1' (layout(rgba32f ) uniform image2D)
+0:? 'img2' (layout(rgba32f ) coherent uniform image2D)
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/spv.100ops.frag.out b/Test/baseResults/spv.100ops.frag.out
index 3534299..0a2251a 100755
--- a/Test/baseResults/spv.100ops.frag.out
+++ b/Test/baseResults/spv.100ops.frag.out
@@ -1,85 +1,85 @@
-spv.100ops.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 47
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main"
- ExecutionMode 4 OriginLowerLeft
- Source ESSL 100
- Name 4 "main"
- Name 8 "foo("
- Name 11 "face1"
- Name 13 "face2"
- Name 17 "z"
- Name 21 "low"
- Name 26 "high"
- Name 36 "gl_FragColor"
- Decorate 11(face1) RelaxedPrecision
- Decorate 13(face2) RelaxedPrecision
- Decorate 17(z) RelaxedPrecision
- Decorate 21(low) RelaxedPrecision
- Decorate 26(high) RelaxedPrecision
- Decorate 36(gl_FragColor) RelaxedPrecision
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeFunction 6(float)
- 10: TypePointer Private 6(float)
- 11(face1): 10(ptr) Variable Private
- 12: 6(float) Constant 1093664768
- 13(face2): 10(ptr) Variable Private
- 14: 6(float) Constant 3221225472
- 15: TypeInt 32 1
- 16: TypePointer Function 15(int)
- 18: 15(int) Constant 3
- 19: 15(int) Constant 2
- 20: TypePointer UniformConstant 15(int)
- 21(low): 20(ptr) Variable UniformConstant
- 24: 15(int) Constant 1
- 26(high): 20(ptr) Variable UniformConstant
- 28: TypeBool
- 34: TypeVector 6(float) 4
- 35: TypePointer Output 34(fvec4)
-36(gl_FragColor): 35(ptr) Variable Output
- 4(main): 2 Function None 3
- 5: Label
- 17(z): 16(ptr) Variable Function
- Store 11(face1) 12
- Store 13(face2) 14
- Store 17(z) 18
- 22: 15(int) Load 21(low)
- 23: 15(int) IMul 19 22
- 25: 15(int) IAdd 23 24
- 27: 15(int) Load 26(high)
- 29: 28(bool) SLessThan 25 27
- SelectionMerge 31 None
- BranchConditional 29 30 31
- 30: Label
- 32: 15(int) Load 17(z)
- 33: 15(int) IAdd 32 24
- Store 17(z) 33
- Branch 31
- 31: Label
- 37: 6(float) Load 11(face1)
- 38: 15(int) Load 17(z)
- 39: 6(float) ConvertSToF 38
- 40: 34(fvec4) CompositeConstruct 39 39 39 39
- 41: 34(fvec4) VectorTimesScalar 40 37
- 42: 6(float) FunctionCall 8(foo()
- 43: 34(fvec4) CompositeConstruct 42 42 42 42
- 44: 34(fvec4) FAdd 41 43
- Store 36(gl_FragColor) 44
- Return
- FunctionEnd
- 8(foo(): 6(float) Function None 7
- 9: Label
- 45: 6(float) Load 13(face2)
- ReturnValue 45
- FunctionEnd
+spv.100ops.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 47
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main"
+ ExecutionMode 4 OriginLowerLeft
+ Source ESSL 100
+ Name 4 "main"
+ Name 8 "foo("
+ Name 11 "face1"
+ Name 13 "face2"
+ Name 17 "z"
+ Name 21 "low"
+ Name 26 "high"
+ Name 36 "gl_FragColor"
+ Decorate 11(face1) RelaxedPrecision
+ Decorate 13(face2) RelaxedPrecision
+ Decorate 17(z) RelaxedPrecision
+ Decorate 21(low) RelaxedPrecision
+ Decorate 26(high) RelaxedPrecision
+ Decorate 36(gl_FragColor) RelaxedPrecision
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeFunction 6(float)
+ 10: TypePointer Private 6(float)
+ 11(face1): 10(ptr) Variable Private
+ 12: 6(float) Constant 1093664768
+ 13(face2): 10(ptr) Variable Private
+ 14: 6(float) Constant 3221225472
+ 15: TypeInt 32 1
+ 16: TypePointer Function 15(int)
+ 18: 15(int) Constant 3
+ 19: 15(int) Constant 2
+ 20: TypePointer UniformConstant 15(int)
+ 21(low): 20(ptr) Variable UniformConstant
+ 24: 15(int) Constant 1
+ 26(high): 20(ptr) Variable UniformConstant
+ 28: TypeBool
+ 34: TypeVector 6(float) 4
+ 35: TypePointer Output 34(fvec4)
+36(gl_FragColor): 35(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 17(z): 16(ptr) Variable Function
+ Store 11(face1) 12
+ Store 13(face2) 14
+ Store 17(z) 18
+ 22: 15(int) Load 21(low)
+ 23: 15(int) IMul 19 22
+ 25: 15(int) IAdd 23 24
+ 27: 15(int) Load 26(high)
+ 29: 28(bool) SLessThan 25 27
+ SelectionMerge 31 None
+ BranchConditional 29 30 31
+ 30: Label
+ 32: 15(int) Load 17(z)
+ 33: 15(int) IAdd 32 24
+ Store 17(z) 33
+ Branch 31
+ 31: Label
+ 37: 6(float) Load 11(face1)
+ 38: 15(int) Load 17(z)
+ 39: 6(float) ConvertSToF 38
+ 40: 34(fvec4) CompositeConstruct 39 39 39 39
+ 41: 34(fvec4) VectorTimesScalar 40 37
+ 42: 6(float) FunctionCall 8(foo()
+ 43: 34(fvec4) CompositeConstruct 42 42 42 42
+ 44: 34(fvec4) FAdd 41 43
+ Store 36(gl_FragColor) 44
+ Return
+ FunctionEnd
+ 8(foo(): 6(float) Function None 7
+ 9: Label
+ 45: 6(float) Load 13(face2)
+ ReturnValue 45
+ FunctionEnd
diff --git a/Test/baseResults/spv.130.frag.out b/Test/baseResults/spv.130.frag.out
index 1cf2a26..e35de41 100644
--- a/Test/baseResults/spv.130.frag.out
+++ b/Test/baseResults/spv.130.frag.out
@@ -1,307 +1,307 @@
-spv.130.frag
-WARNING: 0:34: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 214
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 79 17 68 99 184 185 186 187 187 173
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- SourceExtension "GL_ARB_gpu_shader5"
- SourceExtension "GL_ARB_shader_texture_lod"
- SourceExtension "GL_ARB_shading_language_420pack"
- SourceExtension "GL_ARB_texture_cube_map_array"
- SourceExtension "GL_ARB_texture_gather"
- SourceExtension "GL_ARB_texture_rectangle"
- Name 4 "main"
- Name 6 "bar3("
- Name 8 "bar4("
- Name 10 "bar5("
- Name 12 "bar6("
- Name 17 "o"
- Name 21 "samp2D"
- Name 37 "samp2DA"
- Name 47 "samp2DR"
- Name 55 "samp2DS"
- Name 68 "io"
- Name 72 "Sca"
- Name 79 "i"
- Name 87 "Isca"
- Name 99 "uo"
- Name 103 "Usca"
- Name 114 "a"
- Name 118 "Scas"
- Name 124 "f"
- Name 133 "c"
- Name 154 "a1"
- Name 157 "m43"
- Name 160 "b"
- Name 167 "sampC"
- Name 173 "gl_ClipDistance"
- Name 183 "b"
- Name 184 "fflat"
- Name 185 "fsmooth"
- Name 186 "fnop"
- Name 187 "gl_Color"
- Name 194 "bounds"
- Name 195 "s2D"
- Name 196 "s2DR"
- Name 200 "s2DRS"
- Name 204 "s1D"
- Name 205 "s2DS"
- Name 207 "f"
- Name 209 "v2"
- Name 211 "v3"
- Name 213 "v4"
- Decorate 173(gl_ClipDistance) BuiltIn ClipDistance
- Decorate 184(fflat) Flat
- Decorate 186(fnop) NoPerspective
- Decorate 194(bounds) Binding 0
- 2: TypeVoid
- 3: TypeFunction 2
- 14: TypeFloat 32
- 15: TypeVector 14(float) 4
- 16: TypePointer Output 15(fvec4)
- 17(o): 16(ptr) Variable Output
- 18: TypeImage 14(float) 2D sampled format:Unknown
- 19: TypeSampledImage 18
- 20: TypePointer UniformConstant 19
- 21(samp2D): 20(ptr) Variable UniformConstant
- 23: TypeVector 14(float) 2
- 24: 14(float) Constant 1050253722
- 25: 23(fvec2) ConstantComposite 24 24
- 26: TypeInt 32 1
- 27: TypeVector 26(int) 2
- 28: 26(int) Constant 1
- 29: 27(ivec2) ConstantComposite 28 28
- 30: 26(int) Constant 0
- 34: TypeImage 14(float) 2D array sampled format:Unknown
- 35: TypeSampledImage 34
- 36: TypePointer UniformConstant 35
- 37(samp2DA): 36(ptr) Variable UniformConstant
- 39: TypeVector 14(float) 3
- 40: 39(fvec3) ConstantComposite 24 24 24
- 44: TypeImage 14(float) Rect sampled format:Unknown
- 45: TypeSampledImage 44
- 46: TypePointer UniformConstant 45
- 47(samp2DR): 46(ptr) Variable UniformConstant
- 52: TypeImage 14(float) 2D depth sampled format:Unknown
- 53: TypeSampledImage 52
- 54: TypePointer UniformConstant 53
- 55(samp2DS): 54(ptr) Variable UniformConstant
- 57: 14(float) Constant 1067869798
- 62: 26(int) Constant 2
- 66: TypeVector 26(int) 3
- 67: TypePointer Output 66(ivec3)
- 68(io): 67(ptr) Variable Output
- 69: TypeImage 14(float) Cube array sampled format:Unknown
- 70: TypeSampledImage 69
- 71: TypePointer UniformConstant 70
- 72(Sca): 71(ptr) Variable UniformConstant
- 74: 26(int) Constant 3
- 78: TypePointer Input 15(fvec4)
- 79(i): 78(ptr) Variable Input
- 84: TypeImage 26(int) Cube array sampled format:Unknown
- 85: TypeSampledImage 84
- 86: TypePointer UniformConstant 85
- 87(Isca): 86(ptr) Variable UniformConstant
- 90: 14(float) Constant 1060320051
- 91: TypeVector 26(int) 4
- 96: TypeInt 32 0
- 97: TypeVector 96(int) 4
- 98: TypePointer Output 97(ivec4)
- 99(uo): 98(ptr) Variable Output
- 100: TypeImage 96(int) Cube array sampled format:Unknown
- 101: TypeSampledImage 100
- 102: TypePointer UniformConstant 101
- 103(Usca): 102(ptr) Variable UniformConstant
- 109: 14(float) Constant 1071225242
- 113: TypePointer Private 39(fvec3)
- 114(a): 113(ptr) Variable Private
- 115: TypeImage 14(float) Cube depth array sampled format:Unknown
- 116: TypeSampledImage 115
- 117: TypePointer UniformConstant 116
- 118(Scas): 117(ptr) Variable UniformConstant
- 123: TypePointer Function 14(float)
- 127: 96(int) Constant 1
- 128: TypePointer Input 14(float)
- 132: TypePointer Function 91(ivec4)
- 136: 14(float) Constant 1036831949
- 137: 39(fvec3) ConstantComposite 136 136 136
- 138: 14(float) Constant 1045220557
- 139: 39(fvec3) ConstantComposite 138 138 138
- 155: TypeMatrix 39(fvec3) 4
- 156: TypePointer Function 155
- 161: 14(float) Constant 1073741824
- 164: TypeImage 14(float) Cube sampled format:Unknown
- 165: TypeSampledImage 164
- 166: TypePointer UniformConstant 165
- 167(sampC): 166(ptr) Variable UniformConstant
- 170: 96(int) Constant 4
- 171: TypeArray 14(float) 170
- 172: TypePointer Input 171
-173(gl_ClipDistance): 172(ptr) Variable Input
- 176: TypePointer Output 14(float)
- 182: TypePointer Private 14(float)
- 183(b): 182(ptr) Variable Private
- 184(fflat): 128(ptr) Variable Input
- 185(fsmooth): 128(ptr) Variable Input
- 186(fnop): 128(ptr) Variable Input
- 187(gl_Color): 78(ptr) Variable Input
- 188: 96(int) Constant 3
- 189: TypeArray 26(int) 188
- 190: 26(int) Constant 10
- 191: 26(int) Constant 23
- 192: 26(int) Constant 32
- 193: 189 ConstantComposite 190 191 192
- 194(bounds): 20(ptr) Variable UniformConstant
- 195(s2D): 20(ptr) Variable UniformConstant
- 196(s2DR): 46(ptr) Variable UniformConstant
- 197: TypeImage 14(float) Rect depth sampled format:Unknown
- 198: TypeSampledImage 197
- 199: TypePointer UniformConstant 198
- 200(s2DRS): 199(ptr) Variable UniformConstant
- 201: TypeImage 14(float) 1D sampled format:Unknown
- 202: TypeSampledImage 201
- 203: TypePointer UniformConstant 202
- 204(s1D): 203(ptr) Variable UniformConstant
- 205(s2DS): 54(ptr) Variable UniformConstant
- 206: TypePointer UniformConstant 14(float)
- 207(f): 206(ptr) Variable UniformConstant
- 208: TypePointer UniformConstant 23(fvec2)
- 209(v2): 208(ptr) Variable UniformConstant
- 210: TypePointer UniformConstant 39(fvec3)
- 211(v3): 210(ptr) Variable UniformConstant
- 212: TypePointer UniformConstant 15(fvec4)
- 213(v4): 212(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 168: 165 Load 167(sampC)
- 169: 15(fvec4) ImageGather 168 139 30
- Store 17(o) 169
- 174: 128(ptr) AccessChain 173(gl_ClipDistance) 74
- 175: 14(float) Load 174
- 177: 176(ptr) AccessChain 17(o) 127
- Store 177 175
- 178: 2 FunctionCall 6(bar3()
- 179: 2 FunctionCall 8(bar4()
- 180: 2 FunctionCall 10(bar5()
- 181: 2 FunctionCall 12(bar6()
- Return
- FunctionEnd
- 6(bar3(): 2 Function None 3
- 7: Label
- 22: 19 Load 21(samp2D)
- 31: 15(fvec4) ImageGather 22 25 30 ConstOffset 29
- 32: 15(fvec4) Load 17(o)
- 33: 15(fvec4) FAdd 32 31
- Store 17(o) 33
- 38: 35 Load 37(samp2DA)
- 41: 15(fvec4) ImageGather 38 40 30 ConstOffset 29
- 42: 15(fvec4) Load 17(o)
- 43: 15(fvec4) FAdd 42 41
- Store 17(o) 43
- Return
- FunctionEnd
- 8(bar4(): 2 Function None 3
- 9: Label
- 48: 45 Load 47(samp2DR)
- 49: 15(fvec4) ImageGather 48 25 30 ConstOffset 29
- 50: 15(fvec4) Load 17(o)
- 51: 15(fvec4) FAdd 50 49
- Store 17(o) 51
- 56: 53 Load 55(samp2DS)
- 58: 15(fvec4) ImageDrefGather 56 25 57 ConstOffset 29
- 59: 15(fvec4) Load 17(o)
- 60: 15(fvec4) FAdd 59 58
- Store 17(o) 60
- 61: 19 Load 21(samp2D)
- 63: 15(fvec4) ImageGather 61 25 62 ConstOffset 29
- 64: 15(fvec4) Load 17(o)
- 65: 15(fvec4) FAdd 64 63
- Store 17(o) 65
- Return
- FunctionEnd
- 10(bar5(): 2 Function None 3
- 11: Label
- 124(f): 123(ptr) Variable Function
- 133(c): 132(ptr) Variable Function
- 73: 70 Load 72(Sca)
- 75: 69 Image 73
- 76: 66(ivec3) ImageQuerySizeLod 75 74
- Store 68(io) 76
- 77: 70 Load 72(Sca)
- 80: 15(fvec4) Load 79(i)
- 81: 15(fvec4) ImageSampleImplicitLod 77 80
- 82: 15(fvec4) Load 17(o)
- 83: 15(fvec4) FAdd 82 81
- Store 17(o) 83
- 88: 85 Load 87(Isca)
- 89: 15(fvec4) Load 79(i)
- 92: 91(ivec4) ImageSampleImplicitLod 88 89 Bias 90
- 93: 66(ivec3) VectorShuffle 92 92 0 1 2
- 94: 66(ivec3) Load 68(io)
- 95: 66(ivec3) IAdd 94 93
- Store 68(io) 95
- 104: 101 Load 103(Usca)
- 105: 15(fvec4) Load 79(i)
- 106: 97(ivec4) ImageSampleImplicitLod 104 105
- Store 99(uo) 106
- 107: 70 Load 72(Sca)
- 108: 15(fvec4) Load 79(i)
- 110: 15(fvec4) ImageSampleExplicitLod 107 108 Lod 109
- 111: 15(fvec4) Load 17(o)
- 112: 15(fvec4) FAdd 111 110
- Store 17(o) 112
- 119: 116 Load 118(Scas)
- 120: 115 Image 119
- 121: 66(ivec3) ImageQuerySizeLod 120 74
- 122: 39(fvec3) ConvertSToF 121
- Store 114(a) 122
- 125: 116 Load 118(Scas)
- 126: 15(fvec4) Load 79(i)
- 129: 128(ptr) AccessChain 79(i) 127
- 130: 14(float) Load 129
- 131: 14(float) ImageSampleDrefImplicitLod 125 126 130
- Store 124(f) 131
- 134: 85 Load 87(Isca)
- 135: 15(fvec4) Load 79(i)
- 140: 91(ivec4) ImageSampleExplicitLod 134 135 Grad 137 139
- Store 133(c) 140
- 141: 39(fvec3) Load 114(a)
- 142: 14(float) Load 124(f)
- 143: 91(ivec4) Load 133(c)
- 144: 15(fvec4) ConvertSToF 143
- 145: 15(fvec4) CompositeConstruct 142 142 142 142
- 146: 15(fvec4) FAdd 145 144
- 147: 14(float) CompositeExtract 141 0
- 148: 14(float) CompositeExtract 141 1
- 149: 14(float) CompositeExtract 141 2
- 150: 14(float) CompositeExtract 146 0
- 151: 15(fvec4) CompositeConstruct 147 148 149 150
- 152: 15(fvec4) Load 17(o)
- 153: 15(fvec4) FAdd 152 151
- Store 17(o) 153
- Return
- FunctionEnd
- 12(bar6(): 2 Function None 3
- 13: Label
- 154(a1): 123(ptr) Variable Function
- 157(m43): 156(ptr) Variable Function
- 160(b): 123(ptr) Variable Function
- 158: 123(ptr) AccessChain 157(m43) 74 127
- 159: 14(float) Load 158
- Store 154(a1) 159
- 162: 14(float) Load 154(a1)
- 163: 14(float) FMul 161 162
- Store 160(b) 163
- Return
- FunctionEnd
+spv.130.frag
+WARNING: 0:34: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 214
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 79 17 68 99 184 185 186 187 187 173
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ SourceExtension "GL_ARB_gpu_shader5"
+ SourceExtension "GL_ARB_shader_texture_lod"
+ SourceExtension "GL_ARB_shading_language_420pack"
+ SourceExtension "GL_ARB_texture_cube_map_array"
+ SourceExtension "GL_ARB_texture_gather"
+ SourceExtension "GL_ARB_texture_rectangle"
+ Name 4 "main"
+ Name 6 "bar3("
+ Name 8 "bar4("
+ Name 10 "bar5("
+ Name 12 "bar6("
+ Name 17 "o"
+ Name 21 "samp2D"
+ Name 37 "samp2DA"
+ Name 47 "samp2DR"
+ Name 55 "samp2DS"
+ Name 68 "io"
+ Name 72 "Sca"
+ Name 79 "i"
+ Name 87 "Isca"
+ Name 99 "uo"
+ Name 103 "Usca"
+ Name 114 "a"
+ Name 118 "Scas"
+ Name 124 "f"
+ Name 133 "c"
+ Name 154 "a1"
+ Name 157 "m43"
+ Name 160 "b"
+ Name 167 "sampC"
+ Name 173 "gl_ClipDistance"
+ Name 183 "b"
+ Name 184 "fflat"
+ Name 185 "fsmooth"
+ Name 186 "fnop"
+ Name 187 "gl_Color"
+ Name 194 "bounds"
+ Name 195 "s2D"
+ Name 196 "s2DR"
+ Name 200 "s2DRS"
+ Name 204 "s1D"
+ Name 205 "s2DS"
+ Name 207 "f"
+ Name 209 "v2"
+ Name 211 "v3"
+ Name 213 "v4"
+ Decorate 173(gl_ClipDistance) BuiltIn ClipDistance
+ Decorate 184(fflat) Flat
+ Decorate 186(fnop) NoPerspective
+ Decorate 194(bounds) Binding 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 14: TypeFloat 32
+ 15: TypeVector 14(float) 4
+ 16: TypePointer Output 15(fvec4)
+ 17(o): 16(ptr) Variable Output
+ 18: TypeImage 14(float) 2D sampled format:Unknown
+ 19: TypeSampledImage 18
+ 20: TypePointer UniformConstant 19
+ 21(samp2D): 20(ptr) Variable UniformConstant
+ 23: TypeVector 14(float) 2
+ 24: 14(float) Constant 1050253722
+ 25: 23(fvec2) ConstantComposite 24 24
+ 26: TypeInt 32 1
+ 27: TypeVector 26(int) 2
+ 28: 26(int) Constant 1
+ 29: 27(ivec2) ConstantComposite 28 28
+ 30: 26(int) Constant 0
+ 34: TypeImage 14(float) 2D array sampled format:Unknown
+ 35: TypeSampledImage 34
+ 36: TypePointer UniformConstant 35
+ 37(samp2DA): 36(ptr) Variable UniformConstant
+ 39: TypeVector 14(float) 3
+ 40: 39(fvec3) ConstantComposite 24 24 24
+ 44: TypeImage 14(float) Rect sampled format:Unknown
+ 45: TypeSampledImage 44
+ 46: TypePointer UniformConstant 45
+ 47(samp2DR): 46(ptr) Variable UniformConstant
+ 52: TypeImage 14(float) 2D depth sampled format:Unknown
+ 53: TypeSampledImage 52
+ 54: TypePointer UniformConstant 53
+ 55(samp2DS): 54(ptr) Variable UniformConstant
+ 57: 14(float) Constant 1067869798
+ 62: 26(int) Constant 2
+ 66: TypeVector 26(int) 3
+ 67: TypePointer Output 66(ivec3)
+ 68(io): 67(ptr) Variable Output
+ 69: TypeImage 14(float) Cube array sampled format:Unknown
+ 70: TypeSampledImage 69
+ 71: TypePointer UniformConstant 70
+ 72(Sca): 71(ptr) Variable UniformConstant
+ 74: 26(int) Constant 3
+ 78: TypePointer Input 15(fvec4)
+ 79(i): 78(ptr) Variable Input
+ 84: TypeImage 26(int) Cube array sampled format:Unknown
+ 85: TypeSampledImage 84
+ 86: TypePointer UniformConstant 85
+ 87(Isca): 86(ptr) Variable UniformConstant
+ 90: 14(float) Constant 1060320051
+ 91: TypeVector 26(int) 4
+ 96: TypeInt 32 0
+ 97: TypeVector 96(int) 4
+ 98: TypePointer Output 97(ivec4)
+ 99(uo): 98(ptr) Variable Output
+ 100: TypeImage 96(int) Cube array sampled format:Unknown
+ 101: TypeSampledImage 100
+ 102: TypePointer UniformConstant 101
+ 103(Usca): 102(ptr) Variable UniformConstant
+ 109: 14(float) Constant 1071225242
+ 113: TypePointer Private 39(fvec3)
+ 114(a): 113(ptr) Variable Private
+ 115: TypeImage 14(float) Cube depth array sampled format:Unknown
+ 116: TypeSampledImage 115
+ 117: TypePointer UniformConstant 116
+ 118(Scas): 117(ptr) Variable UniformConstant
+ 123: TypePointer Function 14(float)
+ 127: 96(int) Constant 1
+ 128: TypePointer Input 14(float)
+ 132: TypePointer Function 91(ivec4)
+ 136: 14(float) Constant 1036831949
+ 137: 39(fvec3) ConstantComposite 136 136 136
+ 138: 14(float) Constant 1045220557
+ 139: 39(fvec3) ConstantComposite 138 138 138
+ 155: TypeMatrix 39(fvec3) 4
+ 156: TypePointer Function 155
+ 161: 14(float) Constant 1073741824
+ 164: TypeImage 14(float) Cube sampled format:Unknown
+ 165: TypeSampledImage 164
+ 166: TypePointer UniformConstant 165
+ 167(sampC): 166(ptr) Variable UniformConstant
+ 170: 96(int) Constant 4
+ 171: TypeArray 14(float) 170
+ 172: TypePointer Input 171
+173(gl_ClipDistance): 172(ptr) Variable Input
+ 176: TypePointer Output 14(float)
+ 182: TypePointer Private 14(float)
+ 183(b): 182(ptr) Variable Private
+ 184(fflat): 128(ptr) Variable Input
+ 185(fsmooth): 128(ptr) Variable Input
+ 186(fnop): 128(ptr) Variable Input
+ 187(gl_Color): 78(ptr) Variable Input
+ 188: 96(int) Constant 3
+ 189: TypeArray 26(int) 188
+ 190: 26(int) Constant 10
+ 191: 26(int) Constant 23
+ 192: 26(int) Constant 32
+ 193: 189 ConstantComposite 190 191 192
+ 194(bounds): 20(ptr) Variable UniformConstant
+ 195(s2D): 20(ptr) Variable UniformConstant
+ 196(s2DR): 46(ptr) Variable UniformConstant
+ 197: TypeImage 14(float) Rect depth sampled format:Unknown
+ 198: TypeSampledImage 197
+ 199: TypePointer UniformConstant 198
+ 200(s2DRS): 199(ptr) Variable UniformConstant
+ 201: TypeImage 14(float) 1D sampled format:Unknown
+ 202: TypeSampledImage 201
+ 203: TypePointer UniformConstant 202
+ 204(s1D): 203(ptr) Variable UniformConstant
+ 205(s2DS): 54(ptr) Variable UniformConstant
+ 206: TypePointer UniformConstant 14(float)
+ 207(f): 206(ptr) Variable UniformConstant
+ 208: TypePointer UniformConstant 23(fvec2)
+ 209(v2): 208(ptr) Variable UniformConstant
+ 210: TypePointer UniformConstant 39(fvec3)
+ 211(v3): 210(ptr) Variable UniformConstant
+ 212: TypePointer UniformConstant 15(fvec4)
+ 213(v4): 212(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 168: 165 Load 167(sampC)
+ 169: 15(fvec4) ImageGather 168 139 30
+ Store 17(o) 169
+ 174: 128(ptr) AccessChain 173(gl_ClipDistance) 74
+ 175: 14(float) Load 174
+ 177: 176(ptr) AccessChain 17(o) 127
+ Store 177 175
+ 178: 2 FunctionCall 6(bar3()
+ 179: 2 FunctionCall 8(bar4()
+ 180: 2 FunctionCall 10(bar5()
+ 181: 2 FunctionCall 12(bar6()
+ Return
+ FunctionEnd
+ 6(bar3(): 2 Function None 3
+ 7: Label
+ 22: 19 Load 21(samp2D)
+ 31: 15(fvec4) ImageGather 22 25 30 ConstOffset 29
+ 32: 15(fvec4) Load 17(o)
+ 33: 15(fvec4) FAdd 32 31
+ Store 17(o) 33
+ 38: 35 Load 37(samp2DA)
+ 41: 15(fvec4) ImageGather 38 40 30 ConstOffset 29
+ 42: 15(fvec4) Load 17(o)
+ 43: 15(fvec4) FAdd 42 41
+ Store 17(o) 43
+ Return
+ FunctionEnd
+ 8(bar4(): 2 Function None 3
+ 9: Label
+ 48: 45 Load 47(samp2DR)
+ 49: 15(fvec4) ImageGather 48 25 30 ConstOffset 29
+ 50: 15(fvec4) Load 17(o)
+ 51: 15(fvec4) FAdd 50 49
+ Store 17(o) 51
+ 56: 53 Load 55(samp2DS)
+ 58: 15(fvec4) ImageDrefGather 56 25 57 ConstOffset 29
+ 59: 15(fvec4) Load 17(o)
+ 60: 15(fvec4) FAdd 59 58
+ Store 17(o) 60
+ 61: 19 Load 21(samp2D)
+ 63: 15(fvec4) ImageGather 61 25 62 ConstOffset 29
+ 64: 15(fvec4) Load 17(o)
+ 65: 15(fvec4) FAdd 64 63
+ Store 17(o) 65
+ Return
+ FunctionEnd
+ 10(bar5(): 2 Function None 3
+ 11: Label
+ 124(f): 123(ptr) Variable Function
+ 133(c): 132(ptr) Variable Function
+ 73: 70 Load 72(Sca)
+ 75: 69 Image 73
+ 76: 66(ivec3) ImageQuerySizeLod 75 74
+ Store 68(io) 76
+ 77: 70 Load 72(Sca)
+ 80: 15(fvec4) Load 79(i)
+ 81: 15(fvec4) ImageSampleImplicitLod 77 80
+ 82: 15(fvec4) Load 17(o)
+ 83: 15(fvec4) FAdd 82 81
+ Store 17(o) 83
+ 88: 85 Load 87(Isca)
+ 89: 15(fvec4) Load 79(i)
+ 92: 91(ivec4) ImageSampleImplicitLod 88 89 Bias 90
+ 93: 66(ivec3) VectorShuffle 92 92 0 1 2
+ 94: 66(ivec3) Load 68(io)
+ 95: 66(ivec3) IAdd 94 93
+ Store 68(io) 95
+ 104: 101 Load 103(Usca)
+ 105: 15(fvec4) Load 79(i)
+ 106: 97(ivec4) ImageSampleImplicitLod 104 105
+ Store 99(uo) 106
+ 107: 70 Load 72(Sca)
+ 108: 15(fvec4) Load 79(i)
+ 110: 15(fvec4) ImageSampleExplicitLod 107 108 Lod 109
+ 111: 15(fvec4) Load 17(o)
+ 112: 15(fvec4) FAdd 111 110
+ Store 17(o) 112
+ 119: 116 Load 118(Scas)
+ 120: 115 Image 119
+ 121: 66(ivec3) ImageQuerySizeLod 120 74
+ 122: 39(fvec3) ConvertSToF 121
+ Store 114(a) 122
+ 125: 116 Load 118(Scas)
+ 126: 15(fvec4) Load 79(i)
+ 129: 128(ptr) AccessChain 79(i) 127
+ 130: 14(float) Load 129
+ 131: 14(float) ImageSampleDrefImplicitLod 125 126 130
+ Store 124(f) 131
+ 134: 85 Load 87(Isca)
+ 135: 15(fvec4) Load 79(i)
+ 140: 91(ivec4) ImageSampleExplicitLod 134 135 Grad 137 139
+ Store 133(c) 140
+ 141: 39(fvec3) Load 114(a)
+ 142: 14(float) Load 124(f)
+ 143: 91(ivec4) Load 133(c)
+ 144: 15(fvec4) ConvertSToF 143
+ 145: 15(fvec4) CompositeConstruct 142 142 142 142
+ 146: 15(fvec4) FAdd 145 144
+ 147: 14(float) CompositeExtract 141 0
+ 148: 14(float) CompositeExtract 141 1
+ 149: 14(float) CompositeExtract 141 2
+ 150: 14(float) CompositeExtract 146 0
+ 151: 15(fvec4) CompositeConstruct 147 148 149 150
+ 152: 15(fvec4) Load 17(o)
+ 153: 15(fvec4) FAdd 152 151
+ Store 17(o) 153
+ Return
+ FunctionEnd
+ 12(bar6(): 2 Function None 3
+ 13: Label
+ 154(a1): 123(ptr) Variable Function
+ 157(m43): 156(ptr) Variable Function
+ 160(b): 123(ptr) Variable Function
+ 158: 123(ptr) AccessChain 157(m43) 74 127
+ 159: 14(float) Load 158
+ Store 154(a1) 159
+ 162: 14(float) Load 154(a1)
+ 163: 14(float) FMul 161 162
+ Store 160(b) 163
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.140.frag.out b/Test/baseResults/spv.140.frag.out
index 672553e..48f36db 100755
--- a/Test/baseResults/spv.140.frag.out
+++ b/Test/baseResults/spv.140.frag.out
@@ -1,171 +1,171 @@
-spv.140.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 99
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 43 28 33 33
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 140
- Name 4 "main"
- Name 8 "foo("
- Name 11 "i1"
- Name 16 "gl_FrontFacing"
- Name 24 "i2"
- Name 28 "o"
- Name 33 "gl_ClipDistance"
- Name 43 "k"
- Name 55 "sampR"
- Name 63 "sampB"
- Name 86 "samp2Da"
- Name 90 "bn"
- MemberName 90(bn) 0 "matra"
- MemberName 90(bn) 1 "matca"
- MemberName 90(bn) 2 "matr"
- MemberName 90(bn) 3 "matc"
- MemberName 90(bn) 4 "matrdef"
- Name 92 ""
- Name 95 "bi"
- MemberName 95(bi) 0 "v"
- Name 98 "bname"
- Decorate 16(gl_FrontFacing) BuiltIn FrontFacing
- Decorate 33(gl_ClipDistance) BuiltIn ClipDistance
- Decorate 89 ArrayStride 64
- Decorate 89 ArrayStride 64
- MemberDecorate 90(bn) 0 RowMajor
- MemberDecorate 90(bn) 0 Offset 0
- MemberDecorate 90(bn) 0 MatrixStride 16
- MemberDecorate 90(bn) 1 ColMajor
- MemberDecorate 90(bn) 1 Offset 256
- MemberDecorate 90(bn) 1 MatrixStride 16
- MemberDecorate 90(bn) 2 RowMajor
- MemberDecorate 90(bn) 2 Offset 512
- MemberDecorate 90(bn) 2 MatrixStride 16
- MemberDecorate 90(bn) 3 ColMajor
- MemberDecorate 90(bn) 3 Offset 576
- MemberDecorate 90(bn) 3 MatrixStride 16
- MemberDecorate 90(bn) 4 RowMajor
- MemberDecorate 90(bn) 4 Offset 640
- MemberDecorate 90(bn) 4 MatrixStride 16
- Decorate 90(bn) Block
- Decorate 94 ArrayStride 16
- MemberDecorate 95(bi) 0 Offset 0
- Decorate 95(bi) Block
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeFunction 6(float)
- 10: TypePointer Private 6(float)
- 11(i1): 10(ptr) Variable Private
- 12: TypePointer Function 6(float)
- 14: TypeBool
- 15: TypePointer Input 14(bool)
-16(gl_FrontFacing): 15(ptr) Variable Input
- 20: 6(float) Constant 3221225472
- 22: 6(float) Constant 1073741824
- 24(i2): 10(ptr) Variable Private
- 25: 6(float) Constant 1120665600
- 26: TypeVector 6(float) 4
- 27: TypePointer Output 26(fvec4)
- 28(o): 27(ptr) Variable Output
- 29: TypeInt 32 0
- 30: 29(int) Constant 5
- 31: TypeArray 6(float) 30
- 32: TypePointer Input 31
-33(gl_ClipDistance): 32(ptr) Variable Input
- 34: TypeInt 32 1
- 35: 34(int) Constant 2
- 36: TypePointer Input 6(float)
- 39: 29(int) Constant 1
- 40: TypePointer Output 6(float)
- 42: TypePointer Input 26(fvec4)
- 43(k): 42(ptr) Variable Input
- 45: TypeVector 34(int) 4
- 50: 29(int) Constant 2
- 52: TypeImage 6(float) Rect sampled format:Unknown
- 53: TypeSampledImage 52
- 54: TypePointer UniformConstant 53
- 55(sampR): 54(ptr) Variable UniformConstant
- 58: TypeVector 34(int) 2
- 60: TypeImage 34(int) Buffer sampled format:Unknown
- 61: TypeSampledImage 60
- 62: TypePointer UniformConstant 61
- 63(sampB): 62(ptr) Variable UniformConstant
- 69: TypeVector 6(float) 2
- 72: 6(float) Constant 1120403456
- 74: 29(int) Constant 3
- 82: TypeImage 6(float) 2D sampled format:Unknown
- 83: TypeSampledImage 82
- 84: TypeArray 83 74
- 85: TypePointer UniformConstant 84
- 86(samp2Da): 85(ptr) Variable UniformConstant
- 87: TypeMatrix 26(fvec4) 4
- 88: 29(int) Constant 4
- 89: TypeArray 87 88
- 90(bn): TypeStruct 89 89 87 87 87
- 91: TypePointer Uniform 90(bn)
- 92: 91(ptr) Variable Uniform
- 93: TypeVector 6(float) 3
- 94: TypeArray 93(fvec3) 50
- 95(bi): TypeStruct 94
- 96: TypeArray 95(bi) 88
- 97: TypePointer Uniform 96
- 98(bname): 97(ptr) Variable Uniform
- 4(main): 2 Function None 3
- 5: Label
- 13: 12(ptr) Variable Function
- 17: 14(bool) Load 16(gl_FrontFacing)
- SelectionMerge 19 None
- BranchConditional 17 18 21
- 18: Label
- Store 13 20
- Branch 19
- 21: Label
- Store 13 22
- Branch 19
- 19: Label
- 23: 6(float) Load 13
- Store 11(i1) 23
- Store 24(i2) 25
- 37: 36(ptr) AccessChain 33(gl_ClipDistance) 35
- 38: 6(float) Load 37
- 41: 40(ptr) AccessChain 28(o) 39
- Store 41 38
- 44: 26(fvec4) Load 43(k)
- 46: 45(ivec4) ConvertFToS 44
- 47: 34(int) CompositeExtract 46 0
- 48: 36(ptr) AccessChain 33(gl_ClipDistance) 47
- 49: 6(float) Load 48
- 51: 40(ptr) AccessChain 28(o) 50
- Store 51 49
- 56: 53 Load 55(sampR)
- 57: 52 Image 56
- 59: 58(ivec2) ImageQuerySize 57
- 64: 61 Load 63(sampB)
- 65: 60 Image 64
- 66: 34(int) ImageQuerySize 65
- 67: 58(ivec2) CompositeConstruct 66 66
- 68: 58(ivec2) IAdd 59 67
- 70: 69(fvec2) ConvertSToF 68
- 71: 6(float) CompositeExtract 70 0
- 73: 6(float) FDiv 71 72
- 75: 40(ptr) AccessChain 28(o) 74
- Store 75 73
- 76: 6(float) FunctionCall 8(foo()
- 77: 40(ptr) AccessChain 28(o) 50
- Store 77 76
- Return
- FunctionEnd
- 8(foo(): 6(float) Function None 7
- 9: Label
- 78: 6(float) Load 11(i1)
- 79: 6(float) Load 24(i2)
- 80: 6(float) FAdd 78 79
- ReturnValue 80
- FunctionEnd
+spv.140.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 99
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 43 28 33 33
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 8 "foo("
+ Name 11 "i1"
+ Name 16 "gl_FrontFacing"
+ Name 24 "i2"
+ Name 28 "o"
+ Name 33 "gl_ClipDistance"
+ Name 43 "k"
+ Name 55 "sampR"
+ Name 63 "sampB"
+ Name 86 "samp2Da"
+ Name 90 "bn"
+ MemberName 90(bn) 0 "matra"
+ MemberName 90(bn) 1 "matca"
+ MemberName 90(bn) 2 "matr"
+ MemberName 90(bn) 3 "matc"
+ MemberName 90(bn) 4 "matrdef"
+ Name 92 ""
+ Name 95 "bi"
+ MemberName 95(bi) 0 "v"
+ Name 98 "bname"
+ Decorate 16(gl_FrontFacing) BuiltIn FrontFacing
+ Decorate 33(gl_ClipDistance) BuiltIn ClipDistance
+ Decorate 89 ArrayStride 64
+ Decorate 89 ArrayStride 64
+ MemberDecorate 90(bn) 0 RowMajor
+ MemberDecorate 90(bn) 0 Offset 0
+ MemberDecorate 90(bn) 0 MatrixStride 16
+ MemberDecorate 90(bn) 1 ColMajor
+ MemberDecorate 90(bn) 1 Offset 256
+ MemberDecorate 90(bn) 1 MatrixStride 16
+ MemberDecorate 90(bn) 2 RowMajor
+ MemberDecorate 90(bn) 2 Offset 512
+ MemberDecorate 90(bn) 2 MatrixStride 16
+ MemberDecorate 90(bn) 3 ColMajor
+ MemberDecorate 90(bn) 3 Offset 576
+ MemberDecorate 90(bn) 3 MatrixStride 16
+ MemberDecorate 90(bn) 4 RowMajor
+ MemberDecorate 90(bn) 4 Offset 640
+ MemberDecorate 90(bn) 4 MatrixStride 16
+ Decorate 90(bn) Block
+ Decorate 94 ArrayStride 16
+ MemberDecorate 95(bi) 0 Offset 0
+ Decorate 95(bi) Block
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeFunction 6(float)
+ 10: TypePointer Private 6(float)
+ 11(i1): 10(ptr) Variable Private
+ 12: TypePointer Function 6(float)
+ 14: TypeBool
+ 15: TypePointer Input 14(bool)
+16(gl_FrontFacing): 15(ptr) Variable Input
+ 20: 6(float) Constant 3221225472
+ 22: 6(float) Constant 1073741824
+ 24(i2): 10(ptr) Variable Private
+ 25: 6(float) Constant 1120665600
+ 26: TypeVector 6(float) 4
+ 27: TypePointer Output 26(fvec4)
+ 28(o): 27(ptr) Variable Output
+ 29: TypeInt 32 0
+ 30: 29(int) Constant 5
+ 31: TypeArray 6(float) 30
+ 32: TypePointer Input 31
+33(gl_ClipDistance): 32(ptr) Variable Input
+ 34: TypeInt 32 1
+ 35: 34(int) Constant 2
+ 36: TypePointer Input 6(float)
+ 39: 29(int) Constant 1
+ 40: TypePointer Output 6(float)
+ 42: TypePointer Input 26(fvec4)
+ 43(k): 42(ptr) Variable Input
+ 45: TypeVector 34(int) 4
+ 50: 29(int) Constant 2
+ 52: TypeImage 6(float) Rect sampled format:Unknown
+ 53: TypeSampledImage 52
+ 54: TypePointer UniformConstant 53
+ 55(sampR): 54(ptr) Variable UniformConstant
+ 58: TypeVector 34(int) 2
+ 60: TypeImage 34(int) Buffer sampled format:Unknown
+ 61: TypeSampledImage 60
+ 62: TypePointer UniformConstant 61
+ 63(sampB): 62(ptr) Variable UniformConstant
+ 69: TypeVector 6(float) 2
+ 72: 6(float) Constant 1120403456
+ 74: 29(int) Constant 3
+ 82: TypeImage 6(float) 2D sampled format:Unknown
+ 83: TypeSampledImage 82
+ 84: TypeArray 83 74
+ 85: TypePointer UniformConstant 84
+ 86(samp2Da): 85(ptr) Variable UniformConstant
+ 87: TypeMatrix 26(fvec4) 4
+ 88: 29(int) Constant 4
+ 89: TypeArray 87 88
+ 90(bn): TypeStruct 89 89 87 87 87
+ 91: TypePointer Uniform 90(bn)
+ 92: 91(ptr) Variable Uniform
+ 93: TypeVector 6(float) 3
+ 94: TypeArray 93(fvec3) 50
+ 95(bi): TypeStruct 94
+ 96: TypeArray 95(bi) 88
+ 97: TypePointer Uniform 96
+ 98(bname): 97(ptr) Variable Uniform
+ 4(main): 2 Function None 3
+ 5: Label
+ 13: 12(ptr) Variable Function
+ 17: 14(bool) Load 16(gl_FrontFacing)
+ SelectionMerge 19 None
+ BranchConditional 17 18 21
+ 18: Label
+ Store 13 20
+ Branch 19
+ 21: Label
+ Store 13 22
+ Branch 19
+ 19: Label
+ 23: 6(float) Load 13
+ Store 11(i1) 23
+ Store 24(i2) 25
+ 37: 36(ptr) AccessChain 33(gl_ClipDistance) 35
+ 38: 6(float) Load 37
+ 41: 40(ptr) AccessChain 28(o) 39
+ Store 41 38
+ 44: 26(fvec4) Load 43(k)
+ 46: 45(ivec4) ConvertFToS 44
+ 47: 34(int) CompositeExtract 46 0
+ 48: 36(ptr) AccessChain 33(gl_ClipDistance) 47
+ 49: 6(float) Load 48
+ 51: 40(ptr) AccessChain 28(o) 50
+ Store 51 49
+ 56: 53 Load 55(sampR)
+ 57: 52 Image 56
+ 59: 58(ivec2) ImageQuerySize 57
+ 64: 61 Load 63(sampB)
+ 65: 60 Image 64
+ 66: 34(int) ImageQuerySize 65
+ 67: 58(ivec2) CompositeConstruct 66 66
+ 68: 58(ivec2) IAdd 59 67
+ 70: 69(fvec2) ConvertSToF 68
+ 71: 6(float) CompositeExtract 70 0
+ 73: 6(float) FDiv 71 72
+ 75: 40(ptr) AccessChain 28(o) 74
+ Store 75 73
+ 76: 6(float) FunctionCall 8(foo()
+ 77: 40(ptr) AccessChain 28(o) 50
+ Store 77 76
+ Return
+ FunctionEnd
+ 8(foo(): 6(float) Function None 7
+ 9: Label
+ 78: 6(float) Load 11(i1)
+ 79: 6(float) Load 24(i2)
+ 80: 6(float) FAdd 78 79
+ ReturnValue 80
+ FunctionEnd
diff --git a/Test/baseResults/spv.150.geom.out b/Test/baseResults/spv.150.geom.out
index ea2b0cf..e3efab7 100755
--- a/Test/baseResults/spv.150.geom.out
+++ b/Test/baseResults/spv.150.geom.out
@@ -1,147 +1,147 @@
-spv.150.geom
-
-Linked geometry stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 71
-
- Capability Geometry
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Geometry 4 "main" 18 70 10 29 33
- ExecutionMode 4 InputTrianglesAdjacency
- ExecutionMode 4 Invocations 0
- ExecutionMode 4 OutputTriangleStrip
- ExecutionMode 4 OutputVertices 30
- Source GLSL 150
- Name 4 "main"
- Name 8 "fromVertex"
- MemberName 8(fromVertex) 0 "color"
- Name 10 ""
- Name 13 "fromVertex"
- MemberName 13(fromVertex) 0 "color"
- Name 18 "fromV"
- Name 27 "gl_PerVertex"
- MemberName 27(gl_PerVertex) 0 "gl_Position"
- MemberName 27(gl_PerVertex) 1 "gl_PointSize"
- MemberName 27(gl_PerVertex) 2 "gl_ClipDistance"
- Name 29 ""
- Name 30 "gl_PerVertex"
- MemberName 30(gl_PerVertex) 0 "gl_Position"
- MemberName 30(gl_PerVertex) 1 "gl_PointSize"
- MemberName 30(gl_PerVertex) 2 "gl_ClipDistance"
- Name 33 "gl_in"
- Name 47 "gl_PrimitiveID"
- Name 49 "gl_PrimitiveIDIn"
- Name 51 "gl_Layer"
- Name 68 "toFragment"
- MemberName 68(toFragment) 0 "color"
- Name 70 "toF"
- Decorate 8(fromVertex) Block
- Decorate 8(fromVertex) Stream 3
- Decorate 10 Stream 3
- Decorate 13(fromVertex) Block
- MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize
- MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance
- Decorate 27(gl_PerVertex) Block
- Decorate 27(gl_PerVertex) Stream 0
- Decorate 29 Stream 0
- MemberDecorate 30(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 30(gl_PerVertex) 1 BuiltIn PointSize
- MemberDecorate 30(gl_PerVertex) 2 BuiltIn ClipDistance
- Decorate 30(gl_PerVertex) Block
- Decorate 47(gl_PrimitiveID) Stream 0
- Decorate 47(gl_PrimitiveID) BuiltIn PrimitiveId
- Decorate 49(gl_PrimitiveIDIn) BuiltIn PrimitiveId
- Decorate 51(gl_Layer) Stream 0
- Decorate 51(gl_Layer) BuiltIn Layer
- Decorate 68(toFragment) Block
- Decorate 68(toFragment) Stream 3
- Decorate 70(toF) Stream 3
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 3
- 8(fromVertex): TypeStruct 7(fvec3)
- 9: TypePointer Output 8(fromVertex)
- 10: 9(ptr) Variable Output
- 11: TypeInt 32 1
- 12: 11(int) Constant 0
- 13(fromVertex): TypeStruct 7(fvec3)
- 14: TypeInt 32 0
- 15: 14(int) Constant 6
- 16: TypeArray 13(fromVertex) 15
- 17: TypePointer Input 16
- 18(fromV): 17(ptr) Variable Input
- 19: TypePointer Input 7(fvec3)
- 22: TypePointer Output 7(fvec3)
- 24: TypeVector 6(float) 4
- 25: 14(int) Constant 1
- 26: TypeArray 6(float) 25
-27(gl_PerVertex): TypeStruct 24(fvec4) 6(float) 26
- 28: TypePointer Output 27(gl_PerVertex)
- 29: 28(ptr) Variable Output
-30(gl_PerVertex): TypeStruct 24(fvec4) 6(float) 26
- 31: TypeArray 30(gl_PerVertex) 15
- 32: TypePointer Input 31
- 33(gl_in): 32(ptr) Variable Input
- 34: TypePointer Input 24(fvec4)
- 37: TypePointer Output 24(fvec4)
- 39: 11(int) Constant 1
- 40: 11(int) Constant 3
- 41: TypePointer Input 6(float)
- 44: TypePointer Output 6(float)
- 46: TypePointer Output 11(int)
-47(gl_PrimitiveID): 46(ptr) Variable Output
- 48: TypePointer Input 11(int)
-49(gl_PrimitiveIDIn): 48(ptr) Variable Input
- 51(gl_Layer): 46(ptr) Variable Output
- 52: 11(int) Constant 2
- 53: 6(float) Constant 1073741824
- 68(toFragment): TypeStruct 7(fvec3)
- 69: TypePointer Output 68(toFragment)
- 70(toF): 69(ptr) Variable Output
- 4(main): 2 Function None 3
- 5: Label
- 20: 19(ptr) AccessChain 18(fromV) 12 12
- 21: 7(fvec3) Load 20
- 23: 22(ptr) AccessChain 10 12
- Store 23 21
- 35: 34(ptr) AccessChain 33(gl_in) 12 12
- 36: 24(fvec4) Load 35
- 38: 37(ptr) AccessChain 29 12
- Store 38 36
- 42: 41(ptr) AccessChain 33(gl_in) 40 39
- 43: 6(float) Load 42
- 45: 44(ptr) AccessChain 29 39
- Store 45 43
- 50: 11(int) Load 49(gl_PrimitiveIDIn)
- Store 47(gl_PrimitiveID) 50
- Store 51(gl_Layer) 52
- EmitVertex
- 54: 19(ptr) AccessChain 18(fromV) 12 12
- 55: 7(fvec3) Load 54
- 56: 7(fvec3) VectorTimesScalar 55 53
- 57: 22(ptr) AccessChain 10 12
- Store 57 56
- 58: 34(ptr) AccessChain 33(gl_in) 12 12
- 59: 24(fvec4) Load 58
- 60: 24(fvec4) VectorTimesScalar 59 53
- 61: 37(ptr) AccessChain 29 12
- Store 61 60
- 62: 41(ptr) AccessChain 33(gl_in) 40 39
- 63: 6(float) Load 62
- 64: 6(float) FMul 53 63
- 65: 44(ptr) AccessChain 29 39
- Store 65 64
- 66: 11(int) Load 49(gl_PrimitiveIDIn)
- 67: 11(int) IAdd 66 39
- Store 47(gl_PrimitiveID) 67
- Store 51(gl_Layer) 40
- EmitVertex
- EndPrimitive
- Return
- FunctionEnd
+spv.150.geom
+
+Linked geometry stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 71
+
+ Capability Geometry
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Geometry 4 "main" 18 70 10 29 33
+ ExecutionMode 4 InputTrianglesAdjacency
+ ExecutionMode 4 Invocations 0
+ ExecutionMode 4 OutputTriangleStrip
+ ExecutionMode 4 OutputVertices 30
+ Source GLSL 150
+ Name 4 "main"
+ Name 8 "fromVertex"
+ MemberName 8(fromVertex) 0 "color"
+ Name 10 ""
+ Name 13 "fromVertex"
+ MemberName 13(fromVertex) 0 "color"
+ Name 18 "fromV"
+ Name 27 "gl_PerVertex"
+ MemberName 27(gl_PerVertex) 0 "gl_Position"
+ MemberName 27(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 27(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 29 ""
+ Name 30 "gl_PerVertex"
+ MemberName 30(gl_PerVertex) 0 "gl_Position"
+ MemberName 30(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 30(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 33 "gl_in"
+ Name 47 "gl_PrimitiveID"
+ Name 49 "gl_PrimitiveIDIn"
+ Name 51 "gl_Layer"
+ Name 68 "toFragment"
+ MemberName 68(toFragment) 0 "color"
+ Name 70 "toF"
+ Decorate 8(fromVertex) Block
+ Decorate 8(fromVertex) Stream 3
+ Decorate 10 Stream 3
+ Decorate 13(fromVertex) Block
+ MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 27(gl_PerVertex) Block
+ Decorate 27(gl_PerVertex) Stream 0
+ Decorate 29 Stream 0
+ MemberDecorate 30(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 30(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 30(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 30(gl_PerVertex) Block
+ Decorate 47(gl_PrimitiveID) Stream 0
+ Decorate 47(gl_PrimitiveID) BuiltIn PrimitiveId
+ Decorate 49(gl_PrimitiveIDIn) BuiltIn PrimitiveId
+ Decorate 51(gl_Layer) Stream 0
+ Decorate 51(gl_Layer) BuiltIn Layer
+ Decorate 68(toFragment) Block
+ Decorate 68(toFragment) Stream 3
+ Decorate 70(toF) Stream 3
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 3
+ 8(fromVertex): TypeStruct 7(fvec3)
+ 9: TypePointer Output 8(fromVertex)
+ 10: 9(ptr) Variable Output
+ 11: TypeInt 32 1
+ 12: 11(int) Constant 0
+ 13(fromVertex): TypeStruct 7(fvec3)
+ 14: TypeInt 32 0
+ 15: 14(int) Constant 6
+ 16: TypeArray 13(fromVertex) 15
+ 17: TypePointer Input 16
+ 18(fromV): 17(ptr) Variable Input
+ 19: TypePointer Input 7(fvec3)
+ 22: TypePointer Output 7(fvec3)
+ 24: TypeVector 6(float) 4
+ 25: 14(int) Constant 1
+ 26: TypeArray 6(float) 25
+27(gl_PerVertex): TypeStruct 24(fvec4) 6(float) 26
+ 28: TypePointer Output 27(gl_PerVertex)
+ 29: 28(ptr) Variable Output
+30(gl_PerVertex): TypeStruct 24(fvec4) 6(float) 26
+ 31: TypeArray 30(gl_PerVertex) 15
+ 32: TypePointer Input 31
+ 33(gl_in): 32(ptr) Variable Input
+ 34: TypePointer Input 24(fvec4)
+ 37: TypePointer Output 24(fvec4)
+ 39: 11(int) Constant 1
+ 40: 11(int) Constant 3
+ 41: TypePointer Input 6(float)
+ 44: TypePointer Output 6(float)
+ 46: TypePointer Output 11(int)
+47(gl_PrimitiveID): 46(ptr) Variable Output
+ 48: TypePointer Input 11(int)
+49(gl_PrimitiveIDIn): 48(ptr) Variable Input
+ 51(gl_Layer): 46(ptr) Variable Output
+ 52: 11(int) Constant 2
+ 53: 6(float) Constant 1073741824
+ 68(toFragment): TypeStruct 7(fvec3)
+ 69: TypePointer Output 68(toFragment)
+ 70(toF): 69(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 20: 19(ptr) AccessChain 18(fromV) 12 12
+ 21: 7(fvec3) Load 20
+ 23: 22(ptr) AccessChain 10 12
+ Store 23 21
+ 35: 34(ptr) AccessChain 33(gl_in) 12 12
+ 36: 24(fvec4) Load 35
+ 38: 37(ptr) AccessChain 29 12
+ Store 38 36
+ 42: 41(ptr) AccessChain 33(gl_in) 40 39
+ 43: 6(float) Load 42
+ 45: 44(ptr) AccessChain 29 39
+ Store 45 43
+ 50: 11(int) Load 49(gl_PrimitiveIDIn)
+ Store 47(gl_PrimitiveID) 50
+ Store 51(gl_Layer) 52
+ EmitVertex
+ 54: 19(ptr) AccessChain 18(fromV) 12 12
+ 55: 7(fvec3) Load 54
+ 56: 7(fvec3) VectorTimesScalar 55 53
+ 57: 22(ptr) AccessChain 10 12
+ Store 57 56
+ 58: 34(ptr) AccessChain 33(gl_in) 12 12
+ 59: 24(fvec4) Load 58
+ 60: 24(fvec4) VectorTimesScalar 59 53
+ 61: 37(ptr) AccessChain 29 12
+ Store 61 60
+ 62: 41(ptr) AccessChain 33(gl_in) 40 39
+ 63: 6(float) Load 62
+ 64: 6(float) FMul 53 63
+ 65: 44(ptr) AccessChain 29 39
+ Store 65 64
+ 66: 11(int) Load 49(gl_PrimitiveIDIn)
+ 67: 11(int) IAdd 66 39
+ Store 47(gl_PrimitiveID) 67
+ Store 51(gl_Layer) 40
+ EmitVertex
+ EndPrimitive
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.150.vert.out b/Test/baseResults/spv.150.vert.out
index b960466..a4e8e50 100755
--- a/Test/baseResults/spv.150.vert.out
+++ b/Test/baseResults/spv.150.vert.out
@@ -1,95 +1,95 @@
-spv.150.vert
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 50
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 17 39 48 49
- Source GLSL 150
- Name 4 "main"
- Name 11 "gl_PerVertex"
- MemberName 11(gl_PerVertex) 0 "gl_Position"
- MemberName 11(gl_PerVertex) 1 "gl_PointSize"
- MemberName 11(gl_PerVertex) 2 "gl_ClipDistance"
- Name 13 ""
- Name 17 "iv4"
- Name 23 "ps"
- Name 35 "s1"
- MemberName 35(s1) 0 "a"
- MemberName 35(s1) 1 "a2"
- MemberName 35(s1) 2 "b"
- Name 37 "s2"
- MemberName 37(s2) 0 "c"
- MemberName 37(s2) 1 "d"
- Name 39 "s2out"
- Name 41 "i"
- Name 46 "ui"
- Name 48 "gl_VertexID"
- Name 49 "gl_InstanceID"
- MemberDecorate 11(gl_PerVertex) 0 Invariant
- MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize
- MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance
- Decorate 11(gl_PerVertex) Block
- Decorate 48(gl_VertexID) BuiltIn VertexId
- Decorate 49(gl_InstanceID) BuiltIn InstanceId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypeInt 32 0
- 9: 8(int) Constant 4
- 10: TypeArray 6(float) 9
-11(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 10
- 12: TypePointer Output 11(gl_PerVertex)
- 13: 12(ptr) Variable Output
- 14: TypeInt 32 1
- 15: 14(int) Constant 0
- 16: TypePointer Input 7(fvec4)
- 17(iv4): 16(ptr) Variable Input
- 19: TypePointer Output 7(fvec4)
- 21: 14(int) Constant 1
- 22: TypePointer UniformConstant 6(float)
- 23(ps): 22(ptr) Variable UniformConstant
- 25: TypePointer Output 6(float)
- 27: 14(int) Constant 2
- 28: 8(int) Constant 0
- 29: TypePointer Input 6(float)
- 33: 8(int) Constant 3
- 34: TypeArray 7(fvec4) 33
- 35(s1): TypeStruct 14(int) 14(int) 34
- 36: TypeArray 35(s1) 9
- 37(s2): TypeStruct 14(int) 36
- 38: TypePointer Output 37(s2)
- 39(s2out): 38(ptr) Variable Output
- 40: TypePointer Function 14(int)
- 45: TypePointer UniformConstant 14(int)
- 46(ui): 45(ptr) Variable UniformConstant
- 47: TypePointer Input 14(int)
- 48(gl_VertexID): 47(ptr) Variable Input
-49(gl_InstanceID): 47(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 41(i): 40(ptr) Variable Function
- 18: 7(fvec4) Load 17(iv4)
- 20: 19(ptr) AccessChain 13 15
- Store 20 18
- 24: 6(float) Load 23(ps)
- 26: 25(ptr) AccessChain 13 21
- Store 26 24
- 30: 29(ptr) AccessChain 17(iv4) 28
- 31: 6(float) Load 30
- 32: 25(ptr) AccessChain 13 27 27
- Store 32 31
- 42: 14(int) Load 41(i)
- 43: 6(float) Load 23(ps)
- 44: 25(ptr) AccessChain 39(s2out) 21 42 27 27 33
- Store 44 43
- Return
- FunctionEnd
+spv.150.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 50
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 17 39 48 49
+ Source GLSL 150
+ Name 4 "main"
+ Name 11 "gl_PerVertex"
+ MemberName 11(gl_PerVertex) 0 "gl_Position"
+ MemberName 11(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 11(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 13 ""
+ Name 17 "iv4"
+ Name 23 "ps"
+ Name 35 "s1"
+ MemberName 35(s1) 0 "a"
+ MemberName 35(s1) 1 "a2"
+ MemberName 35(s1) 2 "b"
+ Name 37 "s2"
+ MemberName 37(s2) 0 "c"
+ MemberName 37(s2) 1 "d"
+ Name 39 "s2out"
+ Name 41 "i"
+ Name 46 "ui"
+ Name 48 "gl_VertexID"
+ Name 49 "gl_InstanceID"
+ MemberDecorate 11(gl_PerVertex) 0 Invariant
+ MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 11(gl_PerVertex) Block
+ Decorate 48(gl_VertexID) BuiltIn VertexId
+ Decorate 49(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeInt 32 0
+ 9: 8(int) Constant 4
+ 10: TypeArray 6(float) 9
+11(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 10
+ 12: TypePointer Output 11(gl_PerVertex)
+ 13: 12(ptr) Variable Output
+ 14: TypeInt 32 1
+ 15: 14(int) Constant 0
+ 16: TypePointer Input 7(fvec4)
+ 17(iv4): 16(ptr) Variable Input
+ 19: TypePointer Output 7(fvec4)
+ 21: 14(int) Constant 1
+ 22: TypePointer UniformConstant 6(float)
+ 23(ps): 22(ptr) Variable UniformConstant
+ 25: TypePointer Output 6(float)
+ 27: 14(int) Constant 2
+ 28: 8(int) Constant 0
+ 29: TypePointer Input 6(float)
+ 33: 8(int) Constant 3
+ 34: TypeArray 7(fvec4) 33
+ 35(s1): TypeStruct 14(int) 14(int) 34
+ 36: TypeArray 35(s1) 9
+ 37(s2): TypeStruct 14(int) 36
+ 38: TypePointer Output 37(s2)
+ 39(s2out): 38(ptr) Variable Output
+ 40: TypePointer Function 14(int)
+ 45: TypePointer UniformConstant 14(int)
+ 46(ui): 45(ptr) Variable UniformConstant
+ 47: TypePointer Input 14(int)
+ 48(gl_VertexID): 47(ptr) Variable Input
+49(gl_InstanceID): 47(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 41(i): 40(ptr) Variable Function
+ 18: 7(fvec4) Load 17(iv4)
+ 20: 19(ptr) AccessChain 13 15
+ Store 20 18
+ 24: 6(float) Load 23(ps)
+ 26: 25(ptr) AccessChain 13 21
+ Store 26 24
+ 30: 29(ptr) AccessChain 17(iv4) 28
+ 31: 6(float) Load 30
+ 32: 25(ptr) AccessChain 13 27 27
+ Store 32 31
+ 42: 14(int) Load 41(i)
+ 43: 6(float) Load 23(ps)
+ 44: 25(ptr) AccessChain 39(s2out) 21 42 27 27 33
+ Store 44 43
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.300BuiltIns.vert.out b/Test/baseResults/spv.300BuiltIns.vert.out
index 40cccb5..675b78e 100755
--- a/Test/baseResults/spv.300BuiltIns.vert.out
+++ b/Test/baseResults/spv.300BuiltIns.vert.out
@@ -1,76 +1,76 @@
-spv.300BuiltIns.vert
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 40
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 25 11 39
- Source ESSL 300
- Name 4 "main"
- Name 8 "i"
- Name 11 "gl_VertexID"
- Name 16 "j"
- Name 23 "gl_Position"
- Name 25 "ps"
- Name 33 "gl_PointSize"
- Name 39 "gl_InstanceID"
- Decorate 8(i) RelaxedPrecision
- Decorate 11(gl_VertexID) BuiltIn VertexId
- Decorate 16(j) RelaxedPrecision
- Decorate 23(gl_Position) Invariant
- Decorate 23(gl_Position) BuiltIn Position
- Decorate 25(ps) RelaxedPrecision
- Decorate 33(gl_PointSize) BuiltIn PointSize
- Decorate 39(gl_InstanceID) BuiltIn InstanceId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypePointer Function 6(int)
- 9: 6(int) Constant 4
- 10: TypePointer Input 6(int)
- 11(gl_VertexID): 10(ptr) Variable Input
- 14: 6(int) Constant 10
- 20: TypeFloat 32
- 21: TypeVector 20(float) 4
- 22: TypePointer Output 21(fvec4)
- 23(gl_Position): 22(ptr) Variable Output
- 24: TypePointer Input 20(float)
- 25(ps): 24(ptr) Variable Input
- 32: TypePointer Output 20(float)
-33(gl_PointSize): 32(ptr) Variable Output
-39(gl_InstanceID): 10(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 8(i): 7(ptr) Variable Function
- 16(j): 7(ptr) Variable Function
- 12: 6(int) Load 11(gl_VertexID)
- 13: 6(int) IMul 9 12
- 15: 6(int) ISub 13 14
- Store 8(i) 15
- 17: 6(int) Load 11(gl_VertexID)
- 18: 6(int) IMul 9 17
- 19: 6(int) ISub 18 14
- Store 16(j) 19
- 26: 20(float) Load 25(ps)
- 27: 21(fvec4) CompositeConstruct 26 26 26 26
- Store 23(gl_Position) 27
- 28: 6(int) Load 8(i)
- 29: 20(float) ConvertSToF 28
- 30: 21(fvec4) Load 23(gl_Position)
- 31: 21(fvec4) VectorTimesScalar 30 29
- Store 23(gl_Position) 31
- 34: 20(float) Load 25(ps)
- Store 33(gl_PointSize) 34
- 35: 6(int) Load 16(j)
- 36: 20(float) ConvertSToF 35
- 37: 20(float) Load 33(gl_PointSize)
- 38: 20(float) FMul 37 36
- Store 33(gl_PointSize) 38
- Return
- FunctionEnd
+spv.300BuiltIns.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 40
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 25 11 39
+ Source ESSL 300
+ Name 4 "main"
+ Name 8 "i"
+ Name 11 "gl_VertexID"
+ Name 16 "j"
+ Name 23 "gl_Position"
+ Name 25 "ps"
+ Name 33 "gl_PointSize"
+ Name 39 "gl_InstanceID"
+ Decorate 8(i) RelaxedPrecision
+ Decorate 11(gl_VertexID) BuiltIn VertexId
+ Decorate 16(j) RelaxedPrecision
+ Decorate 23(gl_Position) Invariant
+ Decorate 23(gl_Position) BuiltIn Position
+ Decorate 25(ps) RelaxedPrecision
+ Decorate 33(gl_PointSize) BuiltIn PointSize
+ Decorate 39(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 4
+ 10: TypePointer Input 6(int)
+ 11(gl_VertexID): 10(ptr) Variable Input
+ 14: 6(int) Constant 10
+ 20: TypeFloat 32
+ 21: TypeVector 20(float) 4
+ 22: TypePointer Output 21(fvec4)
+ 23(gl_Position): 22(ptr) Variable Output
+ 24: TypePointer Input 20(float)
+ 25(ps): 24(ptr) Variable Input
+ 32: TypePointer Output 20(float)
+33(gl_PointSize): 32(ptr) Variable Output
+39(gl_InstanceID): 10(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ 16(j): 7(ptr) Variable Function
+ 12: 6(int) Load 11(gl_VertexID)
+ 13: 6(int) IMul 9 12
+ 15: 6(int) ISub 13 14
+ Store 8(i) 15
+ 17: 6(int) Load 11(gl_VertexID)
+ 18: 6(int) IMul 9 17
+ 19: 6(int) ISub 18 14
+ Store 16(j) 19
+ 26: 20(float) Load 25(ps)
+ 27: 21(fvec4) CompositeConstruct 26 26 26 26
+ Store 23(gl_Position) 27
+ 28: 6(int) Load 8(i)
+ 29: 20(float) ConvertSToF 28
+ 30: 21(fvec4) Load 23(gl_Position)
+ 31: 21(fvec4) VectorTimesScalar 30 29
+ Store 23(gl_Position) 31
+ 34: 20(float) Load 25(ps)
+ Store 33(gl_PointSize) 34
+ 35: 6(int) Load 16(j)
+ 36: 20(float) ConvertSToF 35
+ 37: 20(float) Load 33(gl_PointSize)
+ 38: 20(float) FMul 37 36
+ Store 33(gl_PointSize) 38
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.300layout.frag.out b/Test/baseResults/spv.300layout.frag.out
index b263e5a..62dca8d 100755
--- a/Test/baseResults/spv.300layout.frag.out
+++ b/Test/baseResults/spv.300layout.frag.out
@@ -1,71 +1,71 @@
-spv.300layout.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 37
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 29 11 9 26 15
- ExecutionMode 4 OriginLowerLeft
- Source ESSL 300
- Name 4 "main"
- Name 9 "c"
- Name 11 "color"
- Name 13 "S"
- MemberName 13(S) 0 "c"
- MemberName 13(S) 1 "f"
- Name 15 "s"
- Name 26 "p"
- Name 29 "pos"
- Decorate 9(c) RelaxedPrecision
- Decorate 9(c) Location 7
- Decorate 11(color) RelaxedPrecision
- MemberDecorate 13(S) 0 RelaxedPrecision
- MemberDecorate 13(S) 1 RelaxedPrecision
- Decorate 26(p) RelaxedPrecision
- Decorate 26(p) Location 3
- Decorate 29(pos) RelaxedPrecision
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 3
- 8: TypePointer Output 7(fvec3)
- 9(c): 8(ptr) Variable Output
- 10: TypePointer Input 7(fvec3)
- 11(color): 10(ptr) Variable Input
- 13(S): TypeStruct 7(fvec3) 6(float)
- 14: TypePointer Input 13(S)
- 15(s): 14(ptr) Variable Input
- 16: TypeInt 32 1
- 17: 16(int) Constant 0
- 21: TypeVector 6(float) 4
- 22: TypeInt 32 0
- 23: 22(int) Constant 2
- 24: TypeArray 21(fvec4) 23
- 25: TypePointer Output 24
- 26(p): 25(ptr) Variable Output
- 27: 16(int) Constant 1
- 28: TypePointer Input 21(fvec4)
- 29(pos): 28(ptr) Variable Input
- 31: TypePointer Input 6(float)
- 35: TypePointer Output 21(fvec4)
- 4(main): 2 Function None 3
- 5: Label
- 12: 7(fvec3) Load 11(color)
- 18: 10(ptr) AccessChain 15(s) 17
- 19: 7(fvec3) Load 18
- 20: 7(fvec3) FAdd 12 19
- Store 9(c) 20
- 30: 21(fvec4) Load 29(pos)
- 32: 31(ptr) AccessChain 15(s) 27
- 33: 6(float) Load 32
- 34: 21(fvec4) VectorTimesScalar 30 33
- 36: 35(ptr) AccessChain 26(p) 27
- Store 36 34
- Return
- FunctionEnd
+spv.300layout.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 37
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 29 11 9 26 15
+ ExecutionMode 4 OriginLowerLeft
+ Source ESSL 300
+ Name 4 "main"
+ Name 9 "c"
+ Name 11 "color"
+ Name 13 "S"
+ MemberName 13(S) 0 "c"
+ MemberName 13(S) 1 "f"
+ Name 15 "s"
+ Name 26 "p"
+ Name 29 "pos"
+ Decorate 9(c) RelaxedPrecision
+ Decorate 9(c) Location 7
+ Decorate 11(color) RelaxedPrecision
+ MemberDecorate 13(S) 0 RelaxedPrecision
+ MemberDecorate 13(S) 1 RelaxedPrecision
+ Decorate 26(p) RelaxedPrecision
+ Decorate 26(p) Location 3
+ Decorate 29(pos) RelaxedPrecision
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 3
+ 8: TypePointer Output 7(fvec3)
+ 9(c): 8(ptr) Variable Output
+ 10: TypePointer Input 7(fvec3)
+ 11(color): 10(ptr) Variable Input
+ 13(S): TypeStruct 7(fvec3) 6(float)
+ 14: TypePointer Input 13(S)
+ 15(s): 14(ptr) Variable Input
+ 16: TypeInt 32 1
+ 17: 16(int) Constant 0
+ 21: TypeVector 6(float) 4
+ 22: TypeInt 32 0
+ 23: 22(int) Constant 2
+ 24: TypeArray 21(fvec4) 23
+ 25: TypePointer Output 24
+ 26(p): 25(ptr) Variable Output
+ 27: 16(int) Constant 1
+ 28: TypePointer Input 21(fvec4)
+ 29(pos): 28(ptr) Variable Input
+ 31: TypePointer Input 6(float)
+ 35: TypePointer Output 21(fvec4)
+ 4(main): 2 Function None 3
+ 5: Label
+ 12: 7(fvec3) Load 11(color)
+ 18: 10(ptr) AccessChain 15(s) 17
+ 19: 7(fvec3) Load 18
+ 20: 7(fvec3) FAdd 12 19
+ Store 9(c) 20
+ 30: 21(fvec4) Load 29(pos)
+ 32: 31(ptr) AccessChain 15(s) 27
+ 33: 6(float) Load 32
+ 34: 21(fvec4) VectorTimesScalar 30 33
+ 36: 35(ptr) AccessChain 26(p) 27
+ Store 36 34
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.300layout.vert.out b/Test/baseResults/spv.300layout.vert.out
index f996449..541970b 100644
--- a/Test/baseResults/spv.300layout.vert.out
+++ b/Test/baseResults/spv.300layout.vert.out
@@ -1,6 +1,6 @@
-spv.300layout.vert
-
-Linked vertex stage:
-
-
-Missing functionality: binary operation on matrix
+spv.300layout.vert
+
+Linked vertex stage:
+
+
+Missing functionality: binary operation on matrix
diff --git a/Test/baseResults/spv.300layoutp.vert.out b/Test/baseResults/spv.300layoutp.vert.out
index 26714cb..d040818 100755
--- a/Test/baseResults/spv.300layoutp.vert.out
+++ b/Test/baseResults/spv.300layoutp.vert.out
@@ -1,198 +1,198 @@
-spv.300layoutp.vert
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 117
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 53 11 73 9 51 61 81 115 116
- Source ESSL 300
- Name 4 "main"
- Name 9 "pos"
- Name 11 "p"
- Name 17 "Transform"
- MemberName 17(Transform) 0 "M1"
- MemberName 17(Transform) 1 "M2"
- MemberName 17(Transform) 2 "N1"
- MemberName 17(Transform) 3 "iuin"
- Name 19 "tblock"
- Name 33 "T3"
- MemberName 33(T3) 0 "M3"
- MemberName 33(T3) 1 "M4"
- MemberName 33(T3) 2 "N2"
- MemberName 33(T3) 3 "uv3a"
- Name 35 ""
- Name 43 "T2"
- MemberName 43(T2) 0 "b"
- MemberName 43(T2) 1 "t2m"
- Name 45 ""
- Name 51 "color"
- Name 53 "c"
- Name 61 "iout"
- Name 67 "uiuin"
- Name 73 "aiv2"
- Name 79 "S"
- MemberName 79(S) 0 "c"
- MemberName 79(S) 1 "f"
- Name 81 "s"
- Name 115 "gl_VertexID"
- Name 116 "gl_InstanceID"
- Decorate 11(p) Location 3
- MemberDecorate 17(Transform) 0 RowMajor
- MemberDecorate 17(Transform) 0 Offset 0
- MemberDecorate 17(Transform) 0 MatrixStride 16
- MemberDecorate 17(Transform) 1 ColMajor
- MemberDecorate 17(Transform) 1 Offset 64
- MemberDecorate 17(Transform) 1 MatrixStride 16
- MemberDecorate 17(Transform) 2 RowMajor
- MemberDecorate 17(Transform) 2 Offset 128
- MemberDecorate 17(Transform) 2 MatrixStride 16
- MemberDecorate 17(Transform) 3 Offset 176
- Decorate 17(Transform) Block
- MemberDecorate 33(T3) 0 ColMajor
- MemberDecorate 33(T3) 1 RowMajor
- MemberDecorate 33(T3) 2 ColMajor
- Decorate 33(T3) GLSLShared
- Decorate 33(T3) Block
- MemberDecorate 43(T2) 1 RowMajor
- Decorate 43(T2) GLSLShared
- Decorate 43(T2) Block
- Decorate 53(c) Location 7
- Decorate 61(iout) Flat
- Decorate 73(aiv2) Location 9
- Decorate 115(gl_VertexID) BuiltIn VertexId
- Decorate 116(gl_InstanceID) BuiltIn InstanceId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Output 7(fvec4)
- 9(pos): 8(ptr) Variable Output
- 10: TypePointer Input 7(fvec4)
- 11(p): 10(ptr) Variable Input
- 13: TypeMatrix 7(fvec4) 4
- 14: TypeVector 6(float) 3
- 15: TypeMatrix 14(fvec3) 3
- 16: TypeInt 32 1
- 17(Transform): TypeStruct 13 13 15 16(int)
- 18: TypePointer Uniform 17(Transform)
- 19(tblock): 18(ptr) Variable Uniform
- 20: 16(int) Constant 0
- 21: TypePointer Uniform 13
- 24: 16(int) Constant 1
- 28: TypeMatrix 14(fvec3) 2
- 29: TypeInt 32 0
- 30: TypeVector 29(int) 3
- 31: 29(int) Constant 4
- 32: TypeArray 30(ivec3) 31
- 33(T3): TypeStruct 13 13 28 32
- 34: TypePointer Uniform 33(T3)
- 35: 34(ptr) Variable Uniform
- 42: TypeBool
- 43(T2): TypeStruct 42(bool) 13
- 44: TypePointer Uniform 43(T2)
- 45: 44(ptr) Variable Uniform
- 50: TypePointer Output 14(fvec3)
- 51(color): 50(ptr) Variable Output
- 52: TypePointer Input 14(fvec3)
- 53(c): 52(ptr) Variable Input
- 55: 16(int) Constant 2
- 56: TypePointer Uniform 15
- 60: TypePointer Output 16(int)
- 61(iout): 60(ptr) Variable Output
- 62: 16(int) Constant 3
- 63: TypePointer Uniform 16(int)
- 66: TypePointer UniformConstant 29(int)
- 67(uiuin): 66(ptr) Variable UniformConstant
- 71: TypeVector 16(int) 2
- 72: TypePointer Input 71(ivec2)
- 73(aiv2): 72(ptr) Variable Input
- 74: 29(int) Constant 1
- 75: TypePointer Input 16(int)
- 79(S): TypeStruct 14(fvec3) 6(float)
- 80: TypePointer Output 79(S)
- 81(s): 80(ptr) Variable Output
- 84: 29(int) Constant 0
- 85: TypePointer Input 6(float)
- 88: TypePointer Output 6(float)
- 90: TypePointer Uniform 14(fvec3)
- 93: 6(float) Constant 1065353216
- 94: 14(fvec3) ConstantComposite 93 93 93
- 95: TypeVector 42(bool) 3
- 101: TypePointer Uniform 30(ivec3)
- 104: 29(int) Constant 5
- 105: 30(ivec3) ConstantComposite 104 104 104
-115(gl_VertexID): 75(ptr) Variable Input
-116(gl_InstanceID): 75(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 12: 7(fvec4) Load 11(p)
- 22: 21(ptr) AccessChain 19(tblock) 20
- 23: 13 Load 22
- 25: 21(ptr) AccessChain 19(tblock) 24
- 26: 13 Load 25
- 27: 13 MatrixTimesMatrix 23 26
- 36: 21(ptr) AccessChain 35 24
- 37: 13 Load 36
- 38: 13 MatrixTimesMatrix 27 37
- 39: 21(ptr) AccessChain 35 20
- 40: 13 Load 39
- 41: 13 MatrixTimesMatrix 38 40
- 46: 21(ptr) AccessChain 45 24
- 47: 13 Load 46
- 48: 13 MatrixTimesMatrix 41 47
- 49: 7(fvec4) VectorTimesMatrix 12 48
- Store 9(pos) 49
- 54: 14(fvec3) Load 53(c)
- 57: 56(ptr) AccessChain 19(tblock) 55
- 58: 15 Load 57
- 59: 14(fvec3) VectorTimesMatrix 54 58
- Store 51(color) 59
- 64: 63(ptr) AccessChain 19(tblock) 62
- 65: 16(int) Load 64
- 68: 29(int) Load 67(uiuin)
- 69: 16(int) Bitcast 68
- 70: 16(int) IAdd 65 69
- 76: 75(ptr) AccessChain 73(aiv2) 74
- 77: 16(int) Load 76
- 78: 16(int) IAdd 70 77
- Store 61(iout) 78
- 82: 14(fvec3) Load 53(c)
- 83: 50(ptr) AccessChain 81(s) 20
- Store 83 82
- 86: 85(ptr) AccessChain 11(p) 84
- 87: 6(float) Load 86
- 89: 88(ptr) AccessChain 81(s) 24
- Store 89 87
- 91: 90(ptr) AccessChain 35 55 24
- 92: 14(fvec3) Load 91
- 96: 95(bvec3) FOrdNotEqual 92 94
- 97: 42(bool) Any 96
- 98: 42(bool) LogicalNot 97
- SelectionMerge 100 None
- BranchConditional 98 99 100
- 99: Label
- 102: 101(ptr) AccessChain 35 62 55
- 103: 30(ivec3) Load 102
- 106: 95(bvec3) INotEqual 103 105
- 107: 42(bool) Any 106
- Branch 100
- 100: Label
- 108: 42(bool) Phi 97 5 107 99
- SelectionMerge 110 None
- BranchConditional 108 109 110
- 109: Label
- 111: 50(ptr) AccessChain 81(s) 20
- 112: 14(fvec3) Load 111
- 113: 14(fvec3) CompositeConstruct 93 93 93
- 114: 14(fvec3) FAdd 112 113
- Store 111 114
- Branch 110
- 110: Label
- Return
- FunctionEnd
+spv.300layoutp.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 117
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 53 11 73 9 51 61 81 115 116
+ Source ESSL 300
+ Name 4 "main"
+ Name 9 "pos"
+ Name 11 "p"
+ Name 17 "Transform"
+ MemberName 17(Transform) 0 "M1"
+ MemberName 17(Transform) 1 "M2"
+ MemberName 17(Transform) 2 "N1"
+ MemberName 17(Transform) 3 "iuin"
+ Name 19 "tblock"
+ Name 33 "T3"
+ MemberName 33(T3) 0 "M3"
+ MemberName 33(T3) 1 "M4"
+ MemberName 33(T3) 2 "N2"
+ MemberName 33(T3) 3 "uv3a"
+ Name 35 ""
+ Name 43 "T2"
+ MemberName 43(T2) 0 "b"
+ MemberName 43(T2) 1 "t2m"
+ Name 45 ""
+ Name 51 "color"
+ Name 53 "c"
+ Name 61 "iout"
+ Name 67 "uiuin"
+ Name 73 "aiv2"
+ Name 79 "S"
+ MemberName 79(S) 0 "c"
+ MemberName 79(S) 1 "f"
+ Name 81 "s"
+ Name 115 "gl_VertexID"
+ Name 116 "gl_InstanceID"
+ Decorate 11(p) Location 3
+ MemberDecorate 17(Transform) 0 RowMajor
+ MemberDecorate 17(Transform) 0 Offset 0
+ MemberDecorate 17(Transform) 0 MatrixStride 16
+ MemberDecorate 17(Transform) 1 ColMajor
+ MemberDecorate 17(Transform) 1 Offset 64
+ MemberDecorate 17(Transform) 1 MatrixStride 16
+ MemberDecorate 17(Transform) 2 RowMajor
+ MemberDecorate 17(Transform) 2 Offset 128
+ MemberDecorate 17(Transform) 2 MatrixStride 16
+ MemberDecorate 17(Transform) 3 Offset 176
+ Decorate 17(Transform) Block
+ MemberDecorate 33(T3) 0 ColMajor
+ MemberDecorate 33(T3) 1 RowMajor
+ MemberDecorate 33(T3) 2 ColMajor
+ Decorate 33(T3) GLSLShared
+ Decorate 33(T3) Block
+ MemberDecorate 43(T2) 1 RowMajor
+ Decorate 43(T2) GLSLShared
+ Decorate 43(T2) Block
+ Decorate 53(c) Location 7
+ Decorate 61(iout) Flat
+ Decorate 73(aiv2) Location 9
+ Decorate 115(gl_VertexID) BuiltIn VertexId
+ Decorate 116(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(pos): 8(ptr) Variable Output
+ 10: TypePointer Input 7(fvec4)
+ 11(p): 10(ptr) Variable Input
+ 13: TypeMatrix 7(fvec4) 4
+ 14: TypeVector 6(float) 3
+ 15: TypeMatrix 14(fvec3) 3
+ 16: TypeInt 32 1
+ 17(Transform): TypeStruct 13 13 15 16(int)
+ 18: TypePointer Uniform 17(Transform)
+ 19(tblock): 18(ptr) Variable Uniform
+ 20: 16(int) Constant 0
+ 21: TypePointer Uniform 13
+ 24: 16(int) Constant 1
+ 28: TypeMatrix 14(fvec3) 2
+ 29: TypeInt 32 0
+ 30: TypeVector 29(int) 3
+ 31: 29(int) Constant 4
+ 32: TypeArray 30(ivec3) 31
+ 33(T3): TypeStruct 13 13 28 32
+ 34: TypePointer Uniform 33(T3)
+ 35: 34(ptr) Variable Uniform
+ 42: TypeBool
+ 43(T2): TypeStruct 42(bool) 13
+ 44: TypePointer Uniform 43(T2)
+ 45: 44(ptr) Variable Uniform
+ 50: TypePointer Output 14(fvec3)
+ 51(color): 50(ptr) Variable Output
+ 52: TypePointer Input 14(fvec3)
+ 53(c): 52(ptr) Variable Input
+ 55: 16(int) Constant 2
+ 56: TypePointer Uniform 15
+ 60: TypePointer Output 16(int)
+ 61(iout): 60(ptr) Variable Output
+ 62: 16(int) Constant 3
+ 63: TypePointer Uniform 16(int)
+ 66: TypePointer UniformConstant 29(int)
+ 67(uiuin): 66(ptr) Variable UniformConstant
+ 71: TypeVector 16(int) 2
+ 72: TypePointer Input 71(ivec2)
+ 73(aiv2): 72(ptr) Variable Input
+ 74: 29(int) Constant 1
+ 75: TypePointer Input 16(int)
+ 79(S): TypeStruct 14(fvec3) 6(float)
+ 80: TypePointer Output 79(S)
+ 81(s): 80(ptr) Variable Output
+ 84: 29(int) Constant 0
+ 85: TypePointer Input 6(float)
+ 88: TypePointer Output 6(float)
+ 90: TypePointer Uniform 14(fvec3)
+ 93: 6(float) Constant 1065353216
+ 94: 14(fvec3) ConstantComposite 93 93 93
+ 95: TypeVector 42(bool) 3
+ 101: TypePointer Uniform 30(ivec3)
+ 104: 29(int) Constant 5
+ 105: 30(ivec3) ConstantComposite 104 104 104
+115(gl_VertexID): 75(ptr) Variable Input
+116(gl_InstanceID): 75(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 12: 7(fvec4) Load 11(p)
+ 22: 21(ptr) AccessChain 19(tblock) 20
+ 23: 13 Load 22
+ 25: 21(ptr) AccessChain 19(tblock) 24
+ 26: 13 Load 25
+ 27: 13 MatrixTimesMatrix 23 26
+ 36: 21(ptr) AccessChain 35 24
+ 37: 13 Load 36
+ 38: 13 MatrixTimesMatrix 27 37
+ 39: 21(ptr) AccessChain 35 20
+ 40: 13 Load 39
+ 41: 13 MatrixTimesMatrix 38 40
+ 46: 21(ptr) AccessChain 45 24
+ 47: 13 Load 46
+ 48: 13 MatrixTimesMatrix 41 47
+ 49: 7(fvec4) VectorTimesMatrix 12 48
+ Store 9(pos) 49
+ 54: 14(fvec3) Load 53(c)
+ 57: 56(ptr) AccessChain 19(tblock) 55
+ 58: 15 Load 57
+ 59: 14(fvec3) VectorTimesMatrix 54 58
+ Store 51(color) 59
+ 64: 63(ptr) AccessChain 19(tblock) 62
+ 65: 16(int) Load 64
+ 68: 29(int) Load 67(uiuin)
+ 69: 16(int) Bitcast 68
+ 70: 16(int) IAdd 65 69
+ 76: 75(ptr) AccessChain 73(aiv2) 74
+ 77: 16(int) Load 76
+ 78: 16(int) IAdd 70 77
+ Store 61(iout) 78
+ 82: 14(fvec3) Load 53(c)
+ 83: 50(ptr) AccessChain 81(s) 20
+ Store 83 82
+ 86: 85(ptr) AccessChain 11(p) 84
+ 87: 6(float) Load 86
+ 89: 88(ptr) AccessChain 81(s) 24
+ Store 89 87
+ 91: 90(ptr) AccessChain 35 55 24
+ 92: 14(fvec3) Load 91
+ 96: 95(bvec3) FOrdNotEqual 92 94
+ 97: 42(bool) Any 96
+ 98: 42(bool) LogicalNot 97
+ SelectionMerge 100 None
+ BranchConditional 98 99 100
+ 99: Label
+ 102: 101(ptr) AccessChain 35 62 55
+ 103: 30(ivec3) Load 102
+ 106: 95(bvec3) INotEqual 103 105
+ 107: 42(bool) Any 106
+ Branch 100
+ 100: Label
+ 108: 42(bool) Phi 97 5 107 99
+ SelectionMerge 110 None
+ BranchConditional 108 109 110
+ 109: Label
+ 111: 50(ptr) AccessChain 81(s) 20
+ 112: 14(fvec3) Load 111
+ 113: 14(fvec3) CompositeConstruct 93 93 93
+ 114: 14(fvec3) FAdd 112 113
+ Store 111 114
+ Branch 110
+ 110: Label
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.310.comp.out b/Test/baseResults/spv.310.comp.out
index d95940b..ef46599 100755
--- a/Test/baseResults/spv.310.comp.out
+++ b/Test/baseResults/spv.310.comp.out
@@ -1,119 +1,119 @@
-spv.310.comp
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked compute stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 67
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint GLCompute 4 "main"
- ExecutionMode 4 LocalSize 16 32 4
- Source ESSL 310
- Name 4 "main"
- Name 13 "outb"
- MemberName 13(outb) 0 "f"
- MemberName 13(outb) 1 "g"
- MemberName 13(outb) 2 "h"
- MemberName 13(outb) 3 "uns"
- Name 15 "outbname"
- Name 19 "s"
- Name 24 "outbna"
- MemberName 24(outbna) 0 "k"
- MemberName 24(outbna) 1 "na"
- Name 26 "outbnamena"
- Name 42 "i"
- Name 48 "outs"
- MemberName 48(outs) 0 "s"
- MemberName 48(outs) 1 "va"
- Name 50 "outnames"
- Name 53 "gl_LocalInvocationID"
- Decorate 13(outb) GLSLShared
- Decorate 13(outb) BufferBlock
- Decorate 24(outbna) GLSLShared
- Decorate 24(outbna) BufferBlock
- Decorate 48(outs) GLSLShared
- Decorate 48(outs) BufferBlock
- Decorate 53(gl_LocalInvocationID) BuiltIn LocalInvocationId
- Decorate 66 BuiltIn WorkgroupSize
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 0
- 7: 6(int) Constant 1
- 8: 6(int) Constant 1023
- 9: 6(int) Constant 0
- 10: TypeFloat 32
- 11: TypeVector 10(float) 3
- 12: TypeRuntimeArray 11(fvec3)
- 13(outb): TypeStruct 10(float) 10(float) 10(float) 12
- 14: TypePointer Uniform 13(outb)
- 15(outbname): 14(ptr) Variable Uniform
- 16: TypeInt 32 1
- 17: 16(int) Constant 0
- 18: TypePointer Workgroup 10(float)
- 19(s): 18(ptr) Variable Workgroup
- 21: TypePointer Uniform 10(float)
- 23: TypeVector 10(float) 4
- 24(outbna): TypeStruct 16(int) 23(fvec4)
- 25: TypePointer Uniform 24(outbna)
- 26(outbnamena): 25(ptr) Variable Uniform
- 27: 16(int) Constant 1
- 30: TypePointer Uniform 23(fvec4)
- 32: 16(int) Constant 3
- 33: 16(int) Constant 18
- 36: 16(int) Constant 17
- 37: 10(float) Constant 1077936128
- 38: 11(fvec3) ConstantComposite 37 37 37
- 39: TypePointer Uniform 11(fvec3)
- 41: TypePointer Workgroup 16(int)
- 42(i): 41(ptr) Variable Workgroup
- 47: TypeRuntimeArray 23(fvec4)
- 48(outs): TypeStruct 16(int) 47
- 49: TypePointer Uniform 48(outs)
- 50(outnames): 49(ptr) Variable Uniform
- 51: TypeVector 6(int) 3
- 52: TypePointer Input 51(ivec3)
-53(gl_LocalInvocationID): 52(ptr) Variable Input
- 54: TypePointer Input 6(int)
- 61: TypePointer Uniform 16(int)
- 63: 6(int) Constant 16
- 64: 6(int) Constant 32
- 65: 6(int) Constant 4
- 66: 51(ivec3) ConstantComposite 63 64 65
- 4(main): 2 Function None 3
- 5: Label
- MemoryBarrier 7 8
- ControlBarrier 7 7 9
- 20: 10(float) Load 19(s)
- 22: 21(ptr) AccessChain 15(outbname) 17
- Store 22 20
- 28: 10(float) Load 19(s)
- 29: 23(fvec4) CompositeConstruct 28 28 28 28
- 31: 30(ptr) AccessChain 26(outbnamena) 27
- Store 31 29
- 34: 21(ptr) AccessChain 15(outbname) 32 33 9
- 35: 10(float) Load 34
- Store 19(s) 35
- 40: 39(ptr) AccessChain 15(outbname) 32 36
- Store 40 38
- 43: 16(int) Load 42(i)
- 44: 10(float) Load 19(s)
- 45: 11(fvec3) CompositeConstruct 44 44 44
- 46: 39(ptr) AccessChain 15(outbname) 32 43
- Store 46 45
- 55: 54(ptr) AccessChain 53(gl_LocalInvocationID) 9
- 56: 6(int) Load 55
- 57: 10(float) Load 19(s)
- 58: 23(fvec4) CompositeConstruct 57 57 57 57
- 59: 30(ptr) AccessChain 50(outnames) 27 56
- Store 59 58
- 60: 16(int) ArrayLength 15(outbname) 3
- 62: 61(ptr) AccessChain 50(outnames) 17
- Store 62 60
- Return
- FunctionEnd
+spv.310.comp
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked compute stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 67
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint GLCompute 4 "main"
+ ExecutionMode 4 LocalSize 16 32 4
+ Source ESSL 310
+ Name 4 "main"
+ Name 13 "outb"
+ MemberName 13(outb) 0 "f"
+ MemberName 13(outb) 1 "g"
+ MemberName 13(outb) 2 "h"
+ MemberName 13(outb) 3 "uns"
+ Name 15 "outbname"
+ Name 19 "s"
+ Name 24 "outbna"
+ MemberName 24(outbna) 0 "k"
+ MemberName 24(outbna) 1 "na"
+ Name 26 "outbnamena"
+ Name 42 "i"
+ Name 48 "outs"
+ MemberName 48(outs) 0 "s"
+ MemberName 48(outs) 1 "va"
+ Name 50 "outnames"
+ Name 53 "gl_LocalInvocationID"
+ Decorate 13(outb) GLSLShared
+ Decorate 13(outb) BufferBlock
+ Decorate 24(outbna) GLSLShared
+ Decorate 24(outbna) BufferBlock
+ Decorate 48(outs) GLSLShared
+ Decorate 48(outs) BufferBlock
+ Decorate 53(gl_LocalInvocationID) BuiltIn LocalInvocationId
+ Decorate 66 BuiltIn WorkgroupSize
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7: 6(int) Constant 1
+ 8: 6(int) Constant 1023
+ 9: 6(int) Constant 0
+ 10: TypeFloat 32
+ 11: TypeVector 10(float) 3
+ 12: TypeRuntimeArray 11(fvec3)
+ 13(outb): TypeStruct 10(float) 10(float) 10(float) 12
+ 14: TypePointer Uniform 13(outb)
+ 15(outbname): 14(ptr) Variable Uniform
+ 16: TypeInt 32 1
+ 17: 16(int) Constant 0
+ 18: TypePointer Workgroup 10(float)
+ 19(s): 18(ptr) Variable Workgroup
+ 21: TypePointer Uniform 10(float)
+ 23: TypeVector 10(float) 4
+ 24(outbna): TypeStruct 16(int) 23(fvec4)
+ 25: TypePointer Uniform 24(outbna)
+ 26(outbnamena): 25(ptr) Variable Uniform
+ 27: 16(int) Constant 1
+ 30: TypePointer Uniform 23(fvec4)
+ 32: 16(int) Constant 3
+ 33: 16(int) Constant 18
+ 36: 16(int) Constant 17
+ 37: 10(float) Constant 1077936128
+ 38: 11(fvec3) ConstantComposite 37 37 37
+ 39: TypePointer Uniform 11(fvec3)
+ 41: TypePointer Workgroup 16(int)
+ 42(i): 41(ptr) Variable Workgroup
+ 47: TypeRuntimeArray 23(fvec4)
+ 48(outs): TypeStruct 16(int) 47
+ 49: TypePointer Uniform 48(outs)
+ 50(outnames): 49(ptr) Variable Uniform
+ 51: TypeVector 6(int) 3
+ 52: TypePointer Input 51(ivec3)
+53(gl_LocalInvocationID): 52(ptr) Variable Input
+ 54: TypePointer Input 6(int)
+ 61: TypePointer Uniform 16(int)
+ 63: 6(int) Constant 16
+ 64: 6(int) Constant 32
+ 65: 6(int) Constant 4
+ 66: 51(ivec3) ConstantComposite 63 64 65
+ 4(main): 2 Function None 3
+ 5: Label
+ MemoryBarrier 7 8
+ ControlBarrier 7 7 9
+ 20: 10(float) Load 19(s)
+ 22: 21(ptr) AccessChain 15(outbname) 17
+ Store 22 20
+ 28: 10(float) Load 19(s)
+ 29: 23(fvec4) CompositeConstruct 28 28 28 28
+ 31: 30(ptr) AccessChain 26(outbnamena) 27
+ Store 31 29
+ 34: 21(ptr) AccessChain 15(outbname) 32 33 9
+ 35: 10(float) Load 34
+ Store 19(s) 35
+ 40: 39(ptr) AccessChain 15(outbname) 32 36
+ Store 40 38
+ 43: 16(int) Load 42(i)
+ 44: 10(float) Load 19(s)
+ 45: 11(fvec3) CompositeConstruct 44 44 44
+ 46: 39(ptr) AccessChain 15(outbname) 32 43
+ Store 46 45
+ 55: 54(ptr) AccessChain 53(gl_LocalInvocationID) 9
+ 56: 6(int) Load 55
+ 57: 10(float) Load 19(s)
+ 58: 23(fvec4) CompositeConstruct 57 57 57 57
+ 59: 30(ptr) AccessChain 50(outnames) 27 56
+ Store 59 58
+ 60: 16(int) ArrayLength 15(outbname) 3
+ 62: 61(ptr) AccessChain 50(outnames) 17
+ Store 62 60
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.330.geom.out b/Test/baseResults/spv.330.geom.out
index 5625cb3..1f310bb 100755
--- a/Test/baseResults/spv.330.geom.out
+++ b/Test/baseResults/spv.330.geom.out
@@ -1,72 +1,72 @@
-spv.330.geom
-
-Linked geometry stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 32
-
- Capability Geometry
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Geometry 4 "main" 20 13
- ExecutionMode 4 Triangles
- ExecutionMode 4 Invocations 0
- ExecutionMode 4 OutputTriangleStrip
- ExecutionMode 4 OutputVertices 3
- Source GLSL 330
- SourceExtension "GL_ARB_separate_shader_objects"
- Name 4 "main"
- Name 11 "gl_PerVertex"
- MemberName 11(gl_PerVertex) 0 "gl_Position"
- MemberName 11(gl_PerVertex) 1 "gl_ClipDistance"
- Name 13 ""
- Name 16 "gl_PerVertex"
- MemberName 16(gl_PerVertex) 0 "gl_Position"
- MemberName 16(gl_PerVertex) 1 "gl_ClipDistance"
- Name 20 "gl_in"
- MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 11(gl_PerVertex) 1 BuiltIn ClipDistance
- Decorate 11(gl_PerVertex) Block
- Decorate 11(gl_PerVertex) Stream 0
- Decorate 13 Stream 0
- MemberDecorate 16(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 16(gl_PerVertex) 1 BuiltIn ClipDistance
- Decorate 16(gl_PerVertex) Block
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypeInt 32 0
- 9: 8(int) Constant 1
- 10: TypeArray 6(float) 9
-11(gl_PerVertex): TypeStruct 7(fvec4) 10
- 12: TypePointer Output 11(gl_PerVertex)
- 13: 12(ptr) Variable Output
- 14: TypeInt 32 1
- 15: 14(int) Constant 0
-16(gl_PerVertex): TypeStruct 7(fvec4) 10
- 17: 8(int) Constant 3
- 18: TypeArray 16(gl_PerVertex) 17
- 19: TypePointer Input 18
- 20(gl_in): 19(ptr) Variable Input
- 21: 14(int) Constant 1
- 22: TypePointer Input 7(fvec4)
- 25: TypePointer Output 7(fvec4)
- 27: TypePointer Input 6(float)
- 30: TypePointer Output 6(float)
- 4(main): 2 Function None 3
- 5: Label
- 23: 22(ptr) AccessChain 20(gl_in) 21 15
- 24: 7(fvec4) Load 23
- 26: 25(ptr) AccessChain 13 15
- Store 26 24
- 28: 27(ptr) AccessChain 20(gl_in) 21 21 15
- 29: 6(float) Load 28
- 31: 30(ptr) AccessChain 13 21 15
- Store 31 29
- EmitVertex
- EndPrimitive
- Return
- FunctionEnd
+spv.330.geom
+
+Linked geometry stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 32
+
+ Capability Geometry
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Geometry 4 "main" 20 13
+ ExecutionMode 4 Triangles
+ ExecutionMode 4 Invocations 0
+ ExecutionMode 4 OutputTriangleStrip
+ ExecutionMode 4 OutputVertices 3
+ Source GLSL 330
+ SourceExtension "GL_ARB_separate_shader_objects"
+ Name 4 "main"
+ Name 11 "gl_PerVertex"
+ MemberName 11(gl_PerVertex) 0 "gl_Position"
+ MemberName 11(gl_PerVertex) 1 "gl_ClipDistance"
+ Name 13 ""
+ Name 16 "gl_PerVertex"
+ MemberName 16(gl_PerVertex) 0 "gl_Position"
+ MemberName 16(gl_PerVertex) 1 "gl_ClipDistance"
+ Name 20 "gl_in"
+ MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 11(gl_PerVertex) 1 BuiltIn ClipDistance
+ Decorate 11(gl_PerVertex) Block
+ Decorate 11(gl_PerVertex) Stream 0
+ Decorate 13 Stream 0
+ MemberDecorate 16(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 16(gl_PerVertex) 1 BuiltIn ClipDistance
+ Decorate 16(gl_PerVertex) Block
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeInt 32 0
+ 9: 8(int) Constant 1
+ 10: TypeArray 6(float) 9
+11(gl_PerVertex): TypeStruct 7(fvec4) 10
+ 12: TypePointer Output 11(gl_PerVertex)
+ 13: 12(ptr) Variable Output
+ 14: TypeInt 32 1
+ 15: 14(int) Constant 0
+16(gl_PerVertex): TypeStruct 7(fvec4) 10
+ 17: 8(int) Constant 3
+ 18: TypeArray 16(gl_PerVertex) 17
+ 19: TypePointer Input 18
+ 20(gl_in): 19(ptr) Variable Input
+ 21: 14(int) Constant 1
+ 22: TypePointer Input 7(fvec4)
+ 25: TypePointer Output 7(fvec4)
+ 27: TypePointer Input 6(float)
+ 30: TypePointer Output 6(float)
+ 4(main): 2 Function None 3
+ 5: Label
+ 23: 22(ptr) AccessChain 20(gl_in) 21 15
+ 24: 7(fvec4) Load 23
+ 26: 25(ptr) AccessChain 13 15
+ Store 26 24
+ 28: 27(ptr) AccessChain 20(gl_in) 21 21 15
+ 29: 6(float) Load 28
+ 31: 30(ptr) AccessChain 13 21 15
+ Store 31 29
+ EmitVertex
+ EndPrimitive
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.400.frag.out b/Test/baseResults/spv.400.frag.out
index 86f8ba3..ffd1299 100644
--- a/Test/baseResults/spv.400.frag.out
+++ b/Test/baseResults/spv.400.frag.out
@@ -1,174 +1,174 @@
-spv.400.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 125
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 50 44 11 96 69 119 56
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 400
- SourceExtension "GL_ARB_separate_shader_objects"
- Name 4 "main"
- Name 6 "foo23("
- Name 11 "outp"
- Name 15 "u2drs"
- Name 36 "v"
- Name 42 "arrayedSampler"
- Name 44 "i"
- Name 50 "c2D"
- Name 56 "gl_ClipDistance"
- Name 69 "uoutp"
- Name 73 "samp2dr"
- Name 96 "ioutp"
- Name 100 "isamp2DA"
- Name 117 "gl_FragCoord"
- Name 119 "vl2"
- Decorate 44(i) Flat
- Decorate 56(gl_ClipDistance) BuiltIn ClipDistance
- Decorate 117(gl_FragCoord) BuiltIn FragCoord
- Decorate 119(vl2) Location 6
- 2: TypeVoid
- 3: TypeFunction 2
- 8: TypeFloat 32
- 9: TypeVector 8(float) 4
- 10: TypePointer Output 9(fvec4)
- 11(outp): 10(ptr) Variable Output
- 12: TypeImage 8(float) Rect depth sampled format:Unknown
- 13: TypeSampledImage 12
- 14: TypePointer UniformConstant 13
- 15(u2drs): 14(ptr) Variable UniformConstant
- 18: TypeVector 8(float) 2
- 19: 8(float) Constant 0
- 20: 18(fvec2) ConstantComposite 19 19
- 21: TypeInt 32 1
- 22: TypeVector 21(int) 2
- 23: 21(int) Constant 3
- 24: 21(int) Constant 4
- 25: 22(ivec2) ConstantComposite 23 24
- 28: TypeInt 32 0
- 29: 28(int) Constant 0
- 30: TypePointer Output 8(float)
- 35: TypePointer Function 9(fvec4)
- 37: TypeImage 8(float) 2D sampled format:Unknown
- 38: TypeSampledImage 37
- 39: 28(int) Constant 5
- 40: TypeArray 38 39
- 41: TypePointer UniformConstant 40
-42(arrayedSampler): 41(ptr) Variable UniformConstant
- 43: TypePointer Input 21(int)
- 44(i): 43(ptr) Variable Input
- 46: TypePointer UniformConstant 38
- 49: TypePointer Input 18(fvec2)
- 50(c2D): 49(ptr) Variable Input
- 53: 28(int) Constant 2
- 54: TypeArray 8(float) 53
- 55: TypePointer Input 54
-56(gl_ClipDistance): 55(ptr) Variable Input
- 57: 21(int) Constant 1
- 58: TypePointer Input 8(float)
- 62: TypeVector 8(float) 3
- 67: TypeVector 28(int) 4
- 68: TypePointer Output 67(ivec4)
- 69(uoutp): 68(ptr) Variable Output
- 70: TypeImage 28(int) Rect sampled format:Unknown
- 71: TypeSampledImage 70
- 72: TypePointer UniformConstant 71
- 73(samp2dr): 72(ptr) Variable UniformConstant
- 76: 28(int) Constant 4
- 77: TypeArray 22(ivec2) 76
- 78: 21(int) Constant 2
- 79: 22(ivec2) ConstantComposite 57 78
- 80: 21(int) Constant 15
- 81: 21(int) Constant 16
- 82: 22(ivec2) ConstantComposite 80 81
- 83: 21(int) Constant 4294967294
- 84: 21(int) Constant 0
- 85: 22(ivec2) ConstantComposite 83 84
- 86: 77 ConstantComposite 79 25 82 85
- 94: TypeVector 21(int) 4
- 95: TypePointer Output 94(ivec4)
- 96(ioutp): 95(ptr) Variable Output
- 97: TypeImage 21(int) 2D array sampled format:Unknown
- 98: TypeSampledImage 97
- 99: TypePointer UniformConstant 98
- 100(isamp2DA): 99(ptr) Variable UniformConstant
- 102: 8(float) Constant 1036831949
- 103: 62(fvec3) ConstantComposite 102 102 102
- 104: 22(ivec2) ConstantComposite 57 57
- 116: TypePointer Input 9(fvec4)
-117(gl_FragCoord): 116(ptr) Variable Input
- 119(vl2): 116(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 36(v): 35(ptr) Variable Function
- 45: 21(int) Load 44(i)
- 47: 46(ptr) AccessChain 42(arrayedSampler) 45
- 48: 38 Load 47
- 51: 18(fvec2) Load 50(c2D)
- 52: 9(fvec4) ImageSampleImplicitLod 48 51
- Store 36(v) 52
- 59: 58(ptr) AccessChain 56(gl_ClipDistance) 57
- 60: 8(float) Load 59
- 61: 30(ptr) AccessChain 11(outp) 29
- Store 61 60
- 63: 9(fvec4) Load 36(v)
- 64: 62(fvec3) VectorShuffle 63 63 1 2 3
- 65: 9(fvec4) Load 11(outp)
- 66: 9(fvec4) VectorShuffle 65 64 0 4 5 6
- Store 11(outp) 66
- 74: 71 Load 73(samp2dr)
- 75: 18(fvec2) Load 50(c2D)
- 87: 67(ivec4) ImageGather 74 75 78 ConstOffsets 86
- Store 69(uoutp) 87
- 88: 46(ptr) AccessChain 42(arrayedSampler) 84
- 89: 38 Load 88
- 90: 18(fvec2) Load 50(c2D)
- 91: 9(fvec4) ImageGather 89 90 84
- 92: 9(fvec4) Load 11(outp)
- 93: 9(fvec4) FAdd 92 91
- Store 11(outp) 93
- 101: 98 Load 100(isamp2DA)
- 105: 94(ivec4) ImageGather 101 103 23 ConstOffset 104
- Store 96(ioutp) 105
- 106: 98 Load 100(isamp2DA)
- 107: 94(ivec4) ImageGather 106 103 23 ConstOffset 104
- 108: 94(ivec4) Load 96(ioutp)
- 109: 94(ivec4) IAdd 108 107
- Store 96(ioutp) 109
- 110: 98 Load 100(isamp2DA)
- 111: 21(int) Load 44(i)
- 112: 22(ivec2) CompositeConstruct 111 111
- 113: 94(ivec4) ImageGather 110 103 84 Offset 112
- 114: 94(ivec4) Load 96(ioutp)
- 115: 94(ivec4) IAdd 114 113
- Store 96(ioutp) 115
- 118: 9(fvec4) Load 117(gl_FragCoord)
- 120: 9(fvec4) Load 119(vl2)
- 121: 9(fvec4) FAdd 118 120
- 122: 9(fvec4) Load 11(outp)
- 123: 9(fvec4) FAdd 122 121
- Store 11(outp) 123
- 124: 2 FunctionCall 6(foo23()
- Return
- FunctionEnd
- 6(foo23(): 2 Function None 3
- 7: Label
- 16: 13 Load 15(u2drs)
- 17: 9(fvec4) Load 11(outp)
- 26: 8(float) CompositeExtract 17 3
- 27: 8(float) ImageSampleProjDrefExplicitLod 16 17 26 Grad ConstOffset 20 20 25
- 31: 30(ptr) AccessChain 11(outp) 29
- 32: 8(float) Load 31
- 33: 8(float) FAdd 32 27
- 34: 30(ptr) AccessChain 11(outp) 29
- Store 34 33
- Return
- FunctionEnd
+spv.400.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 125
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 50 44 11 96 69 119 56
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 400
+ SourceExtension "GL_ARB_separate_shader_objects"
+ Name 4 "main"
+ Name 6 "foo23("
+ Name 11 "outp"
+ Name 15 "u2drs"
+ Name 36 "v"
+ Name 42 "arrayedSampler"
+ Name 44 "i"
+ Name 50 "c2D"
+ Name 56 "gl_ClipDistance"
+ Name 69 "uoutp"
+ Name 73 "samp2dr"
+ Name 96 "ioutp"
+ Name 100 "isamp2DA"
+ Name 117 "gl_FragCoord"
+ Name 119 "vl2"
+ Decorate 44(i) Flat
+ Decorate 56(gl_ClipDistance) BuiltIn ClipDistance
+ Decorate 117(gl_FragCoord) BuiltIn FragCoord
+ Decorate 119(vl2) Location 6
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 8: TypeFloat 32
+ 9: TypeVector 8(float) 4
+ 10: TypePointer Output 9(fvec4)
+ 11(outp): 10(ptr) Variable Output
+ 12: TypeImage 8(float) Rect depth sampled format:Unknown
+ 13: TypeSampledImage 12
+ 14: TypePointer UniformConstant 13
+ 15(u2drs): 14(ptr) Variable UniformConstant
+ 18: TypeVector 8(float) 2
+ 19: 8(float) Constant 0
+ 20: 18(fvec2) ConstantComposite 19 19
+ 21: TypeInt 32 1
+ 22: TypeVector 21(int) 2
+ 23: 21(int) Constant 3
+ 24: 21(int) Constant 4
+ 25: 22(ivec2) ConstantComposite 23 24
+ 28: TypeInt 32 0
+ 29: 28(int) Constant 0
+ 30: TypePointer Output 8(float)
+ 35: TypePointer Function 9(fvec4)
+ 37: TypeImage 8(float) 2D sampled format:Unknown
+ 38: TypeSampledImage 37
+ 39: 28(int) Constant 5
+ 40: TypeArray 38 39
+ 41: TypePointer UniformConstant 40
+42(arrayedSampler): 41(ptr) Variable UniformConstant
+ 43: TypePointer Input 21(int)
+ 44(i): 43(ptr) Variable Input
+ 46: TypePointer UniformConstant 38
+ 49: TypePointer Input 18(fvec2)
+ 50(c2D): 49(ptr) Variable Input
+ 53: 28(int) Constant 2
+ 54: TypeArray 8(float) 53
+ 55: TypePointer Input 54
+56(gl_ClipDistance): 55(ptr) Variable Input
+ 57: 21(int) Constant 1
+ 58: TypePointer Input 8(float)
+ 62: TypeVector 8(float) 3
+ 67: TypeVector 28(int) 4
+ 68: TypePointer Output 67(ivec4)
+ 69(uoutp): 68(ptr) Variable Output
+ 70: TypeImage 28(int) Rect sampled format:Unknown
+ 71: TypeSampledImage 70
+ 72: TypePointer UniformConstant 71
+ 73(samp2dr): 72(ptr) Variable UniformConstant
+ 76: 28(int) Constant 4
+ 77: TypeArray 22(ivec2) 76
+ 78: 21(int) Constant 2
+ 79: 22(ivec2) ConstantComposite 57 78
+ 80: 21(int) Constant 15
+ 81: 21(int) Constant 16
+ 82: 22(ivec2) ConstantComposite 80 81
+ 83: 21(int) Constant 4294967294
+ 84: 21(int) Constant 0
+ 85: 22(ivec2) ConstantComposite 83 84
+ 86: 77 ConstantComposite 79 25 82 85
+ 94: TypeVector 21(int) 4
+ 95: TypePointer Output 94(ivec4)
+ 96(ioutp): 95(ptr) Variable Output
+ 97: TypeImage 21(int) 2D array sampled format:Unknown
+ 98: TypeSampledImage 97
+ 99: TypePointer UniformConstant 98
+ 100(isamp2DA): 99(ptr) Variable UniformConstant
+ 102: 8(float) Constant 1036831949
+ 103: 62(fvec3) ConstantComposite 102 102 102
+ 104: 22(ivec2) ConstantComposite 57 57
+ 116: TypePointer Input 9(fvec4)
+117(gl_FragCoord): 116(ptr) Variable Input
+ 119(vl2): 116(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 36(v): 35(ptr) Variable Function
+ 45: 21(int) Load 44(i)
+ 47: 46(ptr) AccessChain 42(arrayedSampler) 45
+ 48: 38 Load 47
+ 51: 18(fvec2) Load 50(c2D)
+ 52: 9(fvec4) ImageSampleImplicitLod 48 51
+ Store 36(v) 52
+ 59: 58(ptr) AccessChain 56(gl_ClipDistance) 57
+ 60: 8(float) Load 59
+ 61: 30(ptr) AccessChain 11(outp) 29
+ Store 61 60
+ 63: 9(fvec4) Load 36(v)
+ 64: 62(fvec3) VectorShuffle 63 63 1 2 3
+ 65: 9(fvec4) Load 11(outp)
+ 66: 9(fvec4) VectorShuffle 65 64 0 4 5 6
+ Store 11(outp) 66
+ 74: 71 Load 73(samp2dr)
+ 75: 18(fvec2) Load 50(c2D)
+ 87: 67(ivec4) ImageGather 74 75 78 ConstOffsets 86
+ Store 69(uoutp) 87
+ 88: 46(ptr) AccessChain 42(arrayedSampler) 84
+ 89: 38 Load 88
+ 90: 18(fvec2) Load 50(c2D)
+ 91: 9(fvec4) ImageGather 89 90 84
+ 92: 9(fvec4) Load 11(outp)
+ 93: 9(fvec4) FAdd 92 91
+ Store 11(outp) 93
+ 101: 98 Load 100(isamp2DA)
+ 105: 94(ivec4) ImageGather 101 103 23 ConstOffset 104
+ Store 96(ioutp) 105
+ 106: 98 Load 100(isamp2DA)
+ 107: 94(ivec4) ImageGather 106 103 23 ConstOffset 104
+ 108: 94(ivec4) Load 96(ioutp)
+ 109: 94(ivec4) IAdd 108 107
+ Store 96(ioutp) 109
+ 110: 98 Load 100(isamp2DA)
+ 111: 21(int) Load 44(i)
+ 112: 22(ivec2) CompositeConstruct 111 111
+ 113: 94(ivec4) ImageGather 110 103 84 Offset 112
+ 114: 94(ivec4) Load 96(ioutp)
+ 115: 94(ivec4) IAdd 114 113
+ Store 96(ioutp) 115
+ 118: 9(fvec4) Load 117(gl_FragCoord)
+ 120: 9(fvec4) Load 119(vl2)
+ 121: 9(fvec4) FAdd 118 120
+ 122: 9(fvec4) Load 11(outp)
+ 123: 9(fvec4) FAdd 122 121
+ Store 11(outp) 123
+ 124: 2 FunctionCall 6(foo23()
+ Return
+ FunctionEnd
+ 6(foo23(): 2 Function None 3
+ 7: Label
+ 16: 13 Load 15(u2drs)
+ 17: 9(fvec4) Load 11(outp)
+ 26: 8(float) CompositeExtract 17 3
+ 27: 8(float) ImageSampleProjDrefExplicitLod 16 17 26 Grad ConstOffset 20 20 25
+ 31: 30(ptr) AccessChain 11(outp) 29
+ 32: 8(float) Load 31
+ 33: 8(float) FAdd 32 27
+ 34: 30(ptr) AccessChain 11(outp) 29
+ Store 34 33
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.400.tesc.out b/Test/baseResults/spv.400.tesc.out
index dee214d..4ecf096 100755
--- a/Test/baseResults/spv.400.tesc.out
+++ b/Test/baseResults/spv.400.tesc.out
@@ -1,176 +1,176 @@
-spv.400.tesc
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked tessellation control stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 93
-
- Capability Tessellation
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint TessellationControl 4 "main" 52 79 83 84 87 88 91 92
- ExecutionMode 4 OutputVertices 4
- Source GLSL 400
- SourceExtension "GL_ARB_separate_shader_objects"
- Name 4 "main"
- Name 12 "a"
- Name 17 "p"
- Name 19 "gl_PerVertex"
- MemberName 19(gl_PerVertex) 0 "gl_Position"
- MemberName 19(gl_PerVertex) 1 "gl_PointSize"
- MemberName 19(gl_PerVertex) 2 "gl_ClipDistance"
- Name 23 "gl_in"
- Name 30 "ps"
- Name 34 "cd"
- Name 38 "pvi"
- Name 40 "gl_PatchVerticesIn"
- Name 42 "pid"
- Name 43 "gl_PrimitiveID"
- Name 45 "iid"
- Name 46 "gl_InvocationID"
- Name 48 "gl_PerVertex"
- MemberName 48(gl_PerVertex) 0 "gl_Position"
- MemberName 48(gl_PerVertex) 1 "gl_PointSize"
- MemberName 48(gl_PerVertex) 2 "gl_ClipDistance"
- Name 52 "gl_out"
- Name 66 "gl_TessLevelOuter"
- Name 73 "gl_TessLevelInner"
- Name 78 "outa"
- Name 79 "patchOut"
- Name 83 "inb"
- Name 84 "ind"
- Name 87 "ivla"
- Name 88 "ivlb"
- Name 91 "ovla"
- Name 92 "ovlb"
- MemberDecorate 19(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 19(gl_PerVertex) 1 BuiltIn PointSize
- MemberDecorate 19(gl_PerVertex) 2 BuiltIn ClipDistance
- Decorate 19(gl_PerVertex) Block
- Decorate 40(gl_PatchVerticesIn) BuiltIn PatchVertices
- Decorate 43(gl_PrimitiveID) BuiltIn PrimitiveId
- Decorate 46(gl_InvocationID) BuiltIn InvocationId
- MemberDecorate 48(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 48(gl_PerVertex) 1 BuiltIn PointSize
- MemberDecorate 48(gl_PerVertex) 2 BuiltIn ClipDistance
- Decorate 48(gl_PerVertex) Block
- Decorate 66(gl_TessLevelOuter) Patch
- Decorate 66(gl_TessLevelOuter) BuiltIn TessLevelOuter
- Decorate 73(gl_TessLevelInner) Patch
- Decorate 73(gl_TessLevelInner) BuiltIn TessLevelInner
- Decorate 79(patchOut) Patch
- Decorate 87(ivla) Location 3
- Decorate 88(ivlb) Location 4
- Decorate 91(ovla) Location 3
- Decorate 92(ovlb) Location 4
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 0
- 7: 6(int) Constant 1
- 8: 6(int) Constant 1023
- 9: 6(int) Constant 0
- 10: TypeInt 32 1
- 11: TypePointer Function 10(int)
- 13: 10(int) Constant 5392
- 14: TypeFloat 32
- 15: TypeVector 14(float) 4
- 16: TypePointer Function 15(fvec4)
- 18: TypeArray 14(float) 7
-19(gl_PerVertex): TypeStruct 15(fvec4) 14(float) 18
- 20: 6(int) Constant 32
- 21: TypeArray 19(gl_PerVertex) 20
- 22: TypePointer Input 21
- 23(gl_in): 22(ptr) Variable Input
- 24: 10(int) Constant 1
- 25: 10(int) Constant 0
- 26: TypePointer Input 15(fvec4)
- 29: TypePointer Function 14(float)
- 31: TypePointer Input 14(float)
- 35: 10(int) Constant 2
- 39: TypePointer Input 10(int)
-40(gl_PatchVerticesIn): 39(ptr) Variable Input
-43(gl_PrimitiveID): 39(ptr) Variable Input
-46(gl_InvocationID): 39(ptr) Variable Input
-48(gl_PerVertex): TypeStruct 15(fvec4) 14(float) 18
- 49: 6(int) Constant 4
- 50: TypeArray 48(gl_PerVertex) 49
- 51: TypePointer Output 50
- 52(gl_out): 51(ptr) Variable Output
- 55: TypePointer Output 15(fvec4)
- 59: TypePointer Output 14(float)
- 64: TypeArray 14(float) 49
- 65: TypePointer Output 64
-66(gl_TessLevelOuter): 65(ptr) Variable Output
- 67: 10(int) Constant 3
- 68: 14(float) Constant 1078774989
- 70: 6(int) Constant 2
- 71: TypeArray 14(float) 70
- 72: TypePointer Output 71
-73(gl_TessLevelInner): 72(ptr) Variable Output
- 74: 14(float) Constant 1067869798
- 76: TypeArray 10(int) 49
- 77: TypePointer Private 76
- 78(outa): 77(ptr) Variable Private
- 79(patchOut): 55(ptr) Variable Output
- 80: TypeVector 14(float) 2
- 81: TypeArray 80(fvec2) 20
- 82: TypePointer Input 81
- 83(inb): 82(ptr) Variable Input
- 84(ind): 82(ptr) Variable Input
- 85: TypeArray 15(fvec4) 20
- 86: TypePointer Input 85
- 87(ivla): 86(ptr) Variable Input
- 88(ivlb): 86(ptr) Variable Input
- 89: TypeArray 15(fvec4) 49
- 90: TypePointer Output 89
- 91(ovla): 90(ptr) Variable Output
- 92(ovlb): 90(ptr) Variable Output
- 4(main): 2 Function None 3
- 5: Label
- 12(a): 11(ptr) Variable Function
- 17(p): 16(ptr) Variable Function
- 30(ps): 29(ptr) Variable Function
- 34(cd): 29(ptr) Variable Function
- 38(pvi): 11(ptr) Variable Function
- 42(pid): 11(ptr) Variable Function
- 45(iid): 11(ptr) Variable Function
- MemoryBarrier 7 8
- ControlBarrier 7 7 9
- Store 12(a) 13
- 27: 26(ptr) AccessChain 23(gl_in) 24 25
- 28: 15(fvec4) Load 27
- Store 17(p) 28
- 32: 31(ptr) AccessChain 23(gl_in) 24 24
- 33: 14(float) Load 32
- Store 30(ps) 33
- 36: 31(ptr) AccessChain 23(gl_in) 24 35 35
- 37: 14(float) Load 36
- Store 34(cd) 37
- 41: 10(int) Load 40(gl_PatchVerticesIn)
- Store 38(pvi) 41
- 44: 10(int) Load 43(gl_PrimitiveID)
- Store 42(pid) 44
- 47: 10(int) Load 46(gl_InvocationID)
- Store 45(iid) 47
- 53: 10(int) Load 46(gl_InvocationID)
- 54: 15(fvec4) Load 17(p)
- 56: 55(ptr) AccessChain 52(gl_out) 53 25
- Store 56 54
- 57: 10(int) Load 46(gl_InvocationID)
- 58: 14(float) Load 30(ps)
- 60: 59(ptr) AccessChain 52(gl_out) 57 24
- Store 60 58
- 61: 10(int) Load 46(gl_InvocationID)
- 62: 14(float) Load 34(cd)
- 63: 59(ptr) AccessChain 52(gl_out) 61 35 24
- Store 63 62
- 69: 59(ptr) AccessChain 66(gl_TessLevelOuter) 67
- Store 69 68
- 75: 59(ptr) AccessChain 73(gl_TessLevelInner) 24
- Store 75 74
- Return
- FunctionEnd
+spv.400.tesc
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked tessellation control stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 93
+
+ Capability Tessellation
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint TessellationControl 4 "main" 52 79 83 84 87 88 91 92
+ ExecutionMode 4 OutputVertices 4
+ Source GLSL 400
+ SourceExtension "GL_ARB_separate_shader_objects"
+ Name 4 "main"
+ Name 12 "a"
+ Name 17 "p"
+ Name 19 "gl_PerVertex"
+ MemberName 19(gl_PerVertex) 0 "gl_Position"
+ MemberName 19(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 19(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 23 "gl_in"
+ Name 30 "ps"
+ Name 34 "cd"
+ Name 38 "pvi"
+ Name 40 "gl_PatchVerticesIn"
+ Name 42 "pid"
+ Name 43 "gl_PrimitiveID"
+ Name 45 "iid"
+ Name 46 "gl_InvocationID"
+ Name 48 "gl_PerVertex"
+ MemberName 48(gl_PerVertex) 0 "gl_Position"
+ MemberName 48(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 48(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 52 "gl_out"
+ Name 66 "gl_TessLevelOuter"
+ Name 73 "gl_TessLevelInner"
+ Name 78 "outa"
+ Name 79 "patchOut"
+ Name 83 "inb"
+ Name 84 "ind"
+ Name 87 "ivla"
+ Name 88 "ivlb"
+ Name 91 "ovla"
+ Name 92 "ovlb"
+ MemberDecorate 19(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 19(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 19(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 19(gl_PerVertex) Block
+ Decorate 40(gl_PatchVerticesIn) BuiltIn PatchVertices
+ Decorate 43(gl_PrimitiveID) BuiltIn PrimitiveId
+ Decorate 46(gl_InvocationID) BuiltIn InvocationId
+ MemberDecorate 48(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 48(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 48(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 48(gl_PerVertex) Block
+ Decorate 66(gl_TessLevelOuter) Patch
+ Decorate 66(gl_TessLevelOuter) BuiltIn TessLevelOuter
+ Decorate 73(gl_TessLevelInner) Patch
+ Decorate 73(gl_TessLevelInner) BuiltIn TessLevelInner
+ Decorate 79(patchOut) Patch
+ Decorate 87(ivla) Location 3
+ Decorate 88(ivlb) Location 4
+ Decorate 91(ovla) Location 3
+ Decorate 92(ovlb) Location 4
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7: 6(int) Constant 1
+ 8: 6(int) Constant 1023
+ 9: 6(int) Constant 0
+ 10: TypeInt 32 1
+ 11: TypePointer Function 10(int)
+ 13: 10(int) Constant 5392
+ 14: TypeFloat 32
+ 15: TypeVector 14(float) 4
+ 16: TypePointer Function 15(fvec4)
+ 18: TypeArray 14(float) 7
+19(gl_PerVertex): TypeStruct 15(fvec4) 14(float) 18
+ 20: 6(int) Constant 32
+ 21: TypeArray 19(gl_PerVertex) 20
+ 22: TypePointer Input 21
+ 23(gl_in): 22(ptr) Variable Input
+ 24: 10(int) Constant 1
+ 25: 10(int) Constant 0
+ 26: TypePointer Input 15(fvec4)
+ 29: TypePointer Function 14(float)
+ 31: TypePointer Input 14(float)
+ 35: 10(int) Constant 2
+ 39: TypePointer Input 10(int)
+40(gl_PatchVerticesIn): 39(ptr) Variable Input
+43(gl_PrimitiveID): 39(ptr) Variable Input
+46(gl_InvocationID): 39(ptr) Variable Input
+48(gl_PerVertex): TypeStruct 15(fvec4) 14(float) 18
+ 49: 6(int) Constant 4
+ 50: TypeArray 48(gl_PerVertex) 49
+ 51: TypePointer Output 50
+ 52(gl_out): 51(ptr) Variable Output
+ 55: TypePointer Output 15(fvec4)
+ 59: TypePointer Output 14(float)
+ 64: TypeArray 14(float) 49
+ 65: TypePointer Output 64
+66(gl_TessLevelOuter): 65(ptr) Variable Output
+ 67: 10(int) Constant 3
+ 68: 14(float) Constant 1078774989
+ 70: 6(int) Constant 2
+ 71: TypeArray 14(float) 70
+ 72: TypePointer Output 71
+73(gl_TessLevelInner): 72(ptr) Variable Output
+ 74: 14(float) Constant 1067869798
+ 76: TypeArray 10(int) 49
+ 77: TypePointer Private 76
+ 78(outa): 77(ptr) Variable Private
+ 79(patchOut): 55(ptr) Variable Output
+ 80: TypeVector 14(float) 2
+ 81: TypeArray 80(fvec2) 20
+ 82: TypePointer Input 81
+ 83(inb): 82(ptr) Variable Input
+ 84(ind): 82(ptr) Variable Input
+ 85: TypeArray 15(fvec4) 20
+ 86: TypePointer Input 85
+ 87(ivla): 86(ptr) Variable Input
+ 88(ivlb): 86(ptr) Variable Input
+ 89: TypeArray 15(fvec4) 49
+ 90: TypePointer Output 89
+ 91(ovla): 90(ptr) Variable Output
+ 92(ovlb): 90(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 12(a): 11(ptr) Variable Function
+ 17(p): 16(ptr) Variable Function
+ 30(ps): 29(ptr) Variable Function
+ 34(cd): 29(ptr) Variable Function
+ 38(pvi): 11(ptr) Variable Function
+ 42(pid): 11(ptr) Variable Function
+ 45(iid): 11(ptr) Variable Function
+ MemoryBarrier 7 8
+ ControlBarrier 7 7 9
+ Store 12(a) 13
+ 27: 26(ptr) AccessChain 23(gl_in) 24 25
+ 28: 15(fvec4) Load 27
+ Store 17(p) 28
+ 32: 31(ptr) AccessChain 23(gl_in) 24 24
+ 33: 14(float) Load 32
+ Store 30(ps) 33
+ 36: 31(ptr) AccessChain 23(gl_in) 24 35 35
+ 37: 14(float) Load 36
+ Store 34(cd) 37
+ 41: 10(int) Load 40(gl_PatchVerticesIn)
+ Store 38(pvi) 41
+ 44: 10(int) Load 43(gl_PrimitiveID)
+ Store 42(pid) 44
+ 47: 10(int) Load 46(gl_InvocationID)
+ Store 45(iid) 47
+ 53: 10(int) Load 46(gl_InvocationID)
+ 54: 15(fvec4) Load 17(p)
+ 56: 55(ptr) AccessChain 52(gl_out) 53 25
+ Store 56 54
+ 57: 10(int) Load 46(gl_InvocationID)
+ 58: 14(float) Load 30(ps)
+ 60: 59(ptr) AccessChain 52(gl_out) 57 24
+ Store 60 58
+ 61: 10(int) Load 46(gl_InvocationID)
+ 62: 14(float) Load 34(cd)
+ 63: 59(ptr) AccessChain 52(gl_out) 61 35 24
+ Store 63 62
+ 69: 59(ptr) AccessChain 66(gl_TessLevelOuter) 67
+ Store 69 68
+ 75: 59(ptr) AccessChain 73(gl_TessLevelInner) 24
+ Store 75 74
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.400.tese.out b/Test/baseResults/spv.400.tese.out
index 00c5aba..e72e9e2 100755
--- a/Test/baseResults/spv.400.tese.out
+++ b/Test/baseResults/spv.400.tese.out
@@ -1,189 +1,189 @@
-spv.400.tese
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked tessellation evaluation stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 98
-
- Capability Tessellation
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint TessellationEvaluation 4 "main" 77 68 81 82 86 90 93 94 97
- ExecutionMode 4 Triangles
- ExecutionMode 4 SpacingFractionalOdd
- ExecutionMode 4 VertexOrderCcw
- ExecutionMode 4 PointMode
- Source GLSL 400
- SourceExtension "GL_ARB_separate_shader_objects"
- Name 4 "main"
- Name 8 "a"
- Name 13 "p"
- Name 17 "gl_PerVertex"
- MemberName 17(gl_PerVertex) 0 "gl_Position"
- MemberName 17(gl_PerVertex) 1 "gl_PointSize"
- MemberName 17(gl_PerVertex) 2 "gl_ClipDistance"
- Name 21 "gl_in"
- Name 28 "ps"
- Name 32 "cd"
- Name 36 "pvi"
- Name 38 "gl_PatchVerticesIn"
- Name 40 "pid"
- Name 41 "gl_PrimitiveID"
- Name 45 "tc"
- Name 47 "gl_TessCoord"
- Name 49 "tlo"
- Name 53 "gl_TessLevelOuter"
- Name 57 "tli"
- Name 61 "gl_TessLevelInner"
- Name 66 "gl_PerVertex"
- MemberName 66(gl_PerVertex) 0 "gl_Position"
- MemberName 66(gl_PerVertex) 1 "gl_PointSize"
- MemberName 66(gl_PerVertex) 2 "gl_ClipDistance"
- Name 68 ""
- Name 77 "patchIn"
- Name 81 "inb"
- Name 82 "ind"
- Name 83 "testblb"
- MemberName 83(testblb) 0 "f"
- Name 86 "blb"
- Name 87 "testbld"
- MemberName 87(testbld) 0 "f"
- Name 90 "bld"
- Name 93 "ivla"
- Name 94 "ivlb"
- Name 97 "ovla"
- MemberDecorate 17(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 17(gl_PerVertex) 1 BuiltIn PointSize
- MemberDecorate 17(gl_PerVertex) 2 BuiltIn ClipDistance
- Decorate 17(gl_PerVertex) Block
- Decorate 38(gl_PatchVerticesIn) BuiltIn PatchVertices
- Decorate 41(gl_PrimitiveID) BuiltIn PrimitiveId
- Decorate 47(gl_TessCoord) BuiltIn TessCoord
- Decorate 53(gl_TessLevelOuter) Patch
- Decorate 53(gl_TessLevelOuter) BuiltIn TessLevelOuter
- Decorate 61(gl_TessLevelInner) Patch
- Decorate 61(gl_TessLevelInner) BuiltIn TessLevelInner
- MemberDecorate 66(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 66(gl_PerVertex) 1 BuiltIn PointSize
- MemberDecorate 66(gl_PerVertex) 2 BuiltIn ClipDistance
- Decorate 66(gl_PerVertex) Block
- Decorate 77(patchIn) Patch
- Decorate 83(testblb) Block
- Decorate 87(testbld) Block
- Decorate 93(ivla) Location 23
- Decorate 94(ivlb) Location 24
- Decorate 97(ovla) Location 23
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypePointer Function 6(int)
- 9: 6(int) Constant 1512
- 10: TypeFloat 32
- 11: TypeVector 10(float) 4
- 12: TypePointer Function 11(fvec4)
- 14: TypeInt 32 0
- 15: 14(int) Constant 1
- 16: TypeArray 10(float) 15
-17(gl_PerVertex): TypeStruct 11(fvec4) 10(float) 16
- 18: 14(int) Constant 32
- 19: TypeArray 17(gl_PerVertex) 18
- 20: TypePointer Input 19
- 21(gl_in): 20(ptr) Variable Input
- 22: 6(int) Constant 1
- 23: 6(int) Constant 0
- 24: TypePointer Input 11(fvec4)
- 27: TypePointer Function 10(float)
- 29: TypePointer Input 10(float)
- 33: 6(int) Constant 2
- 37: TypePointer Input 6(int)
-38(gl_PatchVerticesIn): 37(ptr) Variable Input
-41(gl_PrimitiveID): 37(ptr) Variable Input
- 43: TypeVector 10(float) 3
- 44: TypePointer Function 43(fvec3)
- 46: TypePointer Input 43(fvec3)
-47(gl_TessCoord): 46(ptr) Variable Input
- 50: 14(int) Constant 4
- 51: TypeArray 10(float) 50
- 52: TypePointer Input 51
-53(gl_TessLevelOuter): 52(ptr) Variable Input
- 54: 6(int) Constant 3
- 58: 14(int) Constant 2
- 59: TypeArray 10(float) 58
- 60: TypePointer Input 59
-61(gl_TessLevelInner): 60(ptr) Variable Input
- 64: 14(int) Constant 3
- 65: TypeArray 10(float) 64
-66(gl_PerVertex): TypeStruct 11(fvec4) 10(float) 65
- 67: TypePointer Output 66(gl_PerVertex)
- 68: 67(ptr) Variable Output
- 70: TypePointer Output 11(fvec4)
- 73: TypePointer Output 10(float)
- 77(patchIn): 24(ptr) Variable Input
- 78: TypeVector 10(float) 2
- 79: TypeArray 78(fvec2) 18
- 80: TypePointer Input 79
- 81(inb): 80(ptr) Variable Input
- 82(ind): 80(ptr) Variable Input
- 83(testblb): TypeStruct 6(int)
- 84: TypeArray 83(testblb) 18
- 85: TypePointer Input 84
- 86(blb): 85(ptr) Variable Input
- 87(testbld): TypeStruct 6(int)
- 88: TypeArray 87(testbld) 18
- 89: TypePointer Input 88
- 90(bld): 89(ptr) Variable Input
- 91: TypeArray 11(fvec4) 18
- 92: TypePointer Input 91
- 93(ivla): 92(ptr) Variable Input
- 94(ivlb): 92(ptr) Variable Input
- 95: TypeArray 11(fvec4) 58
- 96: TypePointer Output 95
- 97(ovla): 96(ptr) Variable Output
- 4(main): 2 Function None 3
- 5: Label
- 8(a): 7(ptr) Variable Function
- 13(p): 12(ptr) Variable Function
- 28(ps): 27(ptr) Variable Function
- 32(cd): 27(ptr) Variable Function
- 36(pvi): 7(ptr) Variable Function
- 40(pid): 7(ptr) Variable Function
- 45(tc): 44(ptr) Variable Function
- 49(tlo): 27(ptr) Variable Function
- 57(tli): 27(ptr) Variable Function
- Store 8(a) 9
- 25: 24(ptr) AccessChain 21(gl_in) 22 23
- 26: 11(fvec4) Load 25
- Store 13(p) 26
- 30: 29(ptr) AccessChain 21(gl_in) 22 22
- 31: 10(float) Load 30
- Store 28(ps) 31
- 34: 29(ptr) AccessChain 21(gl_in) 22 33 33
- 35: 10(float) Load 34
- Store 32(cd) 35
- 39: 6(int) Load 38(gl_PatchVerticesIn)
- Store 36(pvi) 39
- 42: 6(int) Load 41(gl_PrimitiveID)
- Store 40(pid) 42
- 48: 43(fvec3) Load 47(gl_TessCoord)
- Store 45(tc) 48
- 55: 29(ptr) AccessChain 53(gl_TessLevelOuter) 54
- 56: 10(float) Load 55
- Store 49(tlo) 56
- 62: 29(ptr) AccessChain 61(gl_TessLevelInner) 22
- 63: 10(float) Load 62
- Store 57(tli) 63
- 69: 11(fvec4) Load 13(p)
- 71: 70(ptr) AccessChain 68 23
- Store 71 69
- 72: 10(float) Load 28(ps)
- 74: 73(ptr) AccessChain 68 22
- Store 74 72
- 75: 10(float) Load 32(cd)
- 76: 73(ptr) AccessChain 68 33 33
- Store 76 75
- Return
- FunctionEnd
+spv.400.tese
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked tessellation evaluation stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 98
+
+ Capability Tessellation
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint TessellationEvaluation 4 "main" 77 68 81 82 86 90 93 94 97
+ ExecutionMode 4 Triangles
+ ExecutionMode 4 SpacingFractionalOdd
+ ExecutionMode 4 VertexOrderCcw
+ ExecutionMode 4 PointMode
+ Source GLSL 400
+ SourceExtension "GL_ARB_separate_shader_objects"
+ Name 4 "main"
+ Name 8 "a"
+ Name 13 "p"
+ Name 17 "gl_PerVertex"
+ MemberName 17(gl_PerVertex) 0 "gl_Position"
+ MemberName 17(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 17(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 21 "gl_in"
+ Name 28 "ps"
+ Name 32 "cd"
+ Name 36 "pvi"
+ Name 38 "gl_PatchVerticesIn"
+ Name 40 "pid"
+ Name 41 "gl_PrimitiveID"
+ Name 45 "tc"
+ Name 47 "gl_TessCoord"
+ Name 49 "tlo"
+ Name 53 "gl_TessLevelOuter"
+ Name 57 "tli"
+ Name 61 "gl_TessLevelInner"
+ Name 66 "gl_PerVertex"
+ MemberName 66(gl_PerVertex) 0 "gl_Position"
+ MemberName 66(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 66(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 68 ""
+ Name 77 "patchIn"
+ Name 81 "inb"
+ Name 82 "ind"
+ Name 83 "testblb"
+ MemberName 83(testblb) 0 "f"
+ Name 86 "blb"
+ Name 87 "testbld"
+ MemberName 87(testbld) 0 "f"
+ Name 90 "bld"
+ Name 93 "ivla"
+ Name 94 "ivlb"
+ Name 97 "ovla"
+ MemberDecorate 17(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 17(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 17(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 17(gl_PerVertex) Block
+ Decorate 38(gl_PatchVerticesIn) BuiltIn PatchVertices
+ Decorate 41(gl_PrimitiveID) BuiltIn PrimitiveId
+ Decorate 47(gl_TessCoord) BuiltIn TessCoord
+ Decorate 53(gl_TessLevelOuter) Patch
+ Decorate 53(gl_TessLevelOuter) BuiltIn TessLevelOuter
+ Decorate 61(gl_TessLevelInner) Patch
+ Decorate 61(gl_TessLevelInner) BuiltIn TessLevelInner
+ MemberDecorate 66(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 66(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 66(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 66(gl_PerVertex) Block
+ Decorate 77(patchIn) Patch
+ Decorate 83(testblb) Block
+ Decorate 87(testbld) Block
+ Decorate 93(ivla) Location 23
+ Decorate 94(ivlb) Location 24
+ Decorate 97(ovla) Location 23
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 1512
+ 10: TypeFloat 32
+ 11: TypeVector 10(float) 4
+ 12: TypePointer Function 11(fvec4)
+ 14: TypeInt 32 0
+ 15: 14(int) Constant 1
+ 16: TypeArray 10(float) 15
+17(gl_PerVertex): TypeStruct 11(fvec4) 10(float) 16
+ 18: 14(int) Constant 32
+ 19: TypeArray 17(gl_PerVertex) 18
+ 20: TypePointer Input 19
+ 21(gl_in): 20(ptr) Variable Input
+ 22: 6(int) Constant 1
+ 23: 6(int) Constant 0
+ 24: TypePointer Input 11(fvec4)
+ 27: TypePointer Function 10(float)
+ 29: TypePointer Input 10(float)
+ 33: 6(int) Constant 2
+ 37: TypePointer Input 6(int)
+38(gl_PatchVerticesIn): 37(ptr) Variable Input
+41(gl_PrimitiveID): 37(ptr) Variable Input
+ 43: TypeVector 10(float) 3
+ 44: TypePointer Function 43(fvec3)
+ 46: TypePointer Input 43(fvec3)
+47(gl_TessCoord): 46(ptr) Variable Input
+ 50: 14(int) Constant 4
+ 51: TypeArray 10(float) 50
+ 52: TypePointer Input 51
+53(gl_TessLevelOuter): 52(ptr) Variable Input
+ 54: 6(int) Constant 3
+ 58: 14(int) Constant 2
+ 59: TypeArray 10(float) 58
+ 60: TypePointer Input 59
+61(gl_TessLevelInner): 60(ptr) Variable Input
+ 64: 14(int) Constant 3
+ 65: TypeArray 10(float) 64
+66(gl_PerVertex): TypeStruct 11(fvec4) 10(float) 65
+ 67: TypePointer Output 66(gl_PerVertex)
+ 68: 67(ptr) Variable Output
+ 70: TypePointer Output 11(fvec4)
+ 73: TypePointer Output 10(float)
+ 77(patchIn): 24(ptr) Variable Input
+ 78: TypeVector 10(float) 2
+ 79: TypeArray 78(fvec2) 18
+ 80: TypePointer Input 79
+ 81(inb): 80(ptr) Variable Input
+ 82(ind): 80(ptr) Variable Input
+ 83(testblb): TypeStruct 6(int)
+ 84: TypeArray 83(testblb) 18
+ 85: TypePointer Input 84
+ 86(blb): 85(ptr) Variable Input
+ 87(testbld): TypeStruct 6(int)
+ 88: TypeArray 87(testbld) 18
+ 89: TypePointer Input 88
+ 90(bld): 89(ptr) Variable Input
+ 91: TypeArray 11(fvec4) 18
+ 92: TypePointer Input 91
+ 93(ivla): 92(ptr) Variable Input
+ 94(ivlb): 92(ptr) Variable Input
+ 95: TypeArray 11(fvec4) 58
+ 96: TypePointer Output 95
+ 97(ovla): 96(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(a): 7(ptr) Variable Function
+ 13(p): 12(ptr) Variable Function
+ 28(ps): 27(ptr) Variable Function
+ 32(cd): 27(ptr) Variable Function
+ 36(pvi): 7(ptr) Variable Function
+ 40(pid): 7(ptr) Variable Function
+ 45(tc): 44(ptr) Variable Function
+ 49(tlo): 27(ptr) Variable Function
+ 57(tli): 27(ptr) Variable Function
+ Store 8(a) 9
+ 25: 24(ptr) AccessChain 21(gl_in) 22 23
+ 26: 11(fvec4) Load 25
+ Store 13(p) 26
+ 30: 29(ptr) AccessChain 21(gl_in) 22 22
+ 31: 10(float) Load 30
+ Store 28(ps) 31
+ 34: 29(ptr) AccessChain 21(gl_in) 22 33 33
+ 35: 10(float) Load 34
+ Store 32(cd) 35
+ 39: 6(int) Load 38(gl_PatchVerticesIn)
+ Store 36(pvi) 39
+ 42: 6(int) Load 41(gl_PrimitiveID)
+ Store 40(pid) 42
+ 48: 43(fvec3) Load 47(gl_TessCoord)
+ Store 45(tc) 48
+ 55: 29(ptr) AccessChain 53(gl_TessLevelOuter) 54
+ 56: 10(float) Load 55
+ Store 49(tlo) 56
+ 62: 29(ptr) AccessChain 61(gl_TessLevelInner) 22
+ 63: 10(float) Load 62
+ Store 57(tli) 63
+ 69: 11(fvec4) Load 13(p)
+ 71: 70(ptr) AccessChain 68 23
+ Store 71 69
+ 72: 10(float) Load 28(ps)
+ 74: 73(ptr) AccessChain 68 22
+ Store 74 72
+ 75: 10(float) Load 32(cd)
+ 76: 73(ptr) AccessChain 68 33 33
+ Store 76 75
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.420.geom.out b/Test/baseResults/spv.420.geom.out
index a9922b7..5a736a5 100644
--- a/Test/baseResults/spv.420.geom.out
+++ b/Test/baseResults/spv.420.geom.out
@@ -1,130 +1,130 @@
-spv.420.geom
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked geometry stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 74
-
- Capability Geometry
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Geometry 4 "main" 14 23 46
- ExecutionMode 4 Triangles
- ExecutionMode 4 Invocations 4
- ExecutionMode 4 OutputLineStrip
- ExecutionMode 4 OutputVertices 127
- Source GLSL 420
- Name 4 "main"
- Name 8 "p"
- Name 9 "gl_PerVertex"
- MemberName 9(gl_PerVertex) 0 "gl_PointSize"
- Name 14 "gl_in"
- Name 21 "gl_PerVertex"
- MemberName 21(gl_PerVertex) 0 "gl_PointSize"
- Name 23 ""
- Name 28 "gl_ViewportIndex"
- Name 31 "id"
- Name 33 "gl_InvocationID"
- Name 37 "v"
- Name 41 "s2D"
- Name 46 "coord"
- Name 64 "i"
- Name 67 "indexable"
- Name 73 "v4"
- MemberDecorate 9(gl_PerVertex) 0 BuiltIn PointSize
- Decorate 9(gl_PerVertex) Block
- MemberDecorate 21(gl_PerVertex) 0 BuiltIn PointSize
- Decorate 21(gl_PerVertex) Block
- Decorate 21(gl_PerVertex) Stream 0
- Decorate 23 Stream 0
- Decorate 28(gl_ViewportIndex) Stream 0
- Decorate 28(gl_ViewportIndex) BuiltIn ViewportIndex
- Decorate 33(gl_InvocationID) BuiltIn InvocationId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypePointer Function 6(float)
- 9(gl_PerVertex): TypeStruct 6(float)
- 10: TypeInt 32 0
- 11: 10(int) Constant 3
- 12: TypeArray 9(gl_PerVertex) 11
- 13: TypePointer Input 12
- 14(gl_in): 13(ptr) Variable Input
- 15: TypeInt 32 1
- 16: 15(int) Constant 1
- 17: 15(int) Constant 0
- 18: TypePointer Input 6(float)
-21(gl_PerVertex): TypeStruct 6(float)
- 22: TypePointer Output 21(gl_PerVertex)
- 23: 22(ptr) Variable Output
- 25: TypePointer Output 6(float)
- 27: TypePointer Output 15(int)
-28(gl_ViewportIndex): 27(ptr) Variable Output
- 29: 15(int) Constant 7
- 30: TypePointer Function 15(int)
- 32: TypePointer Input 15(int)
-33(gl_InvocationID): 32(ptr) Variable Input
- 35: TypeVector 6(float) 4
- 36: TypePointer Function 35(fvec4)
- 38: TypeImage 6(float) 2D sampled format:Unknown
- 39: TypeSampledImage 38
- 40: TypePointer UniformConstant 39
- 41(s2D): 40(ptr) Variable UniformConstant
- 43: TypeVector 6(float) 2
- 44: TypeArray 43(fvec2) 11
- 45: TypePointer Input 44
- 46(coord): 45(ptr) Variable Input
- 47: TypePointer Input 43(fvec2)
- 50: TypeVector 15(int) 2
- 51: 10(int) Constant 5
- 52: TypeArray 50(ivec2) 51
- 53: 50(ivec2) ConstantComposite 17 16
- 54: 15(int) Constant 4294967294
- 55: 50(ivec2) ConstantComposite 16 54
- 56: 15(int) Constant 3
- 57: 50(ivec2) ConstantComposite 17 56
- 58: 15(int) Constant 4294967293
- 59: 50(ivec2) ConstantComposite 58 17
- 60: 15(int) Constant 2
- 61: 50(ivec2) ConstantComposite 60 16
- 62: 52 ConstantComposite 53 55 57 59 61
- 63: TypePointer UniformConstant 15(int)
- 64(i): 63(ptr) Variable UniformConstant
- 66: TypePointer Function 52
- 68: TypePointer Function 50(ivec2)
- 72: TypePointer UniformConstant 35(fvec4)
- 73(v4): 72(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 8(p): 7(ptr) Variable Function
- 31(id): 30(ptr) Variable Function
- 37(v): 36(ptr) Variable Function
- 67(indexable): 66(ptr) Variable Function
- 19: 18(ptr) AccessChain 14(gl_in) 16 17
- 20: 6(float) Load 19
- Store 8(p) 20
- 24: 6(float) Load 8(p)
- 26: 25(ptr) AccessChain 23 17
- Store 26 24
- Store 28(gl_ViewportIndex) 29
- EmitStreamVertex 16
- EndStreamPrimitive 17
- EmitVertex
- EndPrimitive
- 34: 15(int) Load 33(gl_InvocationID)
- Store 31(id) 34
- 42: 39 Load 41(s2D)
- 48: 47(ptr) AccessChain 46(coord) 17
- 49: 43(fvec2) Load 48
- 65: 15(int) Load 64(i)
- Store 67(indexable) 62
- 69: 68(ptr) AccessChain 67(indexable) 65
- 70: 50(ivec2) Load 69
- 71: 35(fvec4) ImageGather 42 49 17 Offset 70
- Store 37(v) 71
- Return
- FunctionEnd
+spv.420.geom
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked geometry stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 74
+
+ Capability Geometry
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Geometry 4 "main" 14 23 46
+ ExecutionMode 4 Triangles
+ ExecutionMode 4 Invocations 4
+ ExecutionMode 4 OutputLineStrip
+ ExecutionMode 4 OutputVertices 127
+ Source GLSL 420
+ Name 4 "main"
+ Name 8 "p"
+ Name 9 "gl_PerVertex"
+ MemberName 9(gl_PerVertex) 0 "gl_PointSize"
+ Name 14 "gl_in"
+ Name 21 "gl_PerVertex"
+ MemberName 21(gl_PerVertex) 0 "gl_PointSize"
+ Name 23 ""
+ Name 28 "gl_ViewportIndex"
+ Name 31 "id"
+ Name 33 "gl_InvocationID"
+ Name 37 "v"
+ Name 41 "s2D"
+ Name 46 "coord"
+ Name 64 "i"
+ Name 67 "indexable"
+ Name 73 "v4"
+ MemberDecorate 9(gl_PerVertex) 0 BuiltIn PointSize
+ Decorate 9(gl_PerVertex) Block
+ MemberDecorate 21(gl_PerVertex) 0 BuiltIn PointSize
+ Decorate 21(gl_PerVertex) Block
+ Decorate 21(gl_PerVertex) Stream 0
+ Decorate 23 Stream 0
+ Decorate 28(gl_ViewportIndex) Stream 0
+ Decorate 28(gl_ViewportIndex) BuiltIn ViewportIndex
+ Decorate 33(gl_InvocationID) BuiltIn InvocationId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9(gl_PerVertex): TypeStruct 6(float)
+ 10: TypeInt 32 0
+ 11: 10(int) Constant 3
+ 12: TypeArray 9(gl_PerVertex) 11
+ 13: TypePointer Input 12
+ 14(gl_in): 13(ptr) Variable Input
+ 15: TypeInt 32 1
+ 16: 15(int) Constant 1
+ 17: 15(int) Constant 0
+ 18: TypePointer Input 6(float)
+21(gl_PerVertex): TypeStruct 6(float)
+ 22: TypePointer Output 21(gl_PerVertex)
+ 23: 22(ptr) Variable Output
+ 25: TypePointer Output 6(float)
+ 27: TypePointer Output 15(int)
+28(gl_ViewportIndex): 27(ptr) Variable Output
+ 29: 15(int) Constant 7
+ 30: TypePointer Function 15(int)
+ 32: TypePointer Input 15(int)
+33(gl_InvocationID): 32(ptr) Variable Input
+ 35: TypeVector 6(float) 4
+ 36: TypePointer Function 35(fvec4)
+ 38: TypeImage 6(float) 2D sampled format:Unknown
+ 39: TypeSampledImage 38
+ 40: TypePointer UniformConstant 39
+ 41(s2D): 40(ptr) Variable UniformConstant
+ 43: TypeVector 6(float) 2
+ 44: TypeArray 43(fvec2) 11
+ 45: TypePointer Input 44
+ 46(coord): 45(ptr) Variable Input
+ 47: TypePointer Input 43(fvec2)
+ 50: TypeVector 15(int) 2
+ 51: 10(int) Constant 5
+ 52: TypeArray 50(ivec2) 51
+ 53: 50(ivec2) ConstantComposite 17 16
+ 54: 15(int) Constant 4294967294
+ 55: 50(ivec2) ConstantComposite 16 54
+ 56: 15(int) Constant 3
+ 57: 50(ivec2) ConstantComposite 17 56
+ 58: 15(int) Constant 4294967293
+ 59: 50(ivec2) ConstantComposite 58 17
+ 60: 15(int) Constant 2
+ 61: 50(ivec2) ConstantComposite 60 16
+ 62: 52 ConstantComposite 53 55 57 59 61
+ 63: TypePointer UniformConstant 15(int)
+ 64(i): 63(ptr) Variable UniformConstant
+ 66: TypePointer Function 52
+ 68: TypePointer Function 50(ivec2)
+ 72: TypePointer UniformConstant 35(fvec4)
+ 73(v4): 72(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(p): 7(ptr) Variable Function
+ 31(id): 30(ptr) Variable Function
+ 37(v): 36(ptr) Variable Function
+ 67(indexable): 66(ptr) Variable Function
+ 19: 18(ptr) AccessChain 14(gl_in) 16 17
+ 20: 6(float) Load 19
+ Store 8(p) 20
+ 24: 6(float) Load 8(p)
+ 26: 25(ptr) AccessChain 23 17
+ Store 26 24
+ Store 28(gl_ViewportIndex) 29
+ EmitStreamVertex 16
+ EndStreamPrimitive 17
+ EmitVertex
+ EndPrimitive
+ 34: 15(int) Load 33(gl_InvocationID)
+ Store 31(id) 34
+ 42: 39 Load 41(s2D)
+ 48: 47(ptr) AccessChain 46(coord) 17
+ 49: 43(fvec2) Load 48
+ 65: 15(int) Load 64(i)
+ Store 67(indexable) 62
+ 69: 68(ptr) AccessChain 67(indexable) 65
+ 70: 50(ivec2) Load 69
+ 71: 35(fvec4) ImageGather 42 49 17 Offset 70
+ Store 37(v) 71
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.430.vert.out b/Test/baseResults/spv.430.vert.out
index 5ea903e..ba21757 100755
--- a/Test/baseResults/spv.430.vert.out
+++ b/Test/baseResults/spv.430.vert.out
@@ -1,122 +1,122 @@
-spv.430.vert
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 63
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 12 23 44 45 34 61 62
- Source GLSL 430
- Name 4 "main"
- Name 10 "gl_PerVertex"
- MemberName 10(gl_PerVertex) 0 "gl_ClipDistance"
- Name 12 ""
- Name 23 "bad"
- Name 34 "badorder3"
- Name 39 "f"
- Name 43 "uv4"
- Name 44 "badorder"
- Name 45 "badorder2"
- Name 46 "boundblock"
- MemberName 46(boundblock) 0 "aoeu"
- Name 48 "boundInst"
- Name 49 "anonblock"
- MemberName 49(anonblock) 0 "aoeu"
- Name 51 ""
- Name 55 "sampb1"
- Name 58 "sampb2"
- Name 59 "sampb4"
- Name 61 "gl_VertexID"
- Name 62 "gl_InstanceID"
- MemberDecorate 10(gl_PerVertex) 0 BuiltIn ClipDistance
- Decorate 10(gl_PerVertex) Block
- Decorate 34(badorder3) Flat
- Decorate 43(uv4) Location 4
- Decorate 45(badorder2) Invariant
- Decorate 46(boundblock) GLSLShared
- Decorate 46(boundblock) Block
- Decorate 48(boundInst) Binding 3
- Decorate 49(anonblock) GLSLShared
- Decorate 49(anonblock) Block
- Decorate 51 Binding 7
- Decorate 55(sampb1) Binding 4
- Decorate 58(sampb2) Binding 5
- Decorate 59(sampb4) Binding 31
- Decorate 61(gl_VertexID) BuiltIn VertexId
- Decorate 62(gl_InstanceID) BuiltIn InstanceId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeInt 32 0
- 8: 7(int) Constant 3
- 9: TypeArray 6(float) 8
-10(gl_PerVertex): TypeStruct 9
- 11: TypePointer Output 10(gl_PerVertex)
- 12: 11(ptr) Variable Output
- 13: TypeInt 32 1
- 14: 13(int) Constant 0
- 15: 13(int) Constant 2
- 16: 6(float) Constant 1080872141
- 17: TypePointer Output 6(float)
- 19: TypeVector 6(float) 4
- 20: 7(int) Constant 10
- 21: TypeArray 19(fvec4) 20
- 22: TypePointer Input 21
- 23(bad): 22(ptr) Variable Input
- 24: 7(int) Constant 0
- 25: TypePointer Input 6(float)
- 28: 6(float) Constant 1082549862
- 29: TypeBool
- 33: TypePointer Output 19(fvec4)
- 34(badorder3): 33(ptr) Variable Output
- 35: TypePointer Input 19(fvec4)
- 38: TypePointer UniformConstant 6(float)
- 39(f): 38(ptr) Variable UniformConstant
- 42: TypePointer UniformConstant 19(fvec4)
- 43(uv4): 42(ptr) Variable UniformConstant
- 44(badorder): 35(ptr) Variable Input
- 45(badorder2): 33(ptr) Variable Output
- 46(boundblock): TypeStruct 13(int)
- 47: TypePointer Uniform 46(boundblock)
- 48(boundInst): 47(ptr) Variable Uniform
- 49(anonblock): TypeStruct 13(int)
- 50: TypePointer Uniform 49(anonblock)
- 51: 50(ptr) Variable Uniform
- 52: TypeImage 6(float) 2D sampled format:Unknown
- 53: TypeSampledImage 52
- 54: TypePointer UniformConstant 53
- 55(sampb1): 54(ptr) Variable UniformConstant
- 56: TypeArray 53 20
- 57: TypePointer UniformConstant 56
- 58(sampb2): 57(ptr) Variable UniformConstant
- 59(sampb4): 54(ptr) Variable UniformConstant
- 60: TypePointer Input 13(int)
- 61(gl_VertexID): 60(ptr) Variable Input
-62(gl_InstanceID): 60(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 18: 17(ptr) AccessChain 12 14 15
- Store 18 16
- 26: 25(ptr) AccessChain 23(bad) 14 24
- 27: 6(float) Load 26
- 30: 29(bool) FOrdEqual 27 28
- SelectionMerge 32 None
- BranchConditional 30 31 32
- 31: Label
- 36: 35(ptr) AccessChain 23(bad) 14
- 37: 19(fvec4) Load 36
- Store 34(badorder3) 37
- Branch 32
- 32: Label
- 40: 6(float) Load 39(f)
- 41: 17(ptr) AccessChain 12 14 14
- Store 41 40
- Return
- FunctionEnd
+spv.430.vert
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 63
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 12 23 44 45 34 61 62
+ Source GLSL 430
+ Name 4 "main"
+ Name 10 "gl_PerVertex"
+ MemberName 10(gl_PerVertex) 0 "gl_ClipDistance"
+ Name 12 ""
+ Name 23 "bad"
+ Name 34 "badorder3"
+ Name 39 "f"
+ Name 43 "uv4"
+ Name 44 "badorder"
+ Name 45 "badorder2"
+ Name 46 "boundblock"
+ MemberName 46(boundblock) 0 "aoeu"
+ Name 48 "boundInst"
+ Name 49 "anonblock"
+ MemberName 49(anonblock) 0 "aoeu"
+ Name 51 ""
+ Name 55 "sampb1"
+ Name 58 "sampb2"
+ Name 59 "sampb4"
+ Name 61 "gl_VertexID"
+ Name 62 "gl_InstanceID"
+ MemberDecorate 10(gl_PerVertex) 0 BuiltIn ClipDistance
+ Decorate 10(gl_PerVertex) Block
+ Decorate 34(badorder3) Flat
+ Decorate 43(uv4) Location 4
+ Decorate 45(badorder2) Invariant
+ Decorate 46(boundblock) GLSLShared
+ Decorate 46(boundblock) Block
+ Decorate 48(boundInst) Binding 3
+ Decorate 49(anonblock) GLSLShared
+ Decorate 49(anonblock) Block
+ Decorate 51 Binding 7
+ Decorate 55(sampb1) Binding 4
+ Decorate 58(sampb2) Binding 5
+ Decorate 59(sampb4) Binding 31
+ Decorate 61(gl_VertexID) BuiltIn VertexId
+ Decorate 62(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeInt 32 0
+ 8: 7(int) Constant 3
+ 9: TypeArray 6(float) 8
+10(gl_PerVertex): TypeStruct 9
+ 11: TypePointer Output 10(gl_PerVertex)
+ 12: 11(ptr) Variable Output
+ 13: TypeInt 32 1
+ 14: 13(int) Constant 0
+ 15: 13(int) Constant 2
+ 16: 6(float) Constant 1080872141
+ 17: TypePointer Output 6(float)
+ 19: TypeVector 6(float) 4
+ 20: 7(int) Constant 10
+ 21: TypeArray 19(fvec4) 20
+ 22: TypePointer Input 21
+ 23(bad): 22(ptr) Variable Input
+ 24: 7(int) Constant 0
+ 25: TypePointer Input 6(float)
+ 28: 6(float) Constant 1082549862
+ 29: TypeBool
+ 33: TypePointer Output 19(fvec4)
+ 34(badorder3): 33(ptr) Variable Output
+ 35: TypePointer Input 19(fvec4)
+ 38: TypePointer UniformConstant 6(float)
+ 39(f): 38(ptr) Variable UniformConstant
+ 42: TypePointer UniformConstant 19(fvec4)
+ 43(uv4): 42(ptr) Variable UniformConstant
+ 44(badorder): 35(ptr) Variable Input
+ 45(badorder2): 33(ptr) Variable Output
+ 46(boundblock): TypeStruct 13(int)
+ 47: TypePointer Uniform 46(boundblock)
+ 48(boundInst): 47(ptr) Variable Uniform
+ 49(anonblock): TypeStruct 13(int)
+ 50: TypePointer Uniform 49(anonblock)
+ 51: 50(ptr) Variable Uniform
+ 52: TypeImage 6(float) 2D sampled format:Unknown
+ 53: TypeSampledImage 52
+ 54: TypePointer UniformConstant 53
+ 55(sampb1): 54(ptr) Variable UniformConstant
+ 56: TypeArray 53 20
+ 57: TypePointer UniformConstant 56
+ 58(sampb2): 57(ptr) Variable UniformConstant
+ 59(sampb4): 54(ptr) Variable UniformConstant
+ 60: TypePointer Input 13(int)
+ 61(gl_VertexID): 60(ptr) Variable Input
+62(gl_InstanceID): 60(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 18: 17(ptr) AccessChain 12 14 15
+ Store 18 16
+ 26: 25(ptr) AccessChain 23(bad) 14 24
+ 27: 6(float) Load 26
+ 30: 29(bool) FOrdEqual 27 28
+ SelectionMerge 32 None
+ BranchConditional 30 31 32
+ 31: Label
+ 36: 35(ptr) AccessChain 23(bad) 14
+ 37: 19(fvec4) Load 36
+ Store 34(badorder3) 37
+ Branch 32
+ 32: Label
+ 40: 6(float) Load 39(f)
+ 41: 17(ptr) AccessChain 12 14 14
+ Store 41 40
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.AofA.frag.out b/Test/baseResults/spv.AofA.frag.out
index daa9f49..b45ea2b 100644
--- a/Test/baseResults/spv.AofA.frag.out
+++ b/Test/baseResults/spv.AofA.frag.out
@@ -1,150 +1,150 @@
-spv.AofA.frag
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 103
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 77 38 43
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 430
- Name 4 "main"
- Name 17 "foo(f1[5][7];"
- Name 16 "a"
- Name 20 "r"
- Name 38 "outfloat"
- Name 41 "g4"
- Name 43 "g5"
- Name 44 "param"
- Name 47 "u"
- Name 51 "param"
- Name 65 "many"
- Name 67 "i"
- Name 69 "j"
- Name 71 "k"
- Name 77 "infloat"
- Name 93 "uAofA"
- MemberName 93(uAofA) 0 "f"
- Name 97 "nameAofA"
- Decorate 93(uAofA) GLSLShared
- Decorate 93(uAofA) Block
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeInt 32 0
- 8: 7(int) Constant 7
- 9: TypeArray 6(float) 8
- 10: 7(int) Constant 5
- 11: TypeArray 9 10
- 12: TypePointer Function 11
- 13: 7(int) Constant 4
- 14: TypeArray 9 13
- 15: TypeFunction 14 12(ptr)
- 19: TypePointer Function 9
- 21: TypeInt 32 1
- 22: 21(int) Constant 2
- 25: 21(int) Constant 0
- 28: 21(int) Constant 1
- 32: 21(int) Constant 3
- 37: TypePointer Output 6(float)
- 38(outfloat): 37(ptr) Variable Output
- 39: 6(float) Constant 0
- 40: TypePointer Private 14
- 41(g4): 40(ptr) Variable Private
- 42: TypePointer Input 11
- 43(g5): 42(ptr) Variable Input
- 48: 6(float) Constant 1077936128
- 49: TypePointer Function 6(float)
- 54: 7(int) Constant 6
- 55: TypeArray 6(float) 54
- 56: TypeArray 55 10
- 57: TypeArray 56 13
- 58: 7(int) Constant 3
- 59: TypeArray 57 58
- 60: 7(int) Constant 2
- 61: TypeArray 59 60
- 62: 7(int) Constant 1
- 63: TypeArray 61 62
- 64: TypePointer Private 63
- 65(many): 64(ptr) Variable Private
- 66: TypePointer UniformConstant 21(int)
- 67(i): 66(ptr) Variable UniformConstant
- 69(j): 66(ptr) Variable UniformConstant
- 71(k): 66(ptr) Variable UniformConstant
- 76: TypePointer Input 6(float)
- 77(infloat): 76(ptr) Variable Input
- 79: TypePointer Private 6(float)
- 91: TypeArray 6(float) 13
- 92: TypeArray 91 60
- 93(uAofA): TypeStruct 92
- 94: TypeArray 93(uAofA) 10
- 95: TypeArray 94 58
- 96: TypePointer Uniform 95
- 97(nameAofA): 96(ptr) Variable Uniform
- 98: TypePointer Uniform 6(float)
- 4(main): 2 Function None 3
- 5: Label
- 44(param): 12(ptr) Variable Function
- 47(u): 12(ptr) Variable Function
- 51(param): 12(ptr) Variable Function
- Store 38(outfloat) 39
- 45: 11 Load 43(g5)
- Store 44(param) 45
- 46: 14 FunctionCall 17(foo(f1[5][7];) 44(param)
- Store 41(g4) 46
- 50: 49(ptr) AccessChain 47(u) 22 22
- Store 50 48
- 52: 11 Load 47(u)
- Store 51(param) 52
- 53: 14 FunctionCall 17(foo(f1[5][7];) 51(param)
- 68: 21(int) Load 67(i)
- 70: 21(int) Load 69(j)
- 72: 21(int) Load 71(k)
- 73: 21(int) Load 67(i)
- 74: 21(int) Load 69(j)
- 75: 21(int) Load 71(k)
- 78: 6(float) Load 77(infloat)
- 80: 79(ptr) AccessChain 65(many) 68 70 72 73 74 75
- Store 80 78
- 81: 21(int) Load 69(j)
- 82: 21(int) Load 69(j)
- 83: 21(int) Load 69(j)
- 84: 21(int) Load 69(j)
- 85: 21(int) Load 69(j)
- 86: 21(int) Load 69(j)
- 87: 79(ptr) AccessChain 65(many) 81 82 83 84 85 86
- 88: 6(float) Load 87
- 89: 6(float) Load 38(outfloat)
- 90: 6(float) FAdd 89 88
- Store 38(outfloat) 90
- 99: 98(ptr) AccessChain 97(nameAofA) 28 22 25 25 32
- 100: 6(float) Load 99
- 101: 6(float) Load 38(outfloat)
- 102: 6(float) FAdd 101 100
- Store 38(outfloat) 102
- Return
- FunctionEnd
-17(foo(f1[5][7];): 14 Function None 15
- 16(a): 12(ptr) FunctionParameter
- 18: Label
- 20(r): 19(ptr) Variable Function
- 23: 19(ptr) AccessChain 16(a) 22
- 24: 9 Load 23
- Store 20(r) 24
- 26: 19(ptr) AccessChain 16(a) 25
- 27: 9 Load 26
- 29: 19(ptr) AccessChain 16(a) 28
- 30: 9 Load 29
- 31: 9 Load 20(r)
- 33: 19(ptr) AccessChain 16(a) 32
- 34: 9 Load 33
- 35: 14 CompositeConstruct 27 30 31 34
- ReturnValue 35
- FunctionEnd
+spv.AofA.frag
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 103
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 77 38 43
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 430
+ Name 4 "main"
+ Name 17 "foo(f1[5][7];"
+ Name 16 "a"
+ Name 20 "r"
+ Name 38 "outfloat"
+ Name 41 "g4"
+ Name 43 "g5"
+ Name 44 "param"
+ Name 47 "u"
+ Name 51 "param"
+ Name 65 "many"
+ Name 67 "i"
+ Name 69 "j"
+ Name 71 "k"
+ Name 77 "infloat"
+ Name 93 "uAofA"
+ MemberName 93(uAofA) 0 "f"
+ Name 97 "nameAofA"
+ Decorate 93(uAofA) GLSLShared
+ Decorate 93(uAofA) Block
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeInt 32 0
+ 8: 7(int) Constant 7
+ 9: TypeArray 6(float) 8
+ 10: 7(int) Constant 5
+ 11: TypeArray 9 10
+ 12: TypePointer Function 11
+ 13: 7(int) Constant 4
+ 14: TypeArray 9 13
+ 15: TypeFunction 14 12(ptr)
+ 19: TypePointer Function 9
+ 21: TypeInt 32 1
+ 22: 21(int) Constant 2
+ 25: 21(int) Constant 0
+ 28: 21(int) Constant 1
+ 32: 21(int) Constant 3
+ 37: TypePointer Output 6(float)
+ 38(outfloat): 37(ptr) Variable Output
+ 39: 6(float) Constant 0
+ 40: TypePointer Private 14
+ 41(g4): 40(ptr) Variable Private
+ 42: TypePointer Input 11
+ 43(g5): 42(ptr) Variable Input
+ 48: 6(float) Constant 1077936128
+ 49: TypePointer Function 6(float)
+ 54: 7(int) Constant 6
+ 55: TypeArray 6(float) 54
+ 56: TypeArray 55 10
+ 57: TypeArray 56 13
+ 58: 7(int) Constant 3
+ 59: TypeArray 57 58
+ 60: 7(int) Constant 2
+ 61: TypeArray 59 60
+ 62: 7(int) Constant 1
+ 63: TypeArray 61 62
+ 64: TypePointer Private 63
+ 65(many): 64(ptr) Variable Private
+ 66: TypePointer UniformConstant 21(int)
+ 67(i): 66(ptr) Variable UniformConstant
+ 69(j): 66(ptr) Variable UniformConstant
+ 71(k): 66(ptr) Variable UniformConstant
+ 76: TypePointer Input 6(float)
+ 77(infloat): 76(ptr) Variable Input
+ 79: TypePointer Private 6(float)
+ 91: TypeArray 6(float) 13
+ 92: TypeArray 91 60
+ 93(uAofA): TypeStruct 92
+ 94: TypeArray 93(uAofA) 10
+ 95: TypeArray 94 58
+ 96: TypePointer Uniform 95
+ 97(nameAofA): 96(ptr) Variable Uniform
+ 98: TypePointer Uniform 6(float)
+ 4(main): 2 Function None 3
+ 5: Label
+ 44(param): 12(ptr) Variable Function
+ 47(u): 12(ptr) Variable Function
+ 51(param): 12(ptr) Variable Function
+ Store 38(outfloat) 39
+ 45: 11 Load 43(g5)
+ Store 44(param) 45
+ 46: 14 FunctionCall 17(foo(f1[5][7];) 44(param)
+ Store 41(g4) 46
+ 50: 49(ptr) AccessChain 47(u) 22 22
+ Store 50 48
+ 52: 11 Load 47(u)
+ Store 51(param) 52
+ 53: 14 FunctionCall 17(foo(f1[5][7];) 51(param)
+ 68: 21(int) Load 67(i)
+ 70: 21(int) Load 69(j)
+ 72: 21(int) Load 71(k)
+ 73: 21(int) Load 67(i)
+ 74: 21(int) Load 69(j)
+ 75: 21(int) Load 71(k)
+ 78: 6(float) Load 77(infloat)
+ 80: 79(ptr) AccessChain 65(many) 68 70 72 73 74 75
+ Store 80 78
+ 81: 21(int) Load 69(j)
+ 82: 21(int) Load 69(j)
+ 83: 21(int) Load 69(j)
+ 84: 21(int) Load 69(j)
+ 85: 21(int) Load 69(j)
+ 86: 21(int) Load 69(j)
+ 87: 79(ptr) AccessChain 65(many) 81 82 83 84 85 86
+ 88: 6(float) Load 87
+ 89: 6(float) Load 38(outfloat)
+ 90: 6(float) FAdd 89 88
+ Store 38(outfloat) 90
+ 99: 98(ptr) AccessChain 97(nameAofA) 28 22 25 25 32
+ 100: 6(float) Load 99
+ 101: 6(float) Load 38(outfloat)
+ 102: 6(float) FAdd 101 100
+ Store 38(outfloat) 102
+ Return
+ FunctionEnd
+17(foo(f1[5][7];): 14 Function None 15
+ 16(a): 12(ptr) FunctionParameter
+ 18: Label
+ 20(r): 19(ptr) Variable Function
+ 23: 19(ptr) AccessChain 16(a) 22
+ 24: 9 Load 23
+ Store 20(r) 24
+ 26: 19(ptr) AccessChain 16(a) 25
+ 27: 9 Load 26
+ 29: 19(ptr) AccessChain 16(a) 28
+ 30: 9 Load 29
+ 31: 9 Load 20(r)
+ 33: 19(ptr) AccessChain 16(a) 32
+ 34: 9 Load 33
+ 35: 14 CompositeConstruct 27 30 31 34
+ ReturnValue 35
+ FunctionEnd
diff --git a/Test/baseResults/spv.Operations.frag.out b/Test/baseResults/spv.Operations.frag.out
index e18564c..97ffce9 100755
--- a/Test/baseResults/spv.Operations.frag.out
+++ b/Test/baseResults/spv.Operations.frag.out
@@ -1,554 +1,554 @@
-spv.Operations.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 418
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main"
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 9 "v"
- Name 11 "uv4"
- Name 20 "i"
- Name 22 "ui"
- Name 172 "uf"
- Name 219 "b"
- Name 253 "ub41"
- Name 255 "ub42"
- Name 318 "f"
- Name 397 "gl_FragColor"
- Name 415 "uiv4"
- Name 417 "ub"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 10: TypePointer UniformConstant 7(fvec4)
- 11(uv4): 10(ptr) Variable UniformConstant
- 18: TypeInt 32 1
- 19: TypePointer Function 18(int)
- 21: TypePointer UniformConstant 18(int)
- 22(ui): 21(ptr) Variable UniformConstant
- 129: TypeInt 32 0
- 130: 129(int) Constant 0
- 131: TypePointer Function 6(float)
- 171: TypePointer UniformConstant 6(float)
- 172(uf): 171(ptr) Variable UniformConstant
- 217: TypeBool
- 218: TypePointer Function 217(bool)
- 222: TypeVector 217(bool) 4
- 252: TypePointer UniformConstant 222(bvec4)
- 253(ub41): 252(ptr) Variable UniformConstant
- 255(ub42): 252(ptr) Variable UniformConstant
- 309: 18(int) Constant 2
- 316: 18(int) Constant 1
- 347: TypeVector 6(float) 3
- 366: 6(float) Constant 1073741824
- 373: 6(float) Constant 1065353216
- 378: 18(int) Constant 66
- 384: 18(int) Constant 17
- 396: TypePointer Output 7(fvec4)
-397(gl_FragColor): 396(ptr) Variable Output
- 413: TypeVector 18(int) 4
- 414: TypePointer UniformConstant 413(ivec4)
- 415(uiv4): 414(ptr) Variable UniformConstant
- 416: TypePointer UniformConstant 217(bool)
- 417(ub): 416(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 9(v): 8(ptr) Variable Function
- 20(i): 19(ptr) Variable Function
- 219(b): 218(ptr) Variable Function
- 318(f): 131(ptr) Variable Function
- 398: 8(ptr) Variable Function
- 12: 7(fvec4) Load 11(uv4)
- 13: 7(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 12
- Store 9(v) 13
- 14: 7(fvec4) Load 9(v)
- 15: 7(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 14
- 16: 7(fvec4) Load 9(v)
- 17: 7(fvec4) FAdd 16 15
- Store 9(v) 17
- 23: 18(int) Load 22(ui)
- 24: 18(int) Load 22(ui)
- 25: 18(int) IMul 23 24
- Store 20(i) 25
- 26: 7(fvec4) Load 9(v)
- 27: 7(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 26
- 28: 7(fvec4) Load 9(v)
- 29: 7(fvec4) FAdd 28 27
- Store 9(v) 29
- 30: 7(fvec4) Load 9(v)
- 31: 7(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 30
- 32: 7(fvec4) Load 9(v)
- 33: 7(fvec4) FAdd 32 31
- Store 9(v) 33
- 34: 7(fvec4) Load 9(v)
- 35: 7(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 34
- 36: 7(fvec4) Load 9(v)
- 37: 7(fvec4) FAdd 36 35
- Store 9(v) 37
- 38: 7(fvec4) Load 9(v)
- 39: 7(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 38
- 40: 7(fvec4) Load 9(v)
- 41: 7(fvec4) FAdd 40 39
- Store 9(v) 41
- 42: 7(fvec4) Load 9(v)
- 43: 7(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 42
- 44: 7(fvec4) Load 9(v)
- 45: 7(fvec4) FAdd 44 43
- Store 9(v) 45
- 46: 7(fvec4) Load 9(v)
- 47: 7(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 46
- 48: 7(fvec4) Load 9(v)
- 49: 7(fvec4) FAdd 48 47
- Store 9(v) 49
- 50: 7(fvec4) Load 9(v)
- 51: 7(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 50
- 52: 7(fvec4) Load 9(v)
- 53: 7(fvec4) FAdd 52 51
- Store 9(v) 53
- 54: 7(fvec4) Load 9(v)
- 55: 7(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 54
- 56: 7(fvec4) Load 9(v)
- 57: 7(fvec4) FAdd 56 55
- Store 9(v) 57
- 58: 7(fvec4) Load 9(v)
- 59: 7(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 58
- 60: 7(fvec4) Load 9(v)
- 61: 7(fvec4) FAdd 60 59
- Store 9(v) 61
- 62: 7(fvec4) Load 9(v)
- 63: 7(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 62
- 64: 7(fvec4) Load 9(v)
- 65: 7(fvec4) FAdd 64 63
- Store 9(v) 65
- 66: 7(fvec4) Load 9(v)
- 67: 7(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 66
- 68: 7(fvec4) Load 9(v)
- 69: 7(fvec4) FAdd 68 67
- Store 9(v) 69
- 70: 7(fvec4) Load 9(v)
- 71: 7(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 70
- 72: 7(fvec4) Load 9(v)
- 73: 7(fvec4) FAdd 72 71
- Store 9(v) 73
- 74: 7(fvec4) Load 9(v)
- 75: 7(fvec4) Load 9(v)
- 76: 7(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 74 75
- 77: 7(fvec4) Load 9(v)
- 78: 7(fvec4) FAdd 77 76
- Store 9(v) 78
- 79: 7(fvec4) Load 9(v)
- 80: 7(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 79
- 81: 7(fvec4) Load 9(v)
- 82: 7(fvec4) FAdd 81 80
- Store 9(v) 82
- 83: 7(fvec4) Load 9(v)
- 84: 7(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 83
- 85: 7(fvec4) Load 9(v)
- 86: 7(fvec4) FAdd 85 84
- Store 9(v) 86
- 87: 7(fvec4) Load 9(v)
- 88: 7(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 87
- 89: 7(fvec4) Load 9(v)
- 90: 7(fvec4) FAdd 89 88
- Store 9(v) 90
- 91: 7(fvec4) Load 9(v)
- 92: 7(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 91
- 93: 7(fvec4) Load 9(v)
- 94: 7(fvec4) FAdd 93 92
- Store 9(v) 94
- 95: 7(fvec4) Load 9(v)
- 96: 7(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 95
- 97: 7(fvec4) Load 9(v)
- 98: 7(fvec4) FAdd 97 96
- Store 9(v) 98
- 99: 7(fvec4) Load 9(v)
- 100: 7(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 99
- 101: 7(fvec4) Load 9(v)
- 102: 7(fvec4) FAdd 101 100
- Store 9(v) 102
- 103: 7(fvec4) Load 9(v)
- 104: 7(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 103
- 105: 7(fvec4) Load 9(v)
- 106: 7(fvec4) FAdd 105 104
- Store 9(v) 106
- 107: 7(fvec4) Load 9(v)
- 108: 7(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 107
- 109: 7(fvec4) Load 9(v)
- 110: 7(fvec4) FAdd 109 108
- Store 9(v) 110
- 111: 7(fvec4) Load 9(v)
- 112: 7(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 111
- 113: 7(fvec4) Load 9(v)
- 114: 7(fvec4) FAdd 113 112
- Store 9(v) 114
- 115: 7(fvec4) Load 9(v)
- 116: 7(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 115
- 117: 7(fvec4) Load 9(v)
- 118: 7(fvec4) FAdd 117 116
- Store 9(v) 118
- 119: 7(fvec4) Load 9(v)
- 120: 7(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 119
- 121: 7(fvec4) Load 9(v)
- 122: 7(fvec4) FAdd 121 120
- Store 9(v) 122
- 123: 7(fvec4) Load 9(v)
- 124: 7(fvec4) Load 9(v)
- 125: 7(fvec4) FMod 123 124
- 126: 7(fvec4) Load 9(v)
- 127: 7(fvec4) FAdd 126 125
- Store 9(v) 127
- 128: 7(fvec4) Load 9(v)
- 132: 131(ptr) AccessChain 9(v) 130
- 133: 6(float) Load 132
- 134: 7(fvec4) CompositeConstruct 133 133 133 133
- 135: 7(fvec4) FMod 128 134
- 136: 7(fvec4) Load 9(v)
- 137: 7(fvec4) FAdd 136 135
- Store 9(v) 137
- 138: 7(fvec4) Load 9(v)
- 139: 7(fvec4) Load 11(uv4)
- 140: 7(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 138 139
- 141: 7(fvec4) Load 9(v)
- 142: 7(fvec4) FAdd 141 140
- Store 9(v) 142
- 143: 7(fvec4) Load 9(v)
- 144: 7(fvec4) Load 11(uv4)
- 145: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 143 144
- 146: 7(fvec4) Load 9(v)
- 147: 7(fvec4) FAdd 146 145
- Store 9(v) 147
- 148: 7(fvec4) Load 9(v)
- 149: 7(fvec4) Load 11(uv4)
- 150: 7(fvec4) Load 11(uv4)
- 151: 7(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 148 149 150
- 152: 7(fvec4) Load 9(v)
- 153: 7(fvec4) FAdd 152 151
- Store 9(v) 153
- 154: 7(fvec4) Load 9(v)
- 155: 7(fvec4) Load 9(v)
- 156: 7(fvec4) Load 9(v)
- 157: 7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 154 155 156
- 158: 7(fvec4) Load 9(v)
- 159: 7(fvec4) FAdd 158 157
- Store 9(v) 159
- 160: 7(fvec4) Load 9(v)
- 161: 7(fvec4) Load 9(v)
- 162: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 160 161
- 163: 7(fvec4) Load 9(v)
- 164: 7(fvec4) FAdd 163 162
- Store 9(v) 164
- 165: 7(fvec4) Load 9(v)
- 166: 7(fvec4) Load 9(v)
- 167: 7(fvec4) Load 9(v)
- 168: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 165 166 167
- 169: 7(fvec4) Load 9(v)
- 170: 7(fvec4) FAdd 169 168
- Store 9(v) 170
- 173: 6(float) Load 172(uf)
- 174: 7(fvec4) Load 9(v)
- 175: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 173 174
- 176: 7(fvec4) Load 9(v)
- 177: 7(fvec4) FAdd 176 175
- Store 9(v) 177
- 178: 6(float) Load 172(uf)
- 179: 6(float) Load 172(uf)
- 180: 7(fvec4) Load 9(v)
- 181: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 178 179 180
- 182: 7(fvec4) Load 9(v)
- 183: 7(fvec4) FAdd 182 181
- Store 9(v) 183
- 184: 7(fvec4) Load 9(v)
- 185: 7(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 184
- 186: 7(fvec4) Load 9(v)
- 187: 7(fvec4) FAdd 186 185
- Store 9(v) 187
- 188: 7(fvec4) Load 9(v)
- 189: 7(fvec4) Load 9(v)
- 190: 7(fvec4) Load 9(v)
- 191: 7(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 188 189 190
- 192: 7(fvec4) Load 9(v)
- 193: 7(fvec4) FAdd 192 191
- Store 9(v) 193
- 194: 7(fvec4) Load 9(v)
- 195: 7(fvec4) Load 9(v)
- 196: 7(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 194 195
- 197: 7(fvec4) Load 9(v)
- 198: 7(fvec4) FAdd 197 196
- Store 9(v) 198
- 199: 7(fvec4) Load 9(v)
- 200: 7(fvec4) Load 9(v)
- 201: 6(float) Load 172(uf)
- 202: 7(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 199 200 201
- 203: 7(fvec4) Load 9(v)
- 204: 7(fvec4) FAdd 203 202
- Store 9(v) 204
- 205: 7(fvec4) Load 9(v)
- 206: 7(fvec4) DPdx 205
- 207: 7(fvec4) Load 9(v)
- 208: 7(fvec4) FAdd 207 206
- Store 9(v) 208
- 209: 7(fvec4) Load 9(v)
- 210: 7(fvec4) DPdy 209
- 211: 7(fvec4) Load 9(v)
- 212: 7(fvec4) FAdd 211 210
- Store 9(v) 212
- 213: 7(fvec4) Load 9(v)
- 214: 7(fvec4) Fwidth 213
- 215: 7(fvec4) Load 9(v)
- 216: 7(fvec4) FAdd 215 214
- Store 9(v) 216
- 220: 7(fvec4) Load 9(v)
- 221: 7(fvec4) Load 11(uv4)
- 223: 222(bvec4) FOrdLessThan 220 221
- 224: 217(bool) Any 223
- Store 219(b) 224
- 225: 217(bool) Load 219(b)
- SelectionMerge 227 None
- BranchConditional 225 226 227
- 226: Label
- 228: 7(fvec4) Load 9(v)
- 229: 7(fvec4) Load 11(uv4)
- 230: 222(bvec4) FOrdLessThanEqual 228 229
- 231: 217(bool) Any 230
- Branch 227
- 227: Label
- 232: 217(bool) Phi 225 5 231 226
- Store 219(b) 232
- 233: 217(bool) Load 219(b)
- SelectionMerge 235 None
- BranchConditional 233 234 235
- 234: Label
- 236: 7(fvec4) Load 9(v)
- 237: 7(fvec4) Load 11(uv4)
- 238: 222(bvec4) FOrdGreaterThan 236 237
- 239: 217(bool) Any 238
- Branch 235
- 235: Label
- 240: 217(bool) Phi 233 227 239 234
- Store 219(b) 240
- 241: 217(bool) Load 219(b)
- SelectionMerge 243 None
- BranchConditional 241 242 243
- 242: Label
- 244: 7(fvec4) Load 9(v)
- 245: 7(fvec4) Load 11(uv4)
- 246: 222(bvec4) FOrdGreaterThanEqual 244 245
- 247: 217(bool) Any 246
- Branch 243
- 243: Label
- 248: 217(bool) Phi 241 235 247 242
- Store 219(b) 248
- 249: 217(bool) Load 219(b)
- SelectionMerge 251 None
- BranchConditional 249 250 251
- 250: Label
- 254: 222(bvec4) Load 253(ub41)
- 256: 222(bvec4) Load 255(ub42)
- 257: 222(bvec4) IEqual 254 256
- 258: 217(bool) Any 257
- Branch 251
- 251: Label
- 259: 217(bool) Phi 249 243 258 250
- Store 219(b) 259
- 260: 217(bool) Load 219(b)
- SelectionMerge 262 None
- BranchConditional 260 261 262
- 261: Label
- 263: 222(bvec4) Load 253(ub41)
- 264: 222(bvec4) Load 255(ub42)
- 265: 222(bvec4) INotEqual 263 264
- 266: 217(bool) Any 265
- Branch 262
- 262: Label
- 267: 217(bool) Phi 260 251 266 261
- Store 219(b) 267
- 268: 217(bool) Load 219(b)
- 269: 222(bvec4) Load 253(ub41)
- 270: 217(bool) Any 269
- 271: 217(bool) LogicalAnd 268 270
- Store 219(b) 271
- 272: 217(bool) Load 219(b)
- 273: 222(bvec4) Load 253(ub41)
- 274: 217(bool) All 273
- 275: 217(bool) LogicalAnd 272 274
- Store 219(b) 275
- 276: 217(bool) Load 219(b)
- SelectionMerge 278 None
- BranchConditional 276 277 278
- 277: Label
- 279: 222(bvec4) Load 253(ub41)
- 280: 222(bvec4) LogicalNot 279
- 281: 217(bool) Any 280
- Branch 278
- 278: Label
- 282: 217(bool) Phi 276 262 281 277
- Store 219(b) 282
- 283: 18(int) Load 20(i)
- 284: 18(int) Load 22(ui)
- 285: 18(int) IAdd 283 284
- 286: 18(int) Load 20(i)
- 287: 18(int) IMul 285 286
- 288: 18(int) Load 22(ui)
- 289: 18(int) ISub 287 288
- 290: 18(int) Load 20(i)
- 291: 18(int) SDiv 289 290
- Store 20(i) 291
- 292: 18(int) Load 20(i)
- 293: 18(int) Load 22(ui)
- 294: 18(int) SMod 292 293
- Store 20(i) 294
- 295: 18(int) Load 20(i)
- 296: 18(int) Load 22(ui)
- 297: 217(bool) IEqual 295 296
- 298: 217(bool) LogicalNot 297
- SelectionMerge 300 None
- BranchConditional 298 299 300
- 299: Label
- 301: 18(int) Load 20(i)
- 302: 18(int) Load 22(ui)
- 303: 217(bool) INotEqual 301 302
- 304: 18(int) Load 20(i)
- 305: 18(int) Load 22(ui)
- 306: 217(bool) IEqual 304 305
- 307: 217(bool) LogicalAnd 303 306
- 308: 18(int) Load 20(i)
- 310: 217(bool) INotEqual 308 309
- 311: 217(bool) LogicalNotEqual 307 310
- Branch 300
- 300: Label
- 312: 217(bool) Phi 297 278 311 299
- SelectionMerge 314 None
- BranchConditional 312 313 314
- 313: Label
- 315: 18(int) Load 20(i)
- 317: 18(int) IAdd 315 316
- Store 20(i) 317
- Branch 314
- 314: Label
- 319: 6(float) Load 172(uf)
- 320: 6(float) Load 172(uf)
- 321: 6(float) FAdd 319 320
- 322: 6(float) Load 172(uf)
- 323: 6(float) FMul 321 322
- 324: 6(float) Load 172(uf)
- 325: 6(float) FSub 323 324
- 326: 6(float) Load 172(uf)
- 327: 6(float) FDiv 325 326
- Store 318(f) 327
- 328: 7(fvec4) Load 9(v)
- 329: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 328
- 330: 6(float) Load 318(f)
- 331: 6(float) FAdd 330 329
- Store 318(f) 331
- 332: 7(fvec4) Load 9(v)
- 333: 7(fvec4) Load 9(v)
- 334: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 332 333
- 335: 6(float) Load 318(f)
- 336: 6(float) FAdd 335 334
- Store 318(f) 336
- 337: 7(fvec4) Load 9(v)
- 338: 7(fvec4) Load 9(v)
- 339: 6(float) Dot 337 338
- 340: 6(float) Load 318(f)
- 341: 6(float) FAdd 340 339
- Store 318(f) 341
- 342: 6(float) Load 318(f)
- 343: 6(float) Load 172(uf)
- 344: 6(float) FMul 342 343
- 345: 6(float) Load 318(f)
- 346: 6(float) FAdd 345 344
- Store 318(f) 346
- 348: 7(fvec4) Load 9(v)
- 349: 347(fvec3) VectorShuffle 348 348 0 1 2
- 350: 7(fvec4) Load 9(v)
- 351: 347(fvec3) VectorShuffle 350 350 0 1 2
- 352: 347(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 349 351
- 353: 6(float) CompositeExtract 352 0
- 354: 6(float) Load 318(f)
- 355: 6(float) FAdd 354 353
- Store 318(f) 355
- 356: 6(float) Load 318(f)
- 357: 6(float) Load 172(uf)
- 358: 217(bool) FOrdEqual 356 357
- 359: 217(bool) LogicalNot 358
- SelectionMerge 361 None
- BranchConditional 359 360 361
- 360: Label
- 362: 6(float) Load 318(f)
- 363: 6(float) Load 172(uf)
- 364: 217(bool) FOrdNotEqual 362 363
- 365: 6(float) Load 318(f)
- 367: 217(bool) FOrdNotEqual 365 366
- 368: 217(bool) LogicalAnd 364 367
- Branch 361
- 361: Label
- 369: 217(bool) Phi 358 314 368 360
- SelectionMerge 371 None
- BranchConditional 369 370 371
- 370: Label
- 372: 6(float) Load 318(f)
- 374: 6(float) FAdd 372 373
- Store 318(f) 374
- Branch 371
- 371: Label
- 375: 18(int) Load 22(ui)
- 376: 18(int) Load 20(i)
- 377: 18(int) BitwiseAnd 376 375
- Store 20(i) 377
- 379: 18(int) Load 20(i)
- 380: 18(int) BitwiseOr 379 378
- Store 20(i) 380
- 381: 18(int) Load 22(ui)
- 382: 18(int) Load 20(i)
- 383: 18(int) BitwiseXor 382 381
- Store 20(i) 383
- 385: 18(int) Load 20(i)
- 386: 18(int) SMod 385 384
- Store 20(i) 386
- 387: 18(int) Load 20(i)
- 388: 18(int) ShiftRightArithmetic 387 309
- Store 20(i) 388
- 389: 18(int) Load 22(ui)
- 390: 18(int) Load 20(i)
- 391: 18(int) ShiftLeftLogical 390 389
- Store 20(i) 391
- 392: 18(int) Load 20(i)
- 393: 18(int) Not 392
- Store 20(i) 393
- 394: 217(bool) Load 219(b)
- 395: 217(bool) LogicalNot 394
- Store 219(b) 395
- 399: 217(bool) Load 219(b)
- SelectionMerge 401 None
- BranchConditional 399 400 410
- 400: Label
- 402: 18(int) Load 20(i)
- 403: 6(float) ConvertSToF 402
- 404: 7(fvec4) CompositeConstruct 403 403 403 403
- 405: 6(float) Load 318(f)
- 406: 7(fvec4) CompositeConstruct 405 405 405 405
- 407: 7(fvec4) FAdd 404 406
- 408: 7(fvec4) Load 9(v)
- 409: 7(fvec4) FAdd 407 408
- Store 398 409
- Branch 401
- 410: Label
- 411: 7(fvec4) Load 9(v)
- Store 398 411
- Branch 401
- 401: Label
- 412: 7(fvec4) Load 398
- Store 397(gl_FragColor) 412
- Return
- FunctionEnd
+spv.Operations.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 418
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main"
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 9 "v"
+ Name 11 "uv4"
+ Name 20 "i"
+ Name 22 "ui"
+ Name 172 "uf"
+ Name 219 "b"
+ Name 253 "ub41"
+ Name 255 "ub42"
+ Name 318 "f"
+ Name 397 "gl_FragColor"
+ Name 415 "uiv4"
+ Name 417 "ub"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer UniformConstant 7(fvec4)
+ 11(uv4): 10(ptr) Variable UniformConstant
+ 18: TypeInt 32 1
+ 19: TypePointer Function 18(int)
+ 21: TypePointer UniformConstant 18(int)
+ 22(ui): 21(ptr) Variable UniformConstant
+ 129: TypeInt 32 0
+ 130: 129(int) Constant 0
+ 131: TypePointer Function 6(float)
+ 171: TypePointer UniformConstant 6(float)
+ 172(uf): 171(ptr) Variable UniformConstant
+ 217: TypeBool
+ 218: TypePointer Function 217(bool)
+ 222: TypeVector 217(bool) 4
+ 252: TypePointer UniformConstant 222(bvec4)
+ 253(ub41): 252(ptr) Variable UniformConstant
+ 255(ub42): 252(ptr) Variable UniformConstant
+ 309: 18(int) Constant 2
+ 316: 18(int) Constant 1
+ 347: TypeVector 6(float) 3
+ 366: 6(float) Constant 1073741824
+ 373: 6(float) Constant 1065353216
+ 378: 18(int) Constant 66
+ 384: 18(int) Constant 17
+ 396: TypePointer Output 7(fvec4)
+397(gl_FragColor): 396(ptr) Variable Output
+ 413: TypeVector 18(int) 4
+ 414: TypePointer UniformConstant 413(ivec4)
+ 415(uiv4): 414(ptr) Variable UniformConstant
+ 416: TypePointer UniformConstant 217(bool)
+ 417(ub): 416(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(v): 8(ptr) Variable Function
+ 20(i): 19(ptr) Variable Function
+ 219(b): 218(ptr) Variable Function
+ 318(f): 131(ptr) Variable Function
+ 398: 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(uv4)
+ 13: 7(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 12
+ Store 9(v) 13
+ 14: 7(fvec4) Load 9(v)
+ 15: 7(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 14
+ 16: 7(fvec4) Load 9(v)
+ 17: 7(fvec4) FAdd 16 15
+ Store 9(v) 17
+ 23: 18(int) Load 22(ui)
+ 24: 18(int) Load 22(ui)
+ 25: 18(int) IMul 23 24
+ Store 20(i) 25
+ 26: 7(fvec4) Load 9(v)
+ 27: 7(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 26
+ 28: 7(fvec4) Load 9(v)
+ 29: 7(fvec4) FAdd 28 27
+ Store 9(v) 29
+ 30: 7(fvec4) Load 9(v)
+ 31: 7(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 30
+ 32: 7(fvec4) Load 9(v)
+ 33: 7(fvec4) FAdd 32 31
+ Store 9(v) 33
+ 34: 7(fvec4) Load 9(v)
+ 35: 7(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 34
+ 36: 7(fvec4) Load 9(v)
+ 37: 7(fvec4) FAdd 36 35
+ Store 9(v) 37
+ 38: 7(fvec4) Load 9(v)
+ 39: 7(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 38
+ 40: 7(fvec4) Load 9(v)
+ 41: 7(fvec4) FAdd 40 39
+ Store 9(v) 41
+ 42: 7(fvec4) Load 9(v)
+ 43: 7(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 42
+ 44: 7(fvec4) Load 9(v)
+ 45: 7(fvec4) FAdd 44 43
+ Store 9(v) 45
+ 46: 7(fvec4) Load 9(v)
+ 47: 7(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 46
+ 48: 7(fvec4) Load 9(v)
+ 49: 7(fvec4) FAdd 48 47
+ Store 9(v) 49
+ 50: 7(fvec4) Load 9(v)
+ 51: 7(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 50
+ 52: 7(fvec4) Load 9(v)
+ 53: 7(fvec4) FAdd 52 51
+ Store 9(v) 53
+ 54: 7(fvec4) Load 9(v)
+ 55: 7(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 54
+ 56: 7(fvec4) Load 9(v)
+ 57: 7(fvec4) FAdd 56 55
+ Store 9(v) 57
+ 58: 7(fvec4) Load 9(v)
+ 59: 7(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 58
+ 60: 7(fvec4) Load 9(v)
+ 61: 7(fvec4) FAdd 60 59
+ Store 9(v) 61
+ 62: 7(fvec4) Load 9(v)
+ 63: 7(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 62
+ 64: 7(fvec4) Load 9(v)
+ 65: 7(fvec4) FAdd 64 63
+ Store 9(v) 65
+ 66: 7(fvec4) Load 9(v)
+ 67: 7(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 66
+ 68: 7(fvec4) Load 9(v)
+ 69: 7(fvec4) FAdd 68 67
+ Store 9(v) 69
+ 70: 7(fvec4) Load 9(v)
+ 71: 7(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 70
+ 72: 7(fvec4) Load 9(v)
+ 73: 7(fvec4) FAdd 72 71
+ Store 9(v) 73
+ 74: 7(fvec4) Load 9(v)
+ 75: 7(fvec4) Load 9(v)
+ 76: 7(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 74 75
+ 77: 7(fvec4) Load 9(v)
+ 78: 7(fvec4) FAdd 77 76
+ Store 9(v) 78
+ 79: 7(fvec4) Load 9(v)
+ 80: 7(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 79
+ 81: 7(fvec4) Load 9(v)
+ 82: 7(fvec4) FAdd 81 80
+ Store 9(v) 82
+ 83: 7(fvec4) Load 9(v)
+ 84: 7(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 83
+ 85: 7(fvec4) Load 9(v)
+ 86: 7(fvec4) FAdd 85 84
+ Store 9(v) 86
+ 87: 7(fvec4) Load 9(v)
+ 88: 7(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 87
+ 89: 7(fvec4) Load 9(v)
+ 90: 7(fvec4) FAdd 89 88
+ Store 9(v) 90
+ 91: 7(fvec4) Load 9(v)
+ 92: 7(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 91
+ 93: 7(fvec4) Load 9(v)
+ 94: 7(fvec4) FAdd 93 92
+ Store 9(v) 94
+ 95: 7(fvec4) Load 9(v)
+ 96: 7(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 95
+ 97: 7(fvec4) Load 9(v)
+ 98: 7(fvec4) FAdd 97 96
+ Store 9(v) 98
+ 99: 7(fvec4) Load 9(v)
+ 100: 7(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 99
+ 101: 7(fvec4) Load 9(v)
+ 102: 7(fvec4) FAdd 101 100
+ Store 9(v) 102
+ 103: 7(fvec4) Load 9(v)
+ 104: 7(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 103
+ 105: 7(fvec4) Load 9(v)
+ 106: 7(fvec4) FAdd 105 104
+ Store 9(v) 106
+ 107: 7(fvec4) Load 9(v)
+ 108: 7(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 107
+ 109: 7(fvec4) Load 9(v)
+ 110: 7(fvec4) FAdd 109 108
+ Store 9(v) 110
+ 111: 7(fvec4) Load 9(v)
+ 112: 7(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 111
+ 113: 7(fvec4) Load 9(v)
+ 114: 7(fvec4) FAdd 113 112
+ Store 9(v) 114
+ 115: 7(fvec4) Load 9(v)
+ 116: 7(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 115
+ 117: 7(fvec4) Load 9(v)
+ 118: 7(fvec4) FAdd 117 116
+ Store 9(v) 118
+ 119: 7(fvec4) Load 9(v)
+ 120: 7(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 119
+ 121: 7(fvec4) Load 9(v)
+ 122: 7(fvec4) FAdd 121 120
+ Store 9(v) 122
+ 123: 7(fvec4) Load 9(v)
+ 124: 7(fvec4) Load 9(v)
+ 125: 7(fvec4) FMod 123 124
+ 126: 7(fvec4) Load 9(v)
+ 127: 7(fvec4) FAdd 126 125
+ Store 9(v) 127
+ 128: 7(fvec4) Load 9(v)
+ 132: 131(ptr) AccessChain 9(v) 130
+ 133: 6(float) Load 132
+ 134: 7(fvec4) CompositeConstruct 133 133 133 133
+ 135: 7(fvec4) FMod 128 134
+ 136: 7(fvec4) Load 9(v)
+ 137: 7(fvec4) FAdd 136 135
+ Store 9(v) 137
+ 138: 7(fvec4) Load 9(v)
+ 139: 7(fvec4) Load 11(uv4)
+ 140: 7(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 138 139
+ 141: 7(fvec4) Load 9(v)
+ 142: 7(fvec4) FAdd 141 140
+ Store 9(v) 142
+ 143: 7(fvec4) Load 9(v)
+ 144: 7(fvec4) Load 11(uv4)
+ 145: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 143 144
+ 146: 7(fvec4) Load 9(v)
+ 147: 7(fvec4) FAdd 146 145
+ Store 9(v) 147
+ 148: 7(fvec4) Load 9(v)
+ 149: 7(fvec4) Load 11(uv4)
+ 150: 7(fvec4) Load 11(uv4)
+ 151: 7(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 148 149 150
+ 152: 7(fvec4) Load 9(v)
+ 153: 7(fvec4) FAdd 152 151
+ Store 9(v) 153
+ 154: 7(fvec4) Load 9(v)
+ 155: 7(fvec4) Load 9(v)
+ 156: 7(fvec4) Load 9(v)
+ 157: 7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 154 155 156
+ 158: 7(fvec4) Load 9(v)
+ 159: 7(fvec4) FAdd 158 157
+ Store 9(v) 159
+ 160: 7(fvec4) Load 9(v)
+ 161: 7(fvec4) Load 9(v)
+ 162: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 160 161
+ 163: 7(fvec4) Load 9(v)
+ 164: 7(fvec4) FAdd 163 162
+ Store 9(v) 164
+ 165: 7(fvec4) Load 9(v)
+ 166: 7(fvec4) Load 9(v)
+ 167: 7(fvec4) Load 9(v)
+ 168: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 165 166 167
+ 169: 7(fvec4) Load 9(v)
+ 170: 7(fvec4) FAdd 169 168
+ Store 9(v) 170
+ 173: 6(float) Load 172(uf)
+ 174: 7(fvec4) Load 9(v)
+ 175: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 173 174
+ 176: 7(fvec4) Load 9(v)
+ 177: 7(fvec4) FAdd 176 175
+ Store 9(v) 177
+ 178: 6(float) Load 172(uf)
+ 179: 6(float) Load 172(uf)
+ 180: 7(fvec4) Load 9(v)
+ 181: 7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 178 179 180
+ 182: 7(fvec4) Load 9(v)
+ 183: 7(fvec4) FAdd 182 181
+ Store 9(v) 183
+ 184: 7(fvec4) Load 9(v)
+ 185: 7(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 184
+ 186: 7(fvec4) Load 9(v)
+ 187: 7(fvec4) FAdd 186 185
+ Store 9(v) 187
+ 188: 7(fvec4) Load 9(v)
+ 189: 7(fvec4) Load 9(v)
+ 190: 7(fvec4) Load 9(v)
+ 191: 7(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 188 189 190
+ 192: 7(fvec4) Load 9(v)
+ 193: 7(fvec4) FAdd 192 191
+ Store 9(v) 193
+ 194: 7(fvec4) Load 9(v)
+ 195: 7(fvec4) Load 9(v)
+ 196: 7(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 194 195
+ 197: 7(fvec4) Load 9(v)
+ 198: 7(fvec4) FAdd 197 196
+ Store 9(v) 198
+ 199: 7(fvec4) Load 9(v)
+ 200: 7(fvec4) Load 9(v)
+ 201: 6(float) Load 172(uf)
+ 202: 7(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 199 200 201
+ 203: 7(fvec4) Load 9(v)
+ 204: 7(fvec4) FAdd 203 202
+ Store 9(v) 204
+ 205: 7(fvec4) Load 9(v)
+ 206: 7(fvec4) DPdx 205
+ 207: 7(fvec4) Load 9(v)
+ 208: 7(fvec4) FAdd 207 206
+ Store 9(v) 208
+ 209: 7(fvec4) Load 9(v)
+ 210: 7(fvec4) DPdy 209
+ 211: 7(fvec4) Load 9(v)
+ 212: 7(fvec4) FAdd 211 210
+ Store 9(v) 212
+ 213: 7(fvec4) Load 9(v)
+ 214: 7(fvec4) Fwidth 213
+ 215: 7(fvec4) Load 9(v)
+ 216: 7(fvec4) FAdd 215 214
+ Store 9(v) 216
+ 220: 7(fvec4) Load 9(v)
+ 221: 7(fvec4) Load 11(uv4)
+ 223: 222(bvec4) FOrdLessThan 220 221
+ 224: 217(bool) Any 223
+ Store 219(b) 224
+ 225: 217(bool) Load 219(b)
+ SelectionMerge 227 None
+ BranchConditional 225 226 227
+ 226: Label
+ 228: 7(fvec4) Load 9(v)
+ 229: 7(fvec4) Load 11(uv4)
+ 230: 222(bvec4) FOrdLessThanEqual 228 229
+ 231: 217(bool) Any 230
+ Branch 227
+ 227: Label
+ 232: 217(bool) Phi 225 5 231 226
+ Store 219(b) 232
+ 233: 217(bool) Load 219(b)
+ SelectionMerge 235 None
+ BranchConditional 233 234 235
+ 234: Label
+ 236: 7(fvec4) Load 9(v)
+ 237: 7(fvec4) Load 11(uv4)
+ 238: 222(bvec4) FOrdGreaterThan 236 237
+ 239: 217(bool) Any 238
+ Branch 235
+ 235: Label
+ 240: 217(bool) Phi 233 227 239 234
+ Store 219(b) 240
+ 241: 217(bool) Load 219(b)
+ SelectionMerge 243 None
+ BranchConditional 241 242 243
+ 242: Label
+ 244: 7(fvec4) Load 9(v)
+ 245: 7(fvec4) Load 11(uv4)
+ 246: 222(bvec4) FOrdGreaterThanEqual 244 245
+ 247: 217(bool) Any 246
+ Branch 243
+ 243: Label
+ 248: 217(bool) Phi 241 235 247 242
+ Store 219(b) 248
+ 249: 217(bool) Load 219(b)
+ SelectionMerge 251 None
+ BranchConditional 249 250 251
+ 250: Label
+ 254: 222(bvec4) Load 253(ub41)
+ 256: 222(bvec4) Load 255(ub42)
+ 257: 222(bvec4) IEqual 254 256
+ 258: 217(bool) Any 257
+ Branch 251
+ 251: Label
+ 259: 217(bool) Phi 249 243 258 250
+ Store 219(b) 259
+ 260: 217(bool) Load 219(b)
+ SelectionMerge 262 None
+ BranchConditional 260 261 262
+ 261: Label
+ 263: 222(bvec4) Load 253(ub41)
+ 264: 222(bvec4) Load 255(ub42)
+ 265: 222(bvec4) INotEqual 263 264
+ 266: 217(bool) Any 265
+ Branch 262
+ 262: Label
+ 267: 217(bool) Phi 260 251 266 261
+ Store 219(b) 267
+ 268: 217(bool) Load 219(b)
+ 269: 222(bvec4) Load 253(ub41)
+ 270: 217(bool) Any 269
+ 271: 217(bool) LogicalAnd 268 270
+ Store 219(b) 271
+ 272: 217(bool) Load 219(b)
+ 273: 222(bvec4) Load 253(ub41)
+ 274: 217(bool) All 273
+ 275: 217(bool) LogicalAnd 272 274
+ Store 219(b) 275
+ 276: 217(bool) Load 219(b)
+ SelectionMerge 278 None
+ BranchConditional 276 277 278
+ 277: Label
+ 279: 222(bvec4) Load 253(ub41)
+ 280: 222(bvec4) LogicalNot 279
+ 281: 217(bool) Any 280
+ Branch 278
+ 278: Label
+ 282: 217(bool) Phi 276 262 281 277
+ Store 219(b) 282
+ 283: 18(int) Load 20(i)
+ 284: 18(int) Load 22(ui)
+ 285: 18(int) IAdd 283 284
+ 286: 18(int) Load 20(i)
+ 287: 18(int) IMul 285 286
+ 288: 18(int) Load 22(ui)
+ 289: 18(int) ISub 287 288
+ 290: 18(int) Load 20(i)
+ 291: 18(int) SDiv 289 290
+ Store 20(i) 291
+ 292: 18(int) Load 20(i)
+ 293: 18(int) Load 22(ui)
+ 294: 18(int) SMod 292 293
+ Store 20(i) 294
+ 295: 18(int) Load 20(i)
+ 296: 18(int) Load 22(ui)
+ 297: 217(bool) IEqual 295 296
+ 298: 217(bool) LogicalNot 297
+ SelectionMerge 300 None
+ BranchConditional 298 299 300
+ 299: Label
+ 301: 18(int) Load 20(i)
+ 302: 18(int) Load 22(ui)
+ 303: 217(bool) INotEqual 301 302
+ 304: 18(int) Load 20(i)
+ 305: 18(int) Load 22(ui)
+ 306: 217(bool) IEqual 304 305
+ 307: 217(bool) LogicalAnd 303 306
+ 308: 18(int) Load 20(i)
+ 310: 217(bool) INotEqual 308 309
+ 311: 217(bool) LogicalNotEqual 307 310
+ Branch 300
+ 300: Label
+ 312: 217(bool) Phi 297 278 311 299
+ SelectionMerge 314 None
+ BranchConditional 312 313 314
+ 313: Label
+ 315: 18(int) Load 20(i)
+ 317: 18(int) IAdd 315 316
+ Store 20(i) 317
+ Branch 314
+ 314: Label
+ 319: 6(float) Load 172(uf)
+ 320: 6(float) Load 172(uf)
+ 321: 6(float) FAdd 319 320
+ 322: 6(float) Load 172(uf)
+ 323: 6(float) FMul 321 322
+ 324: 6(float) Load 172(uf)
+ 325: 6(float) FSub 323 324
+ 326: 6(float) Load 172(uf)
+ 327: 6(float) FDiv 325 326
+ Store 318(f) 327
+ 328: 7(fvec4) Load 9(v)
+ 329: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 328
+ 330: 6(float) Load 318(f)
+ 331: 6(float) FAdd 330 329
+ Store 318(f) 331
+ 332: 7(fvec4) Load 9(v)
+ 333: 7(fvec4) Load 9(v)
+ 334: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 332 333
+ 335: 6(float) Load 318(f)
+ 336: 6(float) FAdd 335 334
+ Store 318(f) 336
+ 337: 7(fvec4) Load 9(v)
+ 338: 7(fvec4) Load 9(v)
+ 339: 6(float) Dot 337 338
+ 340: 6(float) Load 318(f)
+ 341: 6(float) FAdd 340 339
+ Store 318(f) 341
+ 342: 6(float) Load 318(f)
+ 343: 6(float) Load 172(uf)
+ 344: 6(float) FMul 342 343
+ 345: 6(float) Load 318(f)
+ 346: 6(float) FAdd 345 344
+ Store 318(f) 346
+ 348: 7(fvec4) Load 9(v)
+ 349: 347(fvec3) VectorShuffle 348 348 0 1 2
+ 350: 7(fvec4) Load 9(v)
+ 351: 347(fvec3) VectorShuffle 350 350 0 1 2
+ 352: 347(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 349 351
+ 353: 6(float) CompositeExtract 352 0
+ 354: 6(float) Load 318(f)
+ 355: 6(float) FAdd 354 353
+ Store 318(f) 355
+ 356: 6(float) Load 318(f)
+ 357: 6(float) Load 172(uf)
+ 358: 217(bool) FOrdEqual 356 357
+ 359: 217(bool) LogicalNot 358
+ SelectionMerge 361 None
+ BranchConditional 359 360 361
+ 360: Label
+ 362: 6(float) Load 318(f)
+ 363: 6(float) Load 172(uf)
+ 364: 217(bool) FOrdNotEqual 362 363
+ 365: 6(float) Load 318(f)
+ 367: 217(bool) FOrdNotEqual 365 366
+ 368: 217(bool) LogicalAnd 364 367
+ Branch 361
+ 361: Label
+ 369: 217(bool) Phi 358 314 368 360
+ SelectionMerge 371 None
+ BranchConditional 369 370 371
+ 370: Label
+ 372: 6(float) Load 318(f)
+ 374: 6(float) FAdd 372 373
+ Store 318(f) 374
+ Branch 371
+ 371: Label
+ 375: 18(int) Load 22(ui)
+ 376: 18(int) Load 20(i)
+ 377: 18(int) BitwiseAnd 376 375
+ Store 20(i) 377
+ 379: 18(int) Load 20(i)
+ 380: 18(int) BitwiseOr 379 378
+ Store 20(i) 380
+ 381: 18(int) Load 22(ui)
+ 382: 18(int) Load 20(i)
+ 383: 18(int) BitwiseXor 382 381
+ Store 20(i) 383
+ 385: 18(int) Load 20(i)
+ 386: 18(int) SMod 385 384
+ Store 20(i) 386
+ 387: 18(int) Load 20(i)
+ 388: 18(int) ShiftRightArithmetic 387 309
+ Store 20(i) 388
+ 389: 18(int) Load 22(ui)
+ 390: 18(int) Load 20(i)
+ 391: 18(int) ShiftLeftLogical 390 389
+ Store 20(i) 391
+ 392: 18(int) Load 20(i)
+ 393: 18(int) Not 392
+ Store 20(i) 393
+ 394: 217(bool) Load 219(b)
+ 395: 217(bool) LogicalNot 394
+ Store 219(b) 395
+ 399: 217(bool) Load 219(b)
+ SelectionMerge 401 None
+ BranchConditional 399 400 410
+ 400: Label
+ 402: 18(int) Load 20(i)
+ 403: 6(float) ConvertSToF 402
+ 404: 7(fvec4) CompositeConstruct 403 403 403 403
+ 405: 6(float) Load 318(f)
+ 406: 7(fvec4) CompositeConstruct 405 405 405 405
+ 407: 7(fvec4) FAdd 404 406
+ 408: 7(fvec4) Load 9(v)
+ 409: 7(fvec4) FAdd 407 408
+ Store 398 409
+ Branch 401
+ 410: Label
+ 411: 7(fvec4) Load 9(v)
+ Store 398 411
+ Branch 401
+ 401: Label
+ 412: 7(fvec4) Load 398
+ Store 397(gl_FragColor) 412
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.accessChain.frag.out b/Test/baseResults/spv.accessChain.frag.out
index 811f967..b434c70 100755
--- a/Test/baseResults/spv.accessChain.frag.out
+++ b/Test/baseResults/spv.accessChain.frag.out
@@ -1,322 +1,322 @@
-spv.accessChain.frag
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 197
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 65
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 420
- Name 4 "main"
- Name 8 "S"
- MemberName 8(S) 0 "color"
- Name 11 "GetColor1(struct-S-vf31;"
- Name 10 "i"
- Name 18 "GetColor2(struct-S-vf31;i1;"
- Name 16 "i"
- Name 17 "comp"
- Name 22 "GetColor3(struct-S-vf31;i1;"
- Name 20 "i"
- Name 21 "comp"
- Name 26 "GetColor4(struct-S-vf31;i1;"
- Name 24 "i"
- Name 25 "comp"
- Name 30 "GetColor5(struct-S-vf31;i1;"
- Name 28 "i"
- Name 29 "comp"
- Name 34 "GetColor6(struct-S-vf31;i1;"
- Name 32 "i"
- Name 33 "comp"
- Name 38 "GetColor7(struct-S-vf31;i1;"
- Name 36 "i"
- Name 37 "comp"
- Name 42 "GetColor8(struct-S-vf31;i1;"
- Name 40 "i"
- Name 41 "comp"
- Name 46 "GetColor9(struct-S-vf31;i1;"
- Name 44 "i"
- Name 45 "comp"
- Name 50 "GetColor10(struct-S-vf31;i1;"
- Name 48 "i"
- Name 49 "comp"
- Name 54 "GetColor11(struct-S-vf31;i1;"
- Name 52 "i"
- Name 53 "comp"
- Name 58 "GetColor12(struct-S-vf31;i1;"
- Name 56 "i"
- Name 57 "comp"
- Name 62 "GetColor13(struct-S-vf31;i1;"
- Name 60 "i"
- Name 61 "comp"
- Name 65 "OutColor"
- Name 144 "s"
- Name 149 "u"
- Name 150 "param"
- Name 154 "param"
- Name 158 "param"
- Name 162 "param"
- Name 166 "param"
- Name 170 "param"
- Name 174 "param"
- Name 178 "param"
- Name 182 "param"
- Name 186 "param"
- Name 190 "param"
- Name 194 "param"
- Decorate 65(OutColor) Location 0
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 3
- 8(S): TypeStruct 7(fvec3)
- 9: TypeFunction 2 8(S)
- 13: TypeInt 32 1
- 14: TypePointer Function 13(int)
- 15: TypeFunction 2 8(S) 14(ptr)
- 64: TypePointer Output 7(fvec3)
- 65(OutColor): 64(ptr) Variable Output
- 66: 13(int) Constant 0
- 67: TypeInt 32 0
- 68: 67(int) Constant 0
- 95: TypeVector 6(float) 2
- 109: 67(int) Constant 2
- 136: TypePointer Output 6(float)
- 141: 6(float) Constant 0
- 142: 7(fvec3) ConstantComposite 141 141 141
- 143: TypePointer Function 8(S)
- 148: TypePointer UniformConstant 13(int)
- 149(u): 148(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 144(s): 143(ptr) Variable Function
- 150(param): 14(ptr) Variable Function
- 154(param): 14(ptr) Variable Function
- 158(param): 14(ptr) Variable Function
- 162(param): 14(ptr) Variable Function
- 166(param): 14(ptr) Variable Function
- 170(param): 14(ptr) Variable Function
- 174(param): 14(ptr) Variable Function
- 178(param): 14(ptr) Variable Function
- 182(param): 14(ptr) Variable Function
- 186(param): 14(ptr) Variable Function
- 190(param): 14(ptr) Variable Function
- 194(param): 14(ptr) Variable Function
- Store 65(OutColor) 142
- 145: 8(S) Load 144(s)
- 146: 2 FunctionCall 11(GetColor1(struct-S-vf31;) 145
- 147: 8(S) Load 144(s)
- 151: 13(int) Load 149(u)
- Store 150(param) 151
- 152: 2 FunctionCall 18(GetColor2(struct-S-vf31;i1;) 147 150(param)
- 153: 8(S) Load 144(s)
- 155: 13(int) Load 149(u)
- Store 154(param) 155
- 156: 2 FunctionCall 22(GetColor3(struct-S-vf31;i1;) 153 154(param)
- 157: 8(S) Load 144(s)
- 159: 13(int) Load 149(u)
- Store 158(param) 159
- 160: 2 FunctionCall 26(GetColor4(struct-S-vf31;i1;) 157 158(param)
- 161: 8(S) Load 144(s)
- 163: 13(int) Load 149(u)
- Store 162(param) 163
- 164: 2 FunctionCall 30(GetColor5(struct-S-vf31;i1;) 161 162(param)
- 165: 8(S) Load 144(s)
- 167: 13(int) Load 149(u)
- Store 166(param) 167
- 168: 2 FunctionCall 34(GetColor6(struct-S-vf31;i1;) 165 166(param)
- 169: 8(S) Load 144(s)
- 171: 13(int) Load 149(u)
- Store 170(param) 171
- 172: 2 FunctionCall 38(GetColor7(struct-S-vf31;i1;) 169 170(param)
- 173: 8(S) Load 144(s)
- 175: 13(int) Load 149(u)
- Store 174(param) 175
- 176: 2 FunctionCall 42(GetColor8(struct-S-vf31;i1;) 173 174(param)
- 177: 8(S) Load 144(s)
- 179: 13(int) Load 149(u)
- Store 178(param) 179
- 180: 2 FunctionCall 46(GetColor9(struct-S-vf31;i1;) 177 178(param)
- 181: 8(S) Load 144(s)
- 183: 13(int) Load 149(u)
- Store 182(param) 183
- 184: 2 FunctionCall 50(GetColor10(struct-S-vf31;i1;) 181 182(param)
- 185: 8(S) Load 144(s)
- 187: 13(int) Load 149(u)
- Store 186(param) 187
- 188: 2 FunctionCall 54(GetColor11(struct-S-vf31;i1;) 185 186(param)
- 189: 8(S) Load 144(s)
- 191: 13(int) Load 149(u)
- Store 190(param) 191
- 192: 2 FunctionCall 58(GetColor12(struct-S-vf31;i1;) 189 190(param)
- 193: 8(S) Load 144(s)
- 195: 13(int) Load 149(u)
- Store 194(param) 195
- 196: 2 FunctionCall 62(GetColor13(struct-S-vf31;i1;) 193 194(param)
- Return
- FunctionEnd
-11(GetColor1(struct-S-vf31;): 2 Function None 9
- 10(i): 8(S) FunctionParameter
- 12: Label
- 69: 6(float) CompositeExtract 10(i) 0 0
- 70: 7(fvec3) Load 65(OutColor)
- 71: 7(fvec3) CompositeConstruct 69 69 69
- 72: 7(fvec3) FAdd 70 71
- Store 65(OutColor) 72
- Return
- FunctionEnd
-18(GetColor2(struct-S-vf31;i1;): 2 Function None 15
- 16(i): 8(S) FunctionParameter
- 17(comp): 14(ptr) FunctionParameter
- 19: Label
- 73: 13(int) Load 17(comp)
- 74: 7(fvec3) CompositeExtract 16(i) 0
- 75: 6(float) VectorExtractDynamic 74 73
- 76: 7(fvec3) Load 65(OutColor)
- 77: 7(fvec3) CompositeConstruct 75 75 75
- 78: 7(fvec3) FAdd 76 77
- Store 65(OutColor) 78
- Return
- FunctionEnd
-22(GetColor3(struct-S-vf31;i1;): 2 Function None 15
- 20(i): 8(S) FunctionParameter
- 21(comp): 14(ptr) FunctionParameter
- 23: Label
- 79: 13(int) Load 21(comp)
- 80: 7(fvec3) CompositeExtract 20(i) 0
- 81: 6(float) VectorExtractDynamic 80 79
- 82: 7(fvec3) Load 65(OutColor)
- 83: 7(fvec3) CompositeConstruct 81 81 81
- 84: 7(fvec3) FAdd 82 83
- Store 65(OutColor) 84
- Return
- FunctionEnd
-26(GetColor4(struct-S-vf31;i1;): 2 Function None 15
- 24(i): 8(S) FunctionParameter
- 25(comp): 14(ptr) FunctionParameter
- 27: Label
- 85: 13(int) Load 25(comp)
- 86: 7(fvec3) CompositeExtract 24(i) 0
- 87: 6(float) VectorExtractDynamic 86 85
- 88: 7(fvec3) Load 65(OutColor)
- 89: 7(fvec3) CompositeConstruct 87 87 87
- 90: 7(fvec3) FAdd 88 89
- Store 65(OutColor) 90
- Return
- FunctionEnd
-30(GetColor5(struct-S-vf31;i1;): 2 Function None 15
- 28(i): 8(S) FunctionParameter
- 29(comp): 14(ptr) FunctionParameter
- 31: Label
- 91: 7(fvec3) CompositeExtract 28(i) 0
- 92: 7(fvec3) Load 65(OutColor)
- 93: 7(fvec3) FAdd 92 91
- Store 65(OutColor) 93
- Return
- FunctionEnd
-34(GetColor6(struct-S-vf31;i1;): 2 Function None 15
- 32(i): 8(S) FunctionParameter
- 33(comp): 14(ptr) FunctionParameter
- 35: Label
- 94: 13(int) Load 33(comp)
- 96: 7(fvec3) CompositeExtract 32(i) 0
- 97: 95(fvec2) VectorShuffle 96 96 1 0
- 98: 6(float) VectorExtractDynamic 97 94
- 99: 7(fvec3) Load 65(OutColor)
- 100: 7(fvec3) CompositeConstruct 98 98 98
- 101: 7(fvec3) FAdd 99 100
- Store 65(OutColor) 101
- Return
- FunctionEnd
-38(GetColor7(struct-S-vf31;i1;): 2 Function None 15
- 36(i): 8(S) FunctionParameter
- 37(comp): 14(ptr) FunctionParameter
- 39: Label
- 102: 7(fvec3) CompositeExtract 36(i) 0
- 103: 95(fvec2) VectorShuffle 102 102 0 1
- 104: 7(fvec3) Load 65(OutColor)
- 105: 95(fvec2) VectorShuffle 104 104 0 1
- 106: 95(fvec2) FAdd 105 103
- 107: 7(fvec3) Load 65(OutColor)
- 108: 7(fvec3) VectorShuffle 107 106 3 4 2
- Store 65(OutColor) 108
- Return
- FunctionEnd
-42(GetColor8(struct-S-vf31;i1;): 2 Function None 15
- 40(i): 8(S) FunctionParameter
- 41(comp): 14(ptr) FunctionParameter
- 43: Label
- 110: 6(float) CompositeExtract 40(i) 0 2
- 111: 7(fvec3) Load 65(OutColor)
- 112: 7(fvec3) CompositeConstruct 110 110 110
- 113: 7(fvec3) FAdd 111 112
- Store 65(OutColor) 113
- Return
- FunctionEnd
-46(GetColor9(struct-S-vf31;i1;): 2 Function None 15
- 44(i): 8(S) FunctionParameter
- 45(comp): 14(ptr) FunctionParameter
- 47: Label
- 114: 7(fvec3) CompositeExtract 44(i) 0
- 115: 7(fvec3) Load 65(OutColor)
- 116: 7(fvec3) VectorShuffle 115 115 2 0 1
- 117: 7(fvec3) FAdd 116 114
- 118: 7(fvec3) Load 65(OutColor)
- 119: 7(fvec3) VectorShuffle 118 117 4 5 3
- Store 65(OutColor) 119
- Return
- FunctionEnd
-50(GetColor10(struct-S-vf31;i1;): 2 Function None 15
- 48(i): 8(S) FunctionParameter
- 49(comp): 14(ptr) FunctionParameter
- 51: Label
- 120: 7(fvec3) CompositeExtract 48(i) 0
- 121: 95(fvec2) VectorShuffle 120 120 0 1
- 122: 7(fvec3) Load 65(OutColor)
- 123: 95(fvec2) VectorShuffle 122 122 2 1
- 124: 95(fvec2) FAdd 123 121
- 125: 7(fvec3) Load 65(OutColor)
- 126: 7(fvec3) VectorShuffle 125 124 0 4 3
- Store 65(OutColor) 126
- Return
- FunctionEnd
-54(GetColor11(struct-S-vf31;i1;): 2 Function None 15
- 52(i): 8(S) FunctionParameter
- 53(comp): 14(ptr) FunctionParameter
- 55: Label
- 127: 7(fvec3) CompositeExtract 52(i) 0
- 128: 95(fvec2) VectorShuffle 127 127 0 1
- 129: 7(fvec3) Load 65(OutColor)
- 130: 95(fvec2) VectorShuffle 129 129 0 2
- 131: 95(fvec2) FAdd 130 128
- 132: 7(fvec3) Load 65(OutColor)
- 133: 7(fvec3) VectorShuffle 132 131 3 1 4
- Store 65(OutColor) 133
- Return
- FunctionEnd
-58(GetColor12(struct-S-vf31;i1;): 2 Function None 15
- 56(i): 8(S) FunctionParameter
- 57(comp): 14(ptr) FunctionParameter
- 59: Label
- 134: 13(int) Load 57(comp)
- 135: 6(float) CompositeExtract 56(i) 0 0
- 137: 136(ptr) AccessChain 65(OutColor) 134
- 138: 6(float) Load 137
- 139: 6(float) FAdd 138 135
- 140: 136(ptr) AccessChain 65(OutColor) 134
- Store 140 139
- Return
- FunctionEnd
-62(GetColor13(struct-S-vf31;i1;): 2 Function None 15
- 60(i): 8(S) FunctionParameter
- 61(comp): 14(ptr) FunctionParameter
- 63: Label
- Return
- FunctionEnd
+spv.accessChain.frag
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 197
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 65
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 420
+ Name 4 "main"
+ Name 8 "S"
+ MemberName 8(S) 0 "color"
+ Name 11 "GetColor1(struct-S-vf31;"
+ Name 10 "i"
+ Name 18 "GetColor2(struct-S-vf31;i1;"
+ Name 16 "i"
+ Name 17 "comp"
+ Name 22 "GetColor3(struct-S-vf31;i1;"
+ Name 20 "i"
+ Name 21 "comp"
+ Name 26 "GetColor4(struct-S-vf31;i1;"
+ Name 24 "i"
+ Name 25 "comp"
+ Name 30 "GetColor5(struct-S-vf31;i1;"
+ Name 28 "i"
+ Name 29 "comp"
+ Name 34 "GetColor6(struct-S-vf31;i1;"
+ Name 32 "i"
+ Name 33 "comp"
+ Name 38 "GetColor7(struct-S-vf31;i1;"
+ Name 36 "i"
+ Name 37 "comp"
+ Name 42 "GetColor8(struct-S-vf31;i1;"
+ Name 40 "i"
+ Name 41 "comp"
+ Name 46 "GetColor9(struct-S-vf31;i1;"
+ Name 44 "i"
+ Name 45 "comp"
+ Name 50 "GetColor10(struct-S-vf31;i1;"
+ Name 48 "i"
+ Name 49 "comp"
+ Name 54 "GetColor11(struct-S-vf31;i1;"
+ Name 52 "i"
+ Name 53 "comp"
+ Name 58 "GetColor12(struct-S-vf31;i1;"
+ Name 56 "i"
+ Name 57 "comp"
+ Name 62 "GetColor13(struct-S-vf31;i1;"
+ Name 60 "i"
+ Name 61 "comp"
+ Name 65 "OutColor"
+ Name 144 "s"
+ Name 149 "u"
+ Name 150 "param"
+ Name 154 "param"
+ Name 158 "param"
+ Name 162 "param"
+ Name 166 "param"
+ Name 170 "param"
+ Name 174 "param"
+ Name 178 "param"
+ Name 182 "param"
+ Name 186 "param"
+ Name 190 "param"
+ Name 194 "param"
+ Decorate 65(OutColor) Location 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 3
+ 8(S): TypeStruct 7(fvec3)
+ 9: TypeFunction 2 8(S)
+ 13: TypeInt 32 1
+ 14: TypePointer Function 13(int)
+ 15: TypeFunction 2 8(S) 14(ptr)
+ 64: TypePointer Output 7(fvec3)
+ 65(OutColor): 64(ptr) Variable Output
+ 66: 13(int) Constant 0
+ 67: TypeInt 32 0
+ 68: 67(int) Constant 0
+ 95: TypeVector 6(float) 2
+ 109: 67(int) Constant 2
+ 136: TypePointer Output 6(float)
+ 141: 6(float) Constant 0
+ 142: 7(fvec3) ConstantComposite 141 141 141
+ 143: TypePointer Function 8(S)
+ 148: TypePointer UniformConstant 13(int)
+ 149(u): 148(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 144(s): 143(ptr) Variable Function
+ 150(param): 14(ptr) Variable Function
+ 154(param): 14(ptr) Variable Function
+ 158(param): 14(ptr) Variable Function
+ 162(param): 14(ptr) Variable Function
+ 166(param): 14(ptr) Variable Function
+ 170(param): 14(ptr) Variable Function
+ 174(param): 14(ptr) Variable Function
+ 178(param): 14(ptr) Variable Function
+ 182(param): 14(ptr) Variable Function
+ 186(param): 14(ptr) Variable Function
+ 190(param): 14(ptr) Variable Function
+ 194(param): 14(ptr) Variable Function
+ Store 65(OutColor) 142
+ 145: 8(S) Load 144(s)
+ 146: 2 FunctionCall 11(GetColor1(struct-S-vf31;) 145
+ 147: 8(S) Load 144(s)
+ 151: 13(int) Load 149(u)
+ Store 150(param) 151
+ 152: 2 FunctionCall 18(GetColor2(struct-S-vf31;i1;) 147 150(param)
+ 153: 8(S) Load 144(s)
+ 155: 13(int) Load 149(u)
+ Store 154(param) 155
+ 156: 2 FunctionCall 22(GetColor3(struct-S-vf31;i1;) 153 154(param)
+ 157: 8(S) Load 144(s)
+ 159: 13(int) Load 149(u)
+ Store 158(param) 159
+ 160: 2 FunctionCall 26(GetColor4(struct-S-vf31;i1;) 157 158(param)
+ 161: 8(S) Load 144(s)
+ 163: 13(int) Load 149(u)
+ Store 162(param) 163
+ 164: 2 FunctionCall 30(GetColor5(struct-S-vf31;i1;) 161 162(param)
+ 165: 8(S) Load 144(s)
+ 167: 13(int) Load 149(u)
+ Store 166(param) 167
+ 168: 2 FunctionCall 34(GetColor6(struct-S-vf31;i1;) 165 166(param)
+ 169: 8(S) Load 144(s)
+ 171: 13(int) Load 149(u)
+ Store 170(param) 171
+ 172: 2 FunctionCall 38(GetColor7(struct-S-vf31;i1;) 169 170(param)
+ 173: 8(S) Load 144(s)
+ 175: 13(int) Load 149(u)
+ Store 174(param) 175
+ 176: 2 FunctionCall 42(GetColor8(struct-S-vf31;i1;) 173 174(param)
+ 177: 8(S) Load 144(s)
+ 179: 13(int) Load 149(u)
+ Store 178(param) 179
+ 180: 2 FunctionCall 46(GetColor9(struct-S-vf31;i1;) 177 178(param)
+ 181: 8(S) Load 144(s)
+ 183: 13(int) Load 149(u)
+ Store 182(param) 183
+ 184: 2 FunctionCall 50(GetColor10(struct-S-vf31;i1;) 181 182(param)
+ 185: 8(S) Load 144(s)
+ 187: 13(int) Load 149(u)
+ Store 186(param) 187
+ 188: 2 FunctionCall 54(GetColor11(struct-S-vf31;i1;) 185 186(param)
+ 189: 8(S) Load 144(s)
+ 191: 13(int) Load 149(u)
+ Store 190(param) 191
+ 192: 2 FunctionCall 58(GetColor12(struct-S-vf31;i1;) 189 190(param)
+ 193: 8(S) Load 144(s)
+ 195: 13(int) Load 149(u)
+ Store 194(param) 195
+ 196: 2 FunctionCall 62(GetColor13(struct-S-vf31;i1;) 193 194(param)
+ Return
+ FunctionEnd
+11(GetColor1(struct-S-vf31;): 2 Function None 9
+ 10(i): 8(S) FunctionParameter
+ 12: Label
+ 69: 6(float) CompositeExtract 10(i) 0 0
+ 70: 7(fvec3) Load 65(OutColor)
+ 71: 7(fvec3) CompositeConstruct 69 69 69
+ 72: 7(fvec3) FAdd 70 71
+ Store 65(OutColor) 72
+ Return
+ FunctionEnd
+18(GetColor2(struct-S-vf31;i1;): 2 Function None 15
+ 16(i): 8(S) FunctionParameter
+ 17(comp): 14(ptr) FunctionParameter
+ 19: Label
+ 73: 13(int) Load 17(comp)
+ 74: 7(fvec3) CompositeExtract 16(i) 0
+ 75: 6(float) VectorExtractDynamic 74 73
+ 76: 7(fvec3) Load 65(OutColor)
+ 77: 7(fvec3) CompositeConstruct 75 75 75
+ 78: 7(fvec3) FAdd 76 77
+ Store 65(OutColor) 78
+ Return
+ FunctionEnd
+22(GetColor3(struct-S-vf31;i1;): 2 Function None 15
+ 20(i): 8(S) FunctionParameter
+ 21(comp): 14(ptr) FunctionParameter
+ 23: Label
+ 79: 13(int) Load 21(comp)
+ 80: 7(fvec3) CompositeExtract 20(i) 0
+ 81: 6(float) VectorExtractDynamic 80 79
+ 82: 7(fvec3) Load 65(OutColor)
+ 83: 7(fvec3) CompositeConstruct 81 81 81
+ 84: 7(fvec3) FAdd 82 83
+ Store 65(OutColor) 84
+ Return
+ FunctionEnd
+26(GetColor4(struct-S-vf31;i1;): 2 Function None 15
+ 24(i): 8(S) FunctionParameter
+ 25(comp): 14(ptr) FunctionParameter
+ 27: Label
+ 85: 13(int) Load 25(comp)
+ 86: 7(fvec3) CompositeExtract 24(i) 0
+ 87: 6(float) VectorExtractDynamic 86 85
+ 88: 7(fvec3) Load 65(OutColor)
+ 89: 7(fvec3) CompositeConstruct 87 87 87
+ 90: 7(fvec3) FAdd 88 89
+ Store 65(OutColor) 90
+ Return
+ FunctionEnd
+30(GetColor5(struct-S-vf31;i1;): 2 Function None 15
+ 28(i): 8(S) FunctionParameter
+ 29(comp): 14(ptr) FunctionParameter
+ 31: Label
+ 91: 7(fvec3) CompositeExtract 28(i) 0
+ 92: 7(fvec3) Load 65(OutColor)
+ 93: 7(fvec3) FAdd 92 91
+ Store 65(OutColor) 93
+ Return
+ FunctionEnd
+34(GetColor6(struct-S-vf31;i1;): 2 Function None 15
+ 32(i): 8(S) FunctionParameter
+ 33(comp): 14(ptr) FunctionParameter
+ 35: Label
+ 94: 13(int) Load 33(comp)
+ 96: 7(fvec3) CompositeExtract 32(i) 0
+ 97: 95(fvec2) VectorShuffle 96 96 1 0
+ 98: 6(float) VectorExtractDynamic 97 94
+ 99: 7(fvec3) Load 65(OutColor)
+ 100: 7(fvec3) CompositeConstruct 98 98 98
+ 101: 7(fvec3) FAdd 99 100
+ Store 65(OutColor) 101
+ Return
+ FunctionEnd
+38(GetColor7(struct-S-vf31;i1;): 2 Function None 15
+ 36(i): 8(S) FunctionParameter
+ 37(comp): 14(ptr) FunctionParameter
+ 39: Label
+ 102: 7(fvec3) CompositeExtract 36(i) 0
+ 103: 95(fvec2) VectorShuffle 102 102 0 1
+ 104: 7(fvec3) Load 65(OutColor)
+ 105: 95(fvec2) VectorShuffle 104 104 0 1
+ 106: 95(fvec2) FAdd 105 103
+ 107: 7(fvec3) Load 65(OutColor)
+ 108: 7(fvec3) VectorShuffle 107 106 3 4 2
+ Store 65(OutColor) 108
+ Return
+ FunctionEnd
+42(GetColor8(struct-S-vf31;i1;): 2 Function None 15
+ 40(i): 8(S) FunctionParameter
+ 41(comp): 14(ptr) FunctionParameter
+ 43: Label
+ 110: 6(float) CompositeExtract 40(i) 0 2
+ 111: 7(fvec3) Load 65(OutColor)
+ 112: 7(fvec3) CompositeConstruct 110 110 110
+ 113: 7(fvec3) FAdd 111 112
+ Store 65(OutColor) 113
+ Return
+ FunctionEnd
+46(GetColor9(struct-S-vf31;i1;): 2 Function None 15
+ 44(i): 8(S) FunctionParameter
+ 45(comp): 14(ptr) FunctionParameter
+ 47: Label
+ 114: 7(fvec3) CompositeExtract 44(i) 0
+ 115: 7(fvec3) Load 65(OutColor)
+ 116: 7(fvec3) VectorShuffle 115 115 2 0 1
+ 117: 7(fvec3) FAdd 116 114
+ 118: 7(fvec3) Load 65(OutColor)
+ 119: 7(fvec3) VectorShuffle 118 117 4 5 3
+ Store 65(OutColor) 119
+ Return
+ FunctionEnd
+50(GetColor10(struct-S-vf31;i1;): 2 Function None 15
+ 48(i): 8(S) FunctionParameter
+ 49(comp): 14(ptr) FunctionParameter
+ 51: Label
+ 120: 7(fvec3) CompositeExtract 48(i) 0
+ 121: 95(fvec2) VectorShuffle 120 120 0 1
+ 122: 7(fvec3) Load 65(OutColor)
+ 123: 95(fvec2) VectorShuffle 122 122 2 1
+ 124: 95(fvec2) FAdd 123 121
+ 125: 7(fvec3) Load 65(OutColor)
+ 126: 7(fvec3) VectorShuffle 125 124 0 4 3
+ Store 65(OutColor) 126
+ Return
+ FunctionEnd
+54(GetColor11(struct-S-vf31;i1;): 2 Function None 15
+ 52(i): 8(S) FunctionParameter
+ 53(comp): 14(ptr) FunctionParameter
+ 55: Label
+ 127: 7(fvec3) CompositeExtract 52(i) 0
+ 128: 95(fvec2) VectorShuffle 127 127 0 1
+ 129: 7(fvec3) Load 65(OutColor)
+ 130: 95(fvec2) VectorShuffle 129 129 0 2
+ 131: 95(fvec2) FAdd 130 128
+ 132: 7(fvec3) Load 65(OutColor)
+ 133: 7(fvec3) VectorShuffle 132 131 3 1 4
+ Store 65(OutColor) 133
+ Return
+ FunctionEnd
+58(GetColor12(struct-S-vf31;i1;): 2 Function None 15
+ 56(i): 8(S) FunctionParameter
+ 57(comp): 14(ptr) FunctionParameter
+ 59: Label
+ 134: 13(int) Load 57(comp)
+ 135: 6(float) CompositeExtract 56(i) 0 0
+ 137: 136(ptr) AccessChain 65(OutColor) 134
+ 138: 6(float) Load 137
+ 139: 6(float) FAdd 138 135
+ 140: 136(ptr) AccessChain 65(OutColor) 134
+ Store 140 139
+ Return
+ FunctionEnd
+62(GetColor13(struct-S-vf31;i1;): 2 Function None 15
+ 60(i): 8(S) FunctionParameter
+ 61(comp): 14(ptr) FunctionParameter
+ 63: Label
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.aggOps.frag.out b/Test/baseResults/spv.aggOps.frag.out
index b92d93c..ca118d5 100644
--- a/Test/baseResults/spv.aggOps.frag.out
+++ b/Test/baseResults/spv.aggOps.frag.out
@@ -1,9 +1,9 @@
-spv.aggOps.frag
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-WARNING: 0:6: varying deprecated in version 130; may be removed in future release
-
-
-Linked fragment stage:
-
-
-Missing functionality: Composite comparison of non-vectors
+spv.aggOps.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+WARNING: 0:6: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+Missing functionality: Composite comparison of non-vectors
diff --git a/Test/baseResults/spv.always-discard.frag.out b/Test/baseResults/spv.always-discard.frag.out
index 5a71c69..5275014 100755
--- a/Test/baseResults/spv.always-discard.frag.out
+++ b/Test/baseResults/spv.always-discard.frag.out
@@ -1,132 +1,132 @@
-spv.always-discard.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 84
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 21
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 110
- Name 4 "main"
- Name 9 "white"
- Name 12 "black"
- Name 15 "color"
- Name 18 "x"
- Name 21 "tex_coord"
- Name 30 "y"
- Name 36 "radius"
- Name 59 "gl_FragColor"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 10: 6(float) Constant 1065353216
- 11: 7(fvec4) ConstantComposite 10 10 10 10
- 13: 6(float) Constant 1045220557
- 14: 7(fvec4) ConstantComposite 13 13 13 13
- 17: TypePointer Function 6(float)
- 19: TypeVector 6(float) 2
- 20: TypePointer Input 19(fvec2)
- 21(tex_coord): 20(ptr) Variable Input
- 22: TypeInt 32 0
- 23: 22(int) Constant 0
- 24: TypePointer Input 6(float)
- 27: 6(float) Constant 1073741824
- 31: 22(int) Constant 1
- 46: TypeBool
- 51: 6(float) Constant 1066192077
- 58: TypePointer Output 7(fvec4)
-59(gl_FragColor): 58(ptr) Variable Output
- 62: 6(float) Constant 1067030938
- 71: 6(float) Constant 1061158912
- 76: 6(float) Constant 1098907648
- 4(main): 2 Function None 3
- 5: Label
- 9(white): 8(ptr) Variable Function
- 12(black): 8(ptr) Variable Function
- 15(color): 8(ptr) Variable Function
- 18(x): 17(ptr) Variable Function
- 30(y): 17(ptr) Variable Function
- 36(radius): 17(ptr) Variable Function
- Store 9(white) 11
- Store 12(black) 14
- 16: 7(fvec4) Load 9(white)
- Store 15(color) 16
- 25: 24(ptr) AccessChain 21(tex_coord) 23
- 26: 6(float) Load 25
- 28: 6(float) FMul 26 27
- 29: 6(float) FSub 28 10
- Store 18(x) 29
- 32: 24(ptr) AccessChain 21(tex_coord) 31
- 33: 6(float) Load 32
- 34: 6(float) FMul 33 27
- 35: 6(float) FSub 34 10
- Store 30(y) 35
- 37: 6(float) Load 18(x)
- 38: 6(float) Load 18(x)
- 39: 6(float) FMul 37 38
- 40: 6(float) Load 30(y)
- 41: 6(float) Load 30(y)
- 42: 6(float) FMul 40 41
- 43: 6(float) FAdd 39 42
- 44: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 43
- Store 36(radius) 44
- 45: 6(float) Load 36(radius)
- 47: 46(bool) FOrdGreaterThan 45 10
- SelectionMerge 49 None
- BranchConditional 47 48 49
- 48: Label
- 50: 6(float) Load 36(radius)
- 52: 46(bool) FOrdGreaterThan 50 51
- SelectionMerge 54 None
- BranchConditional 52 53 54
- 53: Label
- 55: 7(fvec4) Load 15(color)
- 56: 7(fvec4) CompositeConstruct 10 10 10 10
- 57: 7(fvec4) FAdd 55 56
- Store 15(color) 57
- Branch 54
- 54: Label
- 60: 7(fvec4) Load 15(color)
- Store 59(gl_FragColor) 60
- 61: 6(float) Load 36(radius)
- 63: 46(bool) FOrdGreaterThan 61 62
- SelectionMerge 65 None
- BranchConditional 63 64 65
- 64: Label
- 66: 7(fvec4) Load 15(color)
- 67: 7(fvec4) CompositeConstruct 10 10 10 10
- 68: 7(fvec4) FAdd 66 67
- Store 15(color) 68
- Branch 65
- 65: Label
- Branch 49
- 49: Label
- Kill
- 69: Label
- 70: 6(float) Load 36(radius)
- 72: 46(bool) FOrdGreaterThanEqual 70 71
- SelectionMerge 74 None
- BranchConditional 72 73 74
- 73: Label
- 75: 6(float) Load 36(radius)
- 77: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 75 76
- 78: 6(float) FDiv 77 27
- 79: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 78
- 80: 7(fvec4) Load 15(color)
- 81: 7(fvec4) CompositeConstruct 79 79 79 79
- 82: 7(fvec4) FSub 80 81
- Store 15(color) 82
- Branch 74
- 74: Label
- 83: 7(fvec4) Load 15(color)
- Store 59(gl_FragColor) 83
- Return
- FunctionEnd
+spv.always-discard.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 84
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 21
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 110
+ Name 4 "main"
+ Name 9 "white"
+ Name 12 "black"
+ Name 15 "color"
+ Name 18 "x"
+ Name 21 "tex_coord"
+ Name 30 "y"
+ Name 36 "radius"
+ Name 59 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: 6(float) Constant 1065353216
+ 11: 7(fvec4) ConstantComposite 10 10 10 10
+ 13: 6(float) Constant 1045220557
+ 14: 7(fvec4) ConstantComposite 13 13 13 13
+ 17: TypePointer Function 6(float)
+ 19: TypeVector 6(float) 2
+ 20: TypePointer Input 19(fvec2)
+ 21(tex_coord): 20(ptr) Variable Input
+ 22: TypeInt 32 0
+ 23: 22(int) Constant 0
+ 24: TypePointer Input 6(float)
+ 27: 6(float) Constant 1073741824
+ 31: 22(int) Constant 1
+ 46: TypeBool
+ 51: 6(float) Constant 1066192077
+ 58: TypePointer Output 7(fvec4)
+59(gl_FragColor): 58(ptr) Variable Output
+ 62: 6(float) Constant 1067030938
+ 71: 6(float) Constant 1061158912
+ 76: 6(float) Constant 1098907648
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(white): 8(ptr) Variable Function
+ 12(black): 8(ptr) Variable Function
+ 15(color): 8(ptr) Variable Function
+ 18(x): 17(ptr) Variable Function
+ 30(y): 17(ptr) Variable Function
+ 36(radius): 17(ptr) Variable Function
+ Store 9(white) 11
+ Store 12(black) 14
+ 16: 7(fvec4) Load 9(white)
+ Store 15(color) 16
+ 25: 24(ptr) AccessChain 21(tex_coord) 23
+ 26: 6(float) Load 25
+ 28: 6(float) FMul 26 27
+ 29: 6(float) FSub 28 10
+ Store 18(x) 29
+ 32: 24(ptr) AccessChain 21(tex_coord) 31
+ 33: 6(float) Load 32
+ 34: 6(float) FMul 33 27
+ 35: 6(float) FSub 34 10
+ Store 30(y) 35
+ 37: 6(float) Load 18(x)
+ 38: 6(float) Load 18(x)
+ 39: 6(float) FMul 37 38
+ 40: 6(float) Load 30(y)
+ 41: 6(float) Load 30(y)
+ 42: 6(float) FMul 40 41
+ 43: 6(float) FAdd 39 42
+ 44: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 43
+ Store 36(radius) 44
+ 45: 6(float) Load 36(radius)
+ 47: 46(bool) FOrdGreaterThan 45 10
+ SelectionMerge 49 None
+ BranchConditional 47 48 49
+ 48: Label
+ 50: 6(float) Load 36(radius)
+ 52: 46(bool) FOrdGreaterThan 50 51
+ SelectionMerge 54 None
+ BranchConditional 52 53 54
+ 53: Label
+ 55: 7(fvec4) Load 15(color)
+ 56: 7(fvec4) CompositeConstruct 10 10 10 10
+ 57: 7(fvec4) FAdd 55 56
+ Store 15(color) 57
+ Branch 54
+ 54: Label
+ 60: 7(fvec4) Load 15(color)
+ Store 59(gl_FragColor) 60
+ 61: 6(float) Load 36(radius)
+ 63: 46(bool) FOrdGreaterThan 61 62
+ SelectionMerge 65 None
+ BranchConditional 63 64 65
+ 64: Label
+ 66: 7(fvec4) Load 15(color)
+ 67: 7(fvec4) CompositeConstruct 10 10 10 10
+ 68: 7(fvec4) FAdd 66 67
+ Store 15(color) 68
+ Branch 65
+ 65: Label
+ Branch 49
+ 49: Label
+ Kill
+ 69: Label
+ 70: 6(float) Load 36(radius)
+ 72: 46(bool) FOrdGreaterThanEqual 70 71
+ SelectionMerge 74 None
+ BranchConditional 72 73 74
+ 73: Label
+ 75: 6(float) Load 36(radius)
+ 77: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 75 76
+ 78: 6(float) FDiv 77 27
+ 79: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 78
+ 80: 7(fvec4) Load 15(color)
+ 81: 7(fvec4) CompositeConstruct 79 79 79 79
+ 82: 7(fvec4) FSub 80 81
+ Store 15(color) 82
+ Branch 74
+ 74: Label
+ 83: 7(fvec4) Load 15(color)
+ Store 59(gl_FragColor) 83
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.always-discard2.frag.out b/Test/baseResults/spv.always-discard2.frag.out
index c085a06..ee768c9 100755
--- a/Test/baseResults/spv.always-discard2.frag.out
+++ b/Test/baseResults/spv.always-discard2.frag.out
@@ -1,66 +1,66 @@
-spv.always-discard2.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 40
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 21
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 110
- Name 4 "main"
- Name 9 "white"
- Name 12 "black"
- Name 15 "color"
- Name 18 "x"
- Name 21 "tex_coord"
- Name 30 "y"
- Name 38 "gl_FragColor"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 10: 6(float) Constant 1065353216
- 11: 7(fvec4) ConstantComposite 10 10 10 10
- 13: 6(float) Constant 1045220557
- 14: 7(fvec4) ConstantComposite 13 13 13 13
- 17: TypePointer Function 6(float)
- 19: TypeVector 6(float) 2
- 20: TypePointer Input 19(fvec2)
- 21(tex_coord): 20(ptr) Variable Input
- 22: TypeInt 32 0
- 23: 22(int) Constant 0
- 24: TypePointer Input 6(float)
- 27: 6(float) Constant 1073741824
- 31: 22(int) Constant 1
- 37: TypePointer Output 7(fvec4)
-38(gl_FragColor): 37(ptr) Variable Output
- 4(main): 2 Function None 3
- 5: Label
- 9(white): 8(ptr) Variable Function
- 12(black): 8(ptr) Variable Function
- 15(color): 8(ptr) Variable Function
- 18(x): 17(ptr) Variable Function
- 30(y): 17(ptr) Variable Function
- Store 9(white) 11
- Store 12(black) 14
- 16: 7(fvec4) Load 9(white)
- Store 15(color) 16
- 25: 24(ptr) AccessChain 21(tex_coord) 23
- 26: 6(float) Load 25
- 28: 6(float) FMul 26 27
- 29: 6(float) FSub 28 10
- Store 18(x) 29
- 32: 24(ptr) AccessChain 21(tex_coord) 31
- 33: 6(float) Load 32
- 34: 6(float) FMul 33 27
- 35: 6(float) FSub 34 10
- Store 30(y) 35
- Kill
- FunctionEnd
+spv.always-discard2.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 40
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 21
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 110
+ Name 4 "main"
+ Name 9 "white"
+ Name 12 "black"
+ Name 15 "color"
+ Name 18 "x"
+ Name 21 "tex_coord"
+ Name 30 "y"
+ Name 38 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: 6(float) Constant 1065353216
+ 11: 7(fvec4) ConstantComposite 10 10 10 10
+ 13: 6(float) Constant 1045220557
+ 14: 7(fvec4) ConstantComposite 13 13 13 13
+ 17: TypePointer Function 6(float)
+ 19: TypeVector 6(float) 2
+ 20: TypePointer Input 19(fvec2)
+ 21(tex_coord): 20(ptr) Variable Input
+ 22: TypeInt 32 0
+ 23: 22(int) Constant 0
+ 24: TypePointer Input 6(float)
+ 27: 6(float) Constant 1073741824
+ 31: 22(int) Constant 1
+ 37: TypePointer Output 7(fvec4)
+38(gl_FragColor): 37(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(white): 8(ptr) Variable Function
+ 12(black): 8(ptr) Variable Function
+ 15(color): 8(ptr) Variable Function
+ 18(x): 17(ptr) Variable Function
+ 30(y): 17(ptr) Variable Function
+ Store 9(white) 11
+ Store 12(black) 14
+ 16: 7(fvec4) Load 9(white)
+ Store 15(color) 16
+ 25: 24(ptr) AccessChain 21(tex_coord) 23
+ 26: 6(float) Load 25
+ 28: 6(float) FMul 26 27
+ 29: 6(float) FSub 28 10
+ Store 18(x) 29
+ 32: 24(ptr) AccessChain 21(tex_coord) 31
+ 33: 6(float) Load 32
+ 34: 6(float) FMul 33 27
+ 35: 6(float) FSub 34 10
+ Store 30(y) 35
+ Kill
+ FunctionEnd
diff --git a/Test/baseResults/spv.atomic.comp.out b/Test/baseResults/spv.atomic.comp.out
index ae3ee49..2ee4978 100755
--- a/Test/baseResults/spv.atomic.comp.out
+++ b/Test/baseResults/spv.atomic.comp.out
@@ -1,132 +1,132 @@
-spv.atomic.comp
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked compute stage:
-
-
-TBD functionality: Is atomic_uint an opaque handle in the uniform storage class, or an addresses in the atomic storage class?
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 74
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint GLCompute 4 "main"
- ExecutionMode 4 LocalSize 1 1 1
- Source ESSL 310
- Name 4 "main"
- Name 10 "func(au1;"
- Name 9 "c"
- Name 12 "atoms("
- Name 20 "counter"
- Name 21 "param"
- Name 24 "val"
- Name 28 "countArr"
- Name 35 "origi"
- Name 37 "atomi"
- Name 40 "origu"
- Name 42 "atomu"
- Name 44 "value"
- Name 61 "dataSSB"
- MemberName 61(dataSSB) 0 "f"
- MemberName 61(dataSSB) 1 "n_frames_rendered"
- Name 63 "result"
- Name 71 "arrX"
- Name 72 "arrY"
- Name 73 "arrZ"
- Decorate 20(counter) Binding 0
- Decorate 28(countArr) Binding 0
- MemberDecorate 61(dataSSB) 0 Offset 0
- MemberDecorate 61(dataSSB) 1 Offset 16
- Decorate 61(dataSSB) BufferBlock
- Decorate 63(result) Binding 0
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 0
- 7: TypePointer Function 6(int)
- 8: TypeFunction 6(int) 7(ptr)
- 14: 6(int) Constant 1
- 15: 6(int) Constant 0
- 18: 6(int) Constant 1024
- 19: TypePointer AtomicCounter 6(int)
- 20(counter): 19(ptr) Variable AtomicCounter
- 25: 6(int) Constant 4
- 26: TypeArray 6(int) 25
- 27: TypePointer AtomicCounter 26
- 28(countArr): 27(ptr) Variable AtomicCounter
- 29: TypeInt 32 1
- 30: 29(int) Constant 2
- 34: TypePointer Function 29(int)
- 36: TypePointer Workgroup 29(int)
- 37(atomi): 36(ptr) Variable Workgroup
- 38: 29(int) Constant 3
- 41: TypePointer Workgroup 6(int)
- 42(atomu): 41(ptr) Variable Workgroup
- 43: TypePointer UniformConstant 6(int)
- 44(value): 43(ptr) Variable UniformConstant
- 47: 6(int) Constant 7
- 52: 29(int) Constant 7
- 56: 6(int) Constant 10
- 59: TypeFloat 32
- 60: TypeVector 29(int) 4
- 61(dataSSB): TypeStruct 59(float) 60(ivec4)
- 62: TypePointer Uniform 61(dataSSB)
- 63(result): 62(ptr) Variable Uniform
- 64: 29(int) Constant 1
- 65: 6(int) Constant 2
- 66: TypePointer Uniform 29(int)
- 69: TypeArray 29(int) 14
- 70: TypePointer Private 69
- 71(arrX): 70(ptr) Variable Private
- 72(arrY): 70(ptr) Variable Private
- 73(arrZ): 70(ptr) Variable Private
- 4(main): 2 Function None 3
- 5: Label
- 21(param): 7(ptr) Variable Function
- 24(val): 7(ptr) Variable Function
- MemoryBarrier 14 18
- 22: 6(int) Load 20(counter)
- Store 21(param) 22
- 23: 6(int) FunctionCall 10(func(au1;) 21(param)
- 31: 19(ptr) AccessChain 28(countArr) 30
- 32: 6(int) AtomicLoad 31 14 15
- Store 24(val) 32
- 33: 6(int) AtomicIDecrement 20(counter) 14 15
- Return
- FunctionEnd
- 10(func(au1;): 6(int) Function None 8
- 9(c): 7(ptr) FunctionParameter
- 11: Label
- 16: 6(int) AtomicIIncrement 9(c) 14 15
- ReturnValue 16
- FunctionEnd
- 12(atoms(): 2 Function None 3
- 13: Label
- 35(origi): 34(ptr) Variable Function
- 40(origu): 7(ptr) Variable Function
- 39: 29(int) AtomicIAdd 37(atomi) 14 15 38
- Store 35(origi) 39
- 45: 6(int) Load 44(value)
- 46: 6(int) AtomicAnd 42(atomu) 14 15 45
- Store 40(origu) 46
- 48: 6(int) AtomicOr 42(atomu) 14 15 47
- Store 40(origu) 48
- 49: 6(int) AtomicXor 42(atomu) 14 15 47
- Store 40(origu) 49
- 50: 6(int) Load 44(value)
- 51: 6(int) AtomicUMin 42(atomu) 14 15 50
- Store 40(origu) 51
- 53: 29(int) AtomicSMax 37(atomi) 14 15 52
- Store 35(origi) 53
- 54: 29(int) Load 35(origi)
- 55: 29(int) AtomicExchange 37(atomi) 14 15 54
- Store 35(origi) 55
- 57: 6(int) Load 44(value)
- 58: 6(int) AtomicCompareExchange 42(atomu) 14 15 15 57 56
- Store 40(origu) 58
- 67: 66(ptr) AccessChain 63(result) 64 65
- 68: 29(int) AtomicIAdd 67 14 15 64
- Return
- FunctionEnd
+spv.atomic.comp
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked compute stage:
+
+
+TBD functionality: Is atomic_uint an opaque handle in the uniform storage class, or an addresses in the atomic storage class?
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 74
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint GLCompute 4 "main"
+ ExecutionMode 4 LocalSize 1 1 1
+ Source ESSL 310
+ Name 4 "main"
+ Name 10 "func(au1;"
+ Name 9 "c"
+ Name 12 "atoms("
+ Name 20 "counter"
+ Name 21 "param"
+ Name 24 "val"
+ Name 28 "countArr"
+ Name 35 "origi"
+ Name 37 "atomi"
+ Name 40 "origu"
+ Name 42 "atomu"
+ Name 44 "value"
+ Name 61 "dataSSB"
+ MemberName 61(dataSSB) 0 "f"
+ MemberName 61(dataSSB) 1 "n_frames_rendered"
+ Name 63 "result"
+ Name 71 "arrX"
+ Name 72 "arrY"
+ Name 73 "arrZ"
+ Decorate 20(counter) Binding 0
+ Decorate 28(countArr) Binding 0
+ MemberDecorate 61(dataSSB) 0 Offset 0
+ MemberDecorate 61(dataSSB) 1 Offset 16
+ Decorate 61(dataSSB) BufferBlock
+ Decorate 63(result) Binding 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7: TypePointer Function 6(int)
+ 8: TypeFunction 6(int) 7(ptr)
+ 14: 6(int) Constant 1
+ 15: 6(int) Constant 0
+ 18: 6(int) Constant 1024
+ 19: TypePointer AtomicCounter 6(int)
+ 20(counter): 19(ptr) Variable AtomicCounter
+ 25: 6(int) Constant 4
+ 26: TypeArray 6(int) 25
+ 27: TypePointer AtomicCounter 26
+ 28(countArr): 27(ptr) Variable AtomicCounter
+ 29: TypeInt 32 1
+ 30: 29(int) Constant 2
+ 34: TypePointer Function 29(int)
+ 36: TypePointer Workgroup 29(int)
+ 37(atomi): 36(ptr) Variable Workgroup
+ 38: 29(int) Constant 3
+ 41: TypePointer Workgroup 6(int)
+ 42(atomu): 41(ptr) Variable Workgroup
+ 43: TypePointer UniformConstant 6(int)
+ 44(value): 43(ptr) Variable UniformConstant
+ 47: 6(int) Constant 7
+ 52: 29(int) Constant 7
+ 56: 6(int) Constant 10
+ 59: TypeFloat 32
+ 60: TypeVector 29(int) 4
+ 61(dataSSB): TypeStruct 59(float) 60(ivec4)
+ 62: TypePointer Uniform 61(dataSSB)
+ 63(result): 62(ptr) Variable Uniform
+ 64: 29(int) Constant 1
+ 65: 6(int) Constant 2
+ 66: TypePointer Uniform 29(int)
+ 69: TypeArray 29(int) 14
+ 70: TypePointer Private 69
+ 71(arrX): 70(ptr) Variable Private
+ 72(arrY): 70(ptr) Variable Private
+ 73(arrZ): 70(ptr) Variable Private
+ 4(main): 2 Function None 3
+ 5: Label
+ 21(param): 7(ptr) Variable Function
+ 24(val): 7(ptr) Variable Function
+ MemoryBarrier 14 18
+ 22: 6(int) Load 20(counter)
+ Store 21(param) 22
+ 23: 6(int) FunctionCall 10(func(au1;) 21(param)
+ 31: 19(ptr) AccessChain 28(countArr) 30
+ 32: 6(int) AtomicLoad 31 14 15
+ Store 24(val) 32
+ 33: 6(int) AtomicIDecrement 20(counter) 14 15
+ Return
+ FunctionEnd
+ 10(func(au1;): 6(int) Function None 8
+ 9(c): 7(ptr) FunctionParameter
+ 11: Label
+ 16: 6(int) AtomicIIncrement 9(c) 14 15
+ ReturnValue 16
+ FunctionEnd
+ 12(atoms(): 2 Function None 3
+ 13: Label
+ 35(origi): 34(ptr) Variable Function
+ 40(origu): 7(ptr) Variable Function
+ 39: 29(int) AtomicIAdd 37(atomi) 14 15 38
+ Store 35(origi) 39
+ 45: 6(int) Load 44(value)
+ 46: 6(int) AtomicAnd 42(atomu) 14 15 45
+ Store 40(origu) 46
+ 48: 6(int) AtomicOr 42(atomu) 14 15 47
+ Store 40(origu) 48
+ 49: 6(int) AtomicXor 42(atomu) 14 15 47
+ Store 40(origu) 49
+ 50: 6(int) Load 44(value)
+ 51: 6(int) AtomicUMin 42(atomu) 14 15 50
+ Store 40(origu) 51
+ 53: 29(int) AtomicSMax 37(atomi) 14 15 52
+ Store 35(origi) 53
+ 54: 29(int) Load 35(origi)
+ 55: 29(int) AtomicExchange 37(atomi) 14 15 54
+ Store 35(origi) 55
+ 57: 6(int) Load 44(value)
+ 58: 6(int) AtomicCompareExchange 42(atomu) 14 15 15 57 56
+ Store 40(origu) 58
+ 67: 66(ptr) AccessChain 63(result) 64 65
+ 68: 29(int) AtomicIAdd 67 14 15 64
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.bool.vert.out b/Test/baseResults/spv.bool.vert.out
index 04aff36..7217ae7 100644
--- a/Test/baseResults/spv.bool.vert.out
+++ b/Test/baseResults/spv.bool.vert.out
@@ -1,98 +1,98 @@
-spv.bool.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 49
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 23 47 48
- Source GLSL 450
- Name 4 "main"
- Name 10 "foo(b1;"
- Name 9 "b"
- Name 21 "gl_PerVertex"
- MemberName 21(gl_PerVertex) 0 "gl_Position"
- MemberName 21(gl_PerVertex) 1 "gl_PointSize"
- MemberName 21(gl_PerVertex) 2 "gl_ClipDistance"
- MemberName 21(gl_PerVertex) 3 "gl_CullDistance"
- Name 23 ""
- Name 28 "ubname"
- MemberName 28(ubname) 0 "b"
- Name 30 "ubinst"
- Name 31 "param"
- Name 47 "gl_VertexID"
- Name 48 "gl_InstanceID"
- MemberDecorate 21(gl_PerVertex) 0 BuiltIn Position
- MemberDecorate 21(gl_PerVertex) 1 BuiltIn PointSize
- MemberDecorate 21(gl_PerVertex) 2 BuiltIn ClipDistance
- MemberDecorate 21(gl_PerVertex) 3 BuiltIn CullDistance
- Decorate 21(gl_PerVertex) Block
- Decorate 28(ubname) GLSLShared
- Decorate 28(ubname) Block
- Decorate 47(gl_VertexID) BuiltIn VertexId
- Decorate 48(gl_InstanceID) BuiltIn InstanceId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeBool
- 7: TypePointer Function 6(bool)
- 8: TypeFunction 6(bool) 7(ptr)
- 13: 6(bool) ConstantFalse
- 16: TypeFloat 32
- 17: TypeVector 16(float) 4
- 18: TypeInt 32 0
- 19: 18(int) Constant 1
- 20: TypeArray 16(float) 19
-21(gl_PerVertex): TypeStruct 17(fvec4) 16(float) 20 20
- 22: TypePointer Output 21(gl_PerVertex)
- 23: 22(ptr) Variable Output
- 24: TypeInt 32 1
- 25: 24(int) Constant 0
- 26: TypePointer Function 17(fvec4)
- 28(ubname): TypeStruct 6(bool)
- 29: TypePointer Uniform 28(ubname)
- 30(ubinst): 29(ptr) Variable Uniform
- 32: TypePointer Uniform 6(bool)
- 38: 16(float) Constant 0
- 39: 17(fvec4) ConstantComposite 38 38 38 38
- 41: 16(float) Constant 1065353216
- 42: 17(fvec4) ConstantComposite 41 41 41 41
- 44: TypePointer Output 17(fvec4)
- 46: TypePointer Input 24(int)
- 47(gl_VertexID): 46(ptr) Variable Input
-48(gl_InstanceID): 46(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 27: 26(ptr) Variable Function
- 31(param): 7(ptr) Variable Function
- 33: 32(ptr) AccessChain 30(ubinst) 25
- 34: 6(bool) Load 33
- Store 31(param) 34
- 35: 6(bool) FunctionCall 10(foo(b1;) 31(param)
- SelectionMerge 37 None
- BranchConditional 35 36 40
- 36: Label
- Store 27 39
- Branch 37
- 40: Label
- Store 27 42
- Branch 37
- 37: Label
- 43: 17(fvec4) Load 27
- 45: 44(ptr) AccessChain 23 25
- Store 45 43
- Return
- FunctionEnd
- 10(foo(b1;): 6(bool) Function None 8
- 9(b): 7(ptr) FunctionParameter
- 11: Label
- 12: 6(bool) Load 9(b)
- 14: 6(bool) INotEqual 12 13
- ReturnValue 14
- FunctionEnd
+spv.bool.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 49
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 23 47 48
+ Source GLSL 450
+ Name 4 "main"
+ Name 10 "foo(b1;"
+ Name 9 "b"
+ Name 21 "gl_PerVertex"
+ MemberName 21(gl_PerVertex) 0 "gl_Position"
+ MemberName 21(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 21(gl_PerVertex) 2 "gl_ClipDistance"
+ MemberName 21(gl_PerVertex) 3 "gl_CullDistance"
+ Name 23 ""
+ Name 28 "ubname"
+ MemberName 28(ubname) 0 "b"
+ Name 30 "ubinst"
+ Name 31 "param"
+ Name 47 "gl_VertexID"
+ Name 48 "gl_InstanceID"
+ MemberDecorate 21(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 21(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 21(gl_PerVertex) 2 BuiltIn ClipDistance
+ MemberDecorate 21(gl_PerVertex) 3 BuiltIn CullDistance
+ Decorate 21(gl_PerVertex) Block
+ Decorate 28(ubname) GLSLShared
+ Decorate 28(ubname) Block
+ Decorate 47(gl_VertexID) BuiltIn VertexId
+ Decorate 48(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeBool
+ 7: TypePointer Function 6(bool)
+ 8: TypeFunction 6(bool) 7(ptr)
+ 13: 6(bool) ConstantFalse
+ 16: TypeFloat 32
+ 17: TypeVector 16(float) 4
+ 18: TypeInt 32 0
+ 19: 18(int) Constant 1
+ 20: TypeArray 16(float) 19
+21(gl_PerVertex): TypeStruct 17(fvec4) 16(float) 20 20
+ 22: TypePointer Output 21(gl_PerVertex)
+ 23: 22(ptr) Variable Output
+ 24: TypeInt 32 1
+ 25: 24(int) Constant 0
+ 26: TypePointer Function 17(fvec4)
+ 28(ubname): TypeStruct 6(bool)
+ 29: TypePointer Uniform 28(ubname)
+ 30(ubinst): 29(ptr) Variable Uniform
+ 32: TypePointer Uniform 6(bool)
+ 38: 16(float) Constant 0
+ 39: 17(fvec4) ConstantComposite 38 38 38 38
+ 41: 16(float) Constant 1065353216
+ 42: 17(fvec4) ConstantComposite 41 41 41 41
+ 44: TypePointer Output 17(fvec4)
+ 46: TypePointer Input 24(int)
+ 47(gl_VertexID): 46(ptr) Variable Input
+48(gl_InstanceID): 46(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 27: 26(ptr) Variable Function
+ 31(param): 7(ptr) Variable Function
+ 33: 32(ptr) AccessChain 30(ubinst) 25
+ 34: 6(bool) Load 33
+ Store 31(param) 34
+ 35: 6(bool) FunctionCall 10(foo(b1;) 31(param)
+ SelectionMerge 37 None
+ BranchConditional 35 36 40
+ 36: Label
+ Store 27 39
+ Branch 37
+ 40: Label
+ Store 27 42
+ Branch 37
+ 37: Label
+ 43: 17(fvec4) Load 27
+ 45: 44(ptr) AccessChain 23 25
+ Store 45 43
+ Return
+ FunctionEnd
+ 10(foo(b1;): 6(bool) Function None 8
+ 9(b): 7(ptr) FunctionParameter
+ 11: Label
+ 12: 6(bool) Load 9(b)
+ 14: 6(bool) INotEqual 12 13
+ ReturnValue 14
+ FunctionEnd
diff --git a/Test/baseResults/spv.conditionalDiscard.frag.out b/Test/baseResults/spv.conditionalDiscard.frag.out
index 64bf521..7a2c55e 100755
--- a/Test/baseResults/spv.conditionalDiscard.frag.out
+++ b/Test/baseResults/spv.conditionalDiscard.frag.out
@@ -1,62 +1,62 @@
-spv.conditionalDiscard.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 36
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 17
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 400
- Name 4 "main"
- Name 9 "v"
- Name 13 "tex"
- Name 17 "coord"
- Name 34 "gl_FragColor"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 10: TypeImage 6(float) 2D sampled format:Unknown
- 11: TypeSampledImage 10
- 12: TypePointer UniformConstant 11
- 13(tex): 12(ptr) Variable UniformConstant
- 15: TypeVector 6(float) 2
- 16: TypePointer Input 15(fvec2)
- 17(coord): 16(ptr) Variable Input
- 21: 6(float) Constant 1036831949
- 22: 6(float) Constant 1045220557
- 23: 6(float) Constant 1050253722
- 24: 6(float) Constant 1053609165
- 25: 7(fvec4) ConstantComposite 21 22 23 24
- 26: TypeBool
- 27: TypeVector 26(bool) 4
- 33: TypePointer Output 7(fvec4)
-34(gl_FragColor): 33(ptr) Variable Output
- 4(main): 2 Function None 3
- 5: Label
- 9(v): 8(ptr) Variable Function
- 14: 11 Load 13(tex)
- 18: 15(fvec2) Load 17(coord)
- 19: 7(fvec4) ImageSampleImplicitLod 14 18
- Store 9(v) 19
- 20: 7(fvec4) Load 9(v)
- 28: 27(bvec4) FOrdEqual 20 25
- 29: 26(bool) All 28
- SelectionMerge 31 None
- BranchConditional 29 30 31
- 30: Label
- Kill
- 31: Label
- 35: 7(fvec4) Load 9(v)
- Store 34(gl_FragColor) 35
- Return
- FunctionEnd
+spv.conditionalDiscard.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 36
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 17
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 400
+ Name 4 "main"
+ Name 9 "v"
+ Name 13 "tex"
+ Name 17 "coord"
+ Name 34 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypeImage 6(float) 2D sampled format:Unknown
+ 11: TypeSampledImage 10
+ 12: TypePointer UniformConstant 11
+ 13(tex): 12(ptr) Variable UniformConstant
+ 15: TypeVector 6(float) 2
+ 16: TypePointer Input 15(fvec2)
+ 17(coord): 16(ptr) Variable Input
+ 21: 6(float) Constant 1036831949
+ 22: 6(float) Constant 1045220557
+ 23: 6(float) Constant 1050253722
+ 24: 6(float) Constant 1053609165
+ 25: 7(fvec4) ConstantComposite 21 22 23 24
+ 26: TypeBool
+ 27: TypeVector 26(bool) 4
+ 33: TypePointer Output 7(fvec4)
+34(gl_FragColor): 33(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(v): 8(ptr) Variable Function
+ 14: 11 Load 13(tex)
+ 18: 15(fvec2) Load 17(coord)
+ 19: 7(fvec4) ImageSampleImplicitLod 14 18
+ Store 9(v) 19
+ 20: 7(fvec4) Load 9(v)
+ 28: 27(bvec4) FOrdEqual 20 25
+ 29: 26(bool) All 28
+ SelectionMerge 31 None
+ BranchConditional 29 30 31
+ 30: Label
+ Kill
+ 31: Label
+ 35: 7(fvec4) Load 9(v)
+ Store 34(gl_FragColor) 35
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.conversion.frag.out b/Test/baseResults/spv.conversion.frag.out
index 8ca8e7b..2f86931 100755
--- a/Test/baseResults/spv.conversion.frag.out
+++ b/Test/baseResults/spv.conversion.frag.out
@@ -1,577 +1,577 @@
-spv.conversion.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 455
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 39 446 448 157 53 450 452 454
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 8 "b"
- Name 11 "u_i"
- Name 18 "u_f"
- Name 25 "b2"
- Name 33 "b3"
- Name 39 "i_i"
- Name 45 "b4"
- Name 53 "i_f"
- Name 58 "i"
- Name 68 "i2"
- Name 71 "u_f2"
- Name 81 "i3"
- Name 84 "u_f3"
- Name 94 "i4"
- Name 97 "u_f4"
- Name 106 "f"
- Name 110 "f2"
- Name 114 "f3"
- Name 118 "f4"
- Name 157 "i_i4"
- Name 322 "gl_FragColor"
- Name 417 "cv2"
- Name 418 "cv5"
- Name 428 "u_b"
- Name 430 "u_b2"
- Name 432 "u_b3"
- Name 434 "u_b4"
- Name 436 "u_i2"
- Name 438 "u_i3"
- Name 440 "u_i4"
- Name 441 "i_b"
- Name 442 "i_b2"
- Name 443 "i_b3"
- Name 444 "i_b4"
- Name 446 "i_i2"
- Name 448 "i_i3"
- Name 450 "i_f2"
- Name 452 "i_f3"
- Name 454 "i_f4"
- Decorate 39(i_i) Flat
- Decorate 157(i_i4) Flat
- Decorate 446(i_i2) Flat
- Decorate 448(i_i3) Flat
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeBool
- 7: TypePointer Function 6(bool)
- 9: TypeInt 32 1
- 10: TypePointer UniformConstant 9(int)
- 11(u_i): 10(ptr) Variable UniformConstant
- 13: TypeInt 32 0
- 14: 13(int) Constant 0
- 16: TypeFloat 32
- 17: TypePointer UniformConstant 16(float)
- 18(u_f): 17(ptr) Variable UniformConstant
- 20: 16(float) Constant 0
- 23: TypeVector 6(bool) 2
- 24: TypePointer Function 23(bvec2)
- 31: TypeVector 6(bool) 3
- 32: TypePointer Function 31(bvec3)
- 38: TypePointer Input 9(int)
- 39(i_i): 38(ptr) Variable Input
- 43: TypeVector 6(bool) 4
- 44: TypePointer Function 43(bvec4)
- 52: TypePointer Input 16(float)
- 53(i_f): 52(ptr) Variable Input
- 57: TypePointer Function 9(int)
- 62: 9(int) Constant 0
- 63: 9(int) Constant 1
- 66: TypeVector 9(int) 2
- 67: TypePointer Function 66(ivec2)
- 69: TypeVector 16(float) 2
- 70: TypePointer UniformConstant 69(fvec2)
- 71(u_f2): 70(ptr) Variable UniformConstant
- 75: 66(ivec2) ConstantComposite 62 62
- 76: 66(ivec2) ConstantComposite 63 63
- 79: TypeVector 9(int) 3
- 80: TypePointer Function 79(ivec3)
- 82: TypeVector 16(float) 3
- 83: TypePointer UniformConstant 82(fvec3)
- 84(u_f3): 83(ptr) Variable UniformConstant
- 88: 79(ivec3) ConstantComposite 62 62 62
- 89: 79(ivec3) ConstantComposite 63 63 63
- 92: TypeVector 9(int) 4
- 93: TypePointer Function 92(ivec4)
- 95: TypeVector 16(float) 4
- 96: TypePointer UniformConstant 95(fvec4)
- 97(u_f4): 96(ptr) Variable UniformConstant
- 101: 92(ivec4) ConstantComposite 62 62 62 62
- 102: 92(ivec4) ConstantComposite 63 63 63 63
- 105: TypePointer Function 16(float)
- 109: TypePointer Function 69(fvec2)
- 113: TypePointer Function 82(fvec3)
- 117: TypePointer Function 95(fvec4)
- 124: 16(float) Constant 1065353216
- 132: 69(fvec2) ConstantComposite 20 20
- 133: 69(fvec2) ConstantComposite 124 124
- 141: 82(fvec3) ConstantComposite 20 20 20
- 142: 82(fvec3) ConstantComposite 124 124 124
- 150: 95(fvec4) ConstantComposite 20 20 20 20
- 151: 95(fvec4) ConstantComposite 124 124 124 124
- 156: TypePointer Input 92(ivec4)
- 157(i_i4): 156(ptr) Variable Input
- 159: TypeVector 13(int) 4
- 160: 159(ivec4) ConstantComposite 14 14 14 14
- 315: 13(int) Constant 1
- 321: TypePointer Output 95(fvec4)
-322(gl_FragColor): 321(ptr) Variable Output
- 367: 13(int) Constant 2
- 380: 13(int) Constant 3
- 427: TypePointer UniformConstant 6(bool)
- 428(u_b): 427(ptr) Variable UniformConstant
- 429: TypePointer UniformConstant 23(bvec2)
- 430(u_b2): 429(ptr) Variable UniformConstant
- 431: TypePointer UniformConstant 31(bvec3)
- 432(u_b3): 431(ptr) Variable UniformConstant
- 433: TypePointer UniformConstant 43(bvec4)
- 434(u_b4): 433(ptr) Variable UniformConstant
- 435: TypePointer UniformConstant 66(ivec2)
- 436(u_i2): 435(ptr) Variable UniformConstant
- 437: TypePointer UniformConstant 79(ivec3)
- 438(u_i3): 437(ptr) Variable UniformConstant
- 439: TypePointer UniformConstant 92(ivec4)
- 440(u_i4): 439(ptr) Variable UniformConstant
- 441(i_b): 427(ptr) Variable UniformConstant
- 442(i_b2): 429(ptr) Variable UniformConstant
- 443(i_b3): 431(ptr) Variable UniformConstant
- 444(i_b4): 433(ptr) Variable UniformConstant
- 445: TypePointer Input 66(ivec2)
- 446(i_i2): 445(ptr) Variable Input
- 447: TypePointer Input 79(ivec3)
- 448(i_i3): 447(ptr) Variable Input
- 449: TypePointer Input 69(fvec2)
- 450(i_f2): 449(ptr) Variable Input
- 451: TypePointer Input 82(fvec3)
- 452(i_f3): 451(ptr) Variable Input
- 453: TypePointer Input 95(fvec4)
- 454(i_f4): 453(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 8(b): 7(ptr) Variable Function
- 25(b2): 24(ptr) Variable Function
- 33(b3): 32(ptr) Variable Function
- 45(b4): 44(ptr) Variable Function
- 58(i): 57(ptr) Variable Function
- 68(i2): 67(ptr) Variable Function
- 81(i3): 80(ptr) Variable Function
- 94(i4): 93(ptr) Variable Function
- 106(f): 105(ptr) Variable Function
- 110(f2): 109(ptr) Variable Function
- 114(f3): 113(ptr) Variable Function
- 118(f4): 117(ptr) Variable Function
- 297: 105(ptr) Variable Function
- 307: 105(ptr) Variable Function
- 323: 117(ptr) Variable Function
- 417(cv2): 93(ptr) Variable Function
- 418(cv5): 44(ptr) Variable Function
- 12: 9(int) Load 11(u_i)
- 15: 6(bool) INotEqual 12 14
- 19: 16(float) Load 18(u_f)
- 21: 6(bool) FOrdNotEqual 19 20
- 22: 6(bool) LogicalNotEqual 15 21
- Store 8(b) 22
- 26: 9(int) Load 11(u_i)
- 27: 6(bool) INotEqual 26 14
- 28: 16(float) Load 18(u_f)
- 29: 6(bool) FOrdNotEqual 28 20
- 30: 23(bvec2) CompositeConstruct 27 29
- Store 25(b2) 30
- 34: 9(int) Load 11(u_i)
- 35: 6(bool) INotEqual 34 14
- 36: 16(float) Load 18(u_f)
- 37: 6(bool) FOrdNotEqual 36 20
- 40: 9(int) Load 39(i_i)
- 41: 6(bool) INotEqual 40 14
- 42: 31(bvec3) CompositeConstruct 35 37 41
- Store 33(b3) 42
- 46: 9(int) Load 11(u_i)
- 47: 6(bool) INotEqual 46 14
- 48: 16(float) Load 18(u_f)
- 49: 6(bool) FOrdNotEqual 48 20
- 50: 9(int) Load 39(i_i)
- 51: 6(bool) INotEqual 50 14
- 54: 16(float) Load 53(i_f)
- 55: 6(bool) FOrdNotEqual 54 20
- 56: 43(bvec4) CompositeConstruct 47 49 51 55
- Store 45(b4) 56
- 59: 16(float) Load 18(u_f)
- 60: 9(int) ConvertFToS 59
- 61: 6(bool) Load 8(b)
- 64: 9(int) Select 61 63 62
- 65: 9(int) IAdd 60 64
- Store 58(i) 65
- 72: 69(fvec2) Load 71(u_f2)
- 73: 66(ivec2) ConvertFToS 72
- 74: 23(bvec2) Load 25(b2)
- 77: 66(ivec2) Select 74 76 75
- 78: 66(ivec2) IAdd 73 77
- Store 68(i2) 78
- 85: 82(fvec3) Load 84(u_f3)
- 86: 79(ivec3) ConvertFToS 85
- 87: 31(bvec3) Load 33(b3)
- 90: 79(ivec3) Select 87 89 88
- 91: 79(ivec3) IAdd 86 90
- Store 81(i3) 91
- 98: 95(fvec4) Load 97(u_f4)
- 99: 92(ivec4) ConvertFToS 98
- 100: 43(bvec4) Load 45(b4)
- 103: 92(ivec4) Select 100 102 101
- 104: 92(ivec4) IAdd 99 103
- Store 94(i4) 104
- 107: 9(int) Load 58(i)
- 108: 16(float) ConvertSToF 107
- Store 106(f) 108
- 111: 66(ivec2) Load 68(i2)
- 112: 69(fvec2) ConvertSToF 111
- Store 110(f2) 112
- 115: 79(ivec3) Load 81(i3)
- 116: 82(fvec3) ConvertSToF 115
- Store 114(f3) 116
- 119: 92(ivec4) Load 94(i4)
- 120: 95(fvec4) ConvertSToF 119
- Store 118(f4) 120
- 121: 9(int) Load 58(i)
- 122: 16(float) ConvertSToF 121
- 123: 6(bool) Load 8(b)
- 125: 16(float) Select 123 124 20
- 126: 16(float) FAdd 122 125
- 127: 16(float) Load 106(f)
- 128: 16(float) FAdd 127 126
- Store 106(f) 128
- 129: 66(ivec2) Load 68(i2)
- 130: 69(fvec2) ConvertSToF 129
- 131: 23(bvec2) Load 25(b2)
- 134: 69(fvec2) Select 131 133 132
- 135: 69(fvec2) FAdd 130 134
- 136: 69(fvec2) Load 110(f2)
- 137: 69(fvec2) FSub 136 135
- Store 110(f2) 137
- 138: 79(ivec3) Load 81(i3)
- 139: 82(fvec3) ConvertSToF 138
- 140: 31(bvec3) Load 33(b3)
- 143: 82(fvec3) Select 140 142 141
- 144: 82(fvec3) FAdd 139 143
- 145: 82(fvec3) Load 114(f3)
- 146: 82(fvec3) FDiv 145 144
- Store 114(f3) 146
- 147: 92(ivec4) Load 94(i4)
- 148: 95(fvec4) ConvertSToF 147
- 149: 43(bvec4) Load 45(b4)
- 152: 95(fvec4) Select 149 151 150
- 153: 95(fvec4) FAdd 148 152
- 154: 95(fvec4) Load 118(f4)
- 155: 95(fvec4) FAdd 154 153
- Store 118(f4) 155
- 158: 92(ivec4) Load 157(i_i4)
- 161: 43(bvec4) INotEqual 158 160
- 162: 95(fvec4) Select 161 151 150
- 163: 95(fvec4) Load 118(f4)
- 164: 95(fvec4) FAdd 163 162
- Store 118(f4) 164
- 165: 95(fvec4) Load 97(u_f4)
- 166: 43(bvec4) FOrdNotEqual 165 150
- 167: 95(fvec4) Select 166 151 150
- 168: 95(fvec4) Load 118(f4)
- 169: 95(fvec4) FAdd 168 167
- Store 118(f4) 169
- 170: 16(float) Load 106(f)
- 171: 9(int) Load 58(i)
- 172: 16(float) ConvertSToF 171
- 173: 16(float) FSub 170 172
- 174: 16(float) Load 106(f)
- 175: 16(float) FAdd 174 173
- Store 106(f) 175
- 176: 16(float) Load 106(f)
- 177: 9(int) Load 58(i)
- 178: 16(float) ConvertSToF 177
- 179: 69(fvec2) CompositeConstruct 176 178
- 180: 66(ivec2) Load 68(i2)
- 181: 69(fvec2) ConvertSToF 180
- 182: 69(fvec2) FAdd 179 181
- 183: 69(fvec2) Load 110(f2)
- 184: 69(fvec2) FAdd 183 182
- Store 110(f2) 184
- 185: 79(ivec3) Load 81(i3)
- 186: 82(fvec3) ConvertSToF 185
- 187: 16(float) Load 106(f)
- 188: 9(int) Load 58(i)
- 189: 16(float) ConvertSToF 188
- 190: 16(float) Load 106(f)
- 191: 82(fvec3) CompositeConstruct 187 189 190
- 192: 82(fvec3) FAdd 186 191
- 193: 82(fvec3) Load 114(f3)
- 194: 82(fvec3) FAdd 193 192
- Store 114(f3) 194
- 195: 6(bool) Load 8(b)
- 196: 16(float) Select 195 124 20
- 197: 9(int) Load 58(i)
- 198: 16(float) ConvertSToF 197
- 199: 16(float) Load 106(f)
- 200: 9(int) Load 58(i)
- 201: 16(float) ConvertSToF 200
- 202: 95(fvec4) CompositeConstruct 196 198 199 201
- 203: 92(ivec4) Load 94(i4)
- 204: 95(fvec4) ConvertSToF 203
- 205: 95(fvec4) FAdd 202 204
- 206: 95(fvec4) Load 118(f4)
- 207: 95(fvec4) FAdd 206 205
- Store 118(f4) 207
- 208: 16(float) Load 106(f)
- 209: 9(int) Load 58(i)
- 210: 16(float) ConvertSToF 209
- 211: 69(fvec2) CompositeConstruct 208 210
- 212: 9(int) Load 58(i)
- 213: 16(float) ConvertSToF 212
- 214: 69(fvec2) VectorTimesScalar 211 213
- 215: 69(fvec2) Load 110(f2)
- 216: 69(fvec2) FAdd 215 214
- Store 110(f2) 216
- 217: 16(float) Load 106(f)
- 218: 9(int) Load 58(i)
- 219: 16(float) ConvertSToF 218
- 220: 16(float) Load 106(f)
- 221: 82(fvec3) CompositeConstruct 217 219 220
- 222: 9(int) Load 58(i)
- 223: 16(float) ConvertSToF 222
- 224: 82(fvec3) CompositeConstruct 223 223 223
- 225: 82(fvec3) FAdd 221 224
- 226: 82(fvec3) Load 114(f3)
- 227: 82(fvec3) FAdd 226 225
- Store 114(f3) 227
- 228: 9(int) Load 58(i)
- 229: 16(float) ConvertSToF 228
- 230: 6(bool) Load 8(b)
- 231: 16(float) Select 230 124 20
- 232: 9(int) Load 58(i)
- 233: 16(float) ConvertSToF 232
- 234: 16(float) Load 106(f)
- 235: 9(int) Load 58(i)
- 236: 16(float) ConvertSToF 235
- 237: 95(fvec4) CompositeConstruct 231 233 234 236
- 238: 95(fvec4) CompositeConstruct 229 229 229 229
- 239: 95(fvec4) FSub 238 237
- 240: 95(fvec4) Load 118(f4)
- 241: 95(fvec4) FAdd 240 239
- Store 118(f4) 241
- 242: 16(float) Load 106(f)
- 243: 9(int) ConvertFToS 242
- 244: 9(int) Load 58(i)
- 245: 66(ivec2) CompositeConstruct 243 244
- 246: 66(ivec2) Load 68(i2)
- 247: 66(ivec2) IAdd 246 245
- Store 68(i2) 247
- 248: 16(float) Load 106(f)
- 249: 9(int) ConvertFToS 248
- 250: 9(int) Load 58(i)
- 251: 16(float) Load 106(f)
- 252: 9(int) ConvertFToS 251
- 253: 79(ivec3) CompositeConstruct 249 250 252
- 254: 79(ivec3) Load 81(i3)
- 255: 79(ivec3) IAdd 254 253
- Store 81(i3) 255
- 256: 6(bool) Load 8(b)
- 257: 9(int) Select 256 63 62
- 258: 9(int) Load 58(i)
- 259: 16(float) Load 106(f)
- 260: 9(int) ConvertFToS 259
- 261: 9(int) Load 58(i)
- 262: 92(ivec4) CompositeConstruct 257 258 260 261
- 263: 92(ivec4) Load 94(i4)
- 264: 92(ivec4) IAdd 263 262
- Store 94(i4) 264
- 265: 16(float) Load 106(f)
- 266: 9(int) Load 58(i)
- 267: 16(float) ConvertSToF 266
- 268: 6(bool) FOrdLessThan 265 267
- 269: 6(bool) LogicalNot 268
- SelectionMerge 271 None
- BranchConditional 269 270 271
- 270: Label
- 272: 9(int) Load 58(i)
- 273: 16(float) ConvertSToF 272
- 274: 16(float) Load 106(f)
- 275: 6(bool) FOrdLessThan 273 274
- Branch 271
- 271: Label
- 276: 6(bool) Phi 268 5 275 270
- 277: 6(bool) LogicalNot 276
- SelectionMerge 279 None
- BranchConditional 277 278 279
- 278: Label
- 280: 69(fvec2) Load 110(f2)
- 281: 66(ivec2) Load 68(i2)
- 282: 69(fvec2) ConvertSToF 281
- 283: 23(bvec2) FOrdEqual 280 282
- 284: 6(bool) All 283
- Branch 279
- 279: Label
- 285: 6(bool) Phi 276 271 284 278
- 286: 6(bool) LogicalNot 285
- SelectionMerge 288 None
- BranchConditional 286 287 288
- 287: Label
- 289: 79(ivec3) Load 81(i3)
- 290: 82(fvec3) ConvertSToF 289
- 291: 82(fvec3) Load 114(f3)
- 292: 31(bvec3) FOrdNotEqual 290 291
- 293: 6(bool) Any 292
- Branch 288
- 288: Label
- 294: 6(bool) Phi 285 279 293 287
- SelectionMerge 296 None
- BranchConditional 294 295 296
- 295: Label
- 298: 6(bool) Load 8(b)
- SelectionMerge 300 None
- BranchConditional 298 299 303
- 299: Label
- 301: 9(int) Load 58(i)
- 302: 16(float) ConvertSToF 301
- Store 297 302
- Branch 300
- 303: Label
- 304: 105(ptr) AccessChain 110(f2) 14
- 305: 16(float) Load 304
- Store 297 305
- Branch 300
- 300: Label
- 306: 16(float) Load 297
- 308: 23(bvec2) Load 25(b2)
- 309: 6(bool) CompositeExtract 308 0
- SelectionMerge 311 None
- BranchConditional 309 310 314
- 310: Label
- 312: 105(ptr) AccessChain 114(f3) 14
- 313: 16(float) Load 312
- Store 307 313
- Branch 311
- 314: Label
- 316: 57(ptr) AccessChain 68(i2) 315
- 317: 9(int) Load 316
- 318: 16(float) ConvertSToF 317
- Store 307 318
- Branch 311
- 311: Label
- 319: 16(float) Load 307
- 320: 16(float) FAdd 306 319
- Store 106(f) 320
- Branch 296
- 296: Label
- 324: 6(bool) Load 8(b)
- 325: 23(bvec2) Load 25(b2)
- 326: 6(bool) CompositeExtract 325 0
- 327: 6(bool) LogicalOr 324 326
- 328: 23(bvec2) Load 25(b2)
- 329: 6(bool) CompositeExtract 328 1
- 330: 6(bool) LogicalOr 327 329
- 331: 31(bvec3) Load 33(b3)
- 332: 6(bool) CompositeExtract 331 0
- 333: 6(bool) LogicalOr 330 332
- 334: 31(bvec3) Load 33(b3)
- 335: 6(bool) CompositeExtract 334 1
- 336: 6(bool) LogicalOr 333 335
- 337: 31(bvec3) Load 33(b3)
- 338: 6(bool) CompositeExtract 337 2
- 339: 6(bool) LogicalOr 336 338
- 340: 43(bvec4) Load 45(b4)
- 341: 6(bool) CompositeExtract 340 0
- 342: 6(bool) LogicalOr 339 341
- 343: 43(bvec4) Load 45(b4)
- 344: 6(bool) CompositeExtract 343 1
- 345: 6(bool) LogicalOr 342 344
- 346: 43(bvec4) Load 45(b4)
- 347: 6(bool) CompositeExtract 346 2
- 348: 6(bool) LogicalOr 345 347
- 349: 43(bvec4) Load 45(b4)
- 350: 6(bool) CompositeExtract 349 3
- 351: 6(bool) LogicalOr 348 350
- SelectionMerge 353 None
- BranchConditional 351 352 415
- 352: Label
- 354: 9(int) Load 58(i)
- 355: 57(ptr) AccessChain 68(i2) 14
- 356: 9(int) Load 355
- 357: 9(int) IAdd 354 356
- 358: 57(ptr) AccessChain 68(i2) 315
- 359: 9(int) Load 358
- 360: 9(int) IAdd 357 359
- 361: 57(ptr) AccessChain 81(i3) 14
- 362: 9(int) Load 361
- 363: 9(int) IAdd 360 362
- 364: 57(ptr) AccessChain 81(i3) 315
- 365: 9(int) Load 364
- 366: 9(int) IAdd 363 365
- 368: 57(ptr) AccessChain 81(i3) 367
- 369: 9(int) Load 368
- 370: 9(int) IAdd 366 369
- 371: 57(ptr) AccessChain 94(i4) 14
- 372: 9(int) Load 371
- 373: 9(int) IAdd 370 372
- 374: 57(ptr) AccessChain 94(i4) 315
- 375: 9(int) Load 374
- 376: 9(int) IAdd 373 375
- 377: 57(ptr) AccessChain 94(i4) 367
- 378: 9(int) Load 377
- 379: 9(int) IAdd 376 378
- 381: 57(ptr) AccessChain 94(i4) 380
- 382: 9(int) Load 381
- 383: 9(int) IAdd 379 382
- 384: 16(float) ConvertSToF 383
- 385: 16(float) Load 106(f)
- 386: 16(float) FAdd 384 385
- 387: 105(ptr) AccessChain 110(f2) 14
- 388: 16(float) Load 387
- 389: 16(float) FAdd 386 388
- 390: 105(ptr) AccessChain 110(f2) 315
- 391: 16(float) Load 390
- 392: 16(float) FAdd 389 391
- 393: 105(ptr) AccessChain 114(f3) 14
- 394: 16(float) Load 393
- 395: 16(float) FAdd 392 394
- 396: 105(ptr) AccessChain 114(f3) 315
- 397: 16(float) Load 396
- 398: 16(float) FAdd 395 397
- 399: 105(ptr) AccessChain 114(f3) 367
- 400: 16(float) Load 399
- 401: 16(float) FAdd 398 400
- 402: 105(ptr) AccessChain 118(f4) 14
- 403: 16(float) Load 402
- 404: 16(float) FAdd 401 403
- 405: 105(ptr) AccessChain 118(f4) 315
- 406: 16(float) Load 405
- 407: 16(float) FAdd 404 406
- 408: 105(ptr) AccessChain 118(f4) 367
- 409: 16(float) Load 408
- 410: 16(float) FAdd 407 409
- 411: 105(ptr) AccessChain 118(f4) 380
- 412: 16(float) Load 411
- 413: 16(float) FAdd 410 412
- 414: 95(fvec4) CompositeConstruct 413 413 413 413
- Store 323 414
- Branch 353
- 415: Label
- Store 323 151
- Branch 353
- 353: Label
- 416: 95(fvec4) Load 323
- Store 322(gl_FragColor) 416
- Store 417(cv2) 102
- 419: 92(ivec4) Load 417(cv2)
- 420: 43(bvec4) INotEqual 419 160
- Store 418(cv5) 420
- 421: 43(bvec4) Load 418(cv5)
- 422: 95(fvec4) Select 421 151 150
- 423: 16(float) CompositeExtract 422 0
- 424: 95(fvec4) Load 322(gl_FragColor)
- 425: 95(fvec4) CompositeConstruct 423 423 423 423
- 426: 95(fvec4) FAdd 424 425
- Store 322(gl_FragColor) 426
- Return
- FunctionEnd
+spv.conversion.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 455
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 39 446 448 157 53 450 452 454
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 8 "b"
+ Name 11 "u_i"
+ Name 18 "u_f"
+ Name 25 "b2"
+ Name 33 "b3"
+ Name 39 "i_i"
+ Name 45 "b4"
+ Name 53 "i_f"
+ Name 58 "i"
+ Name 68 "i2"
+ Name 71 "u_f2"
+ Name 81 "i3"
+ Name 84 "u_f3"
+ Name 94 "i4"
+ Name 97 "u_f4"
+ Name 106 "f"
+ Name 110 "f2"
+ Name 114 "f3"
+ Name 118 "f4"
+ Name 157 "i_i4"
+ Name 322 "gl_FragColor"
+ Name 417 "cv2"
+ Name 418 "cv5"
+ Name 428 "u_b"
+ Name 430 "u_b2"
+ Name 432 "u_b3"
+ Name 434 "u_b4"
+ Name 436 "u_i2"
+ Name 438 "u_i3"
+ Name 440 "u_i4"
+ Name 441 "i_b"
+ Name 442 "i_b2"
+ Name 443 "i_b3"
+ Name 444 "i_b4"
+ Name 446 "i_i2"
+ Name 448 "i_i3"
+ Name 450 "i_f2"
+ Name 452 "i_f3"
+ Name 454 "i_f4"
+ Decorate 39(i_i) Flat
+ Decorate 157(i_i4) Flat
+ Decorate 446(i_i2) Flat
+ Decorate 448(i_i3) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeBool
+ 7: TypePointer Function 6(bool)
+ 9: TypeInt 32 1
+ 10: TypePointer UniformConstant 9(int)
+ 11(u_i): 10(ptr) Variable UniformConstant
+ 13: TypeInt 32 0
+ 14: 13(int) Constant 0
+ 16: TypeFloat 32
+ 17: TypePointer UniformConstant 16(float)
+ 18(u_f): 17(ptr) Variable UniformConstant
+ 20: 16(float) Constant 0
+ 23: TypeVector 6(bool) 2
+ 24: TypePointer Function 23(bvec2)
+ 31: TypeVector 6(bool) 3
+ 32: TypePointer Function 31(bvec3)
+ 38: TypePointer Input 9(int)
+ 39(i_i): 38(ptr) Variable Input
+ 43: TypeVector 6(bool) 4
+ 44: TypePointer Function 43(bvec4)
+ 52: TypePointer Input 16(float)
+ 53(i_f): 52(ptr) Variable Input
+ 57: TypePointer Function 9(int)
+ 62: 9(int) Constant 0
+ 63: 9(int) Constant 1
+ 66: TypeVector 9(int) 2
+ 67: TypePointer Function 66(ivec2)
+ 69: TypeVector 16(float) 2
+ 70: TypePointer UniformConstant 69(fvec2)
+ 71(u_f2): 70(ptr) Variable UniformConstant
+ 75: 66(ivec2) ConstantComposite 62 62
+ 76: 66(ivec2) ConstantComposite 63 63
+ 79: TypeVector 9(int) 3
+ 80: TypePointer Function 79(ivec3)
+ 82: TypeVector 16(float) 3
+ 83: TypePointer UniformConstant 82(fvec3)
+ 84(u_f3): 83(ptr) Variable UniformConstant
+ 88: 79(ivec3) ConstantComposite 62 62 62
+ 89: 79(ivec3) ConstantComposite 63 63 63
+ 92: TypeVector 9(int) 4
+ 93: TypePointer Function 92(ivec4)
+ 95: TypeVector 16(float) 4
+ 96: TypePointer UniformConstant 95(fvec4)
+ 97(u_f4): 96(ptr) Variable UniformConstant
+ 101: 92(ivec4) ConstantComposite 62 62 62 62
+ 102: 92(ivec4) ConstantComposite 63 63 63 63
+ 105: TypePointer Function 16(float)
+ 109: TypePointer Function 69(fvec2)
+ 113: TypePointer Function 82(fvec3)
+ 117: TypePointer Function 95(fvec4)
+ 124: 16(float) Constant 1065353216
+ 132: 69(fvec2) ConstantComposite 20 20
+ 133: 69(fvec2) ConstantComposite 124 124
+ 141: 82(fvec3) ConstantComposite 20 20 20
+ 142: 82(fvec3) ConstantComposite 124 124 124
+ 150: 95(fvec4) ConstantComposite 20 20 20 20
+ 151: 95(fvec4) ConstantComposite 124 124 124 124
+ 156: TypePointer Input 92(ivec4)
+ 157(i_i4): 156(ptr) Variable Input
+ 159: TypeVector 13(int) 4
+ 160: 159(ivec4) ConstantComposite 14 14 14 14
+ 315: 13(int) Constant 1
+ 321: TypePointer Output 95(fvec4)
+322(gl_FragColor): 321(ptr) Variable Output
+ 367: 13(int) Constant 2
+ 380: 13(int) Constant 3
+ 427: TypePointer UniformConstant 6(bool)
+ 428(u_b): 427(ptr) Variable UniformConstant
+ 429: TypePointer UniformConstant 23(bvec2)
+ 430(u_b2): 429(ptr) Variable UniformConstant
+ 431: TypePointer UniformConstant 31(bvec3)
+ 432(u_b3): 431(ptr) Variable UniformConstant
+ 433: TypePointer UniformConstant 43(bvec4)
+ 434(u_b4): 433(ptr) Variable UniformConstant
+ 435: TypePointer UniformConstant 66(ivec2)
+ 436(u_i2): 435(ptr) Variable UniformConstant
+ 437: TypePointer UniformConstant 79(ivec3)
+ 438(u_i3): 437(ptr) Variable UniformConstant
+ 439: TypePointer UniformConstant 92(ivec4)
+ 440(u_i4): 439(ptr) Variable UniformConstant
+ 441(i_b): 427(ptr) Variable UniformConstant
+ 442(i_b2): 429(ptr) Variable UniformConstant
+ 443(i_b3): 431(ptr) Variable UniformConstant
+ 444(i_b4): 433(ptr) Variable UniformConstant
+ 445: TypePointer Input 66(ivec2)
+ 446(i_i2): 445(ptr) Variable Input
+ 447: TypePointer Input 79(ivec3)
+ 448(i_i3): 447(ptr) Variable Input
+ 449: TypePointer Input 69(fvec2)
+ 450(i_f2): 449(ptr) Variable Input
+ 451: TypePointer Input 82(fvec3)
+ 452(i_f3): 451(ptr) Variable Input
+ 453: TypePointer Input 95(fvec4)
+ 454(i_f4): 453(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(b): 7(ptr) Variable Function
+ 25(b2): 24(ptr) Variable Function
+ 33(b3): 32(ptr) Variable Function
+ 45(b4): 44(ptr) Variable Function
+ 58(i): 57(ptr) Variable Function
+ 68(i2): 67(ptr) Variable Function
+ 81(i3): 80(ptr) Variable Function
+ 94(i4): 93(ptr) Variable Function
+ 106(f): 105(ptr) Variable Function
+ 110(f2): 109(ptr) Variable Function
+ 114(f3): 113(ptr) Variable Function
+ 118(f4): 117(ptr) Variable Function
+ 297: 105(ptr) Variable Function
+ 307: 105(ptr) Variable Function
+ 323: 117(ptr) Variable Function
+ 417(cv2): 93(ptr) Variable Function
+ 418(cv5): 44(ptr) Variable Function
+ 12: 9(int) Load 11(u_i)
+ 15: 6(bool) INotEqual 12 14
+ 19: 16(float) Load 18(u_f)
+ 21: 6(bool) FOrdNotEqual 19 20
+ 22: 6(bool) LogicalNotEqual 15 21
+ Store 8(b) 22
+ 26: 9(int) Load 11(u_i)
+ 27: 6(bool) INotEqual 26 14
+ 28: 16(float) Load 18(u_f)
+ 29: 6(bool) FOrdNotEqual 28 20
+ 30: 23(bvec2) CompositeConstruct 27 29
+ Store 25(b2) 30
+ 34: 9(int) Load 11(u_i)
+ 35: 6(bool) INotEqual 34 14
+ 36: 16(float) Load 18(u_f)
+ 37: 6(bool) FOrdNotEqual 36 20
+ 40: 9(int) Load 39(i_i)
+ 41: 6(bool) INotEqual 40 14
+ 42: 31(bvec3) CompositeConstruct 35 37 41
+ Store 33(b3) 42
+ 46: 9(int) Load 11(u_i)
+ 47: 6(bool) INotEqual 46 14
+ 48: 16(float) Load 18(u_f)
+ 49: 6(bool) FOrdNotEqual 48 20
+ 50: 9(int) Load 39(i_i)
+ 51: 6(bool) INotEqual 50 14
+ 54: 16(float) Load 53(i_f)
+ 55: 6(bool) FOrdNotEqual 54 20
+ 56: 43(bvec4) CompositeConstruct 47 49 51 55
+ Store 45(b4) 56
+ 59: 16(float) Load 18(u_f)
+ 60: 9(int) ConvertFToS 59
+ 61: 6(bool) Load 8(b)
+ 64: 9(int) Select 61 63 62
+ 65: 9(int) IAdd 60 64
+ Store 58(i) 65
+ 72: 69(fvec2) Load 71(u_f2)
+ 73: 66(ivec2) ConvertFToS 72
+ 74: 23(bvec2) Load 25(b2)
+ 77: 66(ivec2) Select 74 76 75
+ 78: 66(ivec2) IAdd 73 77
+ Store 68(i2) 78
+ 85: 82(fvec3) Load 84(u_f3)
+ 86: 79(ivec3) ConvertFToS 85
+ 87: 31(bvec3) Load 33(b3)
+ 90: 79(ivec3) Select 87 89 88
+ 91: 79(ivec3) IAdd 86 90
+ Store 81(i3) 91
+ 98: 95(fvec4) Load 97(u_f4)
+ 99: 92(ivec4) ConvertFToS 98
+ 100: 43(bvec4) Load 45(b4)
+ 103: 92(ivec4) Select 100 102 101
+ 104: 92(ivec4) IAdd 99 103
+ Store 94(i4) 104
+ 107: 9(int) Load 58(i)
+ 108: 16(float) ConvertSToF 107
+ Store 106(f) 108
+ 111: 66(ivec2) Load 68(i2)
+ 112: 69(fvec2) ConvertSToF 111
+ Store 110(f2) 112
+ 115: 79(ivec3) Load 81(i3)
+ 116: 82(fvec3) ConvertSToF 115
+ Store 114(f3) 116
+ 119: 92(ivec4) Load 94(i4)
+ 120: 95(fvec4) ConvertSToF 119
+ Store 118(f4) 120
+ 121: 9(int) Load 58(i)
+ 122: 16(float) ConvertSToF 121
+ 123: 6(bool) Load 8(b)
+ 125: 16(float) Select 123 124 20
+ 126: 16(float) FAdd 122 125
+ 127: 16(float) Load 106(f)
+ 128: 16(float) FAdd 127 126
+ Store 106(f) 128
+ 129: 66(ivec2) Load 68(i2)
+ 130: 69(fvec2) ConvertSToF 129
+ 131: 23(bvec2) Load 25(b2)
+ 134: 69(fvec2) Select 131 133 132
+ 135: 69(fvec2) FAdd 130 134
+ 136: 69(fvec2) Load 110(f2)
+ 137: 69(fvec2) FSub 136 135
+ Store 110(f2) 137
+ 138: 79(ivec3) Load 81(i3)
+ 139: 82(fvec3) ConvertSToF 138
+ 140: 31(bvec3) Load 33(b3)
+ 143: 82(fvec3) Select 140 142 141
+ 144: 82(fvec3) FAdd 139 143
+ 145: 82(fvec3) Load 114(f3)
+ 146: 82(fvec3) FDiv 145 144
+ Store 114(f3) 146
+ 147: 92(ivec4) Load 94(i4)
+ 148: 95(fvec4) ConvertSToF 147
+ 149: 43(bvec4) Load 45(b4)
+ 152: 95(fvec4) Select 149 151 150
+ 153: 95(fvec4) FAdd 148 152
+ 154: 95(fvec4) Load 118(f4)
+ 155: 95(fvec4) FAdd 154 153
+ Store 118(f4) 155
+ 158: 92(ivec4) Load 157(i_i4)
+ 161: 43(bvec4) INotEqual 158 160
+ 162: 95(fvec4) Select 161 151 150
+ 163: 95(fvec4) Load 118(f4)
+ 164: 95(fvec4) FAdd 163 162
+ Store 118(f4) 164
+ 165: 95(fvec4) Load 97(u_f4)
+ 166: 43(bvec4) FOrdNotEqual 165 150
+ 167: 95(fvec4) Select 166 151 150
+ 168: 95(fvec4) Load 118(f4)
+ 169: 95(fvec4) FAdd 168 167
+ Store 118(f4) 169
+ 170: 16(float) Load 106(f)
+ 171: 9(int) Load 58(i)
+ 172: 16(float) ConvertSToF 171
+ 173: 16(float) FSub 170 172
+ 174: 16(float) Load 106(f)
+ 175: 16(float) FAdd 174 173
+ Store 106(f) 175
+ 176: 16(float) Load 106(f)
+ 177: 9(int) Load 58(i)
+ 178: 16(float) ConvertSToF 177
+ 179: 69(fvec2) CompositeConstruct 176 178
+ 180: 66(ivec2) Load 68(i2)
+ 181: 69(fvec2) ConvertSToF 180
+ 182: 69(fvec2) FAdd 179 181
+ 183: 69(fvec2) Load 110(f2)
+ 184: 69(fvec2) FAdd 183 182
+ Store 110(f2) 184
+ 185: 79(ivec3) Load 81(i3)
+ 186: 82(fvec3) ConvertSToF 185
+ 187: 16(float) Load 106(f)
+ 188: 9(int) Load 58(i)
+ 189: 16(float) ConvertSToF 188
+ 190: 16(float) Load 106(f)
+ 191: 82(fvec3) CompositeConstruct 187 189 190
+ 192: 82(fvec3) FAdd 186 191
+ 193: 82(fvec3) Load 114(f3)
+ 194: 82(fvec3) FAdd 193 192
+ Store 114(f3) 194
+ 195: 6(bool) Load 8(b)
+ 196: 16(float) Select 195 124 20
+ 197: 9(int) Load 58(i)
+ 198: 16(float) ConvertSToF 197
+ 199: 16(float) Load 106(f)
+ 200: 9(int) Load 58(i)
+ 201: 16(float) ConvertSToF 200
+ 202: 95(fvec4) CompositeConstruct 196 198 199 201
+ 203: 92(ivec4) Load 94(i4)
+ 204: 95(fvec4) ConvertSToF 203
+ 205: 95(fvec4) FAdd 202 204
+ 206: 95(fvec4) Load 118(f4)
+ 207: 95(fvec4) FAdd 206 205
+ Store 118(f4) 207
+ 208: 16(float) Load 106(f)
+ 209: 9(int) Load 58(i)
+ 210: 16(float) ConvertSToF 209
+ 211: 69(fvec2) CompositeConstruct 208 210
+ 212: 9(int) Load 58(i)
+ 213: 16(float) ConvertSToF 212
+ 214: 69(fvec2) VectorTimesScalar 211 213
+ 215: 69(fvec2) Load 110(f2)
+ 216: 69(fvec2) FAdd 215 214
+ Store 110(f2) 216
+ 217: 16(float) Load 106(f)
+ 218: 9(int) Load 58(i)
+ 219: 16(float) ConvertSToF 218
+ 220: 16(float) Load 106(f)
+ 221: 82(fvec3) CompositeConstruct 217 219 220
+ 222: 9(int) Load 58(i)
+ 223: 16(float) ConvertSToF 222
+ 224: 82(fvec3) CompositeConstruct 223 223 223
+ 225: 82(fvec3) FAdd 221 224
+ 226: 82(fvec3) Load 114(f3)
+ 227: 82(fvec3) FAdd 226 225
+ Store 114(f3) 227
+ 228: 9(int) Load 58(i)
+ 229: 16(float) ConvertSToF 228
+ 230: 6(bool) Load 8(b)
+ 231: 16(float) Select 230 124 20
+ 232: 9(int) Load 58(i)
+ 233: 16(float) ConvertSToF 232
+ 234: 16(float) Load 106(f)
+ 235: 9(int) Load 58(i)
+ 236: 16(float) ConvertSToF 235
+ 237: 95(fvec4) CompositeConstruct 231 233 234 236
+ 238: 95(fvec4) CompositeConstruct 229 229 229 229
+ 239: 95(fvec4) FSub 238 237
+ 240: 95(fvec4) Load 118(f4)
+ 241: 95(fvec4) FAdd 240 239
+ Store 118(f4) 241
+ 242: 16(float) Load 106(f)
+ 243: 9(int) ConvertFToS 242
+ 244: 9(int) Load 58(i)
+ 245: 66(ivec2) CompositeConstruct 243 244
+ 246: 66(ivec2) Load 68(i2)
+ 247: 66(ivec2) IAdd 246 245
+ Store 68(i2) 247
+ 248: 16(float) Load 106(f)
+ 249: 9(int) ConvertFToS 248
+ 250: 9(int) Load 58(i)
+ 251: 16(float) Load 106(f)
+ 252: 9(int) ConvertFToS 251
+ 253: 79(ivec3) CompositeConstruct 249 250 252
+ 254: 79(ivec3) Load 81(i3)
+ 255: 79(ivec3) IAdd 254 253
+ Store 81(i3) 255
+ 256: 6(bool) Load 8(b)
+ 257: 9(int) Select 256 63 62
+ 258: 9(int) Load 58(i)
+ 259: 16(float) Load 106(f)
+ 260: 9(int) ConvertFToS 259
+ 261: 9(int) Load 58(i)
+ 262: 92(ivec4) CompositeConstruct 257 258 260 261
+ 263: 92(ivec4) Load 94(i4)
+ 264: 92(ivec4) IAdd 263 262
+ Store 94(i4) 264
+ 265: 16(float) Load 106(f)
+ 266: 9(int) Load 58(i)
+ 267: 16(float) ConvertSToF 266
+ 268: 6(bool) FOrdLessThan 265 267
+ 269: 6(bool) LogicalNot 268
+ SelectionMerge 271 None
+ BranchConditional 269 270 271
+ 270: Label
+ 272: 9(int) Load 58(i)
+ 273: 16(float) ConvertSToF 272
+ 274: 16(float) Load 106(f)
+ 275: 6(bool) FOrdLessThan 273 274
+ Branch 271
+ 271: Label
+ 276: 6(bool) Phi 268 5 275 270
+ 277: 6(bool) LogicalNot 276
+ SelectionMerge 279 None
+ BranchConditional 277 278 279
+ 278: Label
+ 280: 69(fvec2) Load 110(f2)
+ 281: 66(ivec2) Load 68(i2)
+ 282: 69(fvec2) ConvertSToF 281
+ 283: 23(bvec2) FOrdEqual 280 282
+ 284: 6(bool) All 283
+ Branch 279
+ 279: Label
+ 285: 6(bool) Phi 276 271 284 278
+ 286: 6(bool) LogicalNot 285
+ SelectionMerge 288 None
+ BranchConditional 286 287 288
+ 287: Label
+ 289: 79(ivec3) Load 81(i3)
+ 290: 82(fvec3) ConvertSToF 289
+ 291: 82(fvec3) Load 114(f3)
+ 292: 31(bvec3) FOrdNotEqual 290 291
+ 293: 6(bool) Any 292
+ Branch 288
+ 288: Label
+ 294: 6(bool) Phi 285 279 293 287
+ SelectionMerge 296 None
+ BranchConditional 294 295 296
+ 295: Label
+ 298: 6(bool) Load 8(b)
+ SelectionMerge 300 None
+ BranchConditional 298 299 303
+ 299: Label
+ 301: 9(int) Load 58(i)
+ 302: 16(float) ConvertSToF 301
+ Store 297 302
+ Branch 300
+ 303: Label
+ 304: 105(ptr) AccessChain 110(f2) 14
+ 305: 16(float) Load 304
+ Store 297 305
+ Branch 300
+ 300: Label
+ 306: 16(float) Load 297
+ 308: 23(bvec2) Load 25(b2)
+ 309: 6(bool) CompositeExtract 308 0
+ SelectionMerge 311 None
+ BranchConditional 309 310 314
+ 310: Label
+ 312: 105(ptr) AccessChain 114(f3) 14
+ 313: 16(float) Load 312
+ Store 307 313
+ Branch 311
+ 314: Label
+ 316: 57(ptr) AccessChain 68(i2) 315
+ 317: 9(int) Load 316
+ 318: 16(float) ConvertSToF 317
+ Store 307 318
+ Branch 311
+ 311: Label
+ 319: 16(float) Load 307
+ 320: 16(float) FAdd 306 319
+ Store 106(f) 320
+ Branch 296
+ 296: Label
+ 324: 6(bool) Load 8(b)
+ 325: 23(bvec2) Load 25(b2)
+ 326: 6(bool) CompositeExtract 325 0
+ 327: 6(bool) LogicalOr 324 326
+ 328: 23(bvec2) Load 25(b2)
+ 329: 6(bool) CompositeExtract 328 1
+ 330: 6(bool) LogicalOr 327 329
+ 331: 31(bvec3) Load 33(b3)
+ 332: 6(bool) CompositeExtract 331 0
+ 333: 6(bool) LogicalOr 330 332
+ 334: 31(bvec3) Load 33(b3)
+ 335: 6(bool) CompositeExtract 334 1
+ 336: 6(bool) LogicalOr 333 335
+ 337: 31(bvec3) Load 33(b3)
+ 338: 6(bool) CompositeExtract 337 2
+ 339: 6(bool) LogicalOr 336 338
+ 340: 43(bvec4) Load 45(b4)
+ 341: 6(bool) CompositeExtract 340 0
+ 342: 6(bool) LogicalOr 339 341
+ 343: 43(bvec4) Load 45(b4)
+ 344: 6(bool) CompositeExtract 343 1
+ 345: 6(bool) LogicalOr 342 344
+ 346: 43(bvec4) Load 45(b4)
+ 347: 6(bool) CompositeExtract 346 2
+ 348: 6(bool) LogicalOr 345 347
+ 349: 43(bvec4) Load 45(b4)
+ 350: 6(bool) CompositeExtract 349 3
+ 351: 6(bool) LogicalOr 348 350
+ SelectionMerge 353 None
+ BranchConditional 351 352 415
+ 352: Label
+ 354: 9(int) Load 58(i)
+ 355: 57(ptr) AccessChain 68(i2) 14
+ 356: 9(int) Load 355
+ 357: 9(int) IAdd 354 356
+ 358: 57(ptr) AccessChain 68(i2) 315
+ 359: 9(int) Load 358
+ 360: 9(int) IAdd 357 359
+ 361: 57(ptr) AccessChain 81(i3) 14
+ 362: 9(int) Load 361
+ 363: 9(int) IAdd 360 362
+ 364: 57(ptr) AccessChain 81(i3) 315
+ 365: 9(int) Load 364
+ 366: 9(int) IAdd 363 365
+ 368: 57(ptr) AccessChain 81(i3) 367
+ 369: 9(int) Load 368
+ 370: 9(int) IAdd 366 369
+ 371: 57(ptr) AccessChain 94(i4) 14
+ 372: 9(int) Load 371
+ 373: 9(int) IAdd 370 372
+ 374: 57(ptr) AccessChain 94(i4) 315
+ 375: 9(int) Load 374
+ 376: 9(int) IAdd 373 375
+ 377: 57(ptr) AccessChain 94(i4) 367
+ 378: 9(int) Load 377
+ 379: 9(int) IAdd 376 378
+ 381: 57(ptr) AccessChain 94(i4) 380
+ 382: 9(int) Load 381
+ 383: 9(int) IAdd 379 382
+ 384: 16(float) ConvertSToF 383
+ 385: 16(float) Load 106(f)
+ 386: 16(float) FAdd 384 385
+ 387: 105(ptr) AccessChain 110(f2) 14
+ 388: 16(float) Load 387
+ 389: 16(float) FAdd 386 388
+ 390: 105(ptr) AccessChain 110(f2) 315
+ 391: 16(float) Load 390
+ 392: 16(float) FAdd 389 391
+ 393: 105(ptr) AccessChain 114(f3) 14
+ 394: 16(float) Load 393
+ 395: 16(float) FAdd 392 394
+ 396: 105(ptr) AccessChain 114(f3) 315
+ 397: 16(float) Load 396
+ 398: 16(float) FAdd 395 397
+ 399: 105(ptr) AccessChain 114(f3) 367
+ 400: 16(float) Load 399
+ 401: 16(float) FAdd 398 400
+ 402: 105(ptr) AccessChain 118(f4) 14
+ 403: 16(float) Load 402
+ 404: 16(float) FAdd 401 403
+ 405: 105(ptr) AccessChain 118(f4) 315
+ 406: 16(float) Load 405
+ 407: 16(float) FAdd 404 406
+ 408: 105(ptr) AccessChain 118(f4) 367
+ 409: 16(float) Load 408
+ 410: 16(float) FAdd 407 409
+ 411: 105(ptr) AccessChain 118(f4) 380
+ 412: 16(float) Load 411
+ 413: 16(float) FAdd 410 412
+ 414: 95(fvec4) CompositeConstruct 413 413 413 413
+ Store 323 414
+ Branch 353
+ 415: Label
+ Store 323 151
+ Branch 353
+ 353: Label
+ 416: 95(fvec4) Load 323
+ Store 322(gl_FragColor) 416
+ Store 417(cv2) 102
+ 419: 92(ivec4) Load 417(cv2)
+ 420: 43(bvec4) INotEqual 419 160
+ Store 418(cv5) 420
+ 421: 43(bvec4) Load 418(cv5)
+ 422: 95(fvec4) Select 421 151 150
+ 423: 16(float) CompositeExtract 422 0
+ 424: 95(fvec4) Load 322(gl_FragColor)
+ 425: 95(fvec4) CompositeConstruct 423 423 423 423
+ 426: 95(fvec4) FAdd 424 425
+ Store 322(gl_FragColor) 426
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.dataOut.frag.out b/Test/baseResults/spv.dataOut.frag.out
index ee3c691..277c053 100755
--- a/Test/baseResults/spv.dataOut.frag.out
+++ b/Test/baseResults/spv.dataOut.frag.out
@@ -1,41 +1,41 @@
-spv.dataOut.frag
-WARNING: 0:3: varying deprecated in version 130; may be removed in future release
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 20
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 16
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 12 "gl_FragData"
- Name 16 "Color"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypeInt 32 0
- 9: 8(int) Constant 32
- 10: TypeArray 7(fvec4) 9
- 11: TypePointer Output 10
- 12(gl_FragData): 11(ptr) Variable Output
- 13: TypeInt 32 1
- 14: 13(int) Constant 1
- 15: TypePointer Input 7(fvec4)
- 16(Color): 15(ptr) Variable Input
- 18: TypePointer Output 7(fvec4)
- 4(main): 2 Function None 3
- 5: Label
- 17: 7(fvec4) Load 16(Color)
- 19: 18(ptr) AccessChain 12(gl_FragData) 14
- Store 19 17
- Return
- FunctionEnd
+spv.dataOut.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 20
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 16
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 12 "gl_FragData"
+ Name 16 "Color"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeInt 32 0
+ 9: 8(int) Constant 32
+ 10: TypeArray 7(fvec4) 9
+ 11: TypePointer Output 10
+ 12(gl_FragData): 11(ptr) Variable Output
+ 13: TypeInt 32 1
+ 14: 13(int) Constant 1
+ 15: TypePointer Input 7(fvec4)
+ 16(Color): 15(ptr) Variable Input
+ 18: TypePointer Output 7(fvec4)
+ 4(main): 2 Function None 3
+ 5: Label
+ 17: 7(fvec4) Load 16(Color)
+ 19: 18(ptr) AccessChain 12(gl_FragData) 14
+ Store 19 17
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.dataOutIndirect.frag.out b/Test/baseResults/spv.dataOutIndirect.frag.out
index 6a2fd70..be3d3d5 100755
--- a/Test/baseResults/spv.dataOutIndirect.frag.out
+++ b/Test/baseResults/spv.dataOutIndirect.frag.out
@@ -1,44 +1,44 @@
-spv.dataOutIndirect.frag
-WARNING: 0:3: varying deprecated in version 130; may be removed in future release
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 22
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 18
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 12 "gl_FragData"
- Name 15 "i"
- Name 18 "Color"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypeInt 32 0
- 9: 8(int) Constant 32
- 10: TypeArray 7(fvec4) 9
- 11: TypePointer Output 10
- 12(gl_FragData): 11(ptr) Variable Output
- 13: TypeInt 32 1
- 14: TypePointer UniformConstant 13(int)
- 15(i): 14(ptr) Variable UniformConstant
- 17: TypePointer Input 7(fvec4)
- 18(Color): 17(ptr) Variable Input
- 20: TypePointer Output 7(fvec4)
- 4(main): 2 Function None 3
- 5: Label
- 16: 13(int) Load 15(i)
- 19: 7(fvec4) Load 18(Color)
- 21: 20(ptr) AccessChain 12(gl_FragData) 16
- Store 21 19
- Return
- FunctionEnd
+spv.dataOutIndirect.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 22
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 18
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 12 "gl_FragData"
+ Name 15 "i"
+ Name 18 "Color"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeInt 32 0
+ 9: 8(int) Constant 32
+ 10: TypeArray 7(fvec4) 9
+ 11: TypePointer Output 10
+ 12(gl_FragData): 11(ptr) Variable Output
+ 13: TypeInt 32 1
+ 14: TypePointer UniformConstant 13(int)
+ 15(i): 14(ptr) Variable UniformConstant
+ 17: TypePointer Input 7(fvec4)
+ 18(Color): 17(ptr) Variable Input
+ 20: TypePointer Output 7(fvec4)
+ 4(main): 2 Function None 3
+ 5: Label
+ 16: 13(int) Load 15(i)
+ 19: 7(fvec4) Load 18(Color)
+ 21: 20(ptr) AccessChain 12(gl_FragData) 16
+ Store 21 19
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.dataOutIndirect.vert.out b/Test/baseResults/spv.dataOutIndirect.vert.out
index 0b24b62..536fe3f 100755
--- a/Test/baseResults/spv.dataOutIndirect.vert.out
+++ b/Test/baseResults/spv.dataOutIndirect.vert.out
@@ -1,71 +1,71 @@
-spv.dataOutIndirect.vert
-WARNING: 0:3: attribute deprecated in version 130; may be removed in future release
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 38
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 26 23 37
- Source GLSL 130
- Name 4 "main"
- Name 8 "i"
- Name 23 "colorOut"
- Name 26 "color"
- Name 32 "gl_Position"
- Name 37 "gl_VertexID"
- Decorate 32(gl_Position) BuiltIn Position
- Decorate 37(gl_VertexID) BuiltIn VertexId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypePointer Function 6(int)
- 9: 6(int) Constant 1
- 14: 6(int) Constant 5
- 15: TypeBool
- 17: TypeFloat 32
- 18: TypeVector 17(float) 4
- 19: TypeInt 32 0
- 20: 19(int) Constant 6
- 21: TypeArray 18(fvec4) 20
- 22: TypePointer Output 21
- 23(colorOut): 22(ptr) Variable Output
- 25: TypePointer Input 18(fvec4)
- 26(color): 25(ptr) Variable Input
- 28: TypePointer Output 18(fvec4)
- 32(gl_Position): 28(ptr) Variable Output
- 33: 6(int) Constant 2
- 36: TypePointer Input 6(int)
- 37(gl_VertexID): 36(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 8(i): 7(ptr) Variable Function
- Store 8(i) 9
- Branch 10
- 10: Label
- 13: 6(int) Load 8(i)
- 16: 15(bool) SLessThan 13 14
- LoopMerge 11 10 None
- BranchConditional 16 12 11
- 12: Label
- 24: 6(int) Load 8(i)
- 27: 18(fvec4) Load 26(color)
- 29: 28(ptr) AccessChain 23(colorOut) 24
- Store 29 27
- 30: 6(int) Load 8(i)
- 31: 6(int) IAdd 30 9
- Store 8(i) 31
- Branch 10
- 11: Label
- 34: 28(ptr) AccessChain 23(colorOut) 33
- 35: 18(fvec4) Load 34
- Store 32(gl_Position) 35
- Return
- FunctionEnd
+spv.dataOutIndirect.vert
+WARNING: 0:3: attribute deprecated in version 130; may be removed in future release
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 38
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 26 23 37
+ Source GLSL 130
+ Name 4 "main"
+ Name 8 "i"
+ Name 23 "colorOut"
+ Name 26 "color"
+ Name 32 "gl_Position"
+ Name 37 "gl_VertexID"
+ Decorate 32(gl_Position) BuiltIn Position
+ Decorate 37(gl_VertexID) BuiltIn VertexId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 1
+ 14: 6(int) Constant 5
+ 15: TypeBool
+ 17: TypeFloat 32
+ 18: TypeVector 17(float) 4
+ 19: TypeInt 32 0
+ 20: 19(int) Constant 6
+ 21: TypeArray 18(fvec4) 20
+ 22: TypePointer Output 21
+ 23(colorOut): 22(ptr) Variable Output
+ 25: TypePointer Input 18(fvec4)
+ 26(color): 25(ptr) Variable Input
+ 28: TypePointer Output 18(fvec4)
+ 32(gl_Position): 28(ptr) Variable Output
+ 33: 6(int) Constant 2
+ 36: TypePointer Input 6(int)
+ 37(gl_VertexID): 36(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ 13: 6(int) Load 8(i)
+ 16: 15(bool) SLessThan 13 14
+ LoopMerge 11 10 None
+ BranchConditional 16 12 11
+ 12: Label
+ 24: 6(int) Load 8(i)
+ 27: 18(fvec4) Load 26(color)
+ 29: 28(ptr) AccessChain 23(colorOut) 24
+ Store 29 27
+ 30: 6(int) Load 8(i)
+ 31: 6(int) IAdd 30 9
+ Store 8(i) 31
+ Branch 10
+ 11: Label
+ 34: 28(ptr) AccessChain 23(colorOut) 33
+ 35: 18(fvec4) Load 34
+ Store 32(gl_Position) 35
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.deepRvalue.frag.out b/Test/baseResults/spv.deepRvalue.frag.out
index 1ed6681..4680492 100644
--- a/Test/baseResults/spv.deepRvalue.frag.out
+++ b/Test/baseResults/spv.deepRvalue.frag.out
@@ -1,6 +1,6 @@
-spv.deepRvalue.frag
-
-Linked fragment stage:
-
-
-Missing functionality: binary operation on matrix
+spv.deepRvalue.frag
+
+Linked fragment stage:
+
+
+Missing functionality: binary operation on matrix
diff --git a/Test/baseResults/spv.depthOut.frag.out b/Test/baseResults/spv.depthOut.frag.out
index 07fb171..f978fa6 100755
--- a/Test/baseResults/spv.depthOut.frag.out
+++ b/Test/baseResults/spv.depthOut.frag.out
@@ -1,40 +1,40 @@
-spv.depthOut.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 15
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 14 10 8 8
- ExecutionMode 4 OriginLowerLeft
- ExecutionMode 4 DepthGreater
- ExecutionMode 4 DepthReplacing
- Source GLSL 450
- Name 4 "main"
- Name 8 "gl_FragDepth"
- Name 10 "Depth"
- Name 14 "Color"
- Decorate 8(gl_FragDepth) BuiltIn FragDepth
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypePointer Output 6(float)
- 8(gl_FragDepth): 7(ptr) Variable Output
- 9: TypePointer Input 6(float)
- 10(Depth): 9(ptr) Variable Input
- 12: TypeVector 6(float) 4
- 13: TypePointer Input 12(fvec4)
- 14(Color): 13(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 11: 6(float) Load 10(Depth)
- Store 8(gl_FragDepth) 11
- Return
- FunctionEnd
+spv.depthOut.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 15
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 14 10 8 8
+ ExecutionMode 4 OriginLowerLeft
+ ExecutionMode 4 DepthGreater
+ ExecutionMode 4 DepthReplacing
+ Source GLSL 450
+ Name 4 "main"
+ Name 8 "gl_FragDepth"
+ Name 10 "Depth"
+ Name 14 "Color"
+ Decorate 8(gl_FragDepth) BuiltIn FragDepth
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Output 6(float)
+ 8(gl_FragDepth): 7(ptr) Variable Output
+ 9: TypePointer Input 6(float)
+ 10(Depth): 9(ptr) Variable Input
+ 12: TypeVector 6(float) 4
+ 13: TypePointer Input 12(fvec4)
+ 14(Color): 13(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 11: 6(float) Load 10(Depth)
+ Store 8(gl_FragDepth) 11
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.discard-dce.frag.out b/Test/baseResults/spv.discard-dce.frag.out
index 7f48250..26da15c 100755
--- a/Test/baseResults/spv.discard-dce.frag.out
+++ b/Test/baseResults/spv.discard-dce.frag.out
@@ -1,130 +1,130 @@
-spv.discard-dce.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 84
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 21
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 110
- Name 4 "main"
- Name 9 "white"
- Name 12 "black"
- Name 15 "color"
- Name 18 "x"
- Name 21 "tex_coord"
- Name 30 "y"
- Name 36 "radius"
- Name 59 "gl_FragColor"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 10: 6(float) Constant 1065353216
- 11: 7(fvec4) ConstantComposite 10 10 10 10
- 13: 6(float) Constant 1045220557
- 14: 7(fvec4) ConstantComposite 13 13 13 13
- 17: TypePointer Function 6(float)
- 19: TypeVector 6(float) 2
- 20: TypePointer Input 19(fvec2)
- 21(tex_coord): 20(ptr) Variable Input
- 22: TypeInt 32 0
- 23: 22(int) Constant 0
- 24: TypePointer Input 6(float)
- 27: 6(float) Constant 1073741824
- 31: 22(int) Constant 1
- 46: TypeBool
- 51: 6(float) Constant 1066192077
- 58: TypePointer Output 7(fvec4)
-59(gl_FragColor): 58(ptr) Variable Output
- 62: 6(float) Constant 1067030938
- 71: 6(float) Constant 1061158912
- 76: 6(float) Constant 1098907648
- 4(main): 2 Function None 3
- 5: Label
- 9(white): 8(ptr) Variable Function
- 12(black): 8(ptr) Variable Function
- 15(color): 8(ptr) Variable Function
- 18(x): 17(ptr) Variable Function
- 30(y): 17(ptr) Variable Function
- 36(radius): 17(ptr) Variable Function
- Store 9(white) 11
- Store 12(black) 14
- 16: 7(fvec4) Load 9(white)
- Store 15(color) 16
- 25: 24(ptr) AccessChain 21(tex_coord) 23
- 26: 6(float) Load 25
- 28: 6(float) FMul 26 27
- 29: 6(float) FSub 28 10
- Store 18(x) 29
- 32: 24(ptr) AccessChain 21(tex_coord) 31
- 33: 6(float) Load 32
- 34: 6(float) FMul 33 27
- 35: 6(float) FSub 34 10
- Store 30(y) 35
- 37: 6(float) Load 18(x)
- 38: 6(float) Load 18(x)
- 39: 6(float) FMul 37 38
- 40: 6(float) Load 30(y)
- 41: 6(float) Load 30(y)
- 42: 6(float) FMul 40 41
- 43: 6(float) FAdd 39 42
- 44: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 43
- Store 36(radius) 44
- 45: 6(float) Load 36(radius)
- 47: 46(bool) FOrdGreaterThan 45 10
- SelectionMerge 49 None
- BranchConditional 47 48 49
- 48: Label
- 50: 6(float) Load 36(radius)
- 52: 46(bool) FOrdGreaterThan 50 51
- SelectionMerge 54 None
- BranchConditional 52 53 54
- 53: Label
- 55: 7(fvec4) Load 15(color)
- 56: 7(fvec4) CompositeConstruct 10 10 10 10
- 57: 7(fvec4) FAdd 55 56
- Store 15(color) 57
- Branch 54
- 54: Label
- 60: 7(fvec4) Load 15(color)
- Store 59(gl_FragColor) 60
- 61: 6(float) Load 36(radius)
- 63: 46(bool) FOrdGreaterThan 61 62
- SelectionMerge 65 None
- BranchConditional 63 64 65
- 64: Label
- 66: 7(fvec4) Load 15(color)
- 67: 7(fvec4) CompositeConstruct 10 10 10 10
- 68: 7(fvec4) FAdd 66 67
- Store 15(color) 68
- Branch 65
- 65: Label
- Kill
- 49: Label
- 70: 6(float) Load 36(radius)
- 72: 46(bool) FOrdGreaterThanEqual 70 71
- SelectionMerge 74 None
- BranchConditional 72 73 74
- 73: Label
- 75: 6(float) Load 36(radius)
- 77: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 75 76
- 78: 6(float) FDiv 77 27
- 79: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 78
- 80: 7(fvec4) Load 15(color)
- 81: 7(fvec4) CompositeConstruct 79 79 79 79
- 82: 7(fvec4) FSub 80 81
- Store 15(color) 82
- Branch 74
- 74: Label
- 83: 7(fvec4) Load 15(color)
- Store 59(gl_FragColor) 83
- Return
- FunctionEnd
+spv.discard-dce.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 84
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 21
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 110
+ Name 4 "main"
+ Name 9 "white"
+ Name 12 "black"
+ Name 15 "color"
+ Name 18 "x"
+ Name 21 "tex_coord"
+ Name 30 "y"
+ Name 36 "radius"
+ Name 59 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: 6(float) Constant 1065353216
+ 11: 7(fvec4) ConstantComposite 10 10 10 10
+ 13: 6(float) Constant 1045220557
+ 14: 7(fvec4) ConstantComposite 13 13 13 13
+ 17: TypePointer Function 6(float)
+ 19: TypeVector 6(float) 2
+ 20: TypePointer Input 19(fvec2)
+ 21(tex_coord): 20(ptr) Variable Input
+ 22: TypeInt 32 0
+ 23: 22(int) Constant 0
+ 24: TypePointer Input 6(float)
+ 27: 6(float) Constant 1073741824
+ 31: 22(int) Constant 1
+ 46: TypeBool
+ 51: 6(float) Constant 1066192077
+ 58: TypePointer Output 7(fvec4)
+59(gl_FragColor): 58(ptr) Variable Output
+ 62: 6(float) Constant 1067030938
+ 71: 6(float) Constant 1061158912
+ 76: 6(float) Constant 1098907648
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(white): 8(ptr) Variable Function
+ 12(black): 8(ptr) Variable Function
+ 15(color): 8(ptr) Variable Function
+ 18(x): 17(ptr) Variable Function
+ 30(y): 17(ptr) Variable Function
+ 36(radius): 17(ptr) Variable Function
+ Store 9(white) 11
+ Store 12(black) 14
+ 16: 7(fvec4) Load 9(white)
+ Store 15(color) 16
+ 25: 24(ptr) AccessChain 21(tex_coord) 23
+ 26: 6(float) Load 25
+ 28: 6(float) FMul 26 27
+ 29: 6(float) FSub 28 10
+ Store 18(x) 29
+ 32: 24(ptr) AccessChain 21(tex_coord) 31
+ 33: 6(float) Load 32
+ 34: 6(float) FMul 33 27
+ 35: 6(float) FSub 34 10
+ Store 30(y) 35
+ 37: 6(float) Load 18(x)
+ 38: 6(float) Load 18(x)
+ 39: 6(float) FMul 37 38
+ 40: 6(float) Load 30(y)
+ 41: 6(float) Load 30(y)
+ 42: 6(float) FMul 40 41
+ 43: 6(float) FAdd 39 42
+ 44: 6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 43
+ Store 36(radius) 44
+ 45: 6(float) Load 36(radius)
+ 47: 46(bool) FOrdGreaterThan 45 10
+ SelectionMerge 49 None
+ BranchConditional 47 48 49
+ 48: Label
+ 50: 6(float) Load 36(radius)
+ 52: 46(bool) FOrdGreaterThan 50 51
+ SelectionMerge 54 None
+ BranchConditional 52 53 54
+ 53: Label
+ 55: 7(fvec4) Load 15(color)
+ 56: 7(fvec4) CompositeConstruct 10 10 10 10
+ 57: 7(fvec4) FAdd 55 56
+ Store 15(color) 57
+ Branch 54
+ 54: Label
+ 60: 7(fvec4) Load 15(color)
+ Store 59(gl_FragColor) 60
+ 61: 6(float) Load 36(radius)
+ 63: 46(bool) FOrdGreaterThan 61 62
+ SelectionMerge 65 None
+ BranchConditional 63 64 65
+ 64: Label
+ 66: 7(fvec4) Load 15(color)
+ 67: 7(fvec4) CompositeConstruct 10 10 10 10
+ 68: 7(fvec4) FAdd 66 67
+ Store 15(color) 68
+ Branch 65
+ 65: Label
+ Kill
+ 49: Label
+ 70: 6(float) Load 36(radius)
+ 72: 46(bool) FOrdGreaterThanEqual 70 71
+ SelectionMerge 74 None
+ BranchConditional 72 73 74
+ 73: Label
+ 75: 6(float) Load 36(radius)
+ 77: 6(float) ExtInst 1(GLSL.std.450) 26(Pow) 75 76
+ 78: 6(float) FDiv 77 27
+ 79: 6(float) ExtInst 1(GLSL.std.450) 4(FAbs) 78
+ 80: 7(fvec4) Load 15(color)
+ 81: 7(fvec4) CompositeConstruct 79 79 79 79
+ 82: 7(fvec4) FSub 80 81
+ Store 15(color) 82
+ Branch 74
+ 74: Label
+ 83: 7(fvec4) Load 15(color)
+ Store 59(gl_FragColor) 83
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.do-simple.vert.out b/Test/baseResults/spv.do-simple.vert.out
index 5da8827..e697f71 100755
--- a/Test/baseResults/spv.do-simple.vert.out
+++ b/Test/baseResults/spv.do-simple.vert.out
@@ -1,60 +1,60 @@
-spv.do-simple.vert
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 29
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 27 28
- Source ESSL 300
- Name 4 "main"
- Name 8 "i"
- Name 27 "gl_VertexID"
- Name 28 "gl_InstanceID"
- Decorate 27(gl_VertexID) BuiltIn VertexId
- Decorate 28(gl_InstanceID) BuiltIn InstanceId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypePointer Function 6(int)
- 9: 6(int) Constant 0
- 14: TypeBool
- 15: 14(bool) ConstantTrue
- 19: 6(int) Constant 10
- 23: 6(int) Constant 1
- 25: 14(bool) ConstantFalse
- 26: TypePointer Input 6(int)
- 27(gl_VertexID): 26(ptr) Variable Input
-28(gl_InstanceID): 26(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 8(i): 7(ptr) Variable Function
- Store 8(i) 9
- Branch 10
- 10: Label
- 13: 14(bool) Phi 15 5 25 12
- LoopMerge 11 10 None
- Branch 16
- 16: Label
- SelectionMerge 12 None
- BranchConditional 13 12 17
- 17: Label
- 18: 6(int) Load 8(i)
- 20: 14(bool) SLessThan 18 19
- SelectionMerge 21 None
- BranchConditional 20 21 11
- 21: Label
- Branch 12
- 12: Label
- 22: 6(int) Load 8(i)
- 24: 6(int) IAdd 22 23
- Store 8(i) 24
- Branch 10
- 11: Label
- Return
- FunctionEnd
+spv.do-simple.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 29
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 27 28
+ Source ESSL 300
+ Name 4 "main"
+ Name 8 "i"
+ Name 27 "gl_VertexID"
+ Name 28 "gl_InstanceID"
+ Decorate 27(gl_VertexID) BuiltIn VertexId
+ Decorate 28(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 14: TypeBool
+ 15: 14(bool) ConstantTrue
+ 19: 6(int) Constant 10
+ 23: 6(int) Constant 1
+ 25: 14(bool) ConstantFalse
+ 26: TypePointer Input 6(int)
+ 27(gl_VertexID): 26(ptr) Variable Input
+28(gl_InstanceID): 26(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ 13: 14(bool) Phi 15 5 25 12
+ LoopMerge 11 10 None
+ Branch 16
+ 16: Label
+ SelectionMerge 12 None
+ BranchConditional 13 12 17
+ 17: Label
+ 18: 6(int) Load 8(i)
+ 20: 14(bool) SLessThan 18 19
+ SelectionMerge 21 None
+ BranchConditional 20 21 11
+ 21: Label
+ Branch 12
+ 12: Label
+ 22: 6(int) Load 8(i)
+ 24: 6(int) IAdd 22 23
+ Store 8(i) 24
+ Branch 10
+ 11: Label
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.do-while-continue-break.vert.out b/Test/baseResults/spv.do-while-continue-break.vert.out
index f148d51..c483861 100755
--- a/Test/baseResults/spv.do-while-continue-break.vert.out
+++ b/Test/baseResults/spv.do-while-continue-break.vert.out
@@ -1,104 +1,104 @@
-spv.do-while-continue-break.vert
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 51
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 49 50
- Source ESSL 300
- Name 4 "main"
- Name 8 "i"
- Name 24 "A"
- Name 30 "B"
- Name 33 "C"
- Name 39 "D"
- Name 42 "E"
- Name 44 "F"
- Name 46 "G"
- Name 49 "gl_VertexID"
- Name 50 "gl_InstanceID"
- Decorate 49(gl_VertexID) BuiltIn VertexId
- Decorate 50(gl_InstanceID) BuiltIn InstanceId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypePointer Function 6(int)
- 9: 6(int) Constant 0
- 14: TypeBool
- 15: 14(bool) ConstantTrue
- 19: 6(int) Constant 1
- 21: 6(int) Constant 19
- 26: 6(int) Constant 2
- 31: 14(bool) ConstantFalse
- 35: 6(int) Constant 5
- 40: 6(int) Constant 3
- 43: 6(int) Constant 42
- 45: 6(int) Constant 99
- 47: 6(int) Constant 12
- 48: TypePointer Input 6(int)
- 49(gl_VertexID): 48(ptr) Variable Input
-50(gl_InstanceID): 48(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 8(i): 7(ptr) Variable Function
- 24(A): 7(ptr) Variable Function
- 30(B): 7(ptr) Variable Function
- 33(C): 7(ptr) Variable Function
- 39(D): 7(ptr) Variable Function
- 42(E): 7(ptr) Variable Function
- 44(F): 7(ptr) Variable Function
- 46(G): 7(ptr) Variable Function
- Store 8(i) 9
- Branch 10
- 10: Label
- 13: 14(bool) Phi 15 5 31 28 31 38
- LoopMerge 11 10 None
- Branch 16
- 16: Label
- SelectionMerge 12 None
- BranchConditional 13 12 17
- 17: Label
- 18: 6(int) Load 8(i)
- 20: 6(int) IAdd 18 19
- Store 8(i) 20
- 22: 14(bool) SLessThan 20 21
- SelectionMerge 23 None
- BranchConditional 22 23 11
- 23: Label
- Branch 12
- 12: Label
- Store 24(A) 9
- 25: 6(int) Load 8(i)
- 27: 14(bool) IEqual 25 26
- SelectionMerge 29 None
- BranchConditional 27 28 29
- 28: Label
- Store 30(B) 19
- Branch 10
- 32: Label
- Store 33(C) 26
- Branch 29
- 29: Label
- 34: 6(int) Load 8(i)
- 36: 14(bool) IEqual 34 35
- SelectionMerge 38 None
- BranchConditional 36 37 38
- 37: Label
- Store 39(D) 40
- Branch 11
- 41: Label
- Store 42(E) 43
- Branch 38
- 38: Label
- Store 44(F) 45
- Branch 10
- 11: Label
- Store 46(G) 47
- Return
- FunctionEnd
+spv.do-while-continue-break.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 51
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 49 50
+ Source ESSL 300
+ Name 4 "main"
+ Name 8 "i"
+ Name 24 "A"
+ Name 30 "B"
+ Name 33 "C"
+ Name 39 "D"
+ Name 42 "E"
+ Name 44 "F"
+ Name 46 "G"
+ Name 49 "gl_VertexID"
+ Name 50 "gl_InstanceID"
+ Decorate 49(gl_VertexID) BuiltIn VertexId
+ Decorate 50(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 14: TypeBool
+ 15: 14(bool) ConstantTrue
+ 19: 6(int) Constant 1
+ 21: 6(int) Constant 19
+ 26: 6(int) Constant 2
+ 31: 14(bool) ConstantFalse
+ 35: 6(int) Constant 5
+ 40: 6(int) Constant 3
+ 43: 6(int) Constant 42
+ 45: 6(int) Constant 99
+ 47: 6(int) Constant 12
+ 48: TypePointer Input 6(int)
+ 49(gl_VertexID): 48(ptr) Variable Input
+50(gl_InstanceID): 48(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ 24(A): 7(ptr) Variable Function
+ 30(B): 7(ptr) Variable Function
+ 33(C): 7(ptr) Variable Function
+ 39(D): 7(ptr) Variable Function
+ 42(E): 7(ptr) Variable Function
+ 44(F): 7(ptr) Variable Function
+ 46(G): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ 13: 14(bool) Phi 15 5 31 28 31 38
+ LoopMerge 11 10 None
+ Branch 16
+ 16: Label
+ SelectionMerge 12 None
+ BranchConditional 13 12 17
+ 17: Label
+ 18: 6(int) Load 8(i)
+ 20: 6(int) IAdd 18 19
+ Store 8(i) 20
+ 22: 14(bool) SLessThan 20 21
+ SelectionMerge 23 None
+ BranchConditional 22 23 11
+ 23: Label
+ Branch 12
+ 12: Label
+ Store 24(A) 9
+ 25: 6(int) Load 8(i)
+ 27: 14(bool) IEqual 25 26
+ SelectionMerge 29 None
+ BranchConditional 27 28 29
+ 28: Label
+ Store 30(B) 19
+ Branch 10
+ 32: Label
+ Store 33(C) 26
+ Branch 29
+ 29: Label
+ 34: 6(int) Load 8(i)
+ 36: 14(bool) IEqual 34 35
+ SelectionMerge 38 None
+ BranchConditional 36 37 38
+ 37: Label
+ Store 39(D) 40
+ Branch 11
+ 41: Label
+ Store 42(E) 43
+ Branch 38
+ 38: Label
+ Store 44(F) 45
+ Branch 10
+ 11: Label
+ Store 46(G) 47
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.doWhileLoop.frag.out b/Test/baseResults/spv.doWhileLoop.frag.out
index d33fb8b..ab2b713 100755
--- a/Test/baseResults/spv.doWhileLoop.frag.out
+++ b/Test/baseResults/spv.doWhileLoop.frag.out
@@ -1,73 +1,73 @@
-spv.doWhileLoop.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 40
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 11
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 110
- Name 4 "main"
- Name 9 "color"
- Name 11 "BaseColor"
- Name 27 "d"
- Name 32 "bigColor"
- Name 38 "gl_FragColor"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 10: TypePointer Input 7(fvec4)
- 11(BaseColor): 10(ptr) Variable Input
- 17: TypeBool
- 18: 17(bool) ConstantTrue
- 21: TypeInt 32 0
- 22: 21(int) Constant 0
- 23: TypePointer Function 6(float)
- 26: TypePointer UniformConstant 6(float)
- 27(d): 26(ptr) Variable UniformConstant
- 31: TypePointer UniformConstant 7(fvec4)
- 32(bigColor): 31(ptr) Variable UniformConstant
- 36: 17(bool) ConstantFalse
- 37: TypePointer Output 7(fvec4)
-38(gl_FragColor): 37(ptr) Variable Output
- 4(main): 2 Function None 3
- 5: Label
- 9(color): 8(ptr) Variable Function
- 12: 7(fvec4) Load 11(BaseColor)
- Store 9(color) 12
- Branch 13
- 13: Label
- 16: 17(bool) Phi 18 5 36 15
- LoopMerge 14 13 None
- Branch 19
- 19: Label
- SelectionMerge 15 None
- BranchConditional 16 15 20
- 20: Label
- 24: 23(ptr) AccessChain 9(color) 22
- 25: 6(float) Load 24
- 28: 6(float) Load 27(d)
- 29: 17(bool) FOrdLessThan 25 28
- SelectionMerge 30 None
- BranchConditional 29 30 14
- 30: Label
- Branch 15
- 15: Label
- 33: 7(fvec4) Load 32(bigColor)
- 34: 7(fvec4) Load 9(color)
- 35: 7(fvec4) FAdd 34 33
- Store 9(color) 35
- Branch 13
- 14: Label
- 39: 7(fvec4) Load 9(color)
- Store 38(gl_FragColor) 39
- Return
- FunctionEnd
+spv.doWhileLoop.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 40
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 11
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 110
+ Name 4 "main"
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 27 "d"
+ Name 32 "bigColor"
+ Name 38 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 17: TypeBool
+ 18: 17(bool) ConstantTrue
+ 21: TypeInt 32 0
+ 22: 21(int) Constant 0
+ 23: TypePointer Function 6(float)
+ 26: TypePointer UniformConstant 6(float)
+ 27(d): 26(ptr) Variable UniformConstant
+ 31: TypePointer UniformConstant 7(fvec4)
+ 32(bigColor): 31(ptr) Variable UniformConstant
+ 36: 17(bool) ConstantFalse
+ 37: TypePointer Output 7(fvec4)
+38(gl_FragColor): 37(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(color): 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ Branch 13
+ 13: Label
+ 16: 17(bool) Phi 18 5 36 15
+ LoopMerge 14 13 None
+ Branch 19
+ 19: Label
+ SelectionMerge 15 None
+ BranchConditional 16 15 20
+ 20: Label
+ 24: 23(ptr) AccessChain 9(color) 22
+ 25: 6(float) Load 24
+ 28: 6(float) Load 27(d)
+ 29: 17(bool) FOrdLessThan 25 28
+ SelectionMerge 30 None
+ BranchConditional 29 30 14
+ 30: Label
+ Branch 15
+ 15: Label
+ 33: 7(fvec4) Load 32(bigColor)
+ 34: 7(fvec4) Load 9(color)
+ 35: 7(fvec4) FAdd 34 33
+ Store 9(color) 35
+ Branch 13
+ 14: Label
+ 39: 7(fvec4) Load 9(color)
+ Store 38(gl_FragColor) 39
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.double.comp.out b/Test/baseResults/spv.double.comp.out
index 1a63bbb..b588ca9 100755
--- a/Test/baseResults/spv.double.comp.out
+++ b/Test/baseResults/spv.double.comp.out
@@ -1,102 +1,102 @@
-spv.double.comp
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked compute stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 62
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint GLCompute 4 "main"
- ExecutionMode 4 LocalSize 1 1 1
- Source GLSL 430
- Name 4 "main"
- Name 8 "bufName"
- MemberName 8(bufName) 0 "f"
- MemberName 8(bufName) 1 "d"
- Name 10 "bufInst"
- Name 22 "storePos"
- Name 26 "gl_GlobalInvocationID"
- Name 32 "localCoef"
- Name 33 "gl_LocalInvocationID"
- Name 49 "aa"
- Name 54 "globalCoef"
- Name 58 "roll"
- Name 61 "destTex"
- Decorate 8(bufName) GLSLShared
- Decorate 8(bufName) BufferBlock
- Decorate 26(gl_GlobalInvocationID) BuiltIn GlobalInvocationId
- Decorate 33(gl_LocalInvocationID) BuiltIn LocalInvocationId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeFloat 64
- 8(bufName): TypeStruct 6(float) 7(float)
- 9: TypePointer Uniform 8(bufName)
- 10(bufInst): 9(ptr) Variable Uniform
- 11: TypeInt 32 1
- 12: 11(int) Constant 1
- 13: 7(float) Constant 1413754136 1074340347
- 14: TypePointer Uniform 7(float)
- 16: 11(int) Constant 0
- 17: 6(float) Constant 1095307129
- 18: TypePointer Uniform 6(float)
- 20: TypeVector 11(int) 2
- 21: TypePointer Function 20(ivec2)
- 23: TypeInt 32 0
- 24: TypeVector 23(int) 3
- 25: TypePointer Input 24(ivec3)
-26(gl_GlobalInvocationID): 25(ptr) Variable Input
- 27: TypeVector 23(int) 2
- 31: TypePointer Function 7(float)
-33(gl_LocalInvocationID): 25(ptr) Variable Input
- 37: 11(int) Constant 8
- 40: TypeVector 6(float) 2
- 42: 6(float) Constant 1090519040
- 47: TypeVector 7(float) 4
- 48: TypePointer Function 47(fvec4)
- 50: 7(float) Constant 2576980378 1071225241
- 51: 7(float) Constant 2576980378 1070176665
- 52: 7(float) Constant 858993459 1070805811
- 53: 47(fvec4) ConstantComposite 50 51 52 50
- 55: 7(float) Constant 0 1072693248
- 56: 7(float) Constant 3229815407 1074340298
- 57: TypePointer UniformConstant 7(float)
- 58(roll): 57(ptr) Variable UniformConstant
- 59: TypeImage 6(float) 2D nonsampled format:Unknown
- 60: TypePointer UniformConstant 59
- 61(destTex): 60(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 22(storePos): 21(ptr) Variable Function
- 32(localCoef): 31(ptr) Variable Function
- 49(aa): 48(ptr) Variable Function
- 54(globalCoef): 31(ptr) Variable Function
- 15: 14(ptr) AccessChain 10(bufInst) 12
- Store 15 13
- 19: 18(ptr) AccessChain 10(bufInst) 16
- Store 19 17
- 28: 24(ivec3) Load 26(gl_GlobalInvocationID)
- 29: 27(ivec2) VectorShuffle 28 28 0 1
- 30: 20(ivec2) Bitcast 29
- Store 22(storePos) 30
- 34: 24(ivec3) Load 33(gl_LocalInvocationID)
- 35: 27(ivec2) VectorShuffle 34 34 0 1
- 36: 20(ivec2) Bitcast 35
- 38: 20(ivec2) CompositeConstruct 37 37
- 39: 20(ivec2) ISub 36 38
- 41: 40(fvec2) ConvertSToF 39
- 43: 40(fvec2) CompositeConstruct 42 42
- 44: 40(fvec2) FDiv 41 43
- 45: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 44
- 46: 7(float) FConvert 45
- Store 32(localCoef) 46
- Store 49(aa) 53
- Store 54(globalCoef) 55
- Return
- FunctionEnd
+spv.double.comp
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked compute stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 62
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint GLCompute 4 "main"
+ ExecutionMode 4 LocalSize 1 1 1
+ Source GLSL 430
+ Name 4 "main"
+ Name 8 "bufName"
+ MemberName 8(bufName) 0 "f"
+ MemberName 8(bufName) 1 "d"
+ Name 10 "bufInst"
+ Name 22 "storePos"
+ Name 26 "gl_GlobalInvocationID"
+ Name 32 "localCoef"
+ Name 33 "gl_LocalInvocationID"
+ Name 49 "aa"
+ Name 54 "globalCoef"
+ Name 58 "roll"
+ Name 61 "destTex"
+ Decorate 8(bufName) GLSLShared
+ Decorate 8(bufName) BufferBlock
+ Decorate 26(gl_GlobalInvocationID) BuiltIn GlobalInvocationId
+ Decorate 33(gl_LocalInvocationID) BuiltIn LocalInvocationId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeFloat 64
+ 8(bufName): TypeStruct 6(float) 7(float)
+ 9: TypePointer Uniform 8(bufName)
+ 10(bufInst): 9(ptr) Variable Uniform
+ 11: TypeInt 32 1
+ 12: 11(int) Constant 1
+ 13: 7(float) Constant 1413754136 1074340347
+ 14: TypePointer Uniform 7(float)
+ 16: 11(int) Constant 0
+ 17: 6(float) Constant 1095307129
+ 18: TypePointer Uniform 6(float)
+ 20: TypeVector 11(int) 2
+ 21: TypePointer Function 20(ivec2)
+ 23: TypeInt 32 0
+ 24: TypeVector 23(int) 3
+ 25: TypePointer Input 24(ivec3)
+26(gl_GlobalInvocationID): 25(ptr) Variable Input
+ 27: TypeVector 23(int) 2
+ 31: TypePointer Function 7(float)
+33(gl_LocalInvocationID): 25(ptr) Variable Input
+ 37: 11(int) Constant 8
+ 40: TypeVector 6(float) 2
+ 42: 6(float) Constant 1090519040
+ 47: TypeVector 7(float) 4
+ 48: TypePointer Function 47(fvec4)
+ 50: 7(float) Constant 2576980378 1071225241
+ 51: 7(float) Constant 2576980378 1070176665
+ 52: 7(float) Constant 858993459 1070805811
+ 53: 47(fvec4) ConstantComposite 50 51 52 50
+ 55: 7(float) Constant 0 1072693248
+ 56: 7(float) Constant 3229815407 1074340298
+ 57: TypePointer UniformConstant 7(float)
+ 58(roll): 57(ptr) Variable UniformConstant
+ 59: TypeImage 6(float) 2D nonsampled format:Unknown
+ 60: TypePointer UniformConstant 59
+ 61(destTex): 60(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 22(storePos): 21(ptr) Variable Function
+ 32(localCoef): 31(ptr) Variable Function
+ 49(aa): 48(ptr) Variable Function
+ 54(globalCoef): 31(ptr) Variable Function
+ 15: 14(ptr) AccessChain 10(bufInst) 12
+ Store 15 13
+ 19: 18(ptr) AccessChain 10(bufInst) 16
+ Store 19 17
+ 28: 24(ivec3) Load 26(gl_GlobalInvocationID)
+ 29: 27(ivec2) VectorShuffle 28 28 0 1
+ 30: 20(ivec2) Bitcast 29
+ Store 22(storePos) 30
+ 34: 24(ivec3) Load 33(gl_LocalInvocationID)
+ 35: 27(ivec2) VectorShuffle 34 34 0 1
+ 36: 20(ivec2) Bitcast 35
+ 38: 20(ivec2) CompositeConstruct 37 37
+ 39: 20(ivec2) ISub 36 38
+ 41: 40(fvec2) ConvertSToF 39
+ 43: 40(fvec2) CompositeConstruct 42 42
+ 44: 40(fvec2) FDiv 41 43
+ 45: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 44
+ 46: 7(float) FConvert 45
+ Store 32(localCoef) 46
+ Store 49(aa) 53
+ Store 54(globalCoef) 55
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.earlyReturnDiscard.frag.out b/Test/baseResults/spv.earlyReturnDiscard.frag.out
index ab5f922..2f97327 100755
--- a/Test/baseResults/spv.earlyReturnDiscard.frag.out
+++ b/Test/baseResults/spv.earlyReturnDiscard.frag.out
@@ -1,175 +1,175 @@
-spv.earlyReturnDiscard.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 112
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 18 11
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 110
- Name 4 "main"
- Name 9 "color"
- Name 11 "BaseColor"
- Name 13 "color2"
- Name 15 "otherColor"
- Name 18 "c"
- Name 21 "d"
- Name 27 "bigColor"
- Name 32 "smallColor"
- Name 41 "minimum"
- Name 53 "threshhold"
- Name 65 "threshhold2"
- Name 79 "b"
- Name 107 "gl_FragColor"
- Name 111 "threshhold3"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 10: TypePointer Input 7(fvec4)
- 11(BaseColor): 10(ptr) Variable Input
- 14: TypePointer UniformConstant 7(fvec4)
- 15(otherColor): 14(ptr) Variable UniformConstant
- 17: TypePointer Input 6(float)
- 18(c): 17(ptr) Variable Input
- 20: TypePointer UniformConstant 6(float)
- 21(d): 20(ptr) Variable UniformConstant
- 23: TypeBool
- 27(bigColor): 14(ptr) Variable UniformConstant
- 32(smallColor): 14(ptr) Variable UniformConstant
- 36: TypeInt 32 0
- 37: 36(int) Constant 2
- 38: TypePointer Function 6(float)
- 41(minimum): 20(ptr) Variable UniformConstant
- 49: 6(float) Constant 1065353216
- 53(threshhold): 20(ptr) Variable UniformConstant
- 62: 36(int) Constant 3
- 65(threshhold2): 20(ptr) Variable UniformConstant
- 78: TypePointer UniformConstant 23(bool)
- 79(b): 78(ptr) Variable UniformConstant
- 87: 36(int) Constant 0
- 106: TypePointer Output 7(fvec4)
-107(gl_FragColor): 106(ptr) Variable Output
-111(threshhold3): 20(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 9(color): 8(ptr) Variable Function
- 13(color2): 8(ptr) Variable Function
- 12: 7(fvec4) Load 11(BaseColor)
- Store 9(color) 12
- 16: 7(fvec4) Load 15(otherColor)
- Store 13(color2) 16
- 19: 6(float) Load 18(c)
- 22: 6(float) Load 21(d)
- 24: 23(bool) FOrdGreaterThan 19 22
- SelectionMerge 26 None
- BranchConditional 24 25 31
- 25: Label
- 28: 7(fvec4) Load 27(bigColor)
- 29: 7(fvec4) Load 9(color)
- 30: 7(fvec4) FAdd 29 28
- Store 9(color) 30
- Branch 26
- 31: Label
- 33: 7(fvec4) Load 32(smallColor)
- 34: 7(fvec4) Load 9(color)
- 35: 7(fvec4) FAdd 34 33
- Store 9(color) 35
- Branch 26
- 26: Label
- 39: 38(ptr) AccessChain 9(color) 37
- 40: 6(float) Load 39
- 42: 6(float) Load 41(minimum)
- 43: 23(bool) FOrdLessThan 40 42
- SelectionMerge 45 None
- BranchConditional 43 44 45
- 44: Label
- Return
- 45: Label
- 47: 38(ptr) AccessChain 9(color) 37
- 48: 6(float) Load 47
- 50: 6(float) FAdd 48 49
- Store 47 50
- 51: 38(ptr) AccessChain 9(color) 37
- 52: 6(float) Load 51
- 54: 6(float) Load 53(threshhold)
- 55: 23(bool) FOrdGreaterThan 52 54
- SelectionMerge 57 None
- BranchConditional 55 56 57
- 56: Label
- Kill
- 57: Label
- 59: 7(fvec4) Load 9(color)
- 60: 7(fvec4) CompositeConstruct 49 49 49 49
- 61: 7(fvec4) FAdd 59 60
- Store 9(color) 61
- 63: 38(ptr) AccessChain 9(color) 62
- 64: 6(float) Load 63
- 66: 6(float) Load 65(threshhold2)
- 67: 23(bool) FOrdGreaterThan 64 66
- SelectionMerge 69 None
- BranchConditional 67 68 99
- 68: Label
- 70: 38(ptr) AccessChain 9(color) 37
- 71: 6(float) Load 70
- 72: 6(float) Load 65(threshhold2)
- 73: 23(bool) FOrdGreaterThan 71 72
- SelectionMerge 75 None
- BranchConditional 73 74 77
- 74: Label
- Return
- 77: Label
- 80: 23(bool) Load 79(b)
- SelectionMerge 82 None
- BranchConditional 80 81 86
- 81: Label
- 83: 38(ptr) AccessChain 9(color) 37
- 84: 6(float) Load 83
- 85: 6(float) FAdd 84 49
- Store 83 85
- Branch 82
- 86: Label
- 88: 38(ptr) AccessChain 9(color) 87
- 89: 6(float) Load 88
- 90: 6(float) Load 41(minimum)
- 91: 23(bool) FOrdLessThan 89 90
- SelectionMerge 93 None
- BranchConditional 91 92 95
- 92: Label
- Kill
- 95: Label
- 96: 7(fvec4) Load 9(color)
- 97: 7(fvec4) CompositeConstruct 49 49 49 49
- 98: 7(fvec4) FAdd 96 97
- Store 9(color) 98
- Branch 93
- 93: Label
- Branch 82
- 82: Label
- Branch 75
- 75: Label
- Branch 69
- 99: Label
- 100: 23(bool) Load 79(b)
- SelectionMerge 102 None
- BranchConditional 100 101 104
- 101: Label
- Kill
- 104: Label
- Return
- 102: Label
- Branch 69
- 69: Label
- 108: 7(fvec4) Load 9(color)
- 109: 7(fvec4) Load 13(color2)
- 110: 7(fvec4) FMul 108 109
- Store 107(gl_FragColor) 110
- Return
- FunctionEnd
+spv.earlyReturnDiscard.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 112
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 18 11
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 110
+ Name 4 "main"
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 13 "color2"
+ Name 15 "otherColor"
+ Name 18 "c"
+ Name 21 "d"
+ Name 27 "bigColor"
+ Name 32 "smallColor"
+ Name 41 "minimum"
+ Name 53 "threshhold"
+ Name 65 "threshhold2"
+ Name 79 "b"
+ Name 107 "gl_FragColor"
+ Name 111 "threshhold3"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 14: TypePointer UniformConstant 7(fvec4)
+ 15(otherColor): 14(ptr) Variable UniformConstant
+ 17: TypePointer Input 6(float)
+ 18(c): 17(ptr) Variable Input
+ 20: TypePointer UniformConstant 6(float)
+ 21(d): 20(ptr) Variable UniformConstant
+ 23: TypeBool
+ 27(bigColor): 14(ptr) Variable UniformConstant
+ 32(smallColor): 14(ptr) Variable UniformConstant
+ 36: TypeInt 32 0
+ 37: 36(int) Constant 2
+ 38: TypePointer Function 6(float)
+ 41(minimum): 20(ptr) Variable UniformConstant
+ 49: 6(float) Constant 1065353216
+ 53(threshhold): 20(ptr) Variable UniformConstant
+ 62: 36(int) Constant 3
+ 65(threshhold2): 20(ptr) Variable UniformConstant
+ 78: TypePointer UniformConstant 23(bool)
+ 79(b): 78(ptr) Variable UniformConstant
+ 87: 36(int) Constant 0
+ 106: TypePointer Output 7(fvec4)
+107(gl_FragColor): 106(ptr) Variable Output
+111(threshhold3): 20(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(color): 8(ptr) Variable Function
+ 13(color2): 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ 16: 7(fvec4) Load 15(otherColor)
+ Store 13(color2) 16
+ 19: 6(float) Load 18(c)
+ 22: 6(float) Load 21(d)
+ 24: 23(bool) FOrdGreaterThan 19 22
+ SelectionMerge 26 None
+ BranchConditional 24 25 31
+ 25: Label
+ 28: 7(fvec4) Load 27(bigColor)
+ 29: 7(fvec4) Load 9(color)
+ 30: 7(fvec4) FAdd 29 28
+ Store 9(color) 30
+ Branch 26
+ 31: Label
+ 33: 7(fvec4) Load 32(smallColor)
+ 34: 7(fvec4) Load 9(color)
+ 35: 7(fvec4) FAdd 34 33
+ Store 9(color) 35
+ Branch 26
+ 26: Label
+ 39: 38(ptr) AccessChain 9(color) 37
+ 40: 6(float) Load 39
+ 42: 6(float) Load 41(minimum)
+ 43: 23(bool) FOrdLessThan 40 42
+ SelectionMerge 45 None
+ BranchConditional 43 44 45
+ 44: Label
+ Return
+ 45: Label
+ 47: 38(ptr) AccessChain 9(color) 37
+ 48: 6(float) Load 47
+ 50: 6(float) FAdd 48 49
+ Store 47 50
+ 51: 38(ptr) AccessChain 9(color) 37
+ 52: 6(float) Load 51
+ 54: 6(float) Load 53(threshhold)
+ 55: 23(bool) FOrdGreaterThan 52 54
+ SelectionMerge 57 None
+ BranchConditional 55 56 57
+ 56: Label
+ Kill
+ 57: Label
+ 59: 7(fvec4) Load 9(color)
+ 60: 7(fvec4) CompositeConstruct 49 49 49 49
+ 61: 7(fvec4) FAdd 59 60
+ Store 9(color) 61
+ 63: 38(ptr) AccessChain 9(color) 62
+ 64: 6(float) Load 63
+ 66: 6(float) Load 65(threshhold2)
+ 67: 23(bool) FOrdGreaterThan 64 66
+ SelectionMerge 69 None
+ BranchConditional 67 68 99
+ 68: Label
+ 70: 38(ptr) AccessChain 9(color) 37
+ 71: 6(float) Load 70
+ 72: 6(float) Load 65(threshhold2)
+ 73: 23(bool) FOrdGreaterThan 71 72
+ SelectionMerge 75 None
+ BranchConditional 73 74 77
+ 74: Label
+ Return
+ 77: Label
+ 80: 23(bool) Load 79(b)
+ SelectionMerge 82 None
+ BranchConditional 80 81 86
+ 81: Label
+ 83: 38(ptr) AccessChain 9(color) 37
+ 84: 6(float) Load 83
+ 85: 6(float) FAdd 84 49
+ Store 83 85
+ Branch 82
+ 86: Label
+ 88: 38(ptr) AccessChain 9(color) 87
+ 89: 6(float) Load 88
+ 90: 6(float) Load 41(minimum)
+ 91: 23(bool) FOrdLessThan 89 90
+ SelectionMerge 93 None
+ BranchConditional 91 92 95
+ 92: Label
+ Kill
+ 95: Label
+ 96: 7(fvec4) Load 9(color)
+ 97: 7(fvec4) CompositeConstruct 49 49 49 49
+ 98: 7(fvec4) FAdd 96 97
+ Store 9(color) 98
+ Branch 93
+ 93: Label
+ Branch 82
+ 82: Label
+ Branch 75
+ 75: Label
+ Branch 69
+ 99: Label
+ 100: 23(bool) Load 79(b)
+ SelectionMerge 102 None
+ BranchConditional 100 101 104
+ 101: Label
+ Kill
+ 104: Label
+ Return
+ 102: Label
+ Branch 69
+ 69: Label
+ 108: 7(fvec4) Load 9(color)
+ 109: 7(fvec4) Load 13(color2)
+ 110: 7(fvec4) FMul 108 109
+ Store 107(gl_FragColor) 110
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.flowControl.frag.out b/Test/baseResults/spv.flowControl.frag.out
index fa1b5c0..b5e460b 100755
--- a/Test/baseResults/spv.flowControl.frag.out
+++ b/Test/baseResults/spv.flowControl.frag.out
@@ -1,75 +1,75 @@
-spv.flowControl.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 41
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 18 11
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 120
- Name 4 "main"
- Name 9 "color"
- Name 11 "BaseColor"
- Name 13 "color2"
- Name 15 "otherColor"
- Name 18 "c"
- Name 21 "d"
- Name 27 "bigColor"
- Name 32 "smallColor"
- Name 37 "gl_FragColor"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 10: TypePointer Input 7(fvec4)
- 11(BaseColor): 10(ptr) Variable Input
- 14: TypePointer UniformConstant 7(fvec4)
- 15(otherColor): 14(ptr) Variable UniformConstant
- 17: TypePointer Input 6(float)
- 18(c): 17(ptr) Variable Input
- 20: TypePointer UniformConstant 6(float)
- 21(d): 20(ptr) Variable UniformConstant
- 23: TypeBool
- 27(bigColor): 14(ptr) Variable UniformConstant
- 32(smallColor): 14(ptr) Variable UniformConstant
- 36: TypePointer Output 7(fvec4)
-37(gl_FragColor): 36(ptr) Variable Output
- 4(main): 2 Function None 3
- 5: Label
- 9(color): 8(ptr) Variable Function
- 13(color2): 8(ptr) Variable Function
- 12: 7(fvec4) Load 11(BaseColor)
- Store 9(color) 12
- 16: 7(fvec4) Load 15(otherColor)
- Store 13(color2) 16
- 19: 6(float) Load 18(c)
- 22: 6(float) Load 21(d)
- 24: 23(bool) FOrdGreaterThan 19 22
- SelectionMerge 26 None
- BranchConditional 24 25 31
- 25: Label
- 28: 7(fvec4) Load 27(bigColor)
- 29: 7(fvec4) Load 9(color)
- 30: 7(fvec4) FAdd 29 28
- Store 9(color) 30
- Branch 26
- 31: Label
- 33: 7(fvec4) Load 32(smallColor)
- 34: 7(fvec4) Load 9(color)
- 35: 7(fvec4) FAdd 34 33
- Store 9(color) 35
- Branch 26
- 26: Label
- 38: 7(fvec4) Load 9(color)
- 39: 7(fvec4) Load 13(color2)
- 40: 7(fvec4) FMul 38 39
- Store 37(gl_FragColor) 40
- Return
- FunctionEnd
+spv.flowControl.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 41
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 18 11
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 120
+ Name 4 "main"
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 13 "color2"
+ Name 15 "otherColor"
+ Name 18 "c"
+ Name 21 "d"
+ Name 27 "bigColor"
+ Name 32 "smallColor"
+ Name 37 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 14: TypePointer UniformConstant 7(fvec4)
+ 15(otherColor): 14(ptr) Variable UniformConstant
+ 17: TypePointer Input 6(float)
+ 18(c): 17(ptr) Variable Input
+ 20: TypePointer UniformConstant 6(float)
+ 21(d): 20(ptr) Variable UniformConstant
+ 23: TypeBool
+ 27(bigColor): 14(ptr) Variable UniformConstant
+ 32(smallColor): 14(ptr) Variable UniformConstant
+ 36: TypePointer Output 7(fvec4)
+37(gl_FragColor): 36(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(color): 8(ptr) Variable Function
+ 13(color2): 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ 16: 7(fvec4) Load 15(otherColor)
+ Store 13(color2) 16
+ 19: 6(float) Load 18(c)
+ 22: 6(float) Load 21(d)
+ 24: 23(bool) FOrdGreaterThan 19 22
+ SelectionMerge 26 None
+ BranchConditional 24 25 31
+ 25: Label
+ 28: 7(fvec4) Load 27(bigColor)
+ 29: 7(fvec4) Load 9(color)
+ 30: 7(fvec4) FAdd 29 28
+ Store 9(color) 30
+ Branch 26
+ 31: Label
+ 33: 7(fvec4) Load 32(smallColor)
+ 34: 7(fvec4) Load 9(color)
+ 35: 7(fvec4) FAdd 34 33
+ Store 9(color) 35
+ Branch 26
+ 26: Label
+ 38: 7(fvec4) Load 9(color)
+ 39: 7(fvec4) Load 13(color2)
+ 40: 7(fvec4) FMul 38 39
+ Store 37(gl_FragColor) 40
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.for-continue-break.vert.out b/Test/baseResults/spv.for-continue-break.vert.out
index eac3ddb..92976eb 100755
--- a/Test/baseResults/spv.for-continue-break.vert.out
+++ b/Test/baseResults/spv.for-continue-break.vert.out
@@ -1,97 +1,97 @@
-spv.for-continue-break.vert
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 48
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 46 47
- Source ESSL 300
- Name 4 "main"
- Name 8 "i"
- Name 17 "A"
- Name 25 "B"
- Name 29 "C"
- Name 36 "D"
- Name 38 "E"
- Name 39 "F"
- Name 43 "G"
- Name 46 "gl_VertexID"
- Name 47 "gl_InstanceID"
- Decorate 46(gl_VertexID) BuiltIn VertexId
- Decorate 47(gl_InstanceID) BuiltIn InstanceId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypePointer Function 6(int)
- 9: 6(int) Constant 0
- 14: 6(int) Constant 10
- 15: TypeBool
- 18: 6(int) Constant 1
- 20: 6(int) Constant 2
- 31: 6(int) Constant 3
- 40: 6(int) Constant 12
- 44: 6(int) Constant 99
- 45: TypePointer Input 6(int)
- 46(gl_VertexID): 45(ptr) Variable Input
-47(gl_InstanceID): 45(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 8(i): 7(ptr) Variable Function
- 17(A): 7(ptr) Variable Function
- 25(B): 7(ptr) Variable Function
- 29(C): 7(ptr) Variable Function
- 36(D): 7(ptr) Variable Function
- 38(E): 7(ptr) Variable Function
- 39(F): 7(ptr) Variable Function
- 43(G): 7(ptr) Variable Function
- Store 8(i) 9
- Branch 10
- 10: Label
- 13: 6(int) Load 8(i)
- 16: 15(bool) SLessThan 13 14
- LoopMerge 11 10 None
- BranchConditional 16 12 11
- 12: Label
- Store 17(A) 18
- 19: 6(int) Load 8(i)
- 21: 6(int) SMod 19 20
- 22: 15(bool) IEqual 21 9
- SelectionMerge 24 None
- BranchConditional 22 23 24
- 23: Label
- Store 25(B) 18
- 26: 6(int) Load 8(i)
- 27: 6(int) IAdd 26 18
- Store 8(i) 27
- Branch 10
- 28: Label
- Store 29(C) 18
- Branch 24
- 24: Label
- 30: 6(int) Load 8(i)
- 32: 6(int) SMod 30 31
- 33: 15(bool) IEqual 32 9
- SelectionMerge 35 None
- BranchConditional 33 34 35
- 34: Label
- Store 36(D) 18
- Branch 11
- 37: Label
- Store 38(E) 18
- Branch 35
- 35: Label
- Store 39(F) 40
- 41: 6(int) Load 8(i)
- 42: 6(int) IAdd 41 18
- Store 8(i) 42
- Branch 10
- 11: Label
- Store 43(G) 44
- Return
- FunctionEnd
+spv.for-continue-break.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 48
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 46 47
+ Source ESSL 300
+ Name 4 "main"
+ Name 8 "i"
+ Name 17 "A"
+ Name 25 "B"
+ Name 29 "C"
+ Name 36 "D"
+ Name 38 "E"
+ Name 39 "F"
+ Name 43 "G"
+ Name 46 "gl_VertexID"
+ Name 47 "gl_InstanceID"
+ Decorate 46(gl_VertexID) BuiltIn VertexId
+ Decorate 47(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 14: 6(int) Constant 10
+ 15: TypeBool
+ 18: 6(int) Constant 1
+ 20: 6(int) Constant 2
+ 31: 6(int) Constant 3
+ 40: 6(int) Constant 12
+ 44: 6(int) Constant 99
+ 45: TypePointer Input 6(int)
+ 46(gl_VertexID): 45(ptr) Variable Input
+47(gl_InstanceID): 45(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ 17(A): 7(ptr) Variable Function
+ 25(B): 7(ptr) Variable Function
+ 29(C): 7(ptr) Variable Function
+ 36(D): 7(ptr) Variable Function
+ 38(E): 7(ptr) Variable Function
+ 39(F): 7(ptr) Variable Function
+ 43(G): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ 13: 6(int) Load 8(i)
+ 16: 15(bool) SLessThan 13 14
+ LoopMerge 11 10 None
+ BranchConditional 16 12 11
+ 12: Label
+ Store 17(A) 18
+ 19: 6(int) Load 8(i)
+ 21: 6(int) SMod 19 20
+ 22: 15(bool) IEqual 21 9
+ SelectionMerge 24 None
+ BranchConditional 22 23 24
+ 23: Label
+ Store 25(B) 18
+ 26: 6(int) Load 8(i)
+ 27: 6(int) IAdd 26 18
+ Store 8(i) 27
+ Branch 10
+ 28: Label
+ Store 29(C) 18
+ Branch 24
+ 24: Label
+ 30: 6(int) Load 8(i)
+ 32: 6(int) SMod 30 31
+ 33: 15(bool) IEqual 32 9
+ SelectionMerge 35 None
+ BranchConditional 33 34 35
+ 34: Label
+ Store 36(D) 18
+ Branch 11
+ 37: Label
+ Store 38(E) 18
+ Branch 35
+ 35: Label
+ Store 39(F) 40
+ 41: 6(int) Load 8(i)
+ 42: 6(int) IAdd 41 18
+ Store 8(i) 42
+ Branch 10
+ 11: Label
+ Store 43(G) 44
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.for-simple.vert.out b/Test/baseResults/spv.for-simple.vert.out
index 95ca758..0ce997b 100755
--- a/Test/baseResults/spv.for-simple.vert.out
+++ b/Test/baseResults/spv.for-simple.vert.out
@@ -1,53 +1,53 @@
-spv.for-simple.vert
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 25
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 23 24
- Source ESSL 300
- Name 4 "main"
- Name 8 "i"
- Name 17 "j"
- Name 23 "gl_VertexID"
- Name 24 "gl_InstanceID"
- Decorate 23(gl_VertexID) BuiltIn VertexId
- Decorate 24(gl_InstanceID) BuiltIn InstanceId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypePointer Function 6(int)
- 9: 6(int) Constant 0
- 14: 6(int) Constant 10
- 15: TypeBool
- 18: 6(int) Constant 12
- 20: 6(int) Constant 1
- 22: TypePointer Input 6(int)
- 23(gl_VertexID): 22(ptr) Variable Input
-24(gl_InstanceID): 22(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 8(i): 7(ptr) Variable Function
- 17(j): 7(ptr) Variable Function
- Store 8(i) 9
- Branch 10
- 10: Label
- 13: 6(int) Load 8(i)
- 16: 15(bool) SLessThan 13 14
- LoopMerge 11 10 None
- BranchConditional 16 12 11
- 12: Label
- Store 17(j) 18
- 19: 6(int) Load 8(i)
- 21: 6(int) IAdd 19 20
- Store 8(i) 21
- Branch 10
- 11: Label
- Return
- FunctionEnd
+spv.for-simple.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 25
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 23 24
+ Source ESSL 300
+ Name 4 "main"
+ Name 8 "i"
+ Name 17 "j"
+ Name 23 "gl_VertexID"
+ Name 24 "gl_InstanceID"
+ Decorate 23(gl_VertexID) BuiltIn VertexId
+ Decorate 24(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 14: 6(int) Constant 10
+ 15: TypeBool
+ 18: 6(int) Constant 12
+ 20: 6(int) Constant 1
+ 22: TypePointer Input 6(int)
+ 23(gl_VertexID): 22(ptr) Variable Input
+24(gl_InstanceID): 22(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ 17(j): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ 13: 6(int) Load 8(i)
+ 16: 15(bool) SLessThan 13 14
+ LoopMerge 11 10 None
+ BranchConditional 16 12 11
+ 12: Label
+ Store 17(j) 18
+ 19: 6(int) Load 8(i)
+ 21: 6(int) IAdd 19 20
+ Store 8(i) 21
+ Branch 10
+ 11: Label
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.forLoop.frag.out b/Test/baseResults/spv.forLoop.frag.out
index 1be209b..df3fdd6 100755
--- a/Test/baseResults/spv.forLoop.frag.out
+++ b/Test/baseResults/spv.forLoop.frag.out
@@ -1,194 +1,194 @@
-spv.forLoop.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 122
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 11 97
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 9 "color"
- Name 11 "BaseColor"
- Name 15 "i"
- Name 22 "Count"
- Name 27 "bigColor"
- Name 35 "gl_FragColor"
- Name 38 "sum"
- Name 40 "i"
- Name 50 "v4"
- Name 60 "i"
- Name 66 "tv4"
- Name 83 "r"
- Name 89 "i"
- Name 97 "f"
- Name 110 "i"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 10: TypePointer Input 7(fvec4)
- 11(BaseColor): 10(ptr) Variable Input
- 13: TypeInt 32 1
- 14: TypePointer Function 13(int)
- 16: 13(int) Constant 0
- 21: TypePointer UniformConstant 13(int)
- 22(Count): 21(ptr) Variable UniformConstant
- 24: TypeBool
- 26: TypePointer UniformConstant 7(fvec4)
- 27(bigColor): 26(ptr) Variable UniformConstant
- 32: 13(int) Constant 1
- 34: TypePointer Output 7(fvec4)
-35(gl_FragColor): 34(ptr) Variable Output
- 37: TypePointer Function 6(float)
- 39: 6(float) Constant 0
- 45: 13(int) Constant 4
- 47: TypeInt 32 0
- 48: TypeVector 47(int) 4
- 49: TypePointer UniformConstant 48(ivec4)
- 50(v4): 49(ptr) Variable UniformConstant
- 52: TypePointer UniformConstant 47(int)
- 71: 47(int) Constant 4
- 84: TypeVector 6(float) 3
- 96: TypePointer Input 6(float)
- 97(f): 96(ptr) Variable Input
- 99: 47(int) Constant 3
- 115: 13(int) Constant 16
- 4(main): 2 Function None 3
- 5: Label
- 9(color): 8(ptr) Variable Function
- 15(i): 14(ptr) Variable Function
- 38(sum): 37(ptr) Variable Function
- 40(i): 14(ptr) Variable Function
- 60(i): 14(ptr) Variable Function
- 66(tv4): 8(ptr) Variable Function
- 83(r): 8(ptr) Variable Function
- 89(i): 14(ptr) Variable Function
- 110(i): 14(ptr) Variable Function
- 12: 7(fvec4) Load 11(BaseColor)
- Store 9(color) 12
- Store 15(i) 16
- Branch 17
- 17: Label
- 20: 13(int) Load 15(i)
- 23: 13(int) Load 22(Count)
- 25: 24(bool) SLessThan 20 23
- LoopMerge 18 17 None
- BranchConditional 25 19 18
- 19: Label
- 28: 7(fvec4) Load 27(bigColor)
- 29: 7(fvec4) Load 9(color)
- 30: 7(fvec4) FAdd 29 28
- Store 9(color) 30
- 31: 13(int) Load 15(i)
- 33: 13(int) IAdd 31 32
- Store 15(i) 33
- Branch 17
- 18: Label
- 36: 7(fvec4) Load 9(color)
- Store 35(gl_FragColor) 36
- Store 38(sum) 39
- Store 40(i) 16
- Branch 41
- 41: Label
- 44: 13(int) Load 40(i)
- 46: 24(bool) SLessThan 44 45
- LoopMerge 42 41 None
- BranchConditional 46 43 42
- 43: Label
- 51: 13(int) Load 40(i)
- 53: 52(ptr) AccessChain 50(v4) 51
- 54: 47(int) Load 53
- 55: 6(float) ConvertUToF 54
- 56: 6(float) Load 38(sum)
- 57: 6(float) FAdd 56 55
- Store 38(sum) 57
- 58: 13(int) Load 40(i)
- 59: 13(int) IAdd 58 32
- Store 40(i) 59
- Branch 41
- 42: Label
- Store 60(i) 16
- Branch 61
- 61: Label
- 64: 13(int) Load 60(i)
- 65: 24(bool) SLessThan 64 45
- LoopMerge 62 61 None
- BranchConditional 65 63 62
- 63: Label
- 67: 13(int) Load 60(i)
- 68: 13(int) Load 60(i)
- 69: 52(ptr) AccessChain 50(v4) 68
- 70: 47(int) Load 69
- 72: 47(int) IMul 70 71
- 73: 6(float) ConvertUToF 72
- 74: 37(ptr) AccessChain 66(tv4) 67
- Store 74 73
- 75: 13(int) Load 60(i)
- 76: 13(int) IAdd 75 32
- Store 60(i) 76
- Branch 61
- 62: Label
- 77: 6(float) Load 38(sum)
- 78: 7(fvec4) CompositeConstruct 77 77 77 77
- 79: 7(fvec4) Load 66(tv4)
- 80: 7(fvec4) FAdd 78 79
- 81: 7(fvec4) Load 35(gl_FragColor)
- 82: 7(fvec4) FAdd 81 80
- Store 35(gl_FragColor) 82
- 85: 7(fvec4) Load 11(BaseColor)
- 86: 84(fvec3) VectorShuffle 85 85 0 1 2
- 87: 7(fvec4) Load 83(r)
- 88: 7(fvec4) VectorShuffle 87 86 4 5 6 3
- Store 83(r) 88
- Store 89(i) 16
- Branch 90
- 90: Label
- 93: 13(int) Load 89(i)
- 94: 13(int) Load 22(Count)
- 95: 24(bool) SLessThan 93 94
- LoopMerge 91 90 None
- BranchConditional 95 92 91
- 92: Label
- 98: 6(float) Load 97(f)
- 100: 37(ptr) AccessChain 83(r) 99
- Store 100 98
- 101: 13(int) Load 89(i)
- 102: 13(int) IAdd 101 32
- Store 89(i) 102
- Branch 90
- 91: Label
- 103: 7(fvec4) Load 83(r)
- 104: 84(fvec3) VectorShuffle 103 103 0 1 2
- 105: 7(fvec4) Load 35(gl_FragColor)
- 106: 84(fvec3) VectorShuffle 105 105 0 1 2
- 107: 84(fvec3) FAdd 106 104
- 108: 7(fvec4) Load 35(gl_FragColor)
- 109: 7(fvec4) VectorShuffle 108 107 4 5 6 3
- Store 35(gl_FragColor) 109
- Store 110(i) 16
- Branch 111
- 111: Label
- 114: 13(int) Load 110(i)
- 116: 24(bool) SLessThan 114 115
- LoopMerge 112 111 None
- BranchConditional 116 113 112
- 113: Label
- 117: 6(float) Load 97(f)
- 118: 7(fvec4) Load 35(gl_FragColor)
- 119: 7(fvec4) VectorTimesScalar 118 117
- Store 35(gl_FragColor) 119
- 120: 13(int) Load 110(i)
- 121: 13(int) IAdd 120 45
- Store 110(i) 121
- Branch 111
- 112: Label
- Return
- FunctionEnd
+spv.forLoop.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 122
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 11 97
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 15 "i"
+ Name 22 "Count"
+ Name 27 "bigColor"
+ Name 35 "gl_FragColor"
+ Name 38 "sum"
+ Name 40 "i"
+ Name 50 "v4"
+ Name 60 "i"
+ Name 66 "tv4"
+ Name 83 "r"
+ Name 89 "i"
+ Name 97 "f"
+ Name 110 "i"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 13: TypeInt 32 1
+ 14: TypePointer Function 13(int)
+ 16: 13(int) Constant 0
+ 21: TypePointer UniformConstant 13(int)
+ 22(Count): 21(ptr) Variable UniformConstant
+ 24: TypeBool
+ 26: TypePointer UniformConstant 7(fvec4)
+ 27(bigColor): 26(ptr) Variable UniformConstant
+ 32: 13(int) Constant 1
+ 34: TypePointer Output 7(fvec4)
+35(gl_FragColor): 34(ptr) Variable Output
+ 37: TypePointer Function 6(float)
+ 39: 6(float) Constant 0
+ 45: 13(int) Constant 4
+ 47: TypeInt 32 0
+ 48: TypeVector 47(int) 4
+ 49: TypePointer UniformConstant 48(ivec4)
+ 50(v4): 49(ptr) Variable UniformConstant
+ 52: TypePointer UniformConstant 47(int)
+ 71: 47(int) Constant 4
+ 84: TypeVector 6(float) 3
+ 96: TypePointer Input 6(float)
+ 97(f): 96(ptr) Variable Input
+ 99: 47(int) Constant 3
+ 115: 13(int) Constant 16
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(color): 8(ptr) Variable Function
+ 15(i): 14(ptr) Variable Function
+ 38(sum): 37(ptr) Variable Function
+ 40(i): 14(ptr) Variable Function
+ 60(i): 14(ptr) Variable Function
+ 66(tv4): 8(ptr) Variable Function
+ 83(r): 8(ptr) Variable Function
+ 89(i): 14(ptr) Variable Function
+ 110(i): 14(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ Store 15(i) 16
+ Branch 17
+ 17: Label
+ 20: 13(int) Load 15(i)
+ 23: 13(int) Load 22(Count)
+ 25: 24(bool) SLessThan 20 23
+ LoopMerge 18 17 None
+ BranchConditional 25 19 18
+ 19: Label
+ 28: 7(fvec4) Load 27(bigColor)
+ 29: 7(fvec4) Load 9(color)
+ 30: 7(fvec4) FAdd 29 28
+ Store 9(color) 30
+ 31: 13(int) Load 15(i)
+ 33: 13(int) IAdd 31 32
+ Store 15(i) 33
+ Branch 17
+ 18: Label
+ 36: 7(fvec4) Load 9(color)
+ Store 35(gl_FragColor) 36
+ Store 38(sum) 39
+ Store 40(i) 16
+ Branch 41
+ 41: Label
+ 44: 13(int) Load 40(i)
+ 46: 24(bool) SLessThan 44 45
+ LoopMerge 42 41 None
+ BranchConditional 46 43 42
+ 43: Label
+ 51: 13(int) Load 40(i)
+ 53: 52(ptr) AccessChain 50(v4) 51
+ 54: 47(int) Load 53
+ 55: 6(float) ConvertUToF 54
+ 56: 6(float) Load 38(sum)
+ 57: 6(float) FAdd 56 55
+ Store 38(sum) 57
+ 58: 13(int) Load 40(i)
+ 59: 13(int) IAdd 58 32
+ Store 40(i) 59
+ Branch 41
+ 42: Label
+ Store 60(i) 16
+ Branch 61
+ 61: Label
+ 64: 13(int) Load 60(i)
+ 65: 24(bool) SLessThan 64 45
+ LoopMerge 62 61 None
+ BranchConditional 65 63 62
+ 63: Label
+ 67: 13(int) Load 60(i)
+ 68: 13(int) Load 60(i)
+ 69: 52(ptr) AccessChain 50(v4) 68
+ 70: 47(int) Load 69
+ 72: 47(int) IMul 70 71
+ 73: 6(float) ConvertUToF 72
+ 74: 37(ptr) AccessChain 66(tv4) 67
+ Store 74 73
+ 75: 13(int) Load 60(i)
+ 76: 13(int) IAdd 75 32
+ Store 60(i) 76
+ Branch 61
+ 62: Label
+ 77: 6(float) Load 38(sum)
+ 78: 7(fvec4) CompositeConstruct 77 77 77 77
+ 79: 7(fvec4) Load 66(tv4)
+ 80: 7(fvec4) FAdd 78 79
+ 81: 7(fvec4) Load 35(gl_FragColor)
+ 82: 7(fvec4) FAdd 81 80
+ Store 35(gl_FragColor) 82
+ 85: 7(fvec4) Load 11(BaseColor)
+ 86: 84(fvec3) VectorShuffle 85 85 0 1 2
+ 87: 7(fvec4) Load 83(r)
+ 88: 7(fvec4) VectorShuffle 87 86 4 5 6 3
+ Store 83(r) 88
+ Store 89(i) 16
+ Branch 90
+ 90: Label
+ 93: 13(int) Load 89(i)
+ 94: 13(int) Load 22(Count)
+ 95: 24(bool) SLessThan 93 94
+ LoopMerge 91 90 None
+ BranchConditional 95 92 91
+ 92: Label
+ 98: 6(float) Load 97(f)
+ 100: 37(ptr) AccessChain 83(r) 99
+ Store 100 98
+ 101: 13(int) Load 89(i)
+ 102: 13(int) IAdd 101 32
+ Store 89(i) 102
+ Branch 90
+ 91: Label
+ 103: 7(fvec4) Load 83(r)
+ 104: 84(fvec3) VectorShuffle 103 103 0 1 2
+ 105: 7(fvec4) Load 35(gl_FragColor)
+ 106: 84(fvec3) VectorShuffle 105 105 0 1 2
+ 107: 84(fvec3) FAdd 106 104
+ 108: 7(fvec4) Load 35(gl_FragColor)
+ 109: 7(fvec4) VectorShuffle 108 107 4 5 6 3
+ Store 35(gl_FragColor) 109
+ Store 110(i) 16
+ Branch 111
+ 111: Label
+ 114: 13(int) Load 110(i)
+ 116: 24(bool) SLessThan 114 115
+ LoopMerge 112 111 None
+ BranchConditional 116 113 112
+ 113: Label
+ 117: 6(float) Load 97(f)
+ 118: 7(fvec4) Load 35(gl_FragColor)
+ 119: 7(fvec4) VectorTimesScalar 118 117
+ Store 35(gl_FragColor) 119
+ 120: 13(int) Load 110(i)
+ 121: 13(int) IAdd 120 45
+ Store 110(i) 121
+ Branch 111
+ 112: Label
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.forwardFun.frag.out b/Test/baseResults/spv.forwardFun.frag.out
index ce0cdb8..cdc4442 100755
--- a/Test/baseResults/spv.forwardFun.frag.out
+++ b/Test/baseResults/spv.forwardFun.frag.out
@@ -1,104 +1,104 @@
-spv.forwardFun.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 60
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 20
- ExecutionMode 4 OriginLowerLeft
- Source ESSL 100
- Name 4 "main"
- Name 6 "bar("
- Name 10 "unreachableReturn("
- Name 16 "foo(vf4;"
- Name 15 "bar"
- Name 18 "color"
- Name 20 "BaseColor"
- Name 21 "param"
- Name 27 "f"
- Name 30 "gl_FragColor"
- Name 36 "d"
- Name 59 "bigColor"
- Decorate 18(color) RelaxedPrecision
- Decorate 20(BaseColor) RelaxedPrecision
- Decorate 27(f) RelaxedPrecision
- Decorate 30(gl_FragColor) RelaxedPrecision
- Decorate 36(d) RelaxedPrecision
- Decorate 59(bigColor) RelaxedPrecision
- 2: TypeVoid
- 3: TypeFunction 2
- 8: TypeFloat 32
- 9: TypeFunction 8(float)
- 12: TypeVector 8(float) 4
- 13: TypePointer Function 12(fvec4)
- 14: TypeFunction 8(float) 13(ptr)
- 19: TypePointer Input 12(fvec4)
- 20(BaseColor): 19(ptr) Variable Input
- 26: TypePointer Function 8(float)
- 29: TypePointer Output 12(fvec4)
-30(gl_FragColor): 29(ptr) Variable Output
- 35: TypePointer UniformConstant 8(float)
- 36(d): 35(ptr) Variable UniformConstant
- 38: 8(float) Constant 1082549862
- 39: TypeBool
- 43: 8(float) Constant 1067030938
- 46: 8(float) Constant 1083179008
- 49: TypeInt 32 0
- 50: 49(int) Constant 0
- 53: 49(int) Constant 1
- 58: TypePointer UniformConstant 12(fvec4)
- 59(bigColor): 58(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 18(color): 13(ptr) Variable Function
- 21(param): 13(ptr) Variable Function
- 27(f): 26(ptr) Variable Function
- 22: 12(fvec4) Load 20(BaseColor)
- Store 21(param) 22
- 23: 8(float) FunctionCall 16(foo(vf4;) 21(param)
- 24: 12(fvec4) CompositeConstruct 23 23 23 23
- Store 18(color) 24
- 25: 2 FunctionCall 6(bar()
- 28: 8(float) FunctionCall 10(unreachableReturn()
- Store 27(f) 28
- 31: 12(fvec4) Load 18(color)
- 32: 8(float) Load 27(f)
- 33: 12(fvec4) VectorTimesScalar 31 32
- Store 30(gl_FragColor) 33
- Return
- FunctionEnd
- 6(bar(): 2 Function None 3
- 7: Label
- Return
- FunctionEnd
-10(unreachableReturn(): 8(float) Function None 9
- 11: Label
- 34: 2 FunctionCall 6(bar()
- 37: 8(float) Load 36(d)
- 40: 39(bool) FOrdLessThan 37 38
- SelectionMerge 42 None
- BranchConditional 40 41 45
- 41: Label
- ReturnValue 43
- 45: Label
- ReturnValue 46
- 42: Label
- 48: 8(float) Undef
- ReturnValue 48
- FunctionEnd
- 16(foo(vf4;): 8(float) Function None 14
- 15(bar): 13(ptr) FunctionParameter
- 17: Label
- 51: 26(ptr) AccessChain 15(bar) 50
- 52: 8(float) Load 51
- 54: 26(ptr) AccessChain 15(bar) 53
- 55: 8(float) Load 54
- 56: 8(float) FAdd 52 55
- ReturnValue 56
- FunctionEnd
+spv.forwardFun.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 60
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 20
+ ExecutionMode 4 OriginLowerLeft
+ Source ESSL 100
+ Name 4 "main"
+ Name 6 "bar("
+ Name 10 "unreachableReturn("
+ Name 16 "foo(vf4;"
+ Name 15 "bar"
+ Name 18 "color"
+ Name 20 "BaseColor"
+ Name 21 "param"
+ Name 27 "f"
+ Name 30 "gl_FragColor"
+ Name 36 "d"
+ Name 59 "bigColor"
+ Decorate 18(color) RelaxedPrecision
+ Decorate 20(BaseColor) RelaxedPrecision
+ Decorate 27(f) RelaxedPrecision
+ Decorate 30(gl_FragColor) RelaxedPrecision
+ Decorate 36(d) RelaxedPrecision
+ Decorate 59(bigColor) RelaxedPrecision
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 8: TypeFloat 32
+ 9: TypeFunction 8(float)
+ 12: TypeVector 8(float) 4
+ 13: TypePointer Function 12(fvec4)
+ 14: TypeFunction 8(float) 13(ptr)
+ 19: TypePointer Input 12(fvec4)
+ 20(BaseColor): 19(ptr) Variable Input
+ 26: TypePointer Function 8(float)
+ 29: TypePointer Output 12(fvec4)
+30(gl_FragColor): 29(ptr) Variable Output
+ 35: TypePointer UniformConstant 8(float)
+ 36(d): 35(ptr) Variable UniformConstant
+ 38: 8(float) Constant 1082549862
+ 39: TypeBool
+ 43: 8(float) Constant 1067030938
+ 46: 8(float) Constant 1083179008
+ 49: TypeInt 32 0
+ 50: 49(int) Constant 0
+ 53: 49(int) Constant 1
+ 58: TypePointer UniformConstant 12(fvec4)
+ 59(bigColor): 58(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 18(color): 13(ptr) Variable Function
+ 21(param): 13(ptr) Variable Function
+ 27(f): 26(ptr) Variable Function
+ 22: 12(fvec4) Load 20(BaseColor)
+ Store 21(param) 22
+ 23: 8(float) FunctionCall 16(foo(vf4;) 21(param)
+ 24: 12(fvec4) CompositeConstruct 23 23 23 23
+ Store 18(color) 24
+ 25: 2 FunctionCall 6(bar()
+ 28: 8(float) FunctionCall 10(unreachableReturn()
+ Store 27(f) 28
+ 31: 12(fvec4) Load 18(color)
+ 32: 8(float) Load 27(f)
+ 33: 12(fvec4) VectorTimesScalar 31 32
+ Store 30(gl_FragColor) 33
+ Return
+ FunctionEnd
+ 6(bar(): 2 Function None 3
+ 7: Label
+ Return
+ FunctionEnd
+10(unreachableReturn(): 8(float) Function None 9
+ 11: Label
+ 34: 2 FunctionCall 6(bar()
+ 37: 8(float) Load 36(d)
+ 40: 39(bool) FOrdLessThan 37 38
+ SelectionMerge 42 None
+ BranchConditional 40 41 45
+ 41: Label
+ ReturnValue 43
+ 45: Label
+ ReturnValue 46
+ 42: Label
+ 48: 8(float) Undef
+ ReturnValue 48
+ FunctionEnd
+ 16(foo(vf4;): 8(float) Function None 14
+ 15(bar): 13(ptr) FunctionParameter
+ 17: Label
+ 51: 26(ptr) AccessChain 15(bar) 50
+ 52: 8(float) Load 51
+ 54: 26(ptr) AccessChain 15(bar) 53
+ 55: 8(float) Load 54
+ 56: 8(float) FAdd 52 55
+ ReturnValue 56
+ FunctionEnd
diff --git a/Test/baseResults/spv.functionCall.frag.out b/Test/baseResults/spv.functionCall.frag.out
index 0d8bed7..77d60a2 100755
--- a/Test/baseResults/spv.functionCall.frag.out
+++ b/Test/baseResults/spv.functionCall.frag.out
@@ -1,126 +1,126 @@
-spv.functionCall.frag
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 76
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 57
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 11 "foo(vf4;"
- Name 10 "bar"
- Name 13 "bar("
- Name 16 "unreachableReturn("
- Name 18 "missingReturn("
- Name 21 "h"
- Name 34 "d"
- Name 55 "color"
- Name 57 "BaseColor"
- Name 58 "param"
- Name 63 "f"
- Name 65 "g"
- Name 68 "gl_FragColor"
- Name 75 "bigColor"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 9: TypeFunction 6(float) 8(ptr)
- 15: TypeFunction 6(float)
- 20: TypePointer Private 6(float)
- 21(h): 20(ptr) Variable Private
- 22: 6(float) Constant 0
- 23: TypeInt 32 0
- 24: 23(int) Constant 0
- 25: TypePointer Function 6(float)
- 28: 23(int) Constant 1
- 33: TypePointer UniformConstant 6(float)
- 34(d): 33(ptr) Variable UniformConstant
- 36: 6(float) Constant 1082549862
- 37: TypeBool
- 41: 6(float) Constant 1067030938
- 44: 6(float) Constant 1083179008
- 52: 6(float) Constant 1081711002
- 56: TypePointer Input 7(fvec4)
- 57(BaseColor): 56(ptr) Variable Input
- 67: TypePointer Output 7(fvec4)
-68(gl_FragColor): 67(ptr) Variable Output
- 74: TypePointer UniformConstant 7(fvec4)
- 75(bigColor): 74(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 55(color): 8(ptr) Variable Function
- 58(param): 8(ptr) Variable Function
- 63(f): 25(ptr) Variable Function
- 65(g): 25(ptr) Variable Function
- Store 21(h) 22
- 59: 7(fvec4) Load 57(BaseColor)
- Store 58(param) 59
- 60: 6(float) FunctionCall 11(foo(vf4;) 58(param)
- 61: 7(fvec4) CompositeConstruct 60 60 60 60
- Store 55(color) 61
- 62: 2 FunctionCall 13(bar()
- 64: 6(float) FunctionCall 16(unreachableReturn()
- Store 63(f) 64
- 66: 6(float) FunctionCall 18(missingReturn()
- Store 65(g) 66
- 69: 7(fvec4) Load 55(color)
- 70: 6(float) Load 63(f)
- 71: 7(fvec4) VectorTimesScalar 69 70
- 72: 6(float) Load 21(h)
- 73: 7(fvec4) VectorTimesScalar 71 72
- Store 68(gl_FragColor) 73
- Return
- FunctionEnd
- 11(foo(vf4;): 6(float) Function None 9
- 10(bar): 8(ptr) FunctionParameter
- 12: Label
- 26: 25(ptr) AccessChain 10(bar) 24
- 27: 6(float) Load 26
- 29: 25(ptr) AccessChain 10(bar) 28
- 30: 6(float) Load 29
- 31: 6(float) FAdd 27 30
- ReturnValue 31
- FunctionEnd
- 13(bar(): 2 Function None 3
- 14: Label
- Return
- FunctionEnd
-16(unreachableReturn(): 6(float) Function None 15
- 17: Label
- 35: 6(float) Load 34(d)
- 38: 37(bool) FOrdLessThan 35 36
- SelectionMerge 40 None
- BranchConditional 38 39 43
- 39: Label
- ReturnValue 41
- 43: Label
- ReturnValue 44
- 40: Label
- 46: 6(float) Undef
- ReturnValue 46
- FunctionEnd
-18(missingReturn(): 6(float) Function None 15
- 19: Label
- 47: 6(float) Load 34(d)
- 48: 37(bool) FOrdLessThan 47 44
- SelectionMerge 50 None
- BranchConditional 48 49 50
- 49: Label
- 51: 6(float) Load 34(d)
- Store 21(h) 51
- ReturnValue 52
- 50: Label
- 54: 6(float) Undef
- ReturnValue 54
- FunctionEnd
+spv.functionCall.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 76
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 57
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 11 "foo(vf4;"
+ Name 10 "bar"
+ Name 13 "bar("
+ Name 16 "unreachableReturn("
+ Name 18 "missingReturn("
+ Name 21 "h"
+ Name 34 "d"
+ Name 55 "color"
+ Name 57 "BaseColor"
+ Name 58 "param"
+ Name 63 "f"
+ Name 65 "g"
+ Name 68 "gl_FragColor"
+ Name 75 "bigColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 9: TypeFunction 6(float) 8(ptr)
+ 15: TypeFunction 6(float)
+ 20: TypePointer Private 6(float)
+ 21(h): 20(ptr) Variable Private
+ 22: 6(float) Constant 0
+ 23: TypeInt 32 0
+ 24: 23(int) Constant 0
+ 25: TypePointer Function 6(float)
+ 28: 23(int) Constant 1
+ 33: TypePointer UniformConstant 6(float)
+ 34(d): 33(ptr) Variable UniformConstant
+ 36: 6(float) Constant 1082549862
+ 37: TypeBool
+ 41: 6(float) Constant 1067030938
+ 44: 6(float) Constant 1083179008
+ 52: 6(float) Constant 1081711002
+ 56: TypePointer Input 7(fvec4)
+ 57(BaseColor): 56(ptr) Variable Input
+ 67: TypePointer Output 7(fvec4)
+68(gl_FragColor): 67(ptr) Variable Output
+ 74: TypePointer UniformConstant 7(fvec4)
+ 75(bigColor): 74(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 55(color): 8(ptr) Variable Function
+ 58(param): 8(ptr) Variable Function
+ 63(f): 25(ptr) Variable Function
+ 65(g): 25(ptr) Variable Function
+ Store 21(h) 22
+ 59: 7(fvec4) Load 57(BaseColor)
+ Store 58(param) 59
+ 60: 6(float) FunctionCall 11(foo(vf4;) 58(param)
+ 61: 7(fvec4) CompositeConstruct 60 60 60 60
+ Store 55(color) 61
+ 62: 2 FunctionCall 13(bar()
+ 64: 6(float) FunctionCall 16(unreachableReturn()
+ Store 63(f) 64
+ 66: 6(float) FunctionCall 18(missingReturn()
+ Store 65(g) 66
+ 69: 7(fvec4) Load 55(color)
+ 70: 6(float) Load 63(f)
+ 71: 7(fvec4) VectorTimesScalar 69 70
+ 72: 6(float) Load 21(h)
+ 73: 7(fvec4) VectorTimesScalar 71 72
+ Store 68(gl_FragColor) 73
+ Return
+ FunctionEnd
+ 11(foo(vf4;): 6(float) Function None 9
+ 10(bar): 8(ptr) FunctionParameter
+ 12: Label
+ 26: 25(ptr) AccessChain 10(bar) 24
+ 27: 6(float) Load 26
+ 29: 25(ptr) AccessChain 10(bar) 28
+ 30: 6(float) Load 29
+ 31: 6(float) FAdd 27 30
+ ReturnValue 31
+ FunctionEnd
+ 13(bar(): 2 Function None 3
+ 14: Label
+ Return
+ FunctionEnd
+16(unreachableReturn(): 6(float) Function None 15
+ 17: Label
+ 35: 6(float) Load 34(d)
+ 38: 37(bool) FOrdLessThan 35 36
+ SelectionMerge 40 None
+ BranchConditional 38 39 43
+ 39: Label
+ ReturnValue 41
+ 43: Label
+ ReturnValue 44
+ 40: Label
+ 46: 6(float) Undef
+ ReturnValue 46
+ FunctionEnd
+18(missingReturn(): 6(float) Function None 15
+ 19: Label
+ 47: 6(float) Load 34(d)
+ 48: 37(bool) FOrdLessThan 47 44
+ SelectionMerge 50 None
+ BranchConditional 48 49 50
+ 49: Label
+ 51: 6(float) Load 34(d)
+ Store 21(h) 51
+ ReturnValue 52
+ 50: Label
+ 54: 6(float) Undef
+ ReturnValue 54
+ FunctionEnd
diff --git a/Test/baseResults/spv.functionSemantics.frag.out b/Test/baseResults/spv.functionSemantics.frag.out
index 1200d28..45a0bd3 100755
--- a/Test/baseResults/spv.functionSemantics.frag.out
+++ b/Test/baseResults/spv.functionSemantics.frag.out
@@ -1,232 +1,232 @@
-spv.functionSemantics.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 153
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main"
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 400
- Name 4 "main"
- Name 15 "foo(i1;i1;i1;i1;i1;i1;"
- Name 9 "a"
- Name 10 "b"
- Name 11 "c"
- Name 12 "d"
- Name 13 "e"
- Name 14 "f"
- Name 25 "foo2(f1;vf3;i1;"
- Name 22 "a"
- Name 23 "b"
- Name 24 "r"
- Name 28 "foo3("
- Name 30 "sum"
- Name 74 "u"
- Name 86 "t"
- Name 89 "s"
- MemberName 89(s) 0 "t"
- Name 91 "f"
- Name 95 "color"
- Name 101 "e"
- Name 102 "param"
- Name 103 "param"
- Name 104 "param"
- Name 105 "param"
- Name 120 "ret"
- Name 122 "tempReturn"
- Name 127 "tempArg"
- Name 128 "param"
- Name 129 "param"
- Name 130 "param"
- Name 133 "arg"
- Name 149 "gl_FragColor"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypePointer Function 6(int)
- 8: TypeFunction 6(int) 7(ptr) 6(int) 7(ptr) 6(int) 7(ptr) 7(ptr)
- 17: TypeFloat 32
- 18: TypePointer Function 17(float)
- 19: TypeVector 17(float) 3
- 20: TypePointer Function 19(fvec3)
- 21: TypeFunction 6(int) 18(ptr) 20(ptr) 7(ptr)
- 27: TypeFunction 6(int)
- 38: 6(int) Constant 64
- 43: 6(int) Constant 1024
- 61: 17(float) Constant 1077936128
- 65: 17(float) Constant 1084227584
- 66: TypeInt 32 0
- 67: 66(int) Constant 1
- 73: TypePointer UniformConstant 17(float)
- 74(u): 73(ptr) Variable UniformConstant
- 76: 17(float) Constant 1078774989
- 77: TypeBool
- 82: 6(int) Constant 1000000
- 84: 6(int) Constant 2000000
- 87: 6(int) Constant 2
- 88: TypeVector 6(int) 4
- 89(s): TypeStruct 88(ivec4)
- 90: TypePointer Function 89(s)
- 92: 6(int) Constant 0
- 93: 6(int) Constant 32
- 96: 6(int) Constant 1
- 100: 6(int) Constant 8
- 112: 6(int) Constant 128
- 121: TypePointer Private 6(int)
- 122(tempReturn): 121(ptr) Variable Private
- 123: 17(float) Constant 1082130432
- 124: 17(float) Constant 1065353216
- 125: 17(float) Constant 1073741824
- 126: 19(fvec3) ConstantComposite 124 125 61
- 147: TypeVector 17(float) 4
- 148: TypePointer Output 147(fvec4)
-149(gl_FragColor): 148(ptr) Variable Output
- 4(main): 2 Function None 3
- 5: Label
- 86(t): 7(ptr) Variable Function
- 91(f): 90(ptr) Variable Function
- 95(color): 7(ptr) Variable Function
- 101(e): 7(ptr) Variable Function
- 102(param): 7(ptr) Variable Function
- 103(param): 7(ptr) Variable Function
- 104(param): 7(ptr) Variable Function
- 105(param): 7(ptr) Variable Function
- 120(ret): 18(ptr) Variable Function
- 127(tempArg): 7(ptr) Variable Function
- 128(param): 18(ptr) Variable Function
- 129(param): 20(ptr) Variable Function
- 130(param): 7(ptr) Variable Function
- 133(arg): 18(ptr) Variable Function
- Store 86(t) 87
- 94: 7(ptr) AccessChain 91(f) 92 67
- Store 94 93
- 97: 6(int) Load 86(t)
- 98: 6(int) Load 86(t)
- 99: 6(int) IAdd 97 98
- Store 102(param) 96
- Store 103(param) 99
- 106: 7(ptr) AccessChain 91(f) 92 67
- 107: 6(int) Load 106
- Store 105(param) 107
- 108: 6(int) FunctionCall 15(foo(i1;i1;i1;i1;i1;i1;) 102(param) 87 103(param) 100 104(param) 105(param)
- 109: 6(int) Load 104(param)
- Store 101(e) 109
- 110: 6(int) Load 105(param)
- 111: 7(ptr) AccessChain 91(f) 92 67
- Store 111 110
- Store 95(color) 108
- 113: 6(int) Load 101(e)
- 114: 7(ptr) AccessChain 91(f) 92 67
- 115: 6(int) Load 114
- 116: 6(int) IAdd 113 115
- 117: 6(int) IMul 112 116
- 118: 6(int) Load 95(color)
- 119: 6(int) IAdd 118 117
- Store 95(color) 119
- Store 128(param) 123
- Store 129(param) 126
- 131: 6(int) FunctionCall 25(foo2(f1;vf3;i1;) 128(param) 129(param) 130(param)
- 132: 6(int) Load 130(param)
- Store 127(tempArg) 132
- Store 122(tempReturn) 131
- 134: 6(int) Load 127(tempArg)
- 135: 17(float) ConvertSToF 134
- Store 133(arg) 135
- 136: 6(int) Load 122(tempReturn)
- 137: 17(float) ConvertSToF 136
- Store 120(ret) 137
- 138: 17(float) Load 120(ret)
- 139: 17(float) Load 133(arg)
- 140: 17(float) FAdd 138 139
- 141: 6(int) ConvertFToS 140
- 142: 6(int) Load 95(color)
- 143: 6(int) IAdd 142 141
- Store 95(color) 143
- 144: 6(int) FunctionCall 28(foo3()
- 145: 6(int) Load 95(color)
- 146: 6(int) IAdd 145 144
- Store 95(color) 146
- 150: 6(int) Load 95(color)
- 151: 17(float) ConvertSToF 150
- 152: 147(fvec4) CompositeConstruct 151 151 151 151
- Store 149(gl_FragColor) 152
- Return
- FunctionEnd
-15(foo(i1;i1;i1;i1;i1;i1;): 6(int) Function None 8
- 9(a): 7(ptr) FunctionParameter
- 10(b): 6(int) FunctionParameter
- 11(c): 7(ptr) FunctionParameter
- 12(d): 6(int) FunctionParameter
- 13(e): 7(ptr) FunctionParameter
- 14(f): 7(ptr) FunctionParameter
- 16: Label
- 30(sum): 7(ptr) Variable Function
- 31: 6(int) Load 9(a)
- 32: 6(int) IAdd 31 10(b)
- 33: 6(int) Load 11(c)
- 34: 6(int) IAdd 32 33
- 35: 6(int) IAdd 34 12(d)
- 36: 6(int) Load 14(f)
- 37: 6(int) IAdd 35 36
- Store 30(sum) 37
- 39: 6(int) Load 9(a)
- 40: 6(int) IMul 39 38
- Store 9(a) 40
- 41: 6(int) Load 11(c)
- 42: 6(int) IMul 41 38
- Store 11(c) 42
- Store 13(e) 43
- 44: 6(int) Load 14(f)
- 45: 6(int) IMul 44 38
- Store 14(f) 45
- 46: 6(int) Load 9(a)
- 47: 6(int) IMul 38 10(b)
- 48: 6(int) IAdd 46 47
- 49: 6(int) Load 11(c)
- 50: 6(int) IAdd 48 49
- 51: 6(int) IMul 38 12(d)
- 52: 6(int) IAdd 50 51
- 53: 6(int) Load 13(e)
- 54: 6(int) IAdd 52 53
- 55: 6(int) Load 14(f)
- 56: 6(int) IAdd 54 55
- 57: 6(int) Load 30(sum)
- 58: 6(int) IAdd 57 56
- Store 30(sum) 58
- 59: 6(int) Load 30(sum)
- ReturnValue 59
- FunctionEnd
-25(foo2(f1;vf3;i1;): 6(int) Function None 21
- 22(a): 18(ptr) FunctionParameter
- 23(b): 20(ptr) FunctionParameter
- 24(r): 7(ptr) FunctionParameter
- 26: Label
- 62: 17(float) Load 22(a)
- 63: 17(float) FMul 61 62
- 64: 6(int) ConvertFToS 63
- Store 24(r) 64
- 68: 18(ptr) AccessChain 23(b) 67
- 69: 17(float) Load 68
- 70: 17(float) FMul 65 69
- 71: 6(int) ConvertFToS 70
- ReturnValue 71
- FunctionEnd
- 28(foo3(): 6(int) Function None 27
- 29: Label
- 75: 17(float) Load 74(u)
- 78: 77(bool) FOrdGreaterThan 75 76
- SelectionMerge 80 None
- BranchConditional 78 79 80
- 79: Label
- Kill
- 80: Label
- ReturnValue 84
- FunctionEnd
+spv.functionSemantics.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 153
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main"
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 400
+ Name 4 "main"
+ Name 15 "foo(i1;i1;i1;i1;i1;i1;"
+ Name 9 "a"
+ Name 10 "b"
+ Name 11 "c"
+ Name 12 "d"
+ Name 13 "e"
+ Name 14 "f"
+ Name 25 "foo2(f1;vf3;i1;"
+ Name 22 "a"
+ Name 23 "b"
+ Name 24 "r"
+ Name 28 "foo3("
+ Name 30 "sum"
+ Name 74 "u"
+ Name 86 "t"
+ Name 89 "s"
+ MemberName 89(s) 0 "t"
+ Name 91 "f"
+ Name 95 "color"
+ Name 101 "e"
+ Name 102 "param"
+ Name 103 "param"
+ Name 104 "param"
+ Name 105 "param"
+ Name 120 "ret"
+ Name 122 "tempReturn"
+ Name 127 "tempArg"
+ Name 128 "param"
+ Name 129 "param"
+ Name 130 "param"
+ Name 133 "arg"
+ Name 149 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 8: TypeFunction 6(int) 7(ptr) 6(int) 7(ptr) 6(int) 7(ptr) 7(ptr)
+ 17: TypeFloat 32
+ 18: TypePointer Function 17(float)
+ 19: TypeVector 17(float) 3
+ 20: TypePointer Function 19(fvec3)
+ 21: TypeFunction 6(int) 18(ptr) 20(ptr) 7(ptr)
+ 27: TypeFunction 6(int)
+ 38: 6(int) Constant 64
+ 43: 6(int) Constant 1024
+ 61: 17(float) Constant 1077936128
+ 65: 17(float) Constant 1084227584
+ 66: TypeInt 32 0
+ 67: 66(int) Constant 1
+ 73: TypePointer UniformConstant 17(float)
+ 74(u): 73(ptr) Variable UniformConstant
+ 76: 17(float) Constant 1078774989
+ 77: TypeBool
+ 82: 6(int) Constant 1000000
+ 84: 6(int) Constant 2000000
+ 87: 6(int) Constant 2
+ 88: TypeVector 6(int) 4
+ 89(s): TypeStruct 88(ivec4)
+ 90: TypePointer Function 89(s)
+ 92: 6(int) Constant 0
+ 93: 6(int) Constant 32
+ 96: 6(int) Constant 1
+ 100: 6(int) Constant 8
+ 112: 6(int) Constant 128
+ 121: TypePointer Private 6(int)
+ 122(tempReturn): 121(ptr) Variable Private
+ 123: 17(float) Constant 1082130432
+ 124: 17(float) Constant 1065353216
+ 125: 17(float) Constant 1073741824
+ 126: 19(fvec3) ConstantComposite 124 125 61
+ 147: TypeVector 17(float) 4
+ 148: TypePointer Output 147(fvec4)
+149(gl_FragColor): 148(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 86(t): 7(ptr) Variable Function
+ 91(f): 90(ptr) Variable Function
+ 95(color): 7(ptr) Variable Function
+ 101(e): 7(ptr) Variable Function
+ 102(param): 7(ptr) Variable Function
+ 103(param): 7(ptr) Variable Function
+ 104(param): 7(ptr) Variable Function
+ 105(param): 7(ptr) Variable Function
+ 120(ret): 18(ptr) Variable Function
+ 127(tempArg): 7(ptr) Variable Function
+ 128(param): 18(ptr) Variable Function
+ 129(param): 20(ptr) Variable Function
+ 130(param): 7(ptr) Variable Function
+ 133(arg): 18(ptr) Variable Function
+ Store 86(t) 87
+ 94: 7(ptr) AccessChain 91(f) 92 67
+ Store 94 93
+ 97: 6(int) Load 86(t)
+ 98: 6(int) Load 86(t)
+ 99: 6(int) IAdd 97 98
+ Store 102(param) 96
+ Store 103(param) 99
+ 106: 7(ptr) AccessChain 91(f) 92 67
+ 107: 6(int) Load 106
+ Store 105(param) 107
+ 108: 6(int) FunctionCall 15(foo(i1;i1;i1;i1;i1;i1;) 102(param) 87 103(param) 100 104(param) 105(param)
+ 109: 6(int) Load 104(param)
+ Store 101(e) 109
+ 110: 6(int) Load 105(param)
+ 111: 7(ptr) AccessChain 91(f) 92 67
+ Store 111 110
+ Store 95(color) 108
+ 113: 6(int) Load 101(e)
+ 114: 7(ptr) AccessChain 91(f) 92 67
+ 115: 6(int) Load 114
+ 116: 6(int) IAdd 113 115
+ 117: 6(int) IMul 112 116
+ 118: 6(int) Load 95(color)
+ 119: 6(int) IAdd 118 117
+ Store 95(color) 119
+ Store 128(param) 123
+ Store 129(param) 126
+ 131: 6(int) FunctionCall 25(foo2(f1;vf3;i1;) 128(param) 129(param) 130(param)
+ 132: 6(int) Load 130(param)
+ Store 127(tempArg) 132
+ Store 122(tempReturn) 131
+ 134: 6(int) Load 127(tempArg)
+ 135: 17(float) ConvertSToF 134
+ Store 133(arg) 135
+ 136: 6(int) Load 122(tempReturn)
+ 137: 17(float) ConvertSToF 136
+ Store 120(ret) 137
+ 138: 17(float) Load 120(ret)
+ 139: 17(float) Load 133(arg)
+ 140: 17(float) FAdd 138 139
+ 141: 6(int) ConvertFToS 140
+ 142: 6(int) Load 95(color)
+ 143: 6(int) IAdd 142 141
+ Store 95(color) 143
+ 144: 6(int) FunctionCall 28(foo3()
+ 145: 6(int) Load 95(color)
+ 146: 6(int) IAdd 145 144
+ Store 95(color) 146
+ 150: 6(int) Load 95(color)
+ 151: 17(float) ConvertSToF 150
+ 152: 147(fvec4) CompositeConstruct 151 151 151 151
+ Store 149(gl_FragColor) 152
+ Return
+ FunctionEnd
+15(foo(i1;i1;i1;i1;i1;i1;): 6(int) Function None 8
+ 9(a): 7(ptr) FunctionParameter
+ 10(b): 6(int) FunctionParameter
+ 11(c): 7(ptr) FunctionParameter
+ 12(d): 6(int) FunctionParameter
+ 13(e): 7(ptr) FunctionParameter
+ 14(f): 7(ptr) FunctionParameter
+ 16: Label
+ 30(sum): 7(ptr) Variable Function
+ 31: 6(int) Load 9(a)
+ 32: 6(int) IAdd 31 10(b)
+ 33: 6(int) Load 11(c)
+ 34: 6(int) IAdd 32 33
+ 35: 6(int) IAdd 34 12(d)
+ 36: 6(int) Load 14(f)
+ 37: 6(int) IAdd 35 36
+ Store 30(sum) 37
+ 39: 6(int) Load 9(a)
+ 40: 6(int) IMul 39 38
+ Store 9(a) 40
+ 41: 6(int) Load 11(c)
+ 42: 6(int) IMul 41 38
+ Store 11(c) 42
+ Store 13(e) 43
+ 44: 6(int) Load 14(f)
+ 45: 6(int) IMul 44 38
+ Store 14(f) 45
+ 46: 6(int) Load 9(a)
+ 47: 6(int) IMul 38 10(b)
+ 48: 6(int) IAdd 46 47
+ 49: 6(int) Load 11(c)
+ 50: 6(int) IAdd 48 49
+ 51: 6(int) IMul 38 12(d)
+ 52: 6(int) IAdd 50 51
+ 53: 6(int) Load 13(e)
+ 54: 6(int) IAdd 52 53
+ 55: 6(int) Load 14(f)
+ 56: 6(int) IAdd 54 55
+ 57: 6(int) Load 30(sum)
+ 58: 6(int) IAdd 57 56
+ Store 30(sum) 58
+ 59: 6(int) Load 30(sum)
+ ReturnValue 59
+ FunctionEnd
+25(foo2(f1;vf3;i1;): 6(int) Function None 21
+ 22(a): 18(ptr) FunctionParameter
+ 23(b): 20(ptr) FunctionParameter
+ 24(r): 7(ptr) FunctionParameter
+ 26: Label
+ 62: 17(float) Load 22(a)
+ 63: 17(float) FMul 61 62
+ 64: 6(int) ConvertFToS 63
+ Store 24(r) 64
+ 68: 18(ptr) AccessChain 23(b) 67
+ 69: 17(float) Load 68
+ 70: 17(float) FMul 65 69
+ 71: 6(int) ConvertFToS 70
+ ReturnValue 71
+ FunctionEnd
+ 28(foo3(): 6(int) Function None 27
+ 29: Label
+ 75: 17(float) Load 74(u)
+ 78: 77(bool) FOrdGreaterThan 75 76
+ SelectionMerge 80 None
+ BranchConditional 78 79 80
+ 79: Label
+ Kill
+ 80: Label
+ ReturnValue 84
+ FunctionEnd
diff --git a/Test/baseResults/spv.image.frag.out b/Test/baseResults/spv.image.frag.out
index 1baad76..78bff2d 100644
--- a/Test/baseResults/spv.image.frag.out
+++ b/Test/baseResults/spv.image.frag.out
@@ -1,486 +1,486 @@
-spv.image.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 372
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 356
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 450
- Name 4 "main"
- Name 9 "iv"
- Name 15 "i1D"
- Name 27 "i2D"
- Name 38 "i3D"
- Name 45 "iCube"
- Name 55 "iCubeArray"
- Name 62 "i2DRect"
- Name 72 "i1DArray"
- Name 82 "i2DArray"
- Name 89 "iBuffer"
- Name 98 "i2DMS"
- Name 108 "i2DMSArray"
- Name 127 "v"
- Name 132 "ic1D"
- Name 142 "ic2D"
- Name 152 "ic3D"
- Name 229 "ui"
- Name 232 "ii1D"
- Name 245 "ui2D"
- Name 248 "value"
- Name 356 "fragData"
- Name 371 "ic4D"
- Decorate 15(i1D) Binding 0
- Decorate 27(i2D) Binding 1
- Decorate 38(i3D) Binding 2
- Decorate 45(iCube) Binding 3
- Decorate 55(iCubeArray) Binding 4
- Decorate 62(i2DRect) Binding 5
- Decorate 72(i1DArray) Binding 6
- Decorate 82(i2DArray) Binding 7
- Decorate 89(iBuffer) Binding 8
- Decorate 98(i2DMS) Binding 9
- Decorate 108(i2DMSArray) Binding 10
- Decorate 232(ii1D) Binding 11
- Decorate 245(ui2D) Binding 12
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypeVector 6(int) 3
- 8: TypePointer Function 7(ivec3)
- 10: 6(int) Constant 0
- 11: 7(ivec3) ConstantComposite 10 10 10
- 12: TypeFloat 32
- 13: TypeImage 12(float) 1D nonsampled format:Rgba32f
- 14: TypePointer UniformConstant 13
- 15(i1D): 14(ptr) Variable UniformConstant
- 18: TypeInt 32 0
- 19: 18(int) Constant 0
- 20: TypePointer Function 6(int)
- 25: TypeImage 12(float) 2D nonsampled format:Rgba32f
- 26: TypePointer UniformConstant 25
- 27(i2D): 26(ptr) Variable UniformConstant
- 29: TypeVector 6(int) 2
- 36: TypeImage 12(float) 3D nonsampled format:Rgba32f
- 37: TypePointer UniformConstant 36
- 38(i3D): 37(ptr) Variable UniformConstant
- 43: TypeImage 12(float) Cube nonsampled format:Rgba32f
- 44: TypePointer UniformConstant 43
- 45(iCube): 44(ptr) Variable UniformConstant
- 53: TypeImage 12(float) Cube array nonsampled format:Rgba32f
- 54: TypePointer UniformConstant 53
- 55(iCubeArray): 54(ptr) Variable UniformConstant
- 60: TypeImage 12(float) Rect nonsampled format:Rgba32f
- 61: TypePointer UniformConstant 60
- 62(i2DRect): 61(ptr) Variable UniformConstant
- 70: TypeImage 12(float) 1D array nonsampled format:Rgba32f
- 71: TypePointer UniformConstant 70
- 72(i1DArray): 71(ptr) Variable UniformConstant
- 80: TypeImage 12(float) 2D array nonsampled format:Rgba32f
- 81: TypePointer UniformConstant 80
- 82(i2DArray): 81(ptr) Variable UniformConstant
- 87: TypeImage 12(float) Buffer nonsampled format:Rgba32f
- 88: TypePointer UniformConstant 87
- 89(iBuffer): 88(ptr) Variable UniformConstant
- 96: TypeImage 12(float) 2D multi-sampled nonsampled format:Rgba32f
- 97: TypePointer UniformConstant 96
- 98(i2DMS): 97(ptr) Variable UniformConstant
- 106: TypeImage 12(float) 2D array multi-sampled nonsampled format:Rgba32f
- 107: TypePointer UniformConstant 106
- 108(i2DMSArray): 107(ptr) Variable UniformConstant
- 125: TypeVector 12(float) 4
- 126: TypePointer Function 125(fvec4)
- 128: 12(float) Constant 0
- 129: 125(fvec4) ConstantComposite 128 128 128 128
- 131: TypePointer UniformConstant 6(int)
- 132(ic1D): 131(ptr) Variable UniformConstant
- 141: TypePointer UniformConstant 29(ivec2)
- 142(ic2D): 141(ptr) Variable UniformConstant
- 151: TypePointer UniformConstant 7(ivec3)
- 152(ic3D): 151(ptr) Variable UniformConstant
- 210: 6(int) Constant 1
- 216: 6(int) Constant 2
- 220: 6(int) Constant 3
- 226: 6(int) Constant 4
- 228: TypePointer Function 18(int)
- 230: TypeImage 6(int) 1D nonsampled format:R32i
- 231: TypePointer UniformConstant 230
- 232(ii1D): 231(ptr) Variable UniformConstant
- 234: 6(int) Constant 10
- 235: TypePointer Image 6(int)
- 237: 18(int) Constant 1
- 243: TypeImage 18(int) 2D nonsampled format:R32ui
- 244: TypePointer UniformConstant 243
- 245(ui2D): 244(ptr) Variable UniformConstant
- 247: TypePointer UniformConstant 18(int)
- 248(value): 247(ptr) Variable UniformConstant
- 250: TypePointer Image 18(int)
- 256: 6(int) Constant 11
- 270: 6(int) Constant 12
- 284: 6(int) Constant 13
- 298: 6(int) Constant 14
- 312: 6(int) Constant 15
- 326: 6(int) Constant 16
- 340: 6(int) Constant 18
- 341: 6(int) Constant 17
- 349: 18(int) Constant 19
- 355: TypePointer Output 125(fvec4)
- 356(fragData): 355(ptr) Variable Output
- 362: TypeBool
- 369: TypeVector 6(int) 4
- 370: TypePointer UniformConstant 369(ivec4)
- 371(ic4D): 370(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 9(iv): 8(ptr) Variable Function
- 127(v): 126(ptr) Variable Function
- 229(ui): 228(ptr) Variable Function
- 357: 126(ptr) Variable Function
- Store 9(iv) 11
- 16: 13 Load 15(i1D)
- 17: 6(int) ImageQuerySize 16
- 21: 20(ptr) AccessChain 9(iv) 19
- 22: 6(int) Load 21
- 23: 6(int) IAdd 22 17
- 24: 20(ptr) AccessChain 9(iv) 19
- Store 24 23
- 28: 25 Load 27(i2D)
- 30: 29(ivec2) ImageQuerySize 28
- 31: 7(ivec3) Load 9(iv)
- 32: 29(ivec2) VectorShuffle 31 31 0 1
- 33: 29(ivec2) IAdd 32 30
- 34: 7(ivec3) Load 9(iv)
- 35: 7(ivec3) VectorShuffle 34 33 3 4 2
- Store 9(iv) 35
- 39: 36 Load 38(i3D)
- 40: 7(ivec3) ImageQuerySize 39
- 41: 7(ivec3) Load 9(iv)
- 42: 7(ivec3) IAdd 41 40
- Store 9(iv) 42
- 46: 43 Load 45(iCube)
- 47: 29(ivec2) ImageQuerySize 46
- 48: 7(ivec3) Load 9(iv)
- 49: 29(ivec2) VectorShuffle 48 48 0 1
- 50: 29(ivec2) IAdd 49 47
- 51: 7(ivec3) Load 9(iv)
- 52: 7(ivec3) VectorShuffle 51 50 3 4 2
- Store 9(iv) 52
- 56: 53 Load 55(iCubeArray)
- 57: 7(ivec3) ImageQuerySize 56
- 58: 7(ivec3) Load 9(iv)
- 59: 7(ivec3) IAdd 58 57
- Store 9(iv) 59
- 63: 60 Load 62(i2DRect)
- 64: 29(ivec2) ImageQuerySize 63
- 65: 7(ivec3) Load 9(iv)
- 66: 29(ivec2) VectorShuffle 65 65 0 1
- 67: 29(ivec2) IAdd 66 64
- 68: 7(ivec3) Load 9(iv)
- 69: 7(ivec3) VectorShuffle 68 67 3 4 2
- Store 9(iv) 69
- 73: 70 Load 72(i1DArray)
- 74: 29(ivec2) ImageQuerySize 73
- 75: 7(ivec3) Load 9(iv)
- 76: 29(ivec2) VectorShuffle 75 75 0 1
- 77: 29(ivec2) IAdd 76 74
- 78: 7(ivec3) Load 9(iv)
- 79: 7(ivec3) VectorShuffle 78 77 3 4 2
- Store 9(iv) 79
- 83: 80 Load 82(i2DArray)
- 84: 7(ivec3) ImageQuerySize 83
- 85: 7(ivec3) Load 9(iv)
- 86: 7(ivec3) IAdd 85 84
- Store 9(iv) 86
- 90: 87 Load 89(iBuffer)
- 91: 6(int) ImageQuerySize 90
- 92: 20(ptr) AccessChain 9(iv) 19
- 93: 6(int) Load 92
- 94: 6(int) IAdd 93 91
- 95: 20(ptr) AccessChain 9(iv) 19
- Store 95 94
- 99: 96 Load 98(i2DMS)
- 100: 29(ivec2) ImageQuerySize 99
- 101: 7(ivec3) Load 9(iv)
- 102: 29(ivec2) VectorShuffle 101 101 0 1
- 103: 29(ivec2) IAdd 102 100
- 104: 7(ivec3) Load 9(iv)
- 105: 7(ivec3) VectorShuffle 104 103 3 4 2
- Store 9(iv) 105
- 109: 106 Load 108(i2DMSArray)
- 110: 7(ivec3) ImageQuerySize 109
- 111: 7(ivec3) Load 9(iv)
- 112: 7(ivec3) IAdd 111 110
- Store 9(iv) 112
- 113: 96 Load 98(i2DMS)
- 114: 6(int) ImageQuerySamples 113
- 115: 20(ptr) AccessChain 9(iv) 19
- 116: 6(int) Load 115
- 117: 6(int) IAdd 116 114
- 118: 20(ptr) AccessChain 9(iv) 19
- Store 118 117
- 119: 106 Load 108(i2DMSArray)
- 120: 6(int) ImageQuerySamples 119
- 121: 20(ptr) AccessChain 9(iv) 19
- 122: 6(int) Load 121
- 123: 6(int) IAdd 122 120
- 124: 20(ptr) AccessChain 9(iv) 19
- Store 124 123
- Store 127(v) 129
- 130: 13 Load 15(i1D)
- 133: 6(int) Load 132(ic1D)
- 134: 125(fvec4) ImageRead 130 133
- 135: 125(fvec4) Load 127(v)
- 136: 125(fvec4) FAdd 135 134
- Store 127(v) 136
- 137: 13 Load 15(i1D)
- 138: 6(int) Load 132(ic1D)
- 139: 125(fvec4) Load 127(v)
- ImageWrite 137 138 139
- 140: 25 Load 27(i2D)
- 143: 29(ivec2) Load 142(ic2D)
- 144: 125(fvec4) ImageRead 140 143
- 145: 125(fvec4) Load 127(v)
- 146: 125(fvec4) FAdd 145 144
- Store 127(v) 146
- 147: 25 Load 27(i2D)
- 148: 29(ivec2) Load 142(ic2D)
- 149: 125(fvec4) Load 127(v)
- ImageWrite 147 148 149
- 150: 36 Load 38(i3D)
- 153: 7(ivec3) Load 152(ic3D)
- 154: 125(fvec4) ImageRead 150 153
- 155: 125(fvec4) Load 127(v)
- 156: 125(fvec4) FAdd 155 154
- Store 127(v) 156
- 157: 36 Load 38(i3D)
- 158: 7(ivec3) Load 152(ic3D)
- 159: 125(fvec4) Load 127(v)
- ImageWrite 157 158 159
- 160: 43 Load 45(iCube)
- 161: 7(ivec3) Load 152(ic3D)
- 162: 125(fvec4) ImageRead 160 161
- 163: 125(fvec4) Load 127(v)
- 164: 125(fvec4) FAdd 163 162
- Store 127(v) 164
- 165: 43 Load 45(iCube)
- 166: 7(ivec3) Load 152(ic3D)
- 167: 125(fvec4) Load 127(v)
- ImageWrite 165 166 167
- 168: 53 Load 55(iCubeArray)
- 169: 7(ivec3) Load 152(ic3D)
- 170: 125(fvec4) ImageRead 168 169
- 171: 125(fvec4) Load 127(v)
- 172: 125(fvec4) FAdd 171 170
- Store 127(v) 172
- 173: 53 Load 55(iCubeArray)
- 174: 7(ivec3) Load 152(ic3D)
- 175: 125(fvec4) Load 127(v)
- ImageWrite 173 174 175
- 176: 60 Load 62(i2DRect)
- 177: 29(ivec2) Load 142(ic2D)
- 178: 125(fvec4) ImageRead 176 177
- 179: 125(fvec4) Load 127(v)
- 180: 125(fvec4) FAdd 179 178
- Store 127(v) 180
- 181: 60 Load 62(i2DRect)
- 182: 29(ivec2) Load 142(ic2D)
- 183: 125(fvec4) Load 127(v)
- ImageWrite 181 182 183
- 184: 70 Load 72(i1DArray)
- 185: 29(ivec2) Load 142(ic2D)
- 186: 125(fvec4) ImageRead 184 185
- 187: 125(fvec4) Load 127(v)
- 188: 125(fvec4) FAdd 187 186
- Store 127(v) 188
- 189: 70 Load 72(i1DArray)
- 190: 29(ivec2) Load 142(ic2D)
- 191: 125(fvec4) Load 127(v)
- ImageWrite 189 190 191
- 192: 80 Load 82(i2DArray)
- 193: 7(ivec3) Load 152(ic3D)
- 194: 125(fvec4) ImageRead 192 193
- 195: 125(fvec4) Load 127(v)
- 196: 125(fvec4) FAdd 195 194
- Store 127(v) 196
- 197: 80 Load 82(i2DArray)
- 198: 7(ivec3) Load 152(ic3D)
- 199: 125(fvec4) Load 127(v)
- ImageWrite 197 198 199
- 200: 87 Load 89(iBuffer)
- 201: 6(int) Load 132(ic1D)
- 202: 125(fvec4) ImageRead 200 201
- 203: 125(fvec4) Load 127(v)
- 204: 125(fvec4) FAdd 203 202
- Store 127(v) 204
- 205: 87 Load 89(iBuffer)
- 206: 6(int) Load 132(ic1D)
- 207: 125(fvec4) Load 127(v)
- ImageWrite 205 206 207
- 208: 96 Load 98(i2DMS)
- 209: 29(ivec2) Load 142(ic2D)
- 211: 125(fvec4) ImageRead 208 209 Sample 210
- 212: 125(fvec4) Load 127(v)
- 213: 125(fvec4) FAdd 212 211
- Store 127(v) 213
- 214: 96 Load 98(i2DMS)
- 215: 29(ivec2) Load 142(ic2D)
- 217: 125(fvec4) Load 127(v)
- ImageWrite 214 215 216
- 218: 106 Load 108(i2DMSArray)
- 219: 7(ivec3) Load 152(ic3D)
- 221: 125(fvec4) ImageRead 218 219 Sample 220
- 222: 125(fvec4) Load 127(v)
- 223: 125(fvec4) FAdd 222 221
- Store 127(v) 223
- 224: 106 Load 108(i2DMSArray)
- 225: 7(ivec3) Load 152(ic3D)
- 227: 125(fvec4) Load 127(v)
- ImageWrite 224 225 226
- Store 229(ui) 19
- 233: 6(int) Load 132(ic1D)
- 236: 235(ptr) ImageTexelPointer 232(ii1D) 233 0
- 238: 6(int) AtomicIAdd 236 237 19 234
- 239: 20(ptr) AccessChain 9(iv) 19
- 240: 6(int) Load 239
- 241: 6(int) IAdd 240 238
- 242: 20(ptr) AccessChain 9(iv) 19
- Store 242 241
- 246: 29(ivec2) Load 142(ic2D)
- 249: 18(int) Load 248(value)
- 251: 250(ptr) ImageTexelPointer 245(ui2D) 246 0
- 252: 18(int) AtomicIAdd 251 237 19 249
- 253: 18(int) Load 229(ui)
- 254: 18(int) IAdd 253 252
- Store 229(ui) 254
- 255: 6(int) Load 132(ic1D)
- 257: 235(ptr) ImageTexelPointer 232(ii1D) 255 0
- 258: 6(int) AtomicSMin 257 237 19 256
- 259: 20(ptr) AccessChain 9(iv) 19
- 260: 6(int) Load 259
- 261: 6(int) IAdd 260 258
- 262: 20(ptr) AccessChain 9(iv) 19
- Store 262 261
- 263: 29(ivec2) Load 142(ic2D)
- 264: 18(int) Load 248(value)
- 265: 250(ptr) ImageTexelPointer 245(ui2D) 263 0
- 266: 18(int) AtomicUMin 265 237 19 264
- 267: 18(int) Load 229(ui)
- 268: 18(int) IAdd 267 266
- Store 229(ui) 268
- 269: 6(int) Load 132(ic1D)
- 271: 235(ptr) ImageTexelPointer 232(ii1D) 269 0
- 272: 6(int) AtomicSMax 271 237 19 270
- 273: 20(ptr) AccessChain 9(iv) 19
- 274: 6(int) Load 273
- 275: 6(int) IAdd 274 272
- 276: 20(ptr) AccessChain 9(iv) 19
- Store 276 275
- 277: 29(ivec2) Load 142(ic2D)
- 278: 18(int) Load 248(value)
- 279: 250(ptr) ImageTexelPointer 245(ui2D) 277 0
- 280: 18(int) AtomicUMax 279 237 19 278
- 281: 18(int) Load 229(ui)
- 282: 18(int) IAdd 281 280
- Store 229(ui) 282
- 283: 6(int) Load 132(ic1D)
- 285: 235(ptr) ImageTexelPointer 232(ii1D) 283 0
- 286: 6(int) AtomicAnd 285 237 19 284
- 287: 20(ptr) AccessChain 9(iv) 19
- 288: 6(int) Load 287
- 289: 6(int) IAdd 288 286
- 290: 20(ptr) AccessChain 9(iv) 19
- Store 290 289
- 291: 29(ivec2) Load 142(ic2D)
- 292: 18(int) Load 248(value)
- 293: 250(ptr) ImageTexelPointer 245(ui2D) 291 0
- 294: 18(int) AtomicAnd 293 237 19 292
- 295: 18(int) Load 229(ui)
- 296: 18(int) IAdd 295 294
- Store 229(ui) 296
- 297: 6(int) Load 132(ic1D)
- 299: 235(ptr) ImageTexelPointer 232(ii1D) 297 0
- 300: 6(int) AtomicOr 299 237 19 298
- 301: 20(ptr) AccessChain 9(iv) 19
- 302: 6(int) Load 301
- 303: 6(int) IAdd 302 300
- 304: 20(ptr) AccessChain 9(iv) 19
- Store 304 303
- 305: 29(ivec2) Load 142(ic2D)
- 306: 18(int) Load 248(value)
- 307: 250(ptr) ImageTexelPointer 245(ui2D) 305 0
- 308: 18(int) AtomicOr 307 237 19 306
- 309: 18(int) Load 229(ui)
- 310: 18(int) IAdd 309 308
- Store 229(ui) 310
- 311: 6(int) Load 132(ic1D)
- 313: 235(ptr) ImageTexelPointer 232(ii1D) 311 0
- 314: 6(int) AtomicXor 313 237 19 312
- 315: 20(ptr) AccessChain 9(iv) 19
- 316: 6(int) Load 315
- 317: 6(int) IAdd 316 314
- 318: 20(ptr) AccessChain 9(iv) 19
- Store 318 317
- 319: 29(ivec2) Load 142(ic2D)
- 320: 18(int) Load 248(value)
- 321: 250(ptr) ImageTexelPointer 245(ui2D) 319 0
- 322: 18(int) AtomicXor 321 237 19 320
- 323: 18(int) Load 229(ui)
- 324: 18(int) IAdd 323 322
- Store 229(ui) 324
- 325: 6(int) Load 132(ic1D)
- 327: 235(ptr) ImageTexelPointer 232(ii1D) 325 0
- 328: 6(int) AtomicExchange 327 237 19 326
- 329: 20(ptr) AccessChain 9(iv) 19
- 330: 6(int) Load 329
- 331: 6(int) IAdd 330 328
- 332: 20(ptr) AccessChain 9(iv) 19
- Store 332 331
- 333: 29(ivec2) Load 142(ic2D)
- 334: 18(int) Load 248(value)
- 335: 250(ptr) ImageTexelPointer 245(ui2D) 333 0
- 336: 18(int) AtomicExchange 335 237 19 334
- 337: 18(int) Load 229(ui)
- 338: 18(int) IAdd 337 336
- Store 229(ui) 338
- 339: 6(int) Load 132(ic1D)
- 342: 235(ptr) ImageTexelPointer 232(ii1D) 339 0
- 343: 6(int) AtomicCompareExchange 342 237 19 19 341 340
- 344: 20(ptr) AccessChain 9(iv) 19
- 345: 6(int) Load 344
- 346: 6(int) IAdd 345 343
- 347: 20(ptr) AccessChain 9(iv) 19
- Store 347 346
- 348: 29(ivec2) Load 142(ic2D)
- 350: 18(int) Load 248(value)
- 351: 250(ptr) ImageTexelPointer 245(ui2D) 348 0
- 352: 18(int) AtomicCompareExchange 351 237 19 19 350 349
- 353: 18(int) Load 229(ui)
- 354: 18(int) IAdd 353 352
- Store 229(ui) 354
- 358: 18(int) Load 229(ui)
- 359: 20(ptr) AccessChain 9(iv) 237
- 360: 6(int) Load 359
- 361: 18(int) Bitcast 360
- 363: 362(bool) INotEqual 358 361
- SelectionMerge 365 None
- BranchConditional 363 364 367
- 364: Label
- 366: 125(fvec4) Load 127(v)
- Store 357 366
- Branch 365
- 367: Label
- Store 357 129
- Branch 365
- 365: Label
- 368: 125(fvec4) Load 357
- Store 356(fragData) 368
- Return
- FunctionEnd
+spv.image.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 372
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 356
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 450
+ Name 4 "main"
+ Name 9 "iv"
+ Name 15 "i1D"
+ Name 27 "i2D"
+ Name 38 "i3D"
+ Name 45 "iCube"
+ Name 55 "iCubeArray"
+ Name 62 "i2DRect"
+ Name 72 "i1DArray"
+ Name 82 "i2DArray"
+ Name 89 "iBuffer"
+ Name 98 "i2DMS"
+ Name 108 "i2DMSArray"
+ Name 127 "v"
+ Name 132 "ic1D"
+ Name 142 "ic2D"
+ Name 152 "ic3D"
+ Name 229 "ui"
+ Name 232 "ii1D"
+ Name 245 "ui2D"
+ Name 248 "value"
+ Name 356 "fragData"
+ Name 371 "ic4D"
+ Decorate 15(i1D) Binding 0
+ Decorate 27(i2D) Binding 1
+ Decorate 38(i3D) Binding 2
+ Decorate 45(iCube) Binding 3
+ Decorate 55(iCubeArray) Binding 4
+ Decorate 62(i2DRect) Binding 5
+ Decorate 72(i1DArray) Binding 6
+ Decorate 82(i2DArray) Binding 7
+ Decorate 89(iBuffer) Binding 8
+ Decorate 98(i2DMS) Binding 9
+ Decorate 108(i2DMSArray) Binding 10
+ Decorate 232(ii1D) Binding 11
+ Decorate 245(ui2D) Binding 12
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeVector 6(int) 3
+ 8: TypePointer Function 7(ivec3)
+ 10: 6(int) Constant 0
+ 11: 7(ivec3) ConstantComposite 10 10 10
+ 12: TypeFloat 32
+ 13: TypeImage 12(float) 1D nonsampled format:Rgba32f
+ 14: TypePointer UniformConstant 13
+ 15(i1D): 14(ptr) Variable UniformConstant
+ 18: TypeInt 32 0
+ 19: 18(int) Constant 0
+ 20: TypePointer Function 6(int)
+ 25: TypeImage 12(float) 2D nonsampled format:Rgba32f
+ 26: TypePointer UniformConstant 25
+ 27(i2D): 26(ptr) Variable UniformConstant
+ 29: TypeVector 6(int) 2
+ 36: TypeImage 12(float) 3D nonsampled format:Rgba32f
+ 37: TypePointer UniformConstant 36
+ 38(i3D): 37(ptr) Variable UniformConstant
+ 43: TypeImage 12(float) Cube nonsampled format:Rgba32f
+ 44: TypePointer UniformConstant 43
+ 45(iCube): 44(ptr) Variable UniformConstant
+ 53: TypeImage 12(float) Cube array nonsampled format:Rgba32f
+ 54: TypePointer UniformConstant 53
+ 55(iCubeArray): 54(ptr) Variable UniformConstant
+ 60: TypeImage 12(float) Rect nonsampled format:Rgba32f
+ 61: TypePointer UniformConstant 60
+ 62(i2DRect): 61(ptr) Variable UniformConstant
+ 70: TypeImage 12(float) 1D array nonsampled format:Rgba32f
+ 71: TypePointer UniformConstant 70
+ 72(i1DArray): 71(ptr) Variable UniformConstant
+ 80: TypeImage 12(float) 2D array nonsampled format:Rgba32f
+ 81: TypePointer UniformConstant 80
+ 82(i2DArray): 81(ptr) Variable UniformConstant
+ 87: TypeImage 12(float) Buffer nonsampled format:Rgba32f
+ 88: TypePointer UniformConstant 87
+ 89(iBuffer): 88(ptr) Variable UniformConstant
+ 96: TypeImage 12(float) 2D multi-sampled nonsampled format:Rgba32f
+ 97: TypePointer UniformConstant 96
+ 98(i2DMS): 97(ptr) Variable UniformConstant
+ 106: TypeImage 12(float) 2D array multi-sampled nonsampled format:Rgba32f
+ 107: TypePointer UniformConstant 106
+ 108(i2DMSArray): 107(ptr) Variable UniformConstant
+ 125: TypeVector 12(float) 4
+ 126: TypePointer Function 125(fvec4)
+ 128: 12(float) Constant 0
+ 129: 125(fvec4) ConstantComposite 128 128 128 128
+ 131: TypePointer UniformConstant 6(int)
+ 132(ic1D): 131(ptr) Variable UniformConstant
+ 141: TypePointer UniformConstant 29(ivec2)
+ 142(ic2D): 141(ptr) Variable UniformConstant
+ 151: TypePointer UniformConstant 7(ivec3)
+ 152(ic3D): 151(ptr) Variable UniformConstant
+ 210: 6(int) Constant 1
+ 216: 6(int) Constant 2
+ 220: 6(int) Constant 3
+ 226: 6(int) Constant 4
+ 228: TypePointer Function 18(int)
+ 230: TypeImage 6(int) 1D nonsampled format:R32i
+ 231: TypePointer UniformConstant 230
+ 232(ii1D): 231(ptr) Variable UniformConstant
+ 234: 6(int) Constant 10
+ 235: TypePointer Image 6(int)
+ 237: 18(int) Constant 1
+ 243: TypeImage 18(int) 2D nonsampled format:R32ui
+ 244: TypePointer UniformConstant 243
+ 245(ui2D): 244(ptr) Variable UniformConstant
+ 247: TypePointer UniformConstant 18(int)
+ 248(value): 247(ptr) Variable UniformConstant
+ 250: TypePointer Image 18(int)
+ 256: 6(int) Constant 11
+ 270: 6(int) Constant 12
+ 284: 6(int) Constant 13
+ 298: 6(int) Constant 14
+ 312: 6(int) Constant 15
+ 326: 6(int) Constant 16
+ 340: 6(int) Constant 18
+ 341: 6(int) Constant 17
+ 349: 18(int) Constant 19
+ 355: TypePointer Output 125(fvec4)
+ 356(fragData): 355(ptr) Variable Output
+ 362: TypeBool
+ 369: TypeVector 6(int) 4
+ 370: TypePointer UniformConstant 369(ivec4)
+ 371(ic4D): 370(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(iv): 8(ptr) Variable Function
+ 127(v): 126(ptr) Variable Function
+ 229(ui): 228(ptr) Variable Function
+ 357: 126(ptr) Variable Function
+ Store 9(iv) 11
+ 16: 13 Load 15(i1D)
+ 17: 6(int) ImageQuerySize 16
+ 21: 20(ptr) AccessChain 9(iv) 19
+ 22: 6(int) Load 21
+ 23: 6(int) IAdd 22 17
+ 24: 20(ptr) AccessChain 9(iv) 19
+ Store 24 23
+ 28: 25 Load 27(i2D)
+ 30: 29(ivec2) ImageQuerySize 28
+ 31: 7(ivec3) Load 9(iv)
+ 32: 29(ivec2) VectorShuffle 31 31 0 1
+ 33: 29(ivec2) IAdd 32 30
+ 34: 7(ivec3) Load 9(iv)
+ 35: 7(ivec3) VectorShuffle 34 33 3 4 2
+ Store 9(iv) 35
+ 39: 36 Load 38(i3D)
+ 40: 7(ivec3) ImageQuerySize 39
+ 41: 7(ivec3) Load 9(iv)
+ 42: 7(ivec3) IAdd 41 40
+ Store 9(iv) 42
+ 46: 43 Load 45(iCube)
+ 47: 29(ivec2) ImageQuerySize 46
+ 48: 7(ivec3) Load 9(iv)
+ 49: 29(ivec2) VectorShuffle 48 48 0 1
+ 50: 29(ivec2) IAdd 49 47
+ 51: 7(ivec3) Load 9(iv)
+ 52: 7(ivec3) VectorShuffle 51 50 3 4 2
+ Store 9(iv) 52
+ 56: 53 Load 55(iCubeArray)
+ 57: 7(ivec3) ImageQuerySize 56
+ 58: 7(ivec3) Load 9(iv)
+ 59: 7(ivec3) IAdd 58 57
+ Store 9(iv) 59
+ 63: 60 Load 62(i2DRect)
+ 64: 29(ivec2) ImageQuerySize 63
+ 65: 7(ivec3) Load 9(iv)
+ 66: 29(ivec2) VectorShuffle 65 65 0 1
+ 67: 29(ivec2) IAdd 66 64
+ 68: 7(ivec3) Load 9(iv)
+ 69: 7(ivec3) VectorShuffle 68 67 3 4 2
+ Store 9(iv) 69
+ 73: 70 Load 72(i1DArray)
+ 74: 29(ivec2) ImageQuerySize 73
+ 75: 7(ivec3) Load 9(iv)
+ 76: 29(ivec2) VectorShuffle 75 75 0 1
+ 77: 29(ivec2) IAdd 76 74
+ 78: 7(ivec3) Load 9(iv)
+ 79: 7(ivec3) VectorShuffle 78 77 3 4 2
+ Store 9(iv) 79
+ 83: 80 Load 82(i2DArray)
+ 84: 7(ivec3) ImageQuerySize 83
+ 85: 7(ivec3) Load 9(iv)
+ 86: 7(ivec3) IAdd 85 84
+ Store 9(iv) 86
+ 90: 87 Load 89(iBuffer)
+ 91: 6(int) ImageQuerySize 90
+ 92: 20(ptr) AccessChain 9(iv) 19
+ 93: 6(int) Load 92
+ 94: 6(int) IAdd 93 91
+ 95: 20(ptr) AccessChain 9(iv) 19
+ Store 95 94
+ 99: 96 Load 98(i2DMS)
+ 100: 29(ivec2) ImageQuerySize 99
+ 101: 7(ivec3) Load 9(iv)
+ 102: 29(ivec2) VectorShuffle 101 101 0 1
+ 103: 29(ivec2) IAdd 102 100
+ 104: 7(ivec3) Load 9(iv)
+ 105: 7(ivec3) VectorShuffle 104 103 3 4 2
+ Store 9(iv) 105
+ 109: 106 Load 108(i2DMSArray)
+ 110: 7(ivec3) ImageQuerySize 109
+ 111: 7(ivec3) Load 9(iv)
+ 112: 7(ivec3) IAdd 111 110
+ Store 9(iv) 112
+ 113: 96 Load 98(i2DMS)
+ 114: 6(int) ImageQuerySamples 113
+ 115: 20(ptr) AccessChain 9(iv) 19
+ 116: 6(int) Load 115
+ 117: 6(int) IAdd 116 114
+ 118: 20(ptr) AccessChain 9(iv) 19
+ Store 118 117
+ 119: 106 Load 108(i2DMSArray)
+ 120: 6(int) ImageQuerySamples 119
+ 121: 20(ptr) AccessChain 9(iv) 19
+ 122: 6(int) Load 121
+ 123: 6(int) IAdd 122 120
+ 124: 20(ptr) AccessChain 9(iv) 19
+ Store 124 123
+ Store 127(v) 129
+ 130: 13 Load 15(i1D)
+ 133: 6(int) Load 132(ic1D)
+ 134: 125(fvec4) ImageRead 130 133
+ 135: 125(fvec4) Load 127(v)
+ 136: 125(fvec4) FAdd 135 134
+ Store 127(v) 136
+ 137: 13 Load 15(i1D)
+ 138: 6(int) Load 132(ic1D)
+ 139: 125(fvec4) Load 127(v)
+ ImageWrite 137 138 139
+ 140: 25 Load 27(i2D)
+ 143: 29(ivec2) Load 142(ic2D)
+ 144: 125(fvec4) ImageRead 140 143
+ 145: 125(fvec4) Load 127(v)
+ 146: 125(fvec4) FAdd 145 144
+ Store 127(v) 146
+ 147: 25 Load 27(i2D)
+ 148: 29(ivec2) Load 142(ic2D)
+ 149: 125(fvec4) Load 127(v)
+ ImageWrite 147 148 149
+ 150: 36 Load 38(i3D)
+ 153: 7(ivec3) Load 152(ic3D)
+ 154: 125(fvec4) ImageRead 150 153
+ 155: 125(fvec4) Load 127(v)
+ 156: 125(fvec4) FAdd 155 154
+ Store 127(v) 156
+ 157: 36 Load 38(i3D)
+ 158: 7(ivec3) Load 152(ic3D)
+ 159: 125(fvec4) Load 127(v)
+ ImageWrite 157 158 159
+ 160: 43 Load 45(iCube)
+ 161: 7(ivec3) Load 152(ic3D)
+ 162: 125(fvec4) ImageRead 160 161
+ 163: 125(fvec4) Load 127(v)
+ 164: 125(fvec4) FAdd 163 162
+ Store 127(v) 164
+ 165: 43 Load 45(iCube)
+ 166: 7(ivec3) Load 152(ic3D)
+ 167: 125(fvec4) Load 127(v)
+ ImageWrite 165 166 167
+ 168: 53 Load 55(iCubeArray)
+ 169: 7(ivec3) Load 152(ic3D)
+ 170: 125(fvec4) ImageRead 168 169
+ 171: 125(fvec4) Load 127(v)
+ 172: 125(fvec4) FAdd 171 170
+ Store 127(v) 172
+ 173: 53 Load 55(iCubeArray)
+ 174: 7(ivec3) Load 152(ic3D)
+ 175: 125(fvec4) Load 127(v)
+ ImageWrite 173 174 175
+ 176: 60 Load 62(i2DRect)
+ 177: 29(ivec2) Load 142(ic2D)
+ 178: 125(fvec4) ImageRead 176 177
+ 179: 125(fvec4) Load 127(v)
+ 180: 125(fvec4) FAdd 179 178
+ Store 127(v) 180
+ 181: 60 Load 62(i2DRect)
+ 182: 29(ivec2) Load 142(ic2D)
+ 183: 125(fvec4) Load 127(v)
+ ImageWrite 181 182 183
+ 184: 70 Load 72(i1DArray)
+ 185: 29(ivec2) Load 142(ic2D)
+ 186: 125(fvec4) ImageRead 184 185
+ 187: 125(fvec4) Load 127(v)
+ 188: 125(fvec4) FAdd 187 186
+ Store 127(v) 188
+ 189: 70 Load 72(i1DArray)
+ 190: 29(ivec2) Load 142(ic2D)
+ 191: 125(fvec4) Load 127(v)
+ ImageWrite 189 190 191
+ 192: 80 Load 82(i2DArray)
+ 193: 7(ivec3) Load 152(ic3D)
+ 194: 125(fvec4) ImageRead 192 193
+ 195: 125(fvec4) Load 127(v)
+ 196: 125(fvec4) FAdd 195 194
+ Store 127(v) 196
+ 197: 80 Load 82(i2DArray)
+ 198: 7(ivec3) Load 152(ic3D)
+ 199: 125(fvec4) Load 127(v)
+ ImageWrite 197 198 199
+ 200: 87 Load 89(iBuffer)
+ 201: 6(int) Load 132(ic1D)
+ 202: 125(fvec4) ImageRead 200 201
+ 203: 125(fvec4) Load 127(v)
+ 204: 125(fvec4) FAdd 203 202
+ Store 127(v) 204
+ 205: 87 Load 89(iBuffer)
+ 206: 6(int) Load 132(ic1D)
+ 207: 125(fvec4) Load 127(v)
+ ImageWrite 205 206 207
+ 208: 96 Load 98(i2DMS)
+ 209: 29(ivec2) Load 142(ic2D)
+ 211: 125(fvec4) ImageRead 208 209 Sample 210
+ 212: 125(fvec4) Load 127(v)
+ 213: 125(fvec4) FAdd 212 211
+ Store 127(v) 213
+ 214: 96 Load 98(i2DMS)
+ 215: 29(ivec2) Load 142(ic2D)
+ 217: 125(fvec4) Load 127(v)
+ ImageWrite 214 215 216
+ 218: 106 Load 108(i2DMSArray)
+ 219: 7(ivec3) Load 152(ic3D)
+ 221: 125(fvec4) ImageRead 218 219 Sample 220
+ 222: 125(fvec4) Load 127(v)
+ 223: 125(fvec4) FAdd 222 221
+ Store 127(v) 223
+ 224: 106 Load 108(i2DMSArray)
+ 225: 7(ivec3) Load 152(ic3D)
+ 227: 125(fvec4) Load 127(v)
+ ImageWrite 224 225 226
+ Store 229(ui) 19
+ 233: 6(int) Load 132(ic1D)
+ 236: 235(ptr) ImageTexelPointer 232(ii1D) 233 0
+ 238: 6(int) AtomicIAdd 236 237 19 234
+ 239: 20(ptr) AccessChain 9(iv) 19
+ 240: 6(int) Load 239
+ 241: 6(int) IAdd 240 238
+ 242: 20(ptr) AccessChain 9(iv) 19
+ Store 242 241
+ 246: 29(ivec2) Load 142(ic2D)
+ 249: 18(int) Load 248(value)
+ 251: 250(ptr) ImageTexelPointer 245(ui2D) 246 0
+ 252: 18(int) AtomicIAdd 251 237 19 249
+ 253: 18(int) Load 229(ui)
+ 254: 18(int) IAdd 253 252
+ Store 229(ui) 254
+ 255: 6(int) Load 132(ic1D)
+ 257: 235(ptr) ImageTexelPointer 232(ii1D) 255 0
+ 258: 6(int) AtomicSMin 257 237 19 256
+ 259: 20(ptr) AccessChain 9(iv) 19
+ 260: 6(int) Load 259
+ 261: 6(int) IAdd 260 258
+ 262: 20(ptr) AccessChain 9(iv) 19
+ Store 262 261
+ 263: 29(ivec2) Load 142(ic2D)
+ 264: 18(int) Load 248(value)
+ 265: 250(ptr) ImageTexelPointer 245(ui2D) 263 0
+ 266: 18(int) AtomicUMin 265 237 19 264
+ 267: 18(int) Load 229(ui)
+ 268: 18(int) IAdd 267 266
+ Store 229(ui) 268
+ 269: 6(int) Load 132(ic1D)
+ 271: 235(ptr) ImageTexelPointer 232(ii1D) 269 0
+ 272: 6(int) AtomicSMax 271 237 19 270
+ 273: 20(ptr) AccessChain 9(iv) 19
+ 274: 6(int) Load 273
+ 275: 6(int) IAdd 274 272
+ 276: 20(ptr) AccessChain 9(iv) 19
+ Store 276 275
+ 277: 29(ivec2) Load 142(ic2D)
+ 278: 18(int) Load 248(value)
+ 279: 250(ptr) ImageTexelPointer 245(ui2D) 277 0
+ 280: 18(int) AtomicUMax 279 237 19 278
+ 281: 18(int) Load 229(ui)
+ 282: 18(int) IAdd 281 280
+ Store 229(ui) 282
+ 283: 6(int) Load 132(ic1D)
+ 285: 235(ptr) ImageTexelPointer 232(ii1D) 283 0
+ 286: 6(int) AtomicAnd 285 237 19 284
+ 287: 20(ptr) AccessChain 9(iv) 19
+ 288: 6(int) Load 287
+ 289: 6(int) IAdd 288 286
+ 290: 20(ptr) AccessChain 9(iv) 19
+ Store 290 289
+ 291: 29(ivec2) Load 142(ic2D)
+ 292: 18(int) Load 248(value)
+ 293: 250(ptr) ImageTexelPointer 245(ui2D) 291 0
+ 294: 18(int) AtomicAnd 293 237 19 292
+ 295: 18(int) Load 229(ui)
+ 296: 18(int) IAdd 295 294
+ Store 229(ui) 296
+ 297: 6(int) Load 132(ic1D)
+ 299: 235(ptr) ImageTexelPointer 232(ii1D) 297 0
+ 300: 6(int) AtomicOr 299 237 19 298
+ 301: 20(ptr) AccessChain 9(iv) 19
+ 302: 6(int) Load 301
+ 303: 6(int) IAdd 302 300
+ 304: 20(ptr) AccessChain 9(iv) 19
+ Store 304 303
+ 305: 29(ivec2) Load 142(ic2D)
+ 306: 18(int) Load 248(value)
+ 307: 250(ptr) ImageTexelPointer 245(ui2D) 305 0
+ 308: 18(int) AtomicOr 307 237 19 306
+ 309: 18(int) Load 229(ui)
+ 310: 18(int) IAdd 309 308
+ Store 229(ui) 310
+ 311: 6(int) Load 132(ic1D)
+ 313: 235(ptr) ImageTexelPointer 232(ii1D) 311 0
+ 314: 6(int) AtomicXor 313 237 19 312
+ 315: 20(ptr) AccessChain 9(iv) 19
+ 316: 6(int) Load 315
+ 317: 6(int) IAdd 316 314
+ 318: 20(ptr) AccessChain 9(iv) 19
+ Store 318 317
+ 319: 29(ivec2) Load 142(ic2D)
+ 320: 18(int) Load 248(value)
+ 321: 250(ptr) ImageTexelPointer 245(ui2D) 319 0
+ 322: 18(int) AtomicXor 321 237 19 320
+ 323: 18(int) Load 229(ui)
+ 324: 18(int) IAdd 323 322
+ Store 229(ui) 324
+ 325: 6(int) Load 132(ic1D)
+ 327: 235(ptr) ImageTexelPointer 232(ii1D) 325 0
+ 328: 6(int) AtomicExchange 327 237 19 326
+ 329: 20(ptr) AccessChain 9(iv) 19
+ 330: 6(int) Load 329
+ 331: 6(int) IAdd 330 328
+ 332: 20(ptr) AccessChain 9(iv) 19
+ Store 332 331
+ 333: 29(ivec2) Load 142(ic2D)
+ 334: 18(int) Load 248(value)
+ 335: 250(ptr) ImageTexelPointer 245(ui2D) 333 0
+ 336: 18(int) AtomicExchange 335 237 19 334
+ 337: 18(int) Load 229(ui)
+ 338: 18(int) IAdd 337 336
+ Store 229(ui) 338
+ 339: 6(int) Load 132(ic1D)
+ 342: 235(ptr) ImageTexelPointer 232(ii1D) 339 0
+ 343: 6(int) AtomicCompareExchange 342 237 19 19 341 340
+ 344: 20(ptr) AccessChain 9(iv) 19
+ 345: 6(int) Load 344
+ 346: 6(int) IAdd 345 343
+ 347: 20(ptr) AccessChain 9(iv) 19
+ Store 347 346
+ 348: 29(ivec2) Load 142(ic2D)
+ 350: 18(int) Load 248(value)
+ 351: 250(ptr) ImageTexelPointer 245(ui2D) 348 0
+ 352: 18(int) AtomicCompareExchange 351 237 19 19 350 349
+ 353: 18(int) Load 229(ui)
+ 354: 18(int) IAdd 353 352
+ Store 229(ui) 354
+ 358: 18(int) Load 229(ui)
+ 359: 20(ptr) AccessChain 9(iv) 237
+ 360: 6(int) Load 359
+ 361: 18(int) Bitcast 360
+ 363: 362(bool) INotEqual 358 361
+ SelectionMerge 365 None
+ BranchConditional 363 364 367
+ 364: Label
+ 366: 125(fvec4) Load 127(v)
+ Store 357 366
+ Branch 365
+ 367: Label
+ Store 357 129
+ Branch 365
+ 365: Label
+ 368: 125(fvec4) Load 357
+ Store 356(fragData) 368
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.intOps.vert.out b/Test/baseResults/spv.intOps.vert.out
index 649c05a..fca5cd4 100644
--- a/Test/baseResults/spv.intOps.vert.out
+++ b/Test/baseResults/spv.intOps.vert.out
@@ -1,359 +1,359 @@
-spv.intOps.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 270
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 47 26 173 67 121 142 100 247 156 146 182 83 15 9 21 268 269
- Source ESSL 310
- Name 4 "main"
- Name 9 "iout"
- Name 15 "uout"
- Name 21 "fout"
- Name 26 "u2"
- Name 30 "u2out"
- Name 31 "ResType"
- Name 47 "u1"
- Name 51 "u1out"
- Name 52 "ResType"
- Name 67 "u4"
- Name 71 "u4outHi"
- Name 72 "u4outLow"
- Name 73 "ResType"
- Name 83 "i4"
- Name 87 "i4outHi"
- Name 88 "i4outLow"
- Name 89 "ResType"
- Name 100 "v3"
- Name 104 "i3out"
- Name 105 "ResType"
- Name 121 "v1"
- Name 124 "i1out"
- Name 125 "ResType"
- Name 142 "v2"
- Name 146 "i2"
- Name 156 "i1"
- Name 173 "u3"
- Name 182 "i3"
- Name 247 "v4"
- Name 268 "gl_VertexID"
- Name 269 "gl_InstanceID"
- Decorate 268(gl_VertexID) BuiltIn VertexId
- Decorate 269(gl_InstanceID) BuiltIn InstanceId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypeVector 6(int) 4
- 8: TypePointer Output 7(ivec4)
- 9(iout): 8(ptr) Variable Output
- 10: 6(int) Constant 0
- 11: 7(ivec4) ConstantComposite 10 10 10 10
- 12: TypeInt 32 0
- 13: TypeVector 12(int) 4
- 14: TypePointer Output 13(ivec4)
- 15(uout): 14(ptr) Variable Output
- 16: 12(int) Constant 0
- 17: 13(ivec4) ConstantComposite 16 16 16 16
- 18: TypeFloat 32
- 19: TypeVector 18(float) 4
- 20: TypePointer Output 19(fvec4)
- 21(fout): 20(ptr) Variable Output
- 22: 18(float) Constant 0
- 23: 19(fvec4) ConstantComposite 22 22 22 22
- 24: TypeVector 12(int) 2
- 25: TypePointer Input 24(ivec2)
- 26(u2): 25(ptr) Variable Input
- 29: TypePointer Function 24(ivec2)
- 31(ResType): TypeStruct 24(ivec2) 24(ivec2)
- 46: TypePointer Input 12(int)
- 47(u1): 46(ptr) Variable Input
- 50: TypePointer Function 12(int)
- 52(ResType): TypeStruct 12(int) 12(int)
- 56: TypePointer Output 12(int)
- 66: TypePointer Input 13(ivec4)
- 67(u4): 66(ptr) Variable Input
- 70: TypePointer Function 13(ivec4)
- 73(ResType): TypeStruct 13(ivec4) 13(ivec4)
- 82: TypePointer Input 7(ivec4)
- 83(i4): 82(ptr) Variable Input
- 86: TypePointer Function 7(ivec4)
- 89(ResType): TypeStruct 7(ivec4) 7(ivec4)
- 98: TypeVector 18(float) 3
- 99: TypePointer Input 98(fvec3)
- 100(v3): 99(ptr) Variable Input
- 102: TypeVector 6(int) 3
- 103: TypePointer Function 102(ivec3)
- 105(ResType): TypeStruct 98(fvec3) 102(ivec3)
- 120: TypePointer Input 18(float)
- 121(v1): 120(ptr) Variable Input
- 123: TypePointer Function 6(int)
- 125(ResType): TypeStruct 18(float) 6(int)
- 129: TypePointer Output 18(float)
- 135: TypePointer Output 6(int)
- 140: TypeVector 18(float) 2
- 141: TypePointer Input 140(fvec2)
- 142(v2): 141(ptr) Variable Input
- 144: TypeVector 6(int) 2
- 145: TypePointer Input 144(ivec2)
- 146(i2): 145(ptr) Variable Input
- 155: TypePointer Input 6(int)
- 156(i1): 155(ptr) Variable Input
- 164: 6(int) Constant 4
- 165: 6(int) Constant 5
- 171: TypeVector 12(int) 3
- 172: TypePointer Input 171(ivec3)
- 173(u3): 172(ptr) Variable Input
- 181: TypePointer Input 102(ivec3)
- 182(i3): 181(ptr) Variable Input
- 246: TypePointer Input 19(fvec4)
- 247(v4): 246(ptr) Variable Input
-268(gl_VertexID): 155(ptr) Variable Input
-269(gl_InstanceID): 155(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 30(u2out): 29(ptr) Variable Function
- 51(u1out): 50(ptr) Variable Function
- 71(u4outHi): 70(ptr) Variable Function
- 72(u4outLow): 70(ptr) Variable Function
- 87(i4outHi): 86(ptr) Variable Function
- 88(i4outLow): 86(ptr) Variable Function
- 104(i3out): 103(ptr) Variable Function
- 124(i1out): 123(ptr) Variable Function
- Store 9(iout) 11
- Store 15(uout) 17
- Store 21(fout) 23
- 27: 24(ivec2) Load 26(u2)
- 28: 24(ivec2) Load 26(u2)
- 32: 31(ResType) IAddCarry 27 28
- 33: 24(ivec2) CompositeExtract 32 1
- Store 30(u2out) 33
- 34: 24(ivec2) CompositeExtract 32 0
- 35: 13(ivec4) Load 15(uout)
- 36: 24(ivec2) VectorShuffle 35 35 0 1
- 37: 24(ivec2) IAdd 36 34
- 38: 13(ivec4) Load 15(uout)
- 39: 13(ivec4) VectorShuffle 38 37 4 5 2 3
- Store 15(uout) 39
- 40: 24(ivec2) Load 30(u2out)
- 41: 13(ivec4) Load 15(uout)
- 42: 24(ivec2) VectorShuffle 41 41 0 1
- 43: 24(ivec2) IAdd 42 40
- 44: 13(ivec4) Load 15(uout)
- 45: 13(ivec4) VectorShuffle 44 43 4 5 2 3
- Store 15(uout) 45
- 48: 12(int) Load 47(u1)
- 49: 12(int) Load 47(u1)
- 53: 52(ResType) ISubBorrow 48 49
- 54: 12(int) CompositeExtract 53 1
- Store 51(u1out) 54
- 55: 12(int) CompositeExtract 53 0
- 57: 56(ptr) AccessChain 15(uout) 16
- 58: 12(int) Load 57
- 59: 12(int) IAdd 58 55
- 60: 56(ptr) AccessChain 15(uout) 16
- Store 60 59
- 61: 12(int) Load 51(u1out)
- 62: 56(ptr) AccessChain 15(uout) 16
- 63: 12(int) Load 62
- 64: 12(int) IAdd 63 61
- 65: 56(ptr) AccessChain 15(uout) 16
- Store 65 64
- 68: 13(ivec4) Load 67(u4)
- 69: 13(ivec4) Load 67(u4)
- 74: 73(ResType) UMulExtended 68 69
- 75: 13(ivec4) CompositeExtract 74 0
- Store 72(u4outLow) 75
- 76: 13(ivec4) CompositeExtract 74 1
- Store 71(u4outHi) 76
- 77: 13(ivec4) Load 71(u4outHi)
- 78: 13(ivec4) Load 72(u4outLow)
- 79: 13(ivec4) IAdd 77 78
- 80: 13(ivec4) Load 15(uout)
- 81: 13(ivec4) IAdd 80 79
- Store 15(uout) 81
- 84: 7(ivec4) Load 83(i4)
- 85: 7(ivec4) Load 83(i4)
- 90: 89(ResType) SMulExtended 84 85
- 91: 7(ivec4) CompositeExtract 90 0
- Store 88(i4outLow) 91
- 92: 7(ivec4) CompositeExtract 90 1
- Store 87(i4outHi) 92
- 93: 7(ivec4) Load 88(i4outLow)
- 94: 7(ivec4) Load 87(i4outHi)
- 95: 7(ivec4) IAdd 93 94
- 96: 7(ivec4) Load 9(iout)
- 97: 7(ivec4) IAdd 96 95
- Store 9(iout) 97
- 101: 98(fvec3) Load 100(v3)
- 106:105(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 101
- 107: 102(ivec3) CompositeExtract 106 1
- Store 104(i3out) 107
- 108: 98(fvec3) CompositeExtract 106 0
- 109: 19(fvec4) Load 21(fout)
- 110: 98(fvec3) VectorShuffle 109 109 0 1 2
- 111: 98(fvec3) FAdd 110 108
- 112: 19(fvec4) Load 21(fout)
- 113: 19(fvec4) VectorShuffle 112 111 4 5 6 3
- Store 21(fout) 113
- 114: 102(ivec3) Load 104(i3out)
- 115: 7(ivec4) Load 9(iout)
- 116: 102(ivec3) VectorShuffle 115 115 0 1 2
- 117: 102(ivec3) IAdd 116 114
- 118: 7(ivec4) Load 9(iout)
- 119: 7(ivec4) VectorShuffle 118 117 4 5 6 3
- Store 9(iout) 119
- 122: 18(float) Load 121(v1)
- 126:125(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 122
- 127: 6(int) CompositeExtract 126 1
- Store 124(i1out) 127
- 128: 18(float) CompositeExtract 126 0
- 130: 129(ptr) AccessChain 21(fout) 16
- 131: 18(float) Load 130
- 132: 18(float) FAdd 131 128
- 133: 129(ptr) AccessChain 21(fout) 16
- Store 133 132
- 134: 6(int) Load 124(i1out)
- 136: 135(ptr) AccessChain 9(iout) 16
- 137: 6(int) Load 136
- 138: 6(int) IAdd 137 134
- 139: 135(ptr) AccessChain 9(iout) 16
- Store 139 138
- 143: 140(fvec2) Load 142(v2)
- 147: 144(ivec2) Load 146(i2)
- 148: 140(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 143 147
- 149: 19(fvec4) Load 21(fout)
- 150: 140(fvec2) VectorShuffle 149 149 0 1
- 151: 140(fvec2) FAdd 150 148
- 152: 19(fvec4) Load 21(fout)
- 153: 19(fvec4) VectorShuffle 152 151 4 5 2 3
- Store 21(fout) 153
- 154: 18(float) Load 121(v1)
- 157: 6(int) Load 156(i1)
- 158: 18(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 154 157
- 159: 129(ptr) AccessChain 21(fout) 16
- 160: 18(float) Load 159
- 161: 18(float) FAdd 160 158
- 162: 129(ptr) AccessChain 21(fout) 16
- Store 162 161
- 163: 6(int) Load 156(i1)
- 166: 6(int) BitFieldSExtract 163 164 165
- 167: 135(ptr) AccessChain 9(iout) 16
- 168: 6(int) Load 167
- 169: 6(int) IAdd 168 166
- 170: 135(ptr) AccessChain 9(iout) 16
- Store 170 169
- 174: 171(ivec3) Load 173(u3)
- 175: 171(ivec3) BitFieldUExtract 174 164 165
- 176: 13(ivec4) Load 15(uout)
- 177: 171(ivec3) VectorShuffle 176 176 0 1 2
- 178: 171(ivec3) IAdd 177 175
- 179: 13(ivec4) Load 15(uout)
- 180: 13(ivec4) VectorShuffle 179 178 4 5 6 3
- Store 15(uout) 180
- 183: 102(ivec3) Load 182(i3)
- 184: 102(ivec3) Load 182(i3)
- 185: 102(ivec3) BitFieldInsert 183 184 164 165
- 186: 7(ivec4) Load 9(iout)
- 187: 102(ivec3) VectorShuffle 186 186 0 1 2
- 188: 102(ivec3) IAdd 187 185
- 189: 7(ivec4) Load 9(iout)
- 190: 7(ivec4) VectorShuffle 189 188 4 5 6 3
- Store 9(iout) 190
- 191: 12(int) Load 47(u1)
- 192: 12(int) Load 47(u1)
- 193: 12(int) BitFieldInsert 191 192 164 165
- 194: 56(ptr) AccessChain 15(uout) 16
- 195: 12(int) Load 194
- 196: 12(int) IAdd 195 193
- 197: 56(ptr) AccessChain 15(uout) 16
- Store 197 196
- 198: 144(ivec2) Load 146(i2)
- 199: 144(ivec2) BitReverse 198
- 200: 7(ivec4) Load 9(iout)
- 201: 144(ivec2) VectorShuffle 200 200 0 1
- 202: 144(ivec2) IAdd 201 199
- 203: 7(ivec4) Load 9(iout)
- 204: 7(ivec4) VectorShuffle 203 202 4 5 2 3
- Store 9(iout) 204
- 205: 13(ivec4) Load 67(u4)
- 206: 13(ivec4) BitReverse 205
- 207: 13(ivec4) Load 15(uout)
- 208: 13(ivec4) IAdd 207 206
- Store 15(uout) 208
- 209: 6(int) Load 156(i1)
- 210: 6(int) BitCount 209
- 211: 135(ptr) AccessChain 9(iout) 16
- 212: 6(int) Load 211
- 213: 6(int) IAdd 212 210
- 214: 135(ptr) AccessChain 9(iout) 16
- Store 214 213
- 215: 171(ivec3) Load 173(u3)
- 216: 102(ivec3) BitCount 215
- 217: 7(ivec4) Load 9(iout)
- 218: 102(ivec3) VectorShuffle 217 217 0 1 2
- 219: 102(ivec3) IAdd 218 216
- 220: 7(ivec4) Load 9(iout)
- 221: 7(ivec4) VectorShuffle 220 219 4 5 6 3
- Store 9(iout) 221
- 222: 144(ivec2) Load 146(i2)
- 223: 144(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 222
- 224: 7(ivec4) Load 9(iout)
- 225: 144(ivec2) VectorShuffle 224 224 0 1
- 226: 144(ivec2) IAdd 225 223
- 227: 7(ivec4) Load 9(iout)
- 228: 7(ivec4) VectorShuffle 227 226 4 5 2 3
- Store 9(iout) 228
- 229: 13(ivec4) Load 67(u4)
- 230: 7(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 229
- 231: 7(ivec4) Load 9(iout)
- 232: 7(ivec4) IAdd 231 230
- Store 9(iout) 232
- 233: 6(int) Load 156(i1)
- 234: 6(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 233
- 235: 135(ptr) AccessChain 9(iout) 16
- 236: 6(int) Load 235
- 237: 6(int) IAdd 236 234
- 238: 135(ptr) AccessChain 9(iout) 16
- Store 238 237
- 239: 24(ivec2) Load 26(u2)
- 240: 144(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 239
- 241: 7(ivec4) Load 9(iout)
- 242: 144(ivec2) VectorShuffle 241 241 0 1
- 243: 144(ivec2) IAdd 242 240
- 244: 7(ivec4) Load 9(iout)
- 245: 7(ivec4) VectorShuffle 244 243 4 5 2 3
- Store 9(iout) 245
- 248: 19(fvec4) Load 247(v4)
- 249: 12(int) ExtInst 1(GLSL.std.450) 55(PackUnorm4x8) 248
- 250: 56(ptr) AccessChain 15(uout) 16
- 251: 12(int) Load 250
- 252: 12(int) IAdd 251 249
- 253: 56(ptr) AccessChain 15(uout) 16
- Store 253 252
- 254: 19(fvec4) Load 247(v4)
- 255: 12(int) ExtInst 1(GLSL.std.450) 54(PackSnorm4x8) 254
- 256: 56(ptr) AccessChain 15(uout) 16
- 257: 12(int) Load 256
- 258: 12(int) IAdd 257 255
- 259: 56(ptr) AccessChain 15(uout) 16
- Store 259 258
- 260: 12(int) Load 47(u1)
- 261: 19(fvec4) ExtInst 1(GLSL.std.450) 64(UnpackUnorm4x8) 260
- 262: 19(fvec4) Load 21(fout)
- 263: 19(fvec4) FAdd 262 261
- Store 21(fout) 263
- 264: 12(int) Load 47(u1)
- 265: 19(fvec4) ExtInst 1(GLSL.std.450) 63(UnpackSnorm4x8) 264
- 266: 19(fvec4) Load 21(fout)
- 267: 19(fvec4) FAdd 266 265
- Store 21(fout) 267
- Return
- FunctionEnd
+spv.intOps.vert
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 270
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 47 26 173 67 121 142 100 247 156 146 182 83 15 9 21 268 269
+ Source ESSL 310
+ Name 4 "main"
+ Name 9 "iout"
+ Name 15 "uout"
+ Name 21 "fout"
+ Name 26 "u2"
+ Name 30 "u2out"
+ Name 31 "ResType"
+ Name 47 "u1"
+ Name 51 "u1out"
+ Name 52 "ResType"
+ Name 67 "u4"
+ Name 71 "u4outHi"
+ Name 72 "u4outLow"
+ Name 73 "ResType"
+ Name 83 "i4"
+ Name 87 "i4outHi"
+ Name 88 "i4outLow"
+ Name 89 "ResType"
+ Name 100 "v3"
+ Name 104 "i3out"
+ Name 105 "ResType"
+ Name 121 "v1"
+ Name 124 "i1out"
+ Name 125 "ResType"
+ Name 142 "v2"
+ Name 146 "i2"
+ Name 156 "i1"
+ Name 173 "u3"
+ Name 182 "i3"
+ Name 247 "v4"
+ Name 268 "gl_VertexID"
+ Name 269 "gl_InstanceID"
+ Decorate 268(gl_VertexID) BuiltIn VertexId
+ Decorate 269(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeVector 6(int) 4
+ 8: TypePointer Output 7(ivec4)
+ 9(iout): 8(ptr) Variable Output
+ 10: 6(int) Constant 0
+ 11: 7(ivec4) ConstantComposite 10 10 10 10
+ 12: TypeInt 32 0
+ 13: TypeVector 12(int) 4
+ 14: TypePointer Output 13(ivec4)
+ 15(uout): 14(ptr) Variable Output
+ 16: 12(int) Constant 0
+ 17: 13(ivec4) ConstantComposite 16 16 16 16
+ 18: TypeFloat 32
+ 19: TypeVector 18(float) 4
+ 20: TypePointer Output 19(fvec4)
+ 21(fout): 20(ptr) Variable Output
+ 22: 18(float) Constant 0
+ 23: 19(fvec4) ConstantComposite 22 22 22 22
+ 24: TypeVector 12(int) 2
+ 25: TypePointer Input 24(ivec2)
+ 26(u2): 25(ptr) Variable Input
+ 29: TypePointer Function 24(ivec2)
+ 31(ResType): TypeStruct 24(ivec2) 24(ivec2)
+ 46: TypePointer Input 12(int)
+ 47(u1): 46(ptr) Variable Input
+ 50: TypePointer Function 12(int)
+ 52(ResType): TypeStruct 12(int) 12(int)
+ 56: TypePointer Output 12(int)
+ 66: TypePointer Input 13(ivec4)
+ 67(u4): 66(ptr) Variable Input
+ 70: TypePointer Function 13(ivec4)
+ 73(ResType): TypeStruct 13(ivec4) 13(ivec4)
+ 82: TypePointer Input 7(ivec4)
+ 83(i4): 82(ptr) Variable Input
+ 86: TypePointer Function 7(ivec4)
+ 89(ResType): TypeStruct 7(ivec4) 7(ivec4)
+ 98: TypeVector 18(float) 3
+ 99: TypePointer Input 98(fvec3)
+ 100(v3): 99(ptr) Variable Input
+ 102: TypeVector 6(int) 3
+ 103: TypePointer Function 102(ivec3)
+ 105(ResType): TypeStruct 98(fvec3) 102(ivec3)
+ 120: TypePointer Input 18(float)
+ 121(v1): 120(ptr) Variable Input
+ 123: TypePointer Function 6(int)
+ 125(ResType): TypeStruct 18(float) 6(int)
+ 129: TypePointer Output 18(float)
+ 135: TypePointer Output 6(int)
+ 140: TypeVector 18(float) 2
+ 141: TypePointer Input 140(fvec2)
+ 142(v2): 141(ptr) Variable Input
+ 144: TypeVector 6(int) 2
+ 145: TypePointer Input 144(ivec2)
+ 146(i2): 145(ptr) Variable Input
+ 155: TypePointer Input 6(int)
+ 156(i1): 155(ptr) Variable Input
+ 164: 6(int) Constant 4
+ 165: 6(int) Constant 5
+ 171: TypeVector 12(int) 3
+ 172: TypePointer Input 171(ivec3)
+ 173(u3): 172(ptr) Variable Input
+ 181: TypePointer Input 102(ivec3)
+ 182(i3): 181(ptr) Variable Input
+ 246: TypePointer Input 19(fvec4)
+ 247(v4): 246(ptr) Variable Input
+268(gl_VertexID): 155(ptr) Variable Input
+269(gl_InstanceID): 155(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 30(u2out): 29(ptr) Variable Function
+ 51(u1out): 50(ptr) Variable Function
+ 71(u4outHi): 70(ptr) Variable Function
+ 72(u4outLow): 70(ptr) Variable Function
+ 87(i4outHi): 86(ptr) Variable Function
+ 88(i4outLow): 86(ptr) Variable Function
+ 104(i3out): 103(ptr) Variable Function
+ 124(i1out): 123(ptr) Variable Function
+ Store 9(iout) 11
+ Store 15(uout) 17
+ Store 21(fout) 23
+ 27: 24(ivec2) Load 26(u2)
+ 28: 24(ivec2) Load 26(u2)
+ 32: 31(ResType) IAddCarry 27 28
+ 33: 24(ivec2) CompositeExtract 32 1
+ Store 30(u2out) 33
+ 34: 24(ivec2) CompositeExtract 32 0
+ 35: 13(ivec4) Load 15(uout)
+ 36: 24(ivec2) VectorShuffle 35 35 0 1
+ 37: 24(ivec2) IAdd 36 34
+ 38: 13(ivec4) Load 15(uout)
+ 39: 13(ivec4) VectorShuffle 38 37 4 5 2 3
+ Store 15(uout) 39
+ 40: 24(ivec2) Load 30(u2out)
+ 41: 13(ivec4) Load 15(uout)
+ 42: 24(ivec2) VectorShuffle 41 41 0 1
+ 43: 24(ivec2) IAdd 42 40
+ 44: 13(ivec4) Load 15(uout)
+ 45: 13(ivec4) VectorShuffle 44 43 4 5 2 3
+ Store 15(uout) 45
+ 48: 12(int) Load 47(u1)
+ 49: 12(int) Load 47(u1)
+ 53: 52(ResType) ISubBorrow 48 49
+ 54: 12(int) CompositeExtract 53 1
+ Store 51(u1out) 54
+ 55: 12(int) CompositeExtract 53 0
+ 57: 56(ptr) AccessChain 15(uout) 16
+ 58: 12(int) Load 57
+ 59: 12(int) IAdd 58 55
+ 60: 56(ptr) AccessChain 15(uout) 16
+ Store 60 59
+ 61: 12(int) Load 51(u1out)
+ 62: 56(ptr) AccessChain 15(uout) 16
+ 63: 12(int) Load 62
+ 64: 12(int) IAdd 63 61
+ 65: 56(ptr) AccessChain 15(uout) 16
+ Store 65 64
+ 68: 13(ivec4) Load 67(u4)
+ 69: 13(ivec4) Load 67(u4)
+ 74: 73(ResType) UMulExtended 68 69
+ 75: 13(ivec4) CompositeExtract 74 0
+ Store 72(u4outLow) 75
+ 76: 13(ivec4) CompositeExtract 74 1
+ Store 71(u4outHi) 76
+ 77: 13(ivec4) Load 71(u4outHi)
+ 78: 13(ivec4) Load 72(u4outLow)
+ 79: 13(ivec4) IAdd 77 78
+ 80: 13(ivec4) Load 15(uout)
+ 81: 13(ivec4) IAdd 80 79
+ Store 15(uout) 81
+ 84: 7(ivec4) Load 83(i4)
+ 85: 7(ivec4) Load 83(i4)
+ 90: 89(ResType) SMulExtended 84 85
+ 91: 7(ivec4) CompositeExtract 90 0
+ Store 88(i4outLow) 91
+ 92: 7(ivec4) CompositeExtract 90 1
+ Store 87(i4outHi) 92
+ 93: 7(ivec4) Load 88(i4outLow)
+ 94: 7(ivec4) Load 87(i4outHi)
+ 95: 7(ivec4) IAdd 93 94
+ 96: 7(ivec4) Load 9(iout)
+ 97: 7(ivec4) IAdd 96 95
+ Store 9(iout) 97
+ 101: 98(fvec3) Load 100(v3)
+ 106:105(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 101
+ 107: 102(ivec3) CompositeExtract 106 1
+ Store 104(i3out) 107
+ 108: 98(fvec3) CompositeExtract 106 0
+ 109: 19(fvec4) Load 21(fout)
+ 110: 98(fvec3) VectorShuffle 109 109 0 1 2
+ 111: 98(fvec3) FAdd 110 108
+ 112: 19(fvec4) Load 21(fout)
+ 113: 19(fvec4) VectorShuffle 112 111 4 5 6 3
+ Store 21(fout) 113
+ 114: 102(ivec3) Load 104(i3out)
+ 115: 7(ivec4) Load 9(iout)
+ 116: 102(ivec3) VectorShuffle 115 115 0 1 2
+ 117: 102(ivec3) IAdd 116 114
+ 118: 7(ivec4) Load 9(iout)
+ 119: 7(ivec4) VectorShuffle 118 117 4 5 6 3
+ Store 9(iout) 119
+ 122: 18(float) Load 121(v1)
+ 126:125(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 122
+ 127: 6(int) CompositeExtract 126 1
+ Store 124(i1out) 127
+ 128: 18(float) CompositeExtract 126 0
+ 130: 129(ptr) AccessChain 21(fout) 16
+ 131: 18(float) Load 130
+ 132: 18(float) FAdd 131 128
+ 133: 129(ptr) AccessChain 21(fout) 16
+ Store 133 132
+ 134: 6(int) Load 124(i1out)
+ 136: 135(ptr) AccessChain 9(iout) 16
+ 137: 6(int) Load 136
+ 138: 6(int) IAdd 137 134
+ 139: 135(ptr) AccessChain 9(iout) 16
+ Store 139 138
+ 143: 140(fvec2) Load 142(v2)
+ 147: 144(ivec2) Load 146(i2)
+ 148: 140(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 143 147
+ 149: 19(fvec4) Load 21(fout)
+ 150: 140(fvec2) VectorShuffle 149 149 0 1
+ 151: 140(fvec2) FAdd 150 148
+ 152: 19(fvec4) Load 21(fout)
+ 153: 19(fvec4) VectorShuffle 152 151 4 5 2 3
+ Store 21(fout) 153
+ 154: 18(float) Load 121(v1)
+ 157: 6(int) Load 156(i1)
+ 158: 18(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 154 157
+ 159: 129(ptr) AccessChain 21(fout) 16
+ 160: 18(float) Load 159
+ 161: 18(float) FAdd 160 158
+ 162: 129(ptr) AccessChain 21(fout) 16
+ Store 162 161
+ 163: 6(int) Load 156(i1)
+ 166: 6(int) BitFieldSExtract 163 164 165
+ 167: 135(ptr) AccessChain 9(iout) 16
+ 168: 6(int) Load 167
+ 169: 6(int) IAdd 168 166
+ 170: 135(ptr) AccessChain 9(iout) 16
+ Store 170 169
+ 174: 171(ivec3) Load 173(u3)
+ 175: 171(ivec3) BitFieldUExtract 174 164 165
+ 176: 13(ivec4) Load 15(uout)
+ 177: 171(ivec3) VectorShuffle 176 176 0 1 2
+ 178: 171(ivec3) IAdd 177 175
+ 179: 13(ivec4) Load 15(uout)
+ 180: 13(ivec4) VectorShuffle 179 178 4 5 6 3
+ Store 15(uout) 180
+ 183: 102(ivec3) Load 182(i3)
+ 184: 102(ivec3) Load 182(i3)
+ 185: 102(ivec3) BitFieldInsert 183 184 164 165
+ 186: 7(ivec4) Load 9(iout)
+ 187: 102(ivec3) VectorShuffle 186 186 0 1 2
+ 188: 102(ivec3) IAdd 187 185
+ 189: 7(ivec4) Load 9(iout)
+ 190: 7(ivec4) VectorShuffle 189 188 4 5 6 3
+ Store 9(iout) 190
+ 191: 12(int) Load 47(u1)
+ 192: 12(int) Load 47(u1)
+ 193: 12(int) BitFieldInsert 191 192 164 165
+ 194: 56(ptr) AccessChain 15(uout) 16
+ 195: 12(int) Load 194
+ 196: 12(int) IAdd 195 193
+ 197: 56(ptr) AccessChain 15(uout) 16
+ Store 197 196
+ 198: 144(ivec2) Load 146(i2)
+ 199: 144(ivec2) BitReverse 198
+ 200: 7(ivec4) Load 9(iout)
+ 201: 144(ivec2) VectorShuffle 200 200 0 1
+ 202: 144(ivec2) IAdd 201 199
+ 203: 7(ivec4) Load 9(iout)
+ 204: 7(ivec4) VectorShuffle 203 202 4 5 2 3
+ Store 9(iout) 204
+ 205: 13(ivec4) Load 67(u4)
+ 206: 13(ivec4) BitReverse 205
+ 207: 13(ivec4) Load 15(uout)
+ 208: 13(ivec4) IAdd 207 206
+ Store 15(uout) 208
+ 209: 6(int) Load 156(i1)
+ 210: 6(int) BitCount 209
+ 211: 135(ptr) AccessChain 9(iout) 16
+ 212: 6(int) Load 211
+ 213: 6(int) IAdd 212 210
+ 214: 135(ptr) AccessChain 9(iout) 16
+ Store 214 213
+ 215: 171(ivec3) Load 173(u3)
+ 216: 102(ivec3) BitCount 215
+ 217: 7(ivec4) Load 9(iout)
+ 218: 102(ivec3) VectorShuffle 217 217 0 1 2
+ 219: 102(ivec3) IAdd 218 216
+ 220: 7(ivec4) Load 9(iout)
+ 221: 7(ivec4) VectorShuffle 220 219 4 5 6 3
+ Store 9(iout) 221
+ 222: 144(ivec2) Load 146(i2)
+ 223: 144(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 222
+ 224: 7(ivec4) Load 9(iout)
+ 225: 144(ivec2) VectorShuffle 224 224 0 1
+ 226: 144(ivec2) IAdd 225 223
+ 227: 7(ivec4) Load 9(iout)
+ 228: 7(ivec4) VectorShuffle 227 226 4 5 2 3
+ Store 9(iout) 228
+ 229: 13(ivec4) Load 67(u4)
+ 230: 7(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 229
+ 231: 7(ivec4) Load 9(iout)
+ 232: 7(ivec4) IAdd 231 230
+ Store 9(iout) 232
+ 233: 6(int) Load 156(i1)
+ 234: 6(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 233
+ 235: 135(ptr) AccessChain 9(iout) 16
+ 236: 6(int) Load 235
+ 237: 6(int) IAdd 236 234
+ 238: 135(ptr) AccessChain 9(iout) 16
+ Store 238 237
+ 239: 24(ivec2) Load 26(u2)
+ 240: 144(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 239
+ 241: 7(ivec4) Load 9(iout)
+ 242: 144(ivec2) VectorShuffle 241 241 0 1
+ 243: 144(ivec2) IAdd 242 240
+ 244: 7(ivec4) Load 9(iout)
+ 245: 7(ivec4) VectorShuffle 244 243 4 5 2 3
+ Store 9(iout) 245
+ 248: 19(fvec4) Load 247(v4)
+ 249: 12(int) ExtInst 1(GLSL.std.450) 55(PackUnorm4x8) 248
+ 250: 56(ptr) AccessChain 15(uout) 16
+ 251: 12(int) Load 250
+ 252: 12(int) IAdd 251 249
+ 253: 56(ptr) AccessChain 15(uout) 16
+ Store 253 252
+ 254: 19(fvec4) Load 247(v4)
+ 255: 12(int) ExtInst 1(GLSL.std.450) 54(PackSnorm4x8) 254
+ 256: 56(ptr) AccessChain 15(uout) 16
+ 257: 12(int) Load 256
+ 258: 12(int) IAdd 257 255
+ 259: 56(ptr) AccessChain 15(uout) 16
+ Store 259 258
+ 260: 12(int) Load 47(u1)
+ 261: 19(fvec4) ExtInst 1(GLSL.std.450) 64(UnpackUnorm4x8) 260
+ 262: 19(fvec4) Load 21(fout)
+ 263: 19(fvec4) FAdd 262 261
+ Store 21(fout) 263
+ 264: 12(int) Load 47(u1)
+ 265: 19(fvec4) ExtInst 1(GLSL.std.450) 63(UnpackSnorm4x8) 264
+ 266: 19(fvec4) Load 21(fout)
+ 267: 19(fvec4) FAdd 266 265
+ Store 21(fout) 267
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.interpOps.frag.out b/Test/baseResults/spv.interpOps.frag.out
index d23891b..ef701f0 100644
--- a/Test/baseResults/spv.interpOps.frag.out
+++ b/Test/baseResults/spv.interpOps.frag.out
@@ -1,141 +1,141 @@
-spv.interpOps.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 101
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 13 24 33 41 99
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 450
- Name 4 "main"
- Name 9 "f4"
- Name 13 "if1"
- Name 24 "if2"
- Name 33 "if3"
- Name 41 "if4"
- Name 47 "samp"
- Name 73 "offset"
- Name 99 "fragColor"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 10: 6(float) Constant 0
- 11: 7(fvec4) ConstantComposite 10 10 10 10
- 12: TypePointer Input 6(float)
- 13(if1): 12(ptr) Variable Input
- 15: TypeInt 32 0
- 16: 15(int) Constant 0
- 17: TypePointer Function 6(float)
- 22: TypeVector 6(float) 2
- 23: TypePointer Input 22(fvec2)
- 24(if2): 23(ptr) Variable Input
- 31: TypeVector 6(float) 3
- 32: TypePointer Input 31(fvec3)
- 33(if3): 32(ptr) Variable Input
- 40: TypePointer Input 7(fvec4)
- 41(if4): 40(ptr) Variable Input
- 45: TypeInt 32 1
- 46: TypePointer UniformConstant 45(int)
- 47(samp): 46(ptr) Variable UniformConstant
- 72: TypePointer UniformConstant 22(fvec2)
- 73(offset): 72(ptr) Variable UniformConstant
- 98: TypePointer Output 7(fvec4)
- 99(fragColor): 98(ptr) Variable Output
- 4(main): 2 Function None 3
- 5: Label
- 9(f4): 8(ptr) Variable Function
- Store 9(f4) 11
- 14: 6(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 13(if1)
- 18: 17(ptr) AccessChain 9(f4) 16
- 19: 6(float) Load 18
- 20: 6(float) FAdd 19 14
- 21: 17(ptr) AccessChain 9(f4) 16
- Store 21 20
- 25: 22(fvec2) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 24(if2)
- 26: 7(fvec4) Load 9(f4)
- 27: 22(fvec2) VectorShuffle 26 26 0 1
- 28: 22(fvec2) FAdd 27 25
- 29: 7(fvec4) Load 9(f4)
- 30: 7(fvec4) VectorShuffle 29 28 4 5 2 3
- Store 9(f4) 30
- 34: 31(fvec3) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 33(if3)
- 35: 7(fvec4) Load 9(f4)
- 36: 31(fvec3) VectorShuffle 35 35 0 1 2
- 37: 31(fvec3) FAdd 36 34
- 38: 7(fvec4) Load 9(f4)
- 39: 7(fvec4) VectorShuffle 38 37 4 5 6 3
- Store 9(f4) 39
- 42: 7(fvec4) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 41(if4)
- 43: 7(fvec4) Load 9(f4)
- 44: 7(fvec4) FAdd 43 42
- Store 9(f4) 44
- 48: 45(int) Load 47(samp)
- 49: 6(float) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 13(if1) 48
- 50: 17(ptr) AccessChain 9(f4) 16
- 51: 6(float) Load 50
- 52: 6(float) FAdd 51 49
- 53: 17(ptr) AccessChain 9(f4) 16
- Store 53 52
- 54: 45(int) Load 47(samp)
- 55: 22(fvec2) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 24(if2) 54
- 56: 7(fvec4) Load 9(f4)
- 57: 22(fvec2) VectorShuffle 56 56 0 1
- 58: 22(fvec2) FAdd 57 55
- 59: 7(fvec4) Load 9(f4)
- 60: 7(fvec4) VectorShuffle 59 58 4 5 2 3
- Store 9(f4) 60
- 61: 45(int) Load 47(samp)
- 62: 31(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 33(if3) 61
- 63: 7(fvec4) Load 9(f4)
- 64: 31(fvec3) VectorShuffle 63 63 0 1 2
- 65: 31(fvec3) FAdd 64 62
- 66: 7(fvec4) Load 9(f4)
- 67: 7(fvec4) VectorShuffle 66 65 4 5 6 3
- Store 9(f4) 67
- 68: 45(int) Load 47(samp)
- 69: 7(fvec4) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 41(if4) 68
- 70: 7(fvec4) Load 9(f4)
- 71: 7(fvec4) FAdd 70 69
- Store 9(f4) 71
- 74: 22(fvec2) Load 73(offset)
- 75: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 13(if1) 74
- 76: 17(ptr) AccessChain 9(f4) 16
- 77: 6(float) Load 76
- 78: 6(float) FAdd 77 75
- 79: 17(ptr) AccessChain 9(f4) 16
- Store 79 78
- 80: 22(fvec2) Load 73(offset)
- 81: 22(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 24(if2) 80
- 82: 7(fvec4) Load 9(f4)
- 83: 22(fvec2) VectorShuffle 82 82 0 1
- 84: 22(fvec2) FAdd 83 81
- 85: 7(fvec4) Load 9(f4)
- 86: 7(fvec4) VectorShuffle 85 84 4 5 2 3
- Store 9(f4) 86
- 87: 22(fvec2) Load 73(offset)
- 88: 31(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 33(if3) 87
- 89: 7(fvec4) Load 9(f4)
- 90: 31(fvec3) VectorShuffle 89 89 0 1 2
- 91: 31(fvec3) FAdd 90 88
- 92: 7(fvec4) Load 9(f4)
- 93: 7(fvec4) VectorShuffle 92 91 4 5 6 3
- Store 9(f4) 93
- 94: 22(fvec2) Load 73(offset)
- 95: 7(fvec4) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 41(if4) 94
- 96: 7(fvec4) Load 9(f4)
- 97: 7(fvec4) FAdd 96 95
- Store 9(f4) 97
- 100: 7(fvec4) Load 9(f4)
- Store 99(fragColor) 100
- Return
- FunctionEnd
+spv.interpOps.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 101
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 13 24 33 41 99
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 450
+ Name 4 "main"
+ Name 9 "f4"
+ Name 13 "if1"
+ Name 24 "if2"
+ Name 33 "if3"
+ Name 41 "if4"
+ Name 47 "samp"
+ Name 73 "offset"
+ Name 99 "fragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: 6(float) Constant 0
+ 11: 7(fvec4) ConstantComposite 10 10 10 10
+ 12: TypePointer Input 6(float)
+ 13(if1): 12(ptr) Variable Input
+ 15: TypeInt 32 0
+ 16: 15(int) Constant 0
+ 17: TypePointer Function 6(float)
+ 22: TypeVector 6(float) 2
+ 23: TypePointer Input 22(fvec2)
+ 24(if2): 23(ptr) Variable Input
+ 31: TypeVector 6(float) 3
+ 32: TypePointer Input 31(fvec3)
+ 33(if3): 32(ptr) Variable Input
+ 40: TypePointer Input 7(fvec4)
+ 41(if4): 40(ptr) Variable Input
+ 45: TypeInt 32 1
+ 46: TypePointer UniformConstant 45(int)
+ 47(samp): 46(ptr) Variable UniformConstant
+ 72: TypePointer UniformConstant 22(fvec2)
+ 73(offset): 72(ptr) Variable UniformConstant
+ 98: TypePointer Output 7(fvec4)
+ 99(fragColor): 98(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(f4): 8(ptr) Variable Function
+ Store 9(f4) 11
+ 14: 6(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 13(if1)
+ 18: 17(ptr) AccessChain 9(f4) 16
+ 19: 6(float) Load 18
+ 20: 6(float) FAdd 19 14
+ 21: 17(ptr) AccessChain 9(f4) 16
+ Store 21 20
+ 25: 22(fvec2) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 24(if2)
+ 26: 7(fvec4) Load 9(f4)
+ 27: 22(fvec2) VectorShuffle 26 26 0 1
+ 28: 22(fvec2) FAdd 27 25
+ 29: 7(fvec4) Load 9(f4)
+ 30: 7(fvec4) VectorShuffle 29 28 4 5 2 3
+ Store 9(f4) 30
+ 34: 31(fvec3) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 33(if3)
+ 35: 7(fvec4) Load 9(f4)
+ 36: 31(fvec3) VectorShuffle 35 35 0 1 2
+ 37: 31(fvec3) FAdd 36 34
+ 38: 7(fvec4) Load 9(f4)
+ 39: 7(fvec4) VectorShuffle 38 37 4 5 6 3
+ Store 9(f4) 39
+ 42: 7(fvec4) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 41(if4)
+ 43: 7(fvec4) Load 9(f4)
+ 44: 7(fvec4) FAdd 43 42
+ Store 9(f4) 44
+ 48: 45(int) Load 47(samp)
+ 49: 6(float) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 13(if1) 48
+ 50: 17(ptr) AccessChain 9(f4) 16
+ 51: 6(float) Load 50
+ 52: 6(float) FAdd 51 49
+ 53: 17(ptr) AccessChain 9(f4) 16
+ Store 53 52
+ 54: 45(int) Load 47(samp)
+ 55: 22(fvec2) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 24(if2) 54
+ 56: 7(fvec4) Load 9(f4)
+ 57: 22(fvec2) VectorShuffle 56 56 0 1
+ 58: 22(fvec2) FAdd 57 55
+ 59: 7(fvec4) Load 9(f4)
+ 60: 7(fvec4) VectorShuffle 59 58 4 5 2 3
+ Store 9(f4) 60
+ 61: 45(int) Load 47(samp)
+ 62: 31(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 33(if3) 61
+ 63: 7(fvec4) Load 9(f4)
+ 64: 31(fvec3) VectorShuffle 63 63 0 1 2
+ 65: 31(fvec3) FAdd 64 62
+ 66: 7(fvec4) Load 9(f4)
+ 67: 7(fvec4) VectorShuffle 66 65 4 5 6 3
+ Store 9(f4) 67
+ 68: 45(int) Load 47(samp)
+ 69: 7(fvec4) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 41(if4) 68
+ 70: 7(fvec4) Load 9(f4)
+ 71: 7(fvec4) FAdd 70 69
+ Store 9(f4) 71
+ 74: 22(fvec2) Load 73(offset)
+ 75: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 13(if1) 74
+ 76: 17(ptr) AccessChain 9(f4) 16
+ 77: 6(float) Load 76
+ 78: 6(float) FAdd 77 75
+ 79: 17(ptr) AccessChain 9(f4) 16
+ Store 79 78
+ 80: 22(fvec2) Load 73(offset)
+ 81: 22(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 24(if2) 80
+ 82: 7(fvec4) Load 9(f4)
+ 83: 22(fvec2) VectorShuffle 82 82 0 1
+ 84: 22(fvec2) FAdd 83 81
+ 85: 7(fvec4) Load 9(f4)
+ 86: 7(fvec4) VectorShuffle 85 84 4 5 2 3
+ Store 9(f4) 86
+ 87: 22(fvec2) Load 73(offset)
+ 88: 31(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 33(if3) 87
+ 89: 7(fvec4) Load 9(f4)
+ 90: 31(fvec3) VectorShuffle 89 89 0 1 2
+ 91: 31(fvec3) FAdd 90 88
+ 92: 7(fvec4) Load 9(f4)
+ 93: 7(fvec4) VectorShuffle 92 91 4 5 6 3
+ Store 9(f4) 93
+ 94: 22(fvec2) Load 73(offset)
+ 95: 7(fvec4) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 41(if4) 94
+ 96: 7(fvec4) Load 9(f4)
+ 97: 7(fvec4) FAdd 96 95
+ Store 9(f4) 97
+ 100: 7(fvec4) Load 9(f4)
+ Store 99(fragColor) 100
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.length.frag.out b/Test/baseResults/spv.length.frag.out
index af6d3fe..da5c122 100755
--- a/Test/baseResults/spv.length.frag.out
+++ b/Test/baseResults/spv.length.frag.out
@@ -1,55 +1,55 @@
-spv.length.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 33
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 14
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 120
- Name 4 "main"
- Name 9 "t"
- Name 14 "v"
- Name 26 "gl_FragColor"
- Name 32 "u"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 2
- 8: TypePointer Function 7(fvec2)
- 10: TypeInt 32 0
- 11: 10(int) Constant 2
- 12: TypeArray 7(fvec2) 11
- 13: TypePointer Input 12
- 14(v): 13(ptr) Variable Input
- 15: TypeInt 32 1
- 16: 15(int) Constant 0
- 17: TypePointer Input 7(fvec2)
- 20: 15(int) Constant 1
- 24: TypeVector 6(float) 4
- 25: TypePointer Output 24(fvec4)
-26(gl_FragColor): 25(ptr) Variable Output
- 27: 6(float) Constant 1106247680
- 28: 24(fvec4) ConstantComposite 27 27 27 27
- 29: 10(int) Constant 3
- 30: TypeArray 24(fvec4) 29
- 31: TypePointer UniformConstant 30
- 32(u): 31(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 9(t): 8(ptr) Variable Function
- 18: 17(ptr) AccessChain 14(v) 16
- 19: 7(fvec2) Load 18
- 21: 17(ptr) AccessChain 14(v) 20
- 22: 7(fvec2) Load 21
- 23: 7(fvec2) FAdd 19 22
- Store 9(t) 23
- Store 26(gl_FragColor) 28
- Return
- FunctionEnd
+spv.length.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 33
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 14
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 120
+ Name 4 "main"
+ Name 9 "t"
+ Name 14 "v"
+ Name 26 "gl_FragColor"
+ Name 32 "u"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 2
+ 8: TypePointer Function 7(fvec2)
+ 10: TypeInt 32 0
+ 11: 10(int) Constant 2
+ 12: TypeArray 7(fvec2) 11
+ 13: TypePointer Input 12
+ 14(v): 13(ptr) Variable Input
+ 15: TypeInt 32 1
+ 16: 15(int) Constant 0
+ 17: TypePointer Input 7(fvec2)
+ 20: 15(int) Constant 1
+ 24: TypeVector 6(float) 4
+ 25: TypePointer Output 24(fvec4)
+26(gl_FragColor): 25(ptr) Variable Output
+ 27: 6(float) Constant 1106247680
+ 28: 24(fvec4) ConstantComposite 27 27 27 27
+ 29: 10(int) Constant 3
+ 30: TypeArray 24(fvec4) 29
+ 31: TypePointer UniformConstant 30
+ 32(u): 31(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(t): 8(ptr) Variable Function
+ 18: 17(ptr) AccessChain 14(v) 16
+ 19: 7(fvec2) Load 18
+ 21: 17(ptr) AccessChain 14(v) 20
+ 22: 7(fvec2) Load 21
+ 23: 7(fvec2) FAdd 19 22
+ Store 9(t) 23
+ Store 26(gl_FragColor) 28
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.localAggregates.frag.out b/Test/baseResults/spv.localAggregates.frag.out
index 721b5a8..5fafd41 100755
--- a/Test/baseResults/spv.localAggregates.frag.out
+++ b/Test/baseResults/spv.localAggregates.frag.out
@@ -1,215 +1,215 @@
-spv.localAggregates.frag
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-WARNING: 0:5: varying deprecated in version 130; may be removed in future release
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 136
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 40 96
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 8 "s1"
- MemberName 8(s1) 0 "i"
- MemberName 8(s1) 1 "f"
- Name 10 "s2"
- MemberName 10(s2) 0 "i"
- MemberName 10(s2) 1 "f"
- MemberName 10(s2) 2 "s1_1"
- MemberName 10(s2) 3 "bleh"
- Name 12 "locals2"
- Name 13 "s3"
- MemberName 13(s3) 0 "s2_1"
- MemberName 13(s3) 1 "i"
- MemberName 13(s3) 2 "f"
- MemberName 13(s3) 3 "s1_1"
- Name 15 "foo3"
- Name 36 "localFArray"
- Name 40 "coord"
- Name 49 "localIArray"
- Name 68 "x"
- Name 70 "localArray"
- Name 75 "i"
- Name 82 "a"
- Name 88 "condition"
- Name 96 "color"
- Name 106 "gl_FragColor"
- Name 126 "samp2D"
- Name 132 "foo"
- Name 133 "foo2"
- Name 135 "uFloatArray"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypeFloat 32
- 8(s1): TypeStruct 6(int) 7(float)
- 9: TypeVector 7(float) 4
- 10(s2): TypeStruct 6(int) 7(float) 8(s1) 9(fvec4)
- 11: TypePointer Function 10(s2)
- 13(s3): TypeStruct 10(s2) 6(int) 7(float) 8(s1)
- 14: TypePointer UniformConstant 13(s3)
- 15(foo3): 14(ptr) Variable UniformConstant
- 16: 6(int) Constant 0
- 17: TypePointer UniformConstant 10(s2)
- 20: TypePointer UniformConstant 6(int)
- 23: TypeBool
- 27: 6(int) Constant 2
- 28: 6(int) Constant 1
- 29: 7(float) Constant 1065353216
- 30: TypePointer Function 7(float)
- 32: TypeInt 32 0
- 33: 32(int) Constant 16
- 34: TypeArray 7(float) 33
- 35: TypePointer Function 34
- 37: 6(int) Constant 4
- 38: TypeVector 7(float) 2
- 39: TypePointer Input 38(fvec2)
- 40(coord): 39(ptr) Variable Input
- 41: 32(int) Constant 0
- 42: TypePointer Input 7(float)
- 46: 32(int) Constant 8
- 47: TypeArray 6(int) 46
- 48: TypePointer Function 47
- 52: TypePointer Function 6(int)
- 69: 6(int) Constant 5
- 80: 6(int) Constant 16
- 84: 7(float) Constant 0
- 88(condition): 20(ptr) Variable UniformConstant
- 94: 6(int) Constant 3
- 95: TypePointer Input 9(fvec4)
- 96(color): 95(ptr) Variable Input
- 98: TypePointer Function 9(fvec4)
- 100: 32(int) Constant 1
- 103: 32(int) Constant 2
- 105: TypePointer Output 9(fvec4)
-106(gl_FragColor): 105(ptr) Variable Output
- 123: TypeImage 7(float) 2D sampled format:Unknown
- 124: TypeSampledImage 123
- 125: TypePointer UniformConstant 124
- 126(samp2D): 125(ptr) Variable UniformConstant
- 131: TypePointer UniformConstant 8(s1)
- 132(foo): 131(ptr) Variable UniformConstant
- 133(foo2): 17(ptr) Variable UniformConstant
- 134: TypePointer UniformConstant 34
-135(uFloatArray): 134(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 12(locals2): 11(ptr) Variable Function
- 36(localFArray): 35(ptr) Variable Function
- 49(localIArray): 48(ptr) Variable Function
- 68(x): 52(ptr) Variable Function
- 70(localArray): 35(ptr) Variable Function
- 75(i): 52(ptr) Variable Function
- 82(a): 35(ptr) Variable Function
- 18: 17(ptr) AccessChain 15(foo3) 16
- 19: 10(s2) Load 18
- Store 12(locals2) 19
- 21: 20(ptr) AccessChain 15(foo3) 16 16
- 22: 6(int) Load 21
- 24: 23(bool) SGreaterThan 22 16
- SelectionMerge 26 None
- BranchConditional 24 25 54
- 25: Label
- 31: 30(ptr) AccessChain 12(locals2) 27 28
- Store 31 29
- 43: 42(ptr) AccessChain 40(coord) 41
- 44: 7(float) Load 43
- 45: 30(ptr) AccessChain 36(localFArray) 37
- Store 45 44
- 50: 20(ptr) AccessChain 15(foo3) 16 16
- 51: 6(int) Load 50
- 53: 52(ptr) AccessChain 49(localIArray) 27
- Store 53 51
- Branch 26
- 54: Label
- 55: 42(ptr) AccessChain 40(coord) 41
- 56: 7(float) Load 55
- 57: 30(ptr) AccessChain 12(locals2) 27 28
- Store 57 56
- 58: 30(ptr) AccessChain 36(localFArray) 37
- Store 58 29
- 59: 52(ptr) AccessChain 49(localIArray) 27
- Store 59 16
- Branch 26
- 26: Label
- 60: 52(ptr) AccessChain 49(localIArray) 27
- 61: 6(int) Load 60
- 62: 23(bool) IEqual 61 16
- SelectionMerge 64 None
- BranchConditional 62 63 64
- 63: Label
- 65: 30(ptr) AccessChain 36(localFArray) 37
- 66: 7(float) Load 65
- 67: 7(float) FAdd 66 29
- Store 65 67
- Branch 64
- 64: Label
- Store 68(x) 69
- 71: 6(int) Load 68(x)
- 72: 42(ptr) AccessChain 40(coord) 41
- 73: 7(float) Load 72
- 74: 30(ptr) AccessChain 70(localArray) 71
- Store 74 73
- Store 75(i) 16
- Branch 76
- 76: Label
- 79: 6(int) Load 75(i)
- 81: 23(bool) SLessThan 79 80
- LoopMerge 77 76 None
- BranchConditional 81 78 77
- 78: Label
- 83: 6(int) Load 75(i)
- 85: 30(ptr) AccessChain 82(a) 83
- Store 85 84
- 86: 6(int) Load 75(i)
- 87: 6(int) IAdd 86 28
- Store 75(i) 87
- Branch 76
- 77: Label
- 89: 6(int) Load 88(condition)
- 90: 23(bool) IEqual 89 28
- SelectionMerge 92 None
- BranchConditional 90 91 92
- 91: Label
- 93: 34 Load 70(localArray)
- Store 82(a) 93
- Branch 92
- 92: Label
- 97: 9(fvec4) Load 96(color)
- 99: 98(ptr) AccessChain 12(locals2) 94
- Store 99 97
- 101: 42(ptr) AccessChain 40(coord) 100
- 102: 7(float) Load 101
- 104: 30(ptr) AccessChain 12(locals2) 94 103
- Store 104 102
- 107: 98(ptr) AccessChain 12(locals2) 94
- 108: 9(fvec4) Load 107
- 109: 30(ptr) AccessChain 36(localFArray) 37
- 110: 7(float) Load 109
- 111: 30(ptr) AccessChain 12(locals2) 27 28
- 112: 7(float) Load 111
- 113: 7(float) FAdd 110 112
- 114: 6(int) Load 68(x)
- 115: 30(ptr) AccessChain 70(localArray) 114
- 116: 7(float) Load 115
- 117: 7(float) FAdd 113 116
- 118: 6(int) Load 68(x)
- 119: 30(ptr) AccessChain 82(a) 118
- 120: 7(float) Load 119
- 121: 7(float) FAdd 117 120
- 122: 9(fvec4) VectorTimesScalar 108 121
- 127: 124 Load 126(samp2D)
- 128: 38(fvec2) Load 40(coord)
- 129: 9(fvec4) ImageSampleImplicitLod 127 128
- 130: 9(fvec4) FMul 122 129
- Store 106(gl_FragColor) 130
- Return
- FunctionEnd
+spv.localAggregates.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+WARNING: 0:5: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 136
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 40 96
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 8 "s1"
+ MemberName 8(s1) 0 "i"
+ MemberName 8(s1) 1 "f"
+ Name 10 "s2"
+ MemberName 10(s2) 0 "i"
+ MemberName 10(s2) 1 "f"
+ MemberName 10(s2) 2 "s1_1"
+ MemberName 10(s2) 3 "bleh"
+ Name 12 "locals2"
+ Name 13 "s3"
+ MemberName 13(s3) 0 "s2_1"
+ MemberName 13(s3) 1 "i"
+ MemberName 13(s3) 2 "f"
+ MemberName 13(s3) 3 "s1_1"
+ Name 15 "foo3"
+ Name 36 "localFArray"
+ Name 40 "coord"
+ Name 49 "localIArray"
+ Name 68 "x"
+ Name 70 "localArray"
+ Name 75 "i"
+ Name 82 "a"
+ Name 88 "condition"
+ Name 96 "color"
+ Name 106 "gl_FragColor"
+ Name 126 "samp2D"
+ Name 132 "foo"
+ Name 133 "foo2"
+ Name 135 "uFloatArray"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeFloat 32
+ 8(s1): TypeStruct 6(int) 7(float)
+ 9: TypeVector 7(float) 4
+ 10(s2): TypeStruct 6(int) 7(float) 8(s1) 9(fvec4)
+ 11: TypePointer Function 10(s2)
+ 13(s3): TypeStruct 10(s2) 6(int) 7(float) 8(s1)
+ 14: TypePointer UniformConstant 13(s3)
+ 15(foo3): 14(ptr) Variable UniformConstant
+ 16: 6(int) Constant 0
+ 17: TypePointer UniformConstant 10(s2)
+ 20: TypePointer UniformConstant 6(int)
+ 23: TypeBool
+ 27: 6(int) Constant 2
+ 28: 6(int) Constant 1
+ 29: 7(float) Constant 1065353216
+ 30: TypePointer Function 7(float)
+ 32: TypeInt 32 0
+ 33: 32(int) Constant 16
+ 34: TypeArray 7(float) 33
+ 35: TypePointer Function 34
+ 37: 6(int) Constant 4
+ 38: TypeVector 7(float) 2
+ 39: TypePointer Input 38(fvec2)
+ 40(coord): 39(ptr) Variable Input
+ 41: 32(int) Constant 0
+ 42: TypePointer Input 7(float)
+ 46: 32(int) Constant 8
+ 47: TypeArray 6(int) 46
+ 48: TypePointer Function 47
+ 52: TypePointer Function 6(int)
+ 69: 6(int) Constant 5
+ 80: 6(int) Constant 16
+ 84: 7(float) Constant 0
+ 88(condition): 20(ptr) Variable UniformConstant
+ 94: 6(int) Constant 3
+ 95: TypePointer Input 9(fvec4)
+ 96(color): 95(ptr) Variable Input
+ 98: TypePointer Function 9(fvec4)
+ 100: 32(int) Constant 1
+ 103: 32(int) Constant 2
+ 105: TypePointer Output 9(fvec4)
+106(gl_FragColor): 105(ptr) Variable Output
+ 123: TypeImage 7(float) 2D sampled format:Unknown
+ 124: TypeSampledImage 123
+ 125: TypePointer UniformConstant 124
+ 126(samp2D): 125(ptr) Variable UniformConstant
+ 131: TypePointer UniformConstant 8(s1)
+ 132(foo): 131(ptr) Variable UniformConstant
+ 133(foo2): 17(ptr) Variable UniformConstant
+ 134: TypePointer UniformConstant 34
+135(uFloatArray): 134(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 12(locals2): 11(ptr) Variable Function
+ 36(localFArray): 35(ptr) Variable Function
+ 49(localIArray): 48(ptr) Variable Function
+ 68(x): 52(ptr) Variable Function
+ 70(localArray): 35(ptr) Variable Function
+ 75(i): 52(ptr) Variable Function
+ 82(a): 35(ptr) Variable Function
+ 18: 17(ptr) AccessChain 15(foo3) 16
+ 19: 10(s2) Load 18
+ Store 12(locals2) 19
+ 21: 20(ptr) AccessChain 15(foo3) 16 16
+ 22: 6(int) Load 21
+ 24: 23(bool) SGreaterThan 22 16
+ SelectionMerge 26 None
+ BranchConditional 24 25 54
+ 25: Label
+ 31: 30(ptr) AccessChain 12(locals2) 27 28
+ Store 31 29
+ 43: 42(ptr) AccessChain 40(coord) 41
+ 44: 7(float) Load 43
+ 45: 30(ptr) AccessChain 36(localFArray) 37
+ Store 45 44
+ 50: 20(ptr) AccessChain 15(foo3) 16 16
+ 51: 6(int) Load 50
+ 53: 52(ptr) AccessChain 49(localIArray) 27
+ Store 53 51
+ Branch 26
+ 54: Label
+ 55: 42(ptr) AccessChain 40(coord) 41
+ 56: 7(float) Load 55
+ 57: 30(ptr) AccessChain 12(locals2) 27 28
+ Store 57 56
+ 58: 30(ptr) AccessChain 36(localFArray) 37
+ Store 58 29
+ 59: 52(ptr) AccessChain 49(localIArray) 27
+ Store 59 16
+ Branch 26
+ 26: Label
+ 60: 52(ptr) AccessChain 49(localIArray) 27
+ 61: 6(int) Load 60
+ 62: 23(bool) IEqual 61 16
+ SelectionMerge 64 None
+ BranchConditional 62 63 64
+ 63: Label
+ 65: 30(ptr) AccessChain 36(localFArray) 37
+ 66: 7(float) Load 65
+ 67: 7(float) FAdd 66 29
+ Store 65 67
+ Branch 64
+ 64: Label
+ Store 68(x) 69
+ 71: 6(int) Load 68(x)
+ 72: 42(ptr) AccessChain 40(coord) 41
+ 73: 7(float) Load 72
+ 74: 30(ptr) AccessChain 70(localArray) 71
+ Store 74 73
+ Store 75(i) 16
+ Branch 76
+ 76: Label
+ 79: 6(int) Load 75(i)
+ 81: 23(bool) SLessThan 79 80
+ LoopMerge 77 76 None
+ BranchConditional 81 78 77
+ 78: Label
+ 83: 6(int) Load 75(i)
+ 85: 30(ptr) AccessChain 82(a) 83
+ Store 85 84
+ 86: 6(int) Load 75(i)
+ 87: 6(int) IAdd 86 28
+ Store 75(i) 87
+ Branch 76
+ 77: Label
+ 89: 6(int) Load 88(condition)
+ 90: 23(bool) IEqual 89 28
+ SelectionMerge 92 None
+ BranchConditional 90 91 92
+ 91: Label
+ 93: 34 Load 70(localArray)
+ Store 82(a) 93
+ Branch 92
+ 92: Label
+ 97: 9(fvec4) Load 96(color)
+ 99: 98(ptr) AccessChain 12(locals2) 94
+ Store 99 97
+ 101: 42(ptr) AccessChain 40(coord) 100
+ 102: 7(float) Load 101
+ 104: 30(ptr) AccessChain 12(locals2) 94 103
+ Store 104 102
+ 107: 98(ptr) AccessChain 12(locals2) 94
+ 108: 9(fvec4) Load 107
+ 109: 30(ptr) AccessChain 36(localFArray) 37
+ 110: 7(float) Load 109
+ 111: 30(ptr) AccessChain 12(locals2) 27 28
+ 112: 7(float) Load 111
+ 113: 7(float) FAdd 110 112
+ 114: 6(int) Load 68(x)
+ 115: 30(ptr) AccessChain 70(localArray) 114
+ 116: 7(float) Load 115
+ 117: 7(float) FAdd 113 116
+ 118: 6(int) Load 68(x)
+ 119: 30(ptr) AccessChain 82(a) 118
+ 120: 7(float) Load 119
+ 121: 7(float) FAdd 117 120
+ 122: 9(fvec4) VectorTimesScalar 108 121
+ 127: 124 Load 126(samp2D)
+ 128: 38(fvec2) Load 40(coord)
+ 129: 9(fvec4) ImageSampleImplicitLod 127 128
+ 130: 9(fvec4) FMul 122 129
+ Store 106(gl_FragColor) 130
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.loops.frag.out b/Test/baseResults/spv.loops.frag.out
index 5602e08..7c9ecaf 100755
--- a/Test/baseResults/spv.loops.frag.out
+++ b/Test/baseResults/spv.loops.frag.out
@@ -1,1098 +1,1098 @@
-spv.loops.frag
-WARNING: 0:14: varying deprecated in version 130; may be removed in future release
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 718
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 11
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 9 "color"
- Name 11 "BaseColor"
- Name 50 "d"
- Name 54 "bigColor"
- Name 66 "bigColor1_1"
- Name 97 "d2"
- Name 105 "d3"
- Name 109 "bigColor1_2"
- Name 120 "bigColor1_3"
- Name 126 "d4"
- Name 137 "i"
- Name 144 "Count"
- Name 147 "bigColor2"
- Name 165 "bigColor3"
- Name 170 "i"
- Name 184 "i"
- Name 218 "i"
- Name 239 "i"
- Name 264 "i"
- Name 298 "bigColor4"
- Name 334 "d5"
- Name 338 "bigColor5"
- Name 355 "d6"
- Name 367 "bigColor6"
- Name 401 "d7"
- Name 434 "bigColor7"
- Name 457 "d8"
- Name 497 "d9"
- Name 527 "d10"
- Name 535 "d11"
- Name 545 "d12"
- Name 569 "bigColor8"
- Name 596 "gl_FragColor"
- Name 603 "d14"
- Name 608 "d15"
- Name 626 "d16"
- Name 664 "d17"
- Name 670 "d18"
- Name 701 "d13"
- Name 702 "d19"
- Name 703 "d20"
- Name 704 "d21"
- Name 705 "d22"
- Name 706 "d23"
- Name 707 "d24"
- Name 708 "d25"
- Name 709 "d26"
- Name 710 "d27"
- Name 711 "d28"
- Name 712 "d29"
- Name 713 "d30"
- Name 714 "d31"
- Name 715 "d32"
- Name 716 "d33"
- Name 717 "d34"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 10: TypePointer Input 7(fvec4)
- 11(BaseColor): 10(ptr) Variable Input
- 16: TypeBool
- 17: 16(bool) ConstantTrue
- 18: TypeInt 32 0
- 19: 18(int) Constant 0
- 20: TypePointer Function 6(float)
- 23: 6(float) Constant 1051260355
- 27: 7(fvec4) ConstantComposite 23 23 23 23
- 33: 6(float) Constant 1059648963
- 37: 7(fvec4) ConstantComposite 33 33 33 33
- 49: TypePointer UniformConstant 6(float)
- 50(d): 49(ptr) Variable UniformConstant
- 53: TypePointer UniformConstant 7(fvec4)
- 54(bigColor): 53(ptr) Variable UniformConstant
- 61: 18(int) Constant 2
- 66(bigColor1_1): 53(ptr) Variable UniformConstant
- 70: 18(int) Constant 3
- 86: 6(float) Constant 1109917696
- 89: 6(float) Constant 1065353216
- 97(d2): 49(ptr) Variable UniformConstant
- 102: 18(int) Constant 1
- 105(d3): 49(ptr) Variable UniformConstant
-109(bigColor1_2): 53(ptr) Variable UniformConstant
-120(bigColor1_3): 53(ptr) Variable UniformConstant
- 126(d4): 49(ptr) Variable UniformConstant
- 135: TypeInt 32 1
- 136: TypePointer Function 135(int)
- 138: 135(int) Constant 0
- 143: TypePointer UniformConstant 135(int)
- 144(Count): 143(ptr) Variable UniformConstant
- 147(bigColor2): 53(ptr) Variable UniformConstant
- 152: 135(int) Constant 1
- 165(bigColor3): 53(ptr) Variable UniformConstant
- 169: 16(bool) ConstantFalse
- 175: 135(int) Constant 42
- 189: 135(int) Constant 100
- 193: 6(float) Constant 1101004800
- 223: 135(int) Constant 120
- 298(bigColor4): 53(ptr) Variable UniformConstant
- 334(d5): 49(ptr) Variable UniformConstant
- 338(bigColor5): 53(ptr) Variable UniformConstant
- 355(d6): 49(ptr) Variable UniformConstant
- 367(bigColor6): 53(ptr) Variable UniformConstant
- 401(d7): 49(ptr) Variable UniformConstant
- 429: 6(float) Constant 0
- 434(bigColor7): 53(ptr) Variable UniformConstant
- 457(d8): 49(ptr) Variable UniformConstant
- 477: 6(float) Constant 1073741824
- 497(d9): 49(ptr) Variable UniformConstant
- 513: 6(float) Constant 1084227584
- 527(d10): 49(ptr) Variable UniformConstant
- 535(d11): 49(ptr) Variable UniformConstant
- 545(d12): 49(ptr) Variable UniformConstant
- 567: 6(float) Constant 1092616192
- 569(bigColor8): 53(ptr) Variable UniformConstant
- 595: TypePointer Output 7(fvec4)
-596(gl_FragColor): 595(ptr) Variable Output
- 603(d14): 49(ptr) Variable UniformConstant
- 608(d15): 49(ptr) Variable UniformConstant
- 626(d16): 49(ptr) Variable UniformConstant
- 664(d17): 49(ptr) Variable UniformConstant
- 670(d18): 49(ptr) Variable UniformConstant
- 701(d13): 49(ptr) Variable UniformConstant
- 702(d19): 49(ptr) Variable UniformConstant
- 703(d20): 49(ptr) Variable UniformConstant
- 704(d21): 49(ptr) Variable UniformConstant
- 705(d22): 49(ptr) Variable UniformConstant
- 706(d23): 49(ptr) Variable UniformConstant
- 707(d24): 49(ptr) Variable UniformConstant
- 708(d25): 49(ptr) Variable UniformConstant
- 709(d26): 49(ptr) Variable UniformConstant
- 710(d27): 49(ptr) Variable UniformConstant
- 711(d28): 49(ptr) Variable UniformConstant
- 712(d29): 49(ptr) Variable UniformConstant
- 713(d30): 49(ptr) Variable UniformConstant
- 714(d31): 49(ptr) Variable UniformConstant
- 715(d32): 49(ptr) Variable UniformConstant
- 716(d33): 49(ptr) Variable UniformConstant
- 717(d34): 49(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 9(color): 8(ptr) Variable Function
- 137(i): 136(ptr) Variable Function
- 170(i): 136(ptr) Variable Function
- 184(i): 136(ptr) Variable Function
- 218(i): 136(ptr) Variable Function
- 239(i): 136(ptr) Variable Function
- 264(i): 136(ptr) Variable Function
- 12: 7(fvec4) Load 11(BaseColor)
- Store 9(color) 12
- Branch 13
- 13: Label
- LoopMerge 14 13 None
- BranchConditional 17 15 14
- 15: Label
- 21: 20(ptr) AccessChain 9(color) 19
- 22: 6(float) Load 21
- 24: 16(bool) FOrdLessThan 22 23
- SelectionMerge 26 None
- BranchConditional 24 25 26
- 25: Label
- 28: 7(fvec4) Load 9(color)
- 29: 7(fvec4) FAdd 28 27
- Store 9(color) 29
- Branch 14
- 26: Label
- 31: 20(ptr) AccessChain 9(color) 19
- 32: 6(float) Load 31
- 34: 16(bool) FOrdLessThan 32 33
- SelectionMerge 36 None
- BranchConditional 34 35 36
- 35: Label
- 38: 7(fvec4) Load 9(color)
- 39: 7(fvec4) FAdd 38 37
- Store 9(color) 39
- Branch 14
- 36: Label
- 41: 7(fvec4) Load 9(color)
- 42: 7(fvec4) FAdd 41 27
- Store 9(color) 42
- Branch 14
- 14: Label
- Branch 44
- 44: Label
- 47: 20(ptr) AccessChain 9(color) 19
- 48: 6(float) Load 47
- 51: 6(float) Load 50(d)
- 52: 16(bool) FOrdLessThan 48 51
- LoopMerge 45 44 None
- BranchConditional 52 46 45
- 46: Label
- 55: 7(fvec4) Load 54(bigColor)
- 56: 7(fvec4) Load 9(color)
- 57: 7(fvec4) FAdd 56 55
- Store 9(color) 57
- Branch 44
- 45: Label
- Branch 58
- 58: Label
- 62: 20(ptr) AccessChain 9(color) 61
- 63: 6(float) Load 62
- 64: 6(float) Load 50(d)
- 65: 16(bool) FOrdLessThan 63 64
- LoopMerge 59 58 None
- BranchConditional 65 60 59
- 60: Label
- 67: 7(fvec4) Load 66(bigColor1_1)
- 68: 7(fvec4) Load 9(color)
- 69: 7(fvec4) FAdd 68 67
- Store 9(color) 69
- 71: 20(ptr) AccessChain 9(color) 70
- 72: 6(float) Load 71
- 73: 6(float) Load 50(d)
- 74: 16(bool) FOrdLessThan 72 73
- SelectionMerge 76 None
- BranchConditional 74 75 76
- 75: Label
- Branch 58
- 76: Label
- 78: 7(fvec4) Load 66(bigColor1_1)
- 79: 7(fvec4) Load 9(color)
- 80: 7(fvec4) FAdd 79 78
- Store 9(color) 80
- Branch 58
- 59: Label
- Branch 81
- 81: Label
- 84: 20(ptr) AccessChain 9(color) 19
- 85: 6(float) Load 84
- 87: 16(bool) FOrdLessThan 85 86
- LoopMerge 82 81 None
- BranchConditional 87 83 82
- 83: Label
- 88: 7(fvec4) Load 9(color)
- 90: 7(fvec4) CompositeConstruct 89 89 89 89
- 91: 7(fvec4) FAdd 88 90
- Store 9(color) 91
- Branch 81
- 82: Label
- Branch 92
- 92: Label
- 95: 20(ptr) AccessChain 9(color) 70
- 96: 6(float) Load 95
- 98: 6(float) Load 97(d2)
- 99: 16(bool) FOrdLessThan 96 98
- SelectionMerge 101 None
- BranchConditional 99 100 101
- 100: Label
- 103: 20(ptr) AccessChain 9(color) 102
- 104: 6(float) Load 103
- 106: 6(float) Load 105(d3)
- 107: 16(bool) FOrdLessThan 104 106
- Branch 101
- 101: Label
- 108: 16(bool) Phi 99 92 107 100
- LoopMerge 93 92 None
- BranchConditional 108 94 93
- 94: Label
- 110: 7(fvec4) Load 109(bigColor1_2)
- 111: 7(fvec4) Load 9(color)
- 112: 7(fvec4) FAdd 111 110
- Store 9(color) 112
- Branch 92
- 93: Label
- Branch 113
- 113: Label
- 116: 20(ptr) AccessChain 9(color) 61
- 117: 6(float) Load 116
- 118: 6(float) Load 105(d3)
- 119: 16(bool) FOrdLessThan 117 118
- LoopMerge 114 113 None
- BranchConditional 119 115 114
- 115: Label
- 121: 7(fvec4) Load 120(bigColor1_3)
- 122: 7(fvec4) Load 9(color)
- 123: 7(fvec4) FAdd 122 121
- Store 9(color) 123
- 124: 20(ptr) AccessChain 9(color) 102
- 125: 6(float) Load 124
- 127: 6(float) Load 126(d4)
- 128: 16(bool) FOrdLessThan 125 127
- SelectionMerge 130 None
- BranchConditional 128 129 130
- 129: Label
- Branch 114
- 130: Label
- 132: 7(fvec4) Load 120(bigColor1_3)
- 133: 7(fvec4) Load 9(color)
- 134: 7(fvec4) FAdd 133 132
- Store 9(color) 134
- Branch 113
- 114: Label
- Store 137(i) 138
- Branch 139
- 139: Label
- 142: 135(int) Load 137(i)
- 145: 135(int) Load 144(Count)
- 146: 16(bool) SLessThan 142 145
- LoopMerge 140 139 None
- BranchConditional 146 141 140
- 141: Label
- 148: 7(fvec4) Load 147(bigColor2)
- 149: 7(fvec4) Load 9(color)
- 150: 7(fvec4) FAdd 149 148
- Store 9(color) 150
- 151: 135(int) Load 137(i)
- 153: 135(int) IAdd 151 152
- Store 137(i) 153
- Branch 139
- 140: Label
- Branch 154
- 154: Label
- 157: 16(bool) Phi 17 140 169 156
- LoopMerge 155 154 None
- Branch 158
- 158: Label
- SelectionMerge 156 None
- BranchConditional 157 156 159
- 159: Label
- 160: 20(ptr) AccessChain 9(color) 19
- 161: 6(float) Load 160
- 162: 6(float) Load 97(d2)
- 163: 16(bool) FOrdLessThan 161 162
- SelectionMerge 164 None
- BranchConditional 163 164 155
- 164: Label
- Branch 156
- 156: Label
- 166: 7(fvec4) Load 165(bigColor3)
- 167: 7(fvec4) Load 9(color)
- 168: 7(fvec4) FAdd 167 166
- Store 9(color) 168
- Branch 154
- 155: Label
- Store 170(i) 138
- Branch 171
- 171: Label
- 174: 135(int) Load 170(i)
- 176: 16(bool) SLessThan 174 175
- LoopMerge 172 171 None
- BranchConditional 176 173 172
- 173: Label
- 177: 6(float) Load 105(d3)
- 178: 20(ptr) AccessChain 9(color) 61
- 179: 6(float) Load 178
- 180: 6(float) FAdd 179 177
- 181: 20(ptr) AccessChain 9(color) 61
- Store 181 180
- 182: 135(int) Load 170(i)
- 183: 135(int) IAdd 182 152
- Store 170(i) 183
- Branch 171
- 172: Label
- Store 184(i) 138
- Branch 185
- 185: Label
- 188: 135(int) Load 184(i)
- 190: 16(bool) SLessThan 188 189
- LoopMerge 186 185 None
- BranchConditional 190 187 186
- 187: Label
- 191: 20(ptr) AccessChain 9(color) 61
- 192: 6(float) Load 191
- 194: 16(bool) FOrdLessThan 192 193
- SelectionMerge 196 None
- BranchConditional 194 195 200
- 195: Label
- 197: 20(ptr) AccessChain 9(color) 19
- 198: 6(float) Load 197
- 199: 6(float) FAdd 198 89
- Store 197 199
- Branch 196
- 200: Label
- 201: 20(ptr) AccessChain 9(color) 102
- 202: 6(float) Load 201
- 203: 6(float) FAdd 202 89
- Store 201 203
- Branch 196
- 196: Label
- 204: 20(ptr) AccessChain 9(color) 70
- 205: 6(float) Load 204
- 206: 16(bool) FOrdLessThan 205 193
- SelectionMerge 208 None
- BranchConditional 206 207 208
- 207: Label
- 209: 20(ptr) AccessChain 9(color) 61
- 210: 6(float) Load 209
- 211: 20(ptr) AccessChain 9(color) 102
- 212: 6(float) Load 211
- 213: 16(bool) FOrdGreaterThan 210 212
- SelectionMerge 215 None
- BranchConditional 213 214 215
- 214: Label
- Branch 215
- 215: Label
- Branch 208
- 208: Label
- 216: 135(int) Load 184(i)
- 217: 135(int) IAdd 216 152
- Store 184(i) 217
- Branch 185
- 186: Label
- Store 218(i) 138
- Branch 219
- 219: Label
- 222: 135(int) Load 218(i)
- 224: 16(bool) SLessThan 222 223
- LoopMerge 220 219 None
- BranchConditional 224 221 220
- 221: Label
- 225: 20(ptr) AccessChain 9(color) 61
- 226: 6(float) Load 225
- 227: 16(bool) FOrdLessThan 226 193
- SelectionMerge 229 None
- BranchConditional 227 228 233
- 228: Label
- 230: 20(ptr) AccessChain 9(color) 19
- 231: 6(float) Load 230
- 232: 6(float) FAdd 231 89
- Store 230 232
- Branch 229
- 233: Label
- 234: 20(ptr) AccessChain 9(color) 102
- 235: 6(float) Load 234
- 236: 6(float) FAdd 235 89
- Store 234 236
- Branch 229
- 229: Label
- 237: 135(int) Load 218(i)
- 238: 135(int) IAdd 237 152
- Store 218(i) 238
- Branch 219
- 220: Label
- Store 239(i) 138
- Branch 240
- 240: Label
- 243: 135(int) Load 239(i)
- 244: 16(bool) SLessThan 243 175
- LoopMerge 241 240 None
- BranchConditional 244 242 241
- 242: Label
- 245: 6(float) Load 105(d3)
- 246: 20(ptr) AccessChain 9(color) 61
- 247: 6(float) Load 246
- 248: 6(float) FAdd 247 245
- 249: 20(ptr) AccessChain 9(color) 61
- Store 249 248
- 250: 20(ptr) AccessChain 9(color) 19
- 251: 6(float) Load 250
- 252: 6(float) Load 126(d4)
- 253: 16(bool) FOrdLessThan 251 252
- SelectionMerge 255 None
- BranchConditional 253 254 255
- 254: Label
- 256: 135(int) Load 239(i)
- 257: 135(int) IAdd 256 152
- Store 239(i) 257
- Branch 240
- 255: Label
- 259: 20(ptr) AccessChain 9(color) 70
- 260: 6(float) Load 259
- 261: 6(float) FAdd 260 89
- Store 259 261
- 262: 135(int) Load 239(i)
- 263: 135(int) IAdd 262 152
- Store 239(i) 263
- Branch 240
- 241: Label
- Store 264(i) 138
- Branch 265
- 265: Label
- 268: 135(int) Load 264(i)
- 269: 16(bool) SLessThan 268 175
- LoopMerge 266 265 None
- BranchConditional 269 267 266
- 267: Label
- 270: 6(float) Load 105(d3)
- 271: 20(ptr) AccessChain 9(color) 61
- 272: 6(float) Load 271
- 273: 6(float) FAdd 272 270
- 274: 20(ptr) AccessChain 9(color) 61
- Store 274 273
- 275: 20(ptr) AccessChain 9(color) 19
- 276: 6(float) Load 275
- 277: 6(float) Load 126(d4)
- 278: 16(bool) FOrdLessThan 276 277
- SelectionMerge 280 None
- BranchConditional 278 279 280
- 279: Label
- Branch 266
- 280: Label
- 282: 20(ptr) AccessChain 9(color) 70
- 283: 6(float) Load 282
- 284: 6(float) FAdd 283 89
- Store 282 284
- 285: 135(int) Load 264(i)
- 286: 135(int) IAdd 285 152
- Store 264(i) 286
- Branch 265
- 266: Label
- Branch 287
- 287: Label
- 290: 16(bool) Phi 17 266 169 306 169 314
- LoopMerge 288 287 None
- Branch 291
- 291: Label
- SelectionMerge 289 None
- BranchConditional 290 289 292
- 292: Label
- 293: 20(ptr) AccessChain 9(color) 61
- 294: 6(float) Load 293
- 295: 6(float) Load 126(d4)
- 296: 16(bool) FOrdLessThan 294 295
- SelectionMerge 297 None
- BranchConditional 296 297 288
- 297: Label
- Branch 289
- 289: Label
- 299: 7(fvec4) Load 298(bigColor4)
- 300: 7(fvec4) Load 9(color)
- 301: 7(fvec4) FAdd 300 299
- Store 9(color) 301
- 302: 20(ptr) AccessChain 9(color) 19
- 303: 6(float) Load 302
- 304: 6(float) Load 126(d4)
- 305: 16(bool) FOrdLessThan 303 304
- SelectionMerge 307 None
- BranchConditional 305 306 307
- 306: Label
- Branch 287
- 307: Label
- 309: 20(ptr) AccessChain 9(color) 102
- 310: 6(float) Load 309
- 311: 6(float) Load 126(d4)
- 312: 16(bool) FOrdLessThan 310 311
- SelectionMerge 314 None
- BranchConditional 312 313 320
- 313: Label
- 315: 6(float) Load 126(d4)
- 316: 20(ptr) AccessChain 9(color) 102
- 317: 6(float) Load 316
- 318: 6(float) FAdd 317 315
- 319: 20(ptr) AccessChain 9(color) 102
- Store 319 318
- Branch 314
- 320: Label
- 321: 6(float) Load 126(d4)
- 322: 20(ptr) AccessChain 9(color) 19
- 323: 6(float) Load 322
- 324: 6(float) FAdd 323 321
- 325: 20(ptr) AccessChain 9(color) 19
- Store 325 324
- Branch 314
- 314: Label
- Branch 287
- 288: Label
- Branch 326
- 326: Label
- 329: 16(bool) Phi 17 288 169 347
- LoopMerge 327 326 None
- Branch 330
- 330: Label
- SelectionMerge 328 None
- BranchConditional 329 328 331
- 331: Label
- 332: 20(ptr) AccessChain 9(color) 19
- 333: 6(float) Load 332
- 335: 6(float) Load 334(d5)
- 336: 16(bool) FOrdLessThan 333 335
- SelectionMerge 337 None
- BranchConditional 336 337 327
- 337: Label
- Branch 328
- 328: Label
- 339: 7(fvec4) Load 338(bigColor5)
- 340: 7(fvec4) Load 9(color)
- 341: 7(fvec4) FAdd 340 339
- Store 9(color) 341
- 342: 20(ptr) AccessChain 9(color) 102
- 343: 6(float) Load 342
- 344: 6(float) Load 334(d5)
- 345: 16(bool) FOrdLessThan 343 344
- SelectionMerge 347 None
- BranchConditional 345 346 347
- 346: Label
- 348: 6(float) Load 334(d5)
- 349: 20(ptr) AccessChain 9(color) 102
- 350: 6(float) Load 349
- 351: 6(float) FAdd 350 348
- 352: 20(ptr) AccessChain 9(color) 102
- Store 352 351
- Branch 347
- 347: Label
- Branch 326
- 327: Label
- 353: 20(ptr) AccessChain 9(color) 19
- 354: 6(float) Load 353
- 356: 6(float) Load 355(d6)
- 357: 16(bool) FOrdLessThan 354 356
- SelectionMerge 359 None
- BranchConditional 357 358 371
- 358: Label
- Branch 360
- 360: Label
- 363: 20(ptr) AccessChain 9(color) 102
- 364: 6(float) Load 363
- 365: 6(float) Load 355(d6)
- 366: 16(bool) FOrdLessThan 364 365
- LoopMerge 361 360 None
- BranchConditional 366 362 361
- 362: Label
- 368: 7(fvec4) Load 367(bigColor6)
- 369: 7(fvec4) Load 9(color)
- 370: 7(fvec4) FAdd 369 368
- Store 9(color) 370
- Branch 360
- 361: Label
- Branch 359
- 371: Label
- Branch 372
- 372: Label
- 375: 20(ptr) AccessChain 9(color) 61
- 376: 6(float) Load 375
- 377: 6(float) Load 355(d6)
- 378: 16(bool) FOrdLessThan 376 377
- LoopMerge 373 372 None
- BranchConditional 378 374 373
- 374: Label
- 379: 49(ptr) AccessChain 367(bigColor6) 61
- 380: 6(float) Load 379
- 381: 20(ptr) AccessChain 9(color) 61
- 382: 6(float) Load 381
- 383: 6(float) FAdd 382 380
- 384: 20(ptr) AccessChain 9(color) 61
- Store 384 383
- Branch 372
- 373: Label
- Branch 359
- 359: Label
- 385: 20(ptr) AccessChain 9(color) 19
- 386: 6(float) Load 385
- 387: 6(float) Load 355(d6)
- 388: 16(bool) FOrdLessThan 386 387
- SelectionMerge 390 None
- BranchConditional 388 389 407
- 389: Label
- Branch 391
- 391: Label
- 394: 20(ptr) AccessChain 9(color) 102
- 395: 6(float) Load 394
- 396: 6(float) Load 355(d6)
- 397: 16(bool) FOrdLessThan 395 396
- LoopMerge 392 391 None
- BranchConditional 397 393 392
- 393: Label
- 398: 7(fvec4) Load 367(bigColor6)
- 399: 7(fvec4) Load 9(color)
- 400: 7(fvec4) FAdd 399 398
- Store 9(color) 400
- 402: 6(float) Load 401(d7)
- 403: 16(bool) FOrdLessThan 402 89
- SelectionMerge 405 None
- BranchConditional 403 404 405
- 404: Label
- Branch 392
- 405: Label
- Branch 391
- 392: Label
- Branch 390
- 407: Label
- Branch 408
- 408: Label
- 411: 20(ptr) AccessChain 9(color) 61
- 412: 6(float) Load 411
- 413: 6(float) Load 355(d6)
- 414: 16(bool) FOrdLessThan 412 413
- LoopMerge 409 408 None
- BranchConditional 414 410 409
- 410: Label
- 415: 49(ptr) AccessChain 367(bigColor6) 61
- 416: 6(float) Load 415
- 417: 20(ptr) AccessChain 9(color) 61
- 418: 6(float) Load 417
- 419: 6(float) FAdd 418 416
- 420: 20(ptr) AccessChain 9(color) 61
- Store 420 419
- Branch 408
- 409: Label
- Branch 390
- 390: Label
- Branch 421
- 421: Label
- 424: 16(bool) Phi 17 390 169 441
- LoopMerge 422 421 None
- Branch 425
- 425: Label
- SelectionMerge 423 None
- BranchConditional 424 423 426
- 426: Label
- SelectionMerge 427 None
- BranchConditional 17 427 422
- 427: Label
- Branch 423
- 423: Label
- 428: 6(float) Load 401(d7)
- 430: 16(bool) FOrdLessThan 428 429
- SelectionMerge 432 None
- BranchConditional 430 431 432
- 431: Label
- Branch 422
- 432: Label
- 435: 7(fvec4) Load 434(bigColor7)
- 436: 7(fvec4) Load 9(color)
- 437: 7(fvec4) FAdd 436 435
- Store 9(color) 437
- 438: 6(float) Load 401(d7)
- 439: 16(bool) FOrdLessThan 438 89
- SelectionMerge 441 None
- BranchConditional 439 440 441
- 440: Label
- 442: 20(ptr) AccessChain 9(color) 61
- 443: 6(float) Load 442
- 444: 6(float) FAdd 443 89
- Store 442 444
- Branch 422
- 441: Label
- 446: 7(fvec4) Load 11(BaseColor)
- 447: 7(fvec4) Load 9(color)
- 448: 7(fvec4) FAdd 447 446
- Store 9(color) 448
- Branch 421
- 422: Label
- Branch 449
- 449: Label
- 452: 16(bool) Phi 17 422 169 472
- LoopMerge 450 449 None
- Branch 453
- 453: Label
- SelectionMerge 451 None
- BranchConditional 452 451 454
- 454: Label
- 455: 20(ptr) AccessChain 9(color) 61
- 456: 6(float) Load 455
- 458: 6(float) Load 457(d8)
- 459: 16(bool) FOrdLessThan 456 458
- SelectionMerge 460 None
- BranchConditional 459 460 450
- 460: Label
- Branch 451
- 451: Label
- 461: 6(float) Load 457(d8)
- 462: 16(bool) FOrdLessThan 461 429
- SelectionMerge 464 None
- BranchConditional 462 463 464
- 463: Label
- Branch 450
- 464: Label
- 466: 7(fvec4) Load 434(bigColor7)
- 467: 7(fvec4) Load 9(color)
- 468: 7(fvec4) FAdd 467 466
- Store 9(color) 468
- 469: 6(float) Load 457(d8)
- 470: 16(bool) FOrdLessThan 469 89
- SelectionMerge 472 None
- BranchConditional 470 471 472
- 471: Label
- 473: 20(ptr) AccessChain 9(color) 61
- 474: 6(float) Load 473
- 475: 6(float) FAdd 474 89
- Store 473 475
- 476: 6(float) Load 457(d8)
- 478: 16(bool) FOrdLessThan 476 477
- SelectionMerge 480 None
- BranchConditional 478 479 484
- 479: Label
- 481: 20(ptr) AccessChain 9(color) 102
- 482: 6(float) Load 481
- 483: 6(float) FAdd 482 89
- Store 481 483
- Branch 480
- 484: Label
- 485: 20(ptr) AccessChain 9(color) 19
- 486: 6(float) Load 485
- 487: 6(float) FAdd 486 89
- Store 485 487
- Branch 480
- 480: Label
- Branch 450
- 472: Label
- 489: 7(fvec4) Load 11(BaseColor)
- 490: 7(fvec4) Load 9(color)
- 491: 7(fvec4) FAdd 490 489
- Store 9(color) 491
- Branch 449
- 450: Label
- Branch 492
- 492: Label
- 495: 20(ptr) AccessChain 9(color) 70
- 496: 6(float) Load 495
- 498: 6(float) Load 497(d9)
- 499: 16(bool) FOrdLessThan 496 498
- LoopMerge 493 492 None
- BranchConditional 499 494 493
- 494: Label
- 500: 6(float) Load 497(d9)
- 501: 6(float) Load 457(d8)
- 502: 16(bool) FOrdGreaterThan 500 501
- SelectionMerge 504 None
- BranchConditional 502 503 504
- 503: Label
- 505: 20(ptr) AccessChain 9(color) 19
- 506: 6(float) Load 505
- 507: 6(float) Load 401(d7)
- 508: 16(bool) FOrdLessThanEqual 506 507
- SelectionMerge 510 None
- BranchConditional 508 509 510
- 509: Label
- 511: 20(ptr) AccessChain 9(color) 61
- 512: 6(float) Load 511
- 514: 16(bool) FOrdEqual 512 513
- SelectionMerge 516 None
- BranchConditional 514 515 520
- 515: Label
- 517: 20(ptr) AccessChain 9(color) 70
- 518: 6(float) Load 517
- 519: 6(float) FAdd 518 89
- Store 517 519
- Branch 516
- 520: Label
- Branch 493
- 516: Label
- Branch 510
- 510: Label
- Branch 504
- 504: Label
- Branch 492
- 493: Label
- Branch 522
- 522: Label
- 525: 20(ptr) AccessChain 9(color) 61
- 526: 6(float) Load 525
- 528: 6(float) Load 527(d10)
- 529: 16(bool) FOrdLessThan 526 528
- LoopMerge 523 522 None
- BranchConditional 529 524 523
- 524: Label
- 530: 20(ptr) AccessChain 9(color) 102
- 531: 6(float) Load 530
- 532: 6(float) FAdd 531 89
- Store 530 532
- 533: 20(ptr) AccessChain 9(color) 102
- 534: 6(float) Load 533
- 536: 6(float) Load 535(d11)
- 537: 16(bool) FOrdLessThan 534 536
- SelectionMerge 539 None
- BranchConditional 537 538 539
- 538: Label
- 540: 20(ptr) AccessChain 9(color) 61
- 541: 6(float) Load 540
- 542: 6(float) FAdd 541 89
- Store 540 542
- 543: 20(ptr) AccessChain 9(color) 70
- 544: 6(float) Load 543
- 546: 6(float) Load 545(d12)
- 547: 16(bool) FOrdLessThan 544 546
- SelectionMerge 549 None
- BranchConditional 547 548 553
- 548: Label
- 550: 20(ptr) AccessChain 9(color) 70
- 551: 6(float) Load 550
- 552: 6(float) FAdd 551 89
- Store 550 552
- Branch 549
- 553: Label
- 554: 20(ptr) AccessChain 9(color) 19
- 555: 6(float) Load 554
- 556: 6(float) FAdd 555 89
- Store 554 556
- Branch 549
- 549: Label
- Branch 522
- 539: Label
- 558: 7(fvec4) Load 9(color)
- 559: 7(fvec4) CompositeConstruct 89 89 89 89
- 560: 7(fvec4) FAdd 558 559
- Store 9(color) 560
- Branch 523
- 523: Label
- Branch 562
- 562: Label
- 565: 20(ptr) AccessChain 9(color) 19
- 566: 6(float) Load 565
- 568: 16(bool) FOrdLessThan 566 567
- LoopMerge 563 562 None
- BranchConditional 568 564 563
- 564: Label
- 570: 7(fvec4) Load 569(bigColor8)
- 571: 7(fvec4) Load 9(color)
- 572: 7(fvec4) FAdd 571 570
- Store 9(color) 572
- 573: 20(ptr) AccessChain 9(color) 61
- 574: 6(float) Load 573
- 575: 6(float) Load 457(d8)
- 576: 16(bool) FOrdLessThan 574 575
- SelectionMerge 578 None
- BranchConditional 576 577 578
- 577: Label
- 579: 20(ptr) AccessChain 9(color) 70
- 580: 6(float) Load 579
- 581: 6(float) Load 355(d6)
- 582: 16(bool) FOrdLessThan 580 581
- SelectionMerge 584 None
- BranchConditional 582 583 584
- 583: Label
- Branch 562
- 584: Label
- Branch 578
- 578: Label
- 586: 49(ptr) AccessChain 569(bigColor8) 19
- 587: 6(float) Load 586
- 588: 20(ptr) AccessChain 9(color) 102
- 589: 6(float) Load 588
- 590: 6(float) FAdd 589 587
- 591: 20(ptr) AccessChain 9(color) 102
- Store 591 590
- Branch 562
- 563: Label
- 592: 7(fvec4) Load 9(color)
- 593: 7(fvec4) CompositeConstruct 89 89 89 89
- 594: 7(fvec4) FAdd 592 593
- Store 9(color) 594
- 597: 7(fvec4) Load 9(color)
- Store 596(gl_FragColor) 597
- Branch 598
- 598: Label
- 601: 20(ptr) AccessChain 9(color) 19
- 602: 6(float) Load 601
- 604: 6(float) Load 603(d14)
- 605: 16(bool) FOrdLessThan 602 604
- LoopMerge 599 598 None
- BranchConditional 605 600 599
- 600: Label
- 606: 20(ptr) AccessChain 9(color) 102
- 607: 6(float) Load 606
- 609: 6(float) Load 608(d15)
- 610: 16(bool) FOrdLessThan 607 609
- SelectionMerge 612 None
- BranchConditional 610 611 614
- 611: Label
- Return
- 614: Label
- 615: 7(fvec4) Load 9(color)
- 616: 7(fvec4) CompositeConstruct 89 89 89 89
- 617: 7(fvec4) FAdd 615 616
- Store 9(color) 617
- Branch 612
- 612: Label
- Branch 598
- 599: Label
- 618: 7(fvec4) Load 9(color)
- 619: 7(fvec4) CompositeConstruct 89 89 89 89
- 620: 7(fvec4) FAdd 618 619
- Store 9(color) 620
- Branch 621
- 621: Label
- 624: 20(ptr) AccessChain 9(color) 70
- 625: 6(float) Load 624
- 627: 6(float) Load 626(d16)
- 628: 16(bool) FOrdLessThan 625 627
- LoopMerge 622 621 None
- BranchConditional 628 623 622
- 623: Label
- 629: 20(ptr) AccessChain 9(color) 70
- 630: 6(float) Load 629
- 631: 6(float) FAdd 630 89
- Store 629 631
- Branch 621
- 622: Label
- Branch 632
- 632: Label
- 635: 20(ptr) AccessChain 9(color) 70
- 636: 6(float) Load 635
- 637: 6(float) Load 97(d2)
- 638: 16(bool) FOrdLessThan 636 637
- SelectionMerge 640 None
- BranchConditional 638 639 640
- 639: Label
- 641: 20(ptr) AccessChain 9(color) 102
- 642: 6(float) Load 641
- 643: 6(float) Load 105(d3)
- 644: 16(bool) FOrdLessThan 642 643
- Branch 640
- 640: Label
- 645: 16(bool) Phi 638 632 644 639
- LoopMerge 633 632 None
- BranchConditional 645 634 633
- 634: Label
- 646: 7(fvec4) Load 109(bigColor1_2)
- 647: 7(fvec4) Load 9(color)
- 648: 7(fvec4) FAdd 647 646
- Store 9(color) 648
- 649: 20(ptr) AccessChain 9(color) 61
- 650: 6(float) Load 649
- 651: 6(float) Load 105(d3)
- 652: 16(bool) FOrdLessThan 650 651
- SelectionMerge 654 None
- BranchConditional 652 653 654
- 653: Label
- Return
- 654: Label
- Branch 632
- 633: Label
- Branch 656
- 656: Label
- 659: 16(bool) Phi 17 633 169 674
- LoopMerge 657 656 None
- Branch 660
- 660: Label
- SelectionMerge 658 None
- BranchConditional 659 658 661
- 661: Label
- 662: 20(ptr) AccessChain 9(color) 19
- 663: 6(float) Load 662
- 665: 6(float) Load 664(d17)
- 666: 16(bool) FOrdLessThan 663 665
- SelectionMerge 667 None
- BranchConditional 666 667 657
- 667: Label
- Branch 658
- 658: Label
- 668: 20(ptr) AccessChain 9(color) 102
- 669: 6(float) Load 668
- 671: 6(float) Load 670(d18)
- 672: 16(bool) FOrdLessThan 669 671
- SelectionMerge 674 None
- BranchConditional 672 673 674
- 673: Label
- Return
- 674: Label
- 676: 7(fvec4) Load 9(color)
- 677: 7(fvec4) CompositeConstruct 89 89 89 89
- 678: 7(fvec4) FAdd 676 677
- Store 9(color) 678
- Branch 656
- 657: Label
- Branch 679
- 679: Label
- 682: 20(ptr) AccessChain 9(color) 102
- 683: 6(float) Load 682
- 684: 6(float) Load 626(d16)
- 685: 16(bool) FOrdLessThan 683 684
- LoopMerge 680 679 None
- BranchConditional 685 681 680
- 681: Label
- 686: 20(ptr) AccessChain 9(color) 70
- 687: 6(float) Load 686
- 688: 6(float) Load 626(d16)
- 689: 16(bool) FOrdLessThan 687 688
- SelectionMerge 691 None
- BranchConditional 689 690 693
- 690: Label
- Kill
- 693: Label
- 694: 7(fvec4) Load 9(color)
- 695: 7(fvec4) CompositeConstruct 89 89 89 89
- 696: 7(fvec4) FAdd 694 695
- Store 9(color) 696
- Branch 691
- 691: Label
- Branch 679
- 680: Label
- 697: 7(fvec4) Load 9(color)
- 698: 7(fvec4) CompositeConstruct 89 89 89 89
- 699: 7(fvec4) FAdd 697 698
- Store 9(color) 699
- 700: 7(fvec4) Load 9(color)
- Store 596(gl_FragColor) 700
- Return
- FunctionEnd
+spv.loops.frag
+WARNING: 0:14: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 718
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 11
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 50 "d"
+ Name 54 "bigColor"
+ Name 66 "bigColor1_1"
+ Name 97 "d2"
+ Name 105 "d3"
+ Name 109 "bigColor1_2"
+ Name 120 "bigColor1_3"
+ Name 126 "d4"
+ Name 137 "i"
+ Name 144 "Count"
+ Name 147 "bigColor2"
+ Name 165 "bigColor3"
+ Name 170 "i"
+ Name 184 "i"
+ Name 218 "i"
+ Name 239 "i"
+ Name 264 "i"
+ Name 298 "bigColor4"
+ Name 334 "d5"
+ Name 338 "bigColor5"
+ Name 355 "d6"
+ Name 367 "bigColor6"
+ Name 401 "d7"
+ Name 434 "bigColor7"
+ Name 457 "d8"
+ Name 497 "d9"
+ Name 527 "d10"
+ Name 535 "d11"
+ Name 545 "d12"
+ Name 569 "bigColor8"
+ Name 596 "gl_FragColor"
+ Name 603 "d14"
+ Name 608 "d15"
+ Name 626 "d16"
+ Name 664 "d17"
+ Name 670 "d18"
+ Name 701 "d13"
+ Name 702 "d19"
+ Name 703 "d20"
+ Name 704 "d21"
+ Name 705 "d22"
+ Name 706 "d23"
+ Name 707 "d24"
+ Name 708 "d25"
+ Name 709 "d26"
+ Name 710 "d27"
+ Name 711 "d28"
+ Name 712 "d29"
+ Name 713 "d30"
+ Name 714 "d31"
+ Name 715 "d32"
+ Name 716 "d33"
+ Name 717 "d34"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 16: TypeBool
+ 17: 16(bool) ConstantTrue
+ 18: TypeInt 32 0
+ 19: 18(int) Constant 0
+ 20: TypePointer Function 6(float)
+ 23: 6(float) Constant 1051260355
+ 27: 7(fvec4) ConstantComposite 23 23 23 23
+ 33: 6(float) Constant 1059648963
+ 37: 7(fvec4) ConstantComposite 33 33 33 33
+ 49: TypePointer UniformConstant 6(float)
+ 50(d): 49(ptr) Variable UniformConstant
+ 53: TypePointer UniformConstant 7(fvec4)
+ 54(bigColor): 53(ptr) Variable UniformConstant
+ 61: 18(int) Constant 2
+ 66(bigColor1_1): 53(ptr) Variable UniformConstant
+ 70: 18(int) Constant 3
+ 86: 6(float) Constant 1109917696
+ 89: 6(float) Constant 1065353216
+ 97(d2): 49(ptr) Variable UniformConstant
+ 102: 18(int) Constant 1
+ 105(d3): 49(ptr) Variable UniformConstant
+109(bigColor1_2): 53(ptr) Variable UniformConstant
+120(bigColor1_3): 53(ptr) Variable UniformConstant
+ 126(d4): 49(ptr) Variable UniformConstant
+ 135: TypeInt 32 1
+ 136: TypePointer Function 135(int)
+ 138: 135(int) Constant 0
+ 143: TypePointer UniformConstant 135(int)
+ 144(Count): 143(ptr) Variable UniformConstant
+ 147(bigColor2): 53(ptr) Variable UniformConstant
+ 152: 135(int) Constant 1
+ 165(bigColor3): 53(ptr) Variable UniformConstant
+ 169: 16(bool) ConstantFalse
+ 175: 135(int) Constant 42
+ 189: 135(int) Constant 100
+ 193: 6(float) Constant 1101004800
+ 223: 135(int) Constant 120
+ 298(bigColor4): 53(ptr) Variable UniformConstant
+ 334(d5): 49(ptr) Variable UniformConstant
+ 338(bigColor5): 53(ptr) Variable UniformConstant
+ 355(d6): 49(ptr) Variable UniformConstant
+ 367(bigColor6): 53(ptr) Variable UniformConstant
+ 401(d7): 49(ptr) Variable UniformConstant
+ 429: 6(float) Constant 0
+ 434(bigColor7): 53(ptr) Variable UniformConstant
+ 457(d8): 49(ptr) Variable UniformConstant
+ 477: 6(float) Constant 1073741824
+ 497(d9): 49(ptr) Variable UniformConstant
+ 513: 6(float) Constant 1084227584
+ 527(d10): 49(ptr) Variable UniformConstant
+ 535(d11): 49(ptr) Variable UniformConstant
+ 545(d12): 49(ptr) Variable UniformConstant
+ 567: 6(float) Constant 1092616192
+ 569(bigColor8): 53(ptr) Variable UniformConstant
+ 595: TypePointer Output 7(fvec4)
+596(gl_FragColor): 595(ptr) Variable Output
+ 603(d14): 49(ptr) Variable UniformConstant
+ 608(d15): 49(ptr) Variable UniformConstant
+ 626(d16): 49(ptr) Variable UniformConstant
+ 664(d17): 49(ptr) Variable UniformConstant
+ 670(d18): 49(ptr) Variable UniformConstant
+ 701(d13): 49(ptr) Variable UniformConstant
+ 702(d19): 49(ptr) Variable UniformConstant
+ 703(d20): 49(ptr) Variable UniformConstant
+ 704(d21): 49(ptr) Variable UniformConstant
+ 705(d22): 49(ptr) Variable UniformConstant
+ 706(d23): 49(ptr) Variable UniformConstant
+ 707(d24): 49(ptr) Variable UniformConstant
+ 708(d25): 49(ptr) Variable UniformConstant
+ 709(d26): 49(ptr) Variable UniformConstant
+ 710(d27): 49(ptr) Variable UniformConstant
+ 711(d28): 49(ptr) Variable UniformConstant
+ 712(d29): 49(ptr) Variable UniformConstant
+ 713(d30): 49(ptr) Variable UniformConstant
+ 714(d31): 49(ptr) Variable UniformConstant
+ 715(d32): 49(ptr) Variable UniformConstant
+ 716(d33): 49(ptr) Variable UniformConstant
+ 717(d34): 49(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(color): 8(ptr) Variable Function
+ 137(i): 136(ptr) Variable Function
+ 170(i): 136(ptr) Variable Function
+ 184(i): 136(ptr) Variable Function
+ 218(i): 136(ptr) Variable Function
+ 239(i): 136(ptr) Variable Function
+ 264(i): 136(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ Branch 13
+ 13: Label
+ LoopMerge 14 13 None
+ BranchConditional 17 15 14
+ 15: Label
+ 21: 20(ptr) AccessChain 9(color) 19
+ 22: 6(float) Load 21
+ 24: 16(bool) FOrdLessThan 22 23
+ SelectionMerge 26 None
+ BranchConditional 24 25 26
+ 25: Label
+ 28: 7(fvec4) Load 9(color)
+ 29: 7(fvec4) FAdd 28 27
+ Store 9(color) 29
+ Branch 14
+ 26: Label
+ 31: 20(ptr) AccessChain 9(color) 19
+ 32: 6(float) Load 31
+ 34: 16(bool) FOrdLessThan 32 33
+ SelectionMerge 36 None
+ BranchConditional 34 35 36
+ 35: Label
+ 38: 7(fvec4) Load 9(color)
+ 39: 7(fvec4) FAdd 38 37
+ Store 9(color) 39
+ Branch 14
+ 36: Label
+ 41: 7(fvec4) Load 9(color)
+ 42: 7(fvec4) FAdd 41 27
+ Store 9(color) 42
+ Branch 14
+ 14: Label
+ Branch 44
+ 44: Label
+ 47: 20(ptr) AccessChain 9(color) 19
+ 48: 6(float) Load 47
+ 51: 6(float) Load 50(d)
+ 52: 16(bool) FOrdLessThan 48 51
+ LoopMerge 45 44 None
+ BranchConditional 52 46 45
+ 46: Label
+ 55: 7(fvec4) Load 54(bigColor)
+ 56: 7(fvec4) Load 9(color)
+ 57: 7(fvec4) FAdd 56 55
+ Store 9(color) 57
+ Branch 44
+ 45: Label
+ Branch 58
+ 58: Label
+ 62: 20(ptr) AccessChain 9(color) 61
+ 63: 6(float) Load 62
+ 64: 6(float) Load 50(d)
+ 65: 16(bool) FOrdLessThan 63 64
+ LoopMerge 59 58 None
+ BranchConditional 65 60 59
+ 60: Label
+ 67: 7(fvec4) Load 66(bigColor1_1)
+ 68: 7(fvec4) Load 9(color)
+ 69: 7(fvec4) FAdd 68 67
+ Store 9(color) 69
+ 71: 20(ptr) AccessChain 9(color) 70
+ 72: 6(float) Load 71
+ 73: 6(float) Load 50(d)
+ 74: 16(bool) FOrdLessThan 72 73
+ SelectionMerge 76 None
+ BranchConditional 74 75 76
+ 75: Label
+ Branch 58
+ 76: Label
+ 78: 7(fvec4) Load 66(bigColor1_1)
+ 79: 7(fvec4) Load 9(color)
+ 80: 7(fvec4) FAdd 79 78
+ Store 9(color) 80
+ Branch 58
+ 59: Label
+ Branch 81
+ 81: Label
+ 84: 20(ptr) AccessChain 9(color) 19
+ 85: 6(float) Load 84
+ 87: 16(bool) FOrdLessThan 85 86
+ LoopMerge 82 81 None
+ BranchConditional 87 83 82
+ 83: Label
+ 88: 7(fvec4) Load 9(color)
+ 90: 7(fvec4) CompositeConstruct 89 89 89 89
+ 91: 7(fvec4) FAdd 88 90
+ Store 9(color) 91
+ Branch 81
+ 82: Label
+ Branch 92
+ 92: Label
+ 95: 20(ptr) AccessChain 9(color) 70
+ 96: 6(float) Load 95
+ 98: 6(float) Load 97(d2)
+ 99: 16(bool) FOrdLessThan 96 98
+ SelectionMerge 101 None
+ BranchConditional 99 100 101
+ 100: Label
+ 103: 20(ptr) AccessChain 9(color) 102
+ 104: 6(float) Load 103
+ 106: 6(float) Load 105(d3)
+ 107: 16(bool) FOrdLessThan 104 106
+ Branch 101
+ 101: Label
+ 108: 16(bool) Phi 99 92 107 100
+ LoopMerge 93 92 None
+ BranchConditional 108 94 93
+ 94: Label
+ 110: 7(fvec4) Load 109(bigColor1_2)
+ 111: 7(fvec4) Load 9(color)
+ 112: 7(fvec4) FAdd 111 110
+ Store 9(color) 112
+ Branch 92
+ 93: Label
+ Branch 113
+ 113: Label
+ 116: 20(ptr) AccessChain 9(color) 61
+ 117: 6(float) Load 116
+ 118: 6(float) Load 105(d3)
+ 119: 16(bool) FOrdLessThan 117 118
+ LoopMerge 114 113 None
+ BranchConditional 119 115 114
+ 115: Label
+ 121: 7(fvec4) Load 120(bigColor1_3)
+ 122: 7(fvec4) Load 9(color)
+ 123: 7(fvec4) FAdd 122 121
+ Store 9(color) 123
+ 124: 20(ptr) AccessChain 9(color) 102
+ 125: 6(float) Load 124
+ 127: 6(float) Load 126(d4)
+ 128: 16(bool) FOrdLessThan 125 127
+ SelectionMerge 130 None
+ BranchConditional 128 129 130
+ 129: Label
+ Branch 114
+ 130: Label
+ 132: 7(fvec4) Load 120(bigColor1_3)
+ 133: 7(fvec4) Load 9(color)
+ 134: 7(fvec4) FAdd 133 132
+ Store 9(color) 134
+ Branch 113
+ 114: Label
+ Store 137(i) 138
+ Branch 139
+ 139: Label
+ 142: 135(int) Load 137(i)
+ 145: 135(int) Load 144(Count)
+ 146: 16(bool) SLessThan 142 145
+ LoopMerge 140 139 None
+ BranchConditional 146 141 140
+ 141: Label
+ 148: 7(fvec4) Load 147(bigColor2)
+ 149: 7(fvec4) Load 9(color)
+ 150: 7(fvec4) FAdd 149 148
+ Store 9(color) 150
+ 151: 135(int) Load 137(i)
+ 153: 135(int) IAdd 151 152
+ Store 137(i) 153
+ Branch 139
+ 140: Label
+ Branch 154
+ 154: Label
+ 157: 16(bool) Phi 17 140 169 156
+ LoopMerge 155 154 None
+ Branch 158
+ 158: Label
+ SelectionMerge 156 None
+ BranchConditional 157 156 159
+ 159: Label
+ 160: 20(ptr) AccessChain 9(color) 19
+ 161: 6(float) Load 160
+ 162: 6(float) Load 97(d2)
+ 163: 16(bool) FOrdLessThan 161 162
+ SelectionMerge 164 None
+ BranchConditional 163 164 155
+ 164: Label
+ Branch 156
+ 156: Label
+ 166: 7(fvec4) Load 165(bigColor3)
+ 167: 7(fvec4) Load 9(color)
+ 168: 7(fvec4) FAdd 167 166
+ Store 9(color) 168
+ Branch 154
+ 155: Label
+ Store 170(i) 138
+ Branch 171
+ 171: Label
+ 174: 135(int) Load 170(i)
+ 176: 16(bool) SLessThan 174 175
+ LoopMerge 172 171 None
+ BranchConditional 176 173 172
+ 173: Label
+ 177: 6(float) Load 105(d3)
+ 178: 20(ptr) AccessChain 9(color) 61
+ 179: 6(float) Load 178
+ 180: 6(float) FAdd 179 177
+ 181: 20(ptr) AccessChain 9(color) 61
+ Store 181 180
+ 182: 135(int) Load 170(i)
+ 183: 135(int) IAdd 182 152
+ Store 170(i) 183
+ Branch 171
+ 172: Label
+ Store 184(i) 138
+ Branch 185
+ 185: Label
+ 188: 135(int) Load 184(i)
+ 190: 16(bool) SLessThan 188 189
+ LoopMerge 186 185 None
+ BranchConditional 190 187 186
+ 187: Label
+ 191: 20(ptr) AccessChain 9(color) 61
+ 192: 6(float) Load 191
+ 194: 16(bool) FOrdLessThan 192 193
+ SelectionMerge 196 None
+ BranchConditional 194 195 200
+ 195: Label
+ 197: 20(ptr) AccessChain 9(color) 19
+ 198: 6(float) Load 197
+ 199: 6(float) FAdd 198 89
+ Store 197 199
+ Branch 196
+ 200: Label
+ 201: 20(ptr) AccessChain 9(color) 102
+ 202: 6(float) Load 201
+ 203: 6(float) FAdd 202 89
+ Store 201 203
+ Branch 196
+ 196: Label
+ 204: 20(ptr) AccessChain 9(color) 70
+ 205: 6(float) Load 204
+ 206: 16(bool) FOrdLessThan 205 193
+ SelectionMerge 208 None
+ BranchConditional 206 207 208
+ 207: Label
+ 209: 20(ptr) AccessChain 9(color) 61
+ 210: 6(float) Load 209
+ 211: 20(ptr) AccessChain 9(color) 102
+ 212: 6(float) Load 211
+ 213: 16(bool) FOrdGreaterThan 210 212
+ SelectionMerge 215 None
+ BranchConditional 213 214 215
+ 214: Label
+ Branch 215
+ 215: Label
+ Branch 208
+ 208: Label
+ 216: 135(int) Load 184(i)
+ 217: 135(int) IAdd 216 152
+ Store 184(i) 217
+ Branch 185
+ 186: Label
+ Store 218(i) 138
+ Branch 219
+ 219: Label
+ 222: 135(int) Load 218(i)
+ 224: 16(bool) SLessThan 222 223
+ LoopMerge 220 219 None
+ BranchConditional 224 221 220
+ 221: Label
+ 225: 20(ptr) AccessChain 9(color) 61
+ 226: 6(float) Load 225
+ 227: 16(bool) FOrdLessThan 226 193
+ SelectionMerge 229 None
+ BranchConditional 227 228 233
+ 228: Label
+ 230: 20(ptr) AccessChain 9(color) 19
+ 231: 6(float) Load 230
+ 232: 6(float) FAdd 231 89
+ Store 230 232
+ Branch 229
+ 233: Label
+ 234: 20(ptr) AccessChain 9(color) 102
+ 235: 6(float) Load 234
+ 236: 6(float) FAdd 235 89
+ Store 234 236
+ Branch 229
+ 229: Label
+ 237: 135(int) Load 218(i)
+ 238: 135(int) IAdd 237 152
+ Store 218(i) 238
+ Branch 219
+ 220: Label
+ Store 239(i) 138
+ Branch 240
+ 240: Label
+ 243: 135(int) Load 239(i)
+ 244: 16(bool) SLessThan 243 175
+ LoopMerge 241 240 None
+ BranchConditional 244 242 241
+ 242: Label
+ 245: 6(float) Load 105(d3)
+ 246: 20(ptr) AccessChain 9(color) 61
+ 247: 6(float) Load 246
+ 248: 6(float) FAdd 247 245
+ 249: 20(ptr) AccessChain 9(color) 61
+ Store 249 248
+ 250: 20(ptr) AccessChain 9(color) 19
+ 251: 6(float) Load 250
+ 252: 6(float) Load 126(d4)
+ 253: 16(bool) FOrdLessThan 251 252
+ SelectionMerge 255 None
+ BranchConditional 253 254 255
+ 254: Label
+ 256: 135(int) Load 239(i)
+ 257: 135(int) IAdd 256 152
+ Store 239(i) 257
+ Branch 240
+ 255: Label
+ 259: 20(ptr) AccessChain 9(color) 70
+ 260: 6(float) Load 259
+ 261: 6(float) FAdd 260 89
+ Store 259 261
+ 262: 135(int) Load 239(i)
+ 263: 135(int) IAdd 262 152
+ Store 239(i) 263
+ Branch 240
+ 241: Label
+ Store 264(i) 138
+ Branch 265
+ 265: Label
+ 268: 135(int) Load 264(i)
+ 269: 16(bool) SLessThan 268 175
+ LoopMerge 266 265 None
+ BranchConditional 269 267 266
+ 267: Label
+ 270: 6(float) Load 105(d3)
+ 271: 20(ptr) AccessChain 9(color) 61
+ 272: 6(float) Load 271
+ 273: 6(float) FAdd 272 270
+ 274: 20(ptr) AccessChain 9(color) 61
+ Store 274 273
+ 275: 20(ptr) AccessChain 9(color) 19
+ 276: 6(float) Load 275
+ 277: 6(float) Load 126(d4)
+ 278: 16(bool) FOrdLessThan 276 277
+ SelectionMerge 280 None
+ BranchConditional 278 279 280
+ 279: Label
+ Branch 266
+ 280: Label
+ 282: 20(ptr) AccessChain 9(color) 70
+ 283: 6(float) Load 282
+ 284: 6(float) FAdd 283 89
+ Store 282 284
+ 285: 135(int) Load 264(i)
+ 286: 135(int) IAdd 285 152
+ Store 264(i) 286
+ Branch 265
+ 266: Label
+ Branch 287
+ 287: Label
+ 290: 16(bool) Phi 17 266 169 306 169 314
+ LoopMerge 288 287 None
+ Branch 291
+ 291: Label
+ SelectionMerge 289 None
+ BranchConditional 290 289 292
+ 292: Label
+ 293: 20(ptr) AccessChain 9(color) 61
+ 294: 6(float) Load 293
+ 295: 6(float) Load 126(d4)
+ 296: 16(bool) FOrdLessThan 294 295
+ SelectionMerge 297 None
+ BranchConditional 296 297 288
+ 297: Label
+ Branch 289
+ 289: Label
+ 299: 7(fvec4) Load 298(bigColor4)
+ 300: 7(fvec4) Load 9(color)
+ 301: 7(fvec4) FAdd 300 299
+ Store 9(color) 301
+ 302: 20(ptr) AccessChain 9(color) 19
+ 303: 6(float) Load 302
+ 304: 6(float) Load 126(d4)
+ 305: 16(bool) FOrdLessThan 303 304
+ SelectionMerge 307 None
+ BranchConditional 305 306 307
+ 306: Label
+ Branch 287
+ 307: Label
+ 309: 20(ptr) AccessChain 9(color) 102
+ 310: 6(float) Load 309
+ 311: 6(float) Load 126(d4)
+ 312: 16(bool) FOrdLessThan 310 311
+ SelectionMerge 314 None
+ BranchConditional 312 313 320
+ 313: Label
+ 315: 6(float) Load 126(d4)
+ 316: 20(ptr) AccessChain 9(color) 102
+ 317: 6(float) Load 316
+ 318: 6(float) FAdd 317 315
+ 319: 20(ptr) AccessChain 9(color) 102
+ Store 319 318
+ Branch 314
+ 320: Label
+ 321: 6(float) Load 126(d4)
+ 322: 20(ptr) AccessChain 9(color) 19
+ 323: 6(float) Load 322
+ 324: 6(float) FAdd 323 321
+ 325: 20(ptr) AccessChain 9(color) 19
+ Store 325 324
+ Branch 314
+ 314: Label
+ Branch 287
+ 288: Label
+ Branch 326
+ 326: Label
+ 329: 16(bool) Phi 17 288 169 347
+ LoopMerge 327 326 None
+ Branch 330
+ 330: Label
+ SelectionMerge 328 None
+ BranchConditional 329 328 331
+ 331: Label
+ 332: 20(ptr) AccessChain 9(color) 19
+ 333: 6(float) Load 332
+ 335: 6(float) Load 334(d5)
+ 336: 16(bool) FOrdLessThan 333 335
+ SelectionMerge 337 None
+ BranchConditional 336 337 327
+ 337: Label
+ Branch 328
+ 328: Label
+ 339: 7(fvec4) Load 338(bigColor5)
+ 340: 7(fvec4) Load 9(color)
+ 341: 7(fvec4) FAdd 340 339
+ Store 9(color) 341
+ 342: 20(ptr) AccessChain 9(color) 102
+ 343: 6(float) Load 342
+ 344: 6(float) Load 334(d5)
+ 345: 16(bool) FOrdLessThan 343 344
+ SelectionMerge 347 None
+ BranchConditional 345 346 347
+ 346: Label
+ 348: 6(float) Load 334(d5)
+ 349: 20(ptr) AccessChain 9(color) 102
+ 350: 6(float) Load 349
+ 351: 6(float) FAdd 350 348
+ 352: 20(ptr) AccessChain 9(color) 102
+ Store 352 351
+ Branch 347
+ 347: Label
+ Branch 326
+ 327: Label
+ 353: 20(ptr) AccessChain 9(color) 19
+ 354: 6(float) Load 353
+ 356: 6(float) Load 355(d6)
+ 357: 16(bool) FOrdLessThan 354 356
+ SelectionMerge 359 None
+ BranchConditional 357 358 371
+ 358: Label
+ Branch 360
+ 360: Label
+ 363: 20(ptr) AccessChain 9(color) 102
+ 364: 6(float) Load 363
+ 365: 6(float) Load 355(d6)
+ 366: 16(bool) FOrdLessThan 364 365
+ LoopMerge 361 360 None
+ BranchConditional 366 362 361
+ 362: Label
+ 368: 7(fvec4) Load 367(bigColor6)
+ 369: 7(fvec4) Load 9(color)
+ 370: 7(fvec4) FAdd 369 368
+ Store 9(color) 370
+ Branch 360
+ 361: Label
+ Branch 359
+ 371: Label
+ Branch 372
+ 372: Label
+ 375: 20(ptr) AccessChain 9(color) 61
+ 376: 6(float) Load 375
+ 377: 6(float) Load 355(d6)
+ 378: 16(bool) FOrdLessThan 376 377
+ LoopMerge 373 372 None
+ BranchConditional 378 374 373
+ 374: Label
+ 379: 49(ptr) AccessChain 367(bigColor6) 61
+ 380: 6(float) Load 379
+ 381: 20(ptr) AccessChain 9(color) 61
+ 382: 6(float) Load 381
+ 383: 6(float) FAdd 382 380
+ 384: 20(ptr) AccessChain 9(color) 61
+ Store 384 383
+ Branch 372
+ 373: Label
+ Branch 359
+ 359: Label
+ 385: 20(ptr) AccessChain 9(color) 19
+ 386: 6(float) Load 385
+ 387: 6(float) Load 355(d6)
+ 388: 16(bool) FOrdLessThan 386 387
+ SelectionMerge 390 None
+ BranchConditional 388 389 407
+ 389: Label
+ Branch 391
+ 391: Label
+ 394: 20(ptr) AccessChain 9(color) 102
+ 395: 6(float) Load 394
+ 396: 6(float) Load 355(d6)
+ 397: 16(bool) FOrdLessThan 395 396
+ LoopMerge 392 391 None
+ BranchConditional 397 393 392
+ 393: Label
+ 398: 7(fvec4) Load 367(bigColor6)
+ 399: 7(fvec4) Load 9(color)
+ 400: 7(fvec4) FAdd 399 398
+ Store 9(color) 400
+ 402: 6(float) Load 401(d7)
+ 403: 16(bool) FOrdLessThan 402 89
+ SelectionMerge 405 None
+ BranchConditional 403 404 405
+ 404: Label
+ Branch 392
+ 405: Label
+ Branch 391
+ 392: Label
+ Branch 390
+ 407: Label
+ Branch 408
+ 408: Label
+ 411: 20(ptr) AccessChain 9(color) 61
+ 412: 6(float) Load 411
+ 413: 6(float) Load 355(d6)
+ 414: 16(bool) FOrdLessThan 412 413
+ LoopMerge 409 408 None
+ BranchConditional 414 410 409
+ 410: Label
+ 415: 49(ptr) AccessChain 367(bigColor6) 61
+ 416: 6(float) Load 415
+ 417: 20(ptr) AccessChain 9(color) 61
+ 418: 6(float) Load 417
+ 419: 6(float) FAdd 418 416
+ 420: 20(ptr) AccessChain 9(color) 61
+ Store 420 419
+ Branch 408
+ 409: Label
+ Branch 390
+ 390: Label
+ Branch 421
+ 421: Label
+ 424: 16(bool) Phi 17 390 169 441
+ LoopMerge 422 421 None
+ Branch 425
+ 425: Label
+ SelectionMerge 423 None
+ BranchConditional 424 423 426
+ 426: Label
+ SelectionMerge 427 None
+ BranchConditional 17 427 422
+ 427: Label
+ Branch 423
+ 423: Label
+ 428: 6(float) Load 401(d7)
+ 430: 16(bool) FOrdLessThan 428 429
+ SelectionMerge 432 None
+ BranchConditional 430 431 432
+ 431: Label
+ Branch 422
+ 432: Label
+ 435: 7(fvec4) Load 434(bigColor7)
+ 436: 7(fvec4) Load 9(color)
+ 437: 7(fvec4) FAdd 436 435
+ Store 9(color) 437
+ 438: 6(float) Load 401(d7)
+ 439: 16(bool) FOrdLessThan 438 89
+ SelectionMerge 441 None
+ BranchConditional 439 440 441
+ 440: Label
+ 442: 20(ptr) AccessChain 9(color) 61
+ 443: 6(float) Load 442
+ 444: 6(float) FAdd 443 89
+ Store 442 444
+ Branch 422
+ 441: Label
+ 446: 7(fvec4) Load 11(BaseColor)
+ 447: 7(fvec4) Load 9(color)
+ 448: 7(fvec4) FAdd 447 446
+ Store 9(color) 448
+ Branch 421
+ 422: Label
+ Branch 449
+ 449: Label
+ 452: 16(bool) Phi 17 422 169 472
+ LoopMerge 450 449 None
+ Branch 453
+ 453: Label
+ SelectionMerge 451 None
+ BranchConditional 452 451 454
+ 454: Label
+ 455: 20(ptr) AccessChain 9(color) 61
+ 456: 6(float) Load 455
+ 458: 6(float) Load 457(d8)
+ 459: 16(bool) FOrdLessThan 456 458
+ SelectionMerge 460 None
+ BranchConditional 459 460 450
+ 460: Label
+ Branch 451
+ 451: Label
+ 461: 6(float) Load 457(d8)
+ 462: 16(bool) FOrdLessThan 461 429
+ SelectionMerge 464 None
+ BranchConditional 462 463 464
+ 463: Label
+ Branch 450
+ 464: Label
+ 466: 7(fvec4) Load 434(bigColor7)
+ 467: 7(fvec4) Load 9(color)
+ 468: 7(fvec4) FAdd 467 466
+ Store 9(color) 468
+ 469: 6(float) Load 457(d8)
+ 470: 16(bool) FOrdLessThan 469 89
+ SelectionMerge 472 None
+ BranchConditional 470 471 472
+ 471: Label
+ 473: 20(ptr) AccessChain 9(color) 61
+ 474: 6(float) Load 473
+ 475: 6(float) FAdd 474 89
+ Store 473 475
+ 476: 6(float) Load 457(d8)
+ 478: 16(bool) FOrdLessThan 476 477
+ SelectionMerge 480 None
+ BranchConditional 478 479 484
+ 479: Label
+ 481: 20(ptr) AccessChain 9(color) 102
+ 482: 6(float) Load 481
+ 483: 6(float) FAdd 482 89
+ Store 481 483
+ Branch 480
+ 484: Label
+ 485: 20(ptr) AccessChain 9(color) 19
+ 486: 6(float) Load 485
+ 487: 6(float) FAdd 486 89
+ Store 485 487
+ Branch 480
+ 480: Label
+ Branch 450
+ 472: Label
+ 489: 7(fvec4) Load 11(BaseColor)
+ 490: 7(fvec4) Load 9(color)
+ 491: 7(fvec4) FAdd 490 489
+ Store 9(color) 491
+ Branch 449
+ 450: Label
+ Branch 492
+ 492: Label
+ 495: 20(ptr) AccessChain 9(color) 70
+ 496: 6(float) Load 495
+ 498: 6(float) Load 497(d9)
+ 499: 16(bool) FOrdLessThan 496 498
+ LoopMerge 493 492 None
+ BranchConditional 499 494 493
+ 494: Label
+ 500: 6(float) Load 497(d9)
+ 501: 6(float) Load 457(d8)
+ 502: 16(bool) FOrdGreaterThan 500 501
+ SelectionMerge 504 None
+ BranchConditional 502 503 504
+ 503: Label
+ 505: 20(ptr) AccessChain 9(color) 19
+ 506: 6(float) Load 505
+ 507: 6(float) Load 401(d7)
+ 508: 16(bool) FOrdLessThanEqual 506 507
+ SelectionMerge 510 None
+ BranchConditional 508 509 510
+ 509: Label
+ 511: 20(ptr) AccessChain 9(color) 61
+ 512: 6(float) Load 511
+ 514: 16(bool) FOrdEqual 512 513
+ SelectionMerge 516 None
+ BranchConditional 514 515 520
+ 515: Label
+ 517: 20(ptr) AccessChain 9(color) 70
+ 518: 6(float) Load 517
+ 519: 6(float) FAdd 518 89
+ Store 517 519
+ Branch 516
+ 520: Label
+ Branch 493
+ 516: Label
+ Branch 510
+ 510: Label
+ Branch 504
+ 504: Label
+ Branch 492
+ 493: Label
+ Branch 522
+ 522: Label
+ 525: 20(ptr) AccessChain 9(color) 61
+ 526: 6(float) Load 525
+ 528: 6(float) Load 527(d10)
+ 529: 16(bool) FOrdLessThan 526 528
+ LoopMerge 523 522 None
+ BranchConditional 529 524 523
+ 524: Label
+ 530: 20(ptr) AccessChain 9(color) 102
+ 531: 6(float) Load 530
+ 532: 6(float) FAdd 531 89
+ Store 530 532
+ 533: 20(ptr) AccessChain 9(color) 102
+ 534: 6(float) Load 533
+ 536: 6(float) Load 535(d11)
+ 537: 16(bool) FOrdLessThan 534 536
+ SelectionMerge 539 None
+ BranchConditional 537 538 539
+ 538: Label
+ 540: 20(ptr) AccessChain 9(color) 61
+ 541: 6(float) Load 540
+ 542: 6(float) FAdd 541 89
+ Store 540 542
+ 543: 20(ptr) AccessChain 9(color) 70
+ 544: 6(float) Load 543
+ 546: 6(float) Load 545(d12)
+ 547: 16(bool) FOrdLessThan 544 546
+ SelectionMerge 549 None
+ BranchConditional 547 548 553
+ 548: Label
+ 550: 20(ptr) AccessChain 9(color) 70
+ 551: 6(float) Load 550
+ 552: 6(float) FAdd 551 89
+ Store 550 552
+ Branch 549
+ 553: Label
+ 554: 20(ptr) AccessChain 9(color) 19
+ 555: 6(float) Load 554
+ 556: 6(float) FAdd 555 89
+ Store 554 556
+ Branch 549
+ 549: Label
+ Branch 522
+ 539: Label
+ 558: 7(fvec4) Load 9(color)
+ 559: 7(fvec4) CompositeConstruct 89 89 89 89
+ 560: 7(fvec4) FAdd 558 559
+ Store 9(color) 560
+ Branch 523
+ 523: Label
+ Branch 562
+ 562: Label
+ 565: 20(ptr) AccessChain 9(color) 19
+ 566: 6(float) Load 565
+ 568: 16(bool) FOrdLessThan 566 567
+ LoopMerge 563 562 None
+ BranchConditional 568 564 563
+ 564: Label
+ 570: 7(fvec4) Load 569(bigColor8)
+ 571: 7(fvec4) Load 9(color)
+ 572: 7(fvec4) FAdd 571 570
+ Store 9(color) 572
+ 573: 20(ptr) AccessChain 9(color) 61
+ 574: 6(float) Load 573
+ 575: 6(float) Load 457(d8)
+ 576: 16(bool) FOrdLessThan 574 575
+ SelectionMerge 578 None
+ BranchConditional 576 577 578
+ 577: Label
+ 579: 20(ptr) AccessChain 9(color) 70
+ 580: 6(float) Load 579
+ 581: 6(float) Load 355(d6)
+ 582: 16(bool) FOrdLessThan 580 581
+ SelectionMerge 584 None
+ BranchConditional 582 583 584
+ 583: Label
+ Branch 562
+ 584: Label
+ Branch 578
+ 578: Label
+ 586: 49(ptr) AccessChain 569(bigColor8) 19
+ 587: 6(float) Load 586
+ 588: 20(ptr) AccessChain 9(color) 102
+ 589: 6(float) Load 588
+ 590: 6(float) FAdd 589 587
+ 591: 20(ptr) AccessChain 9(color) 102
+ Store 591 590
+ Branch 562
+ 563: Label
+ 592: 7(fvec4) Load 9(color)
+ 593: 7(fvec4) CompositeConstruct 89 89 89 89
+ 594: 7(fvec4) FAdd 592 593
+ Store 9(color) 594
+ 597: 7(fvec4) Load 9(color)
+ Store 596(gl_FragColor) 597
+ Branch 598
+ 598: Label
+ 601: 20(ptr) AccessChain 9(color) 19
+ 602: 6(float) Load 601
+ 604: 6(float) Load 603(d14)
+ 605: 16(bool) FOrdLessThan 602 604
+ LoopMerge 599 598 None
+ BranchConditional 605 600 599
+ 600: Label
+ 606: 20(ptr) AccessChain 9(color) 102
+ 607: 6(float) Load 606
+ 609: 6(float) Load 608(d15)
+ 610: 16(bool) FOrdLessThan 607 609
+ SelectionMerge 612 None
+ BranchConditional 610 611 614
+ 611: Label
+ Return
+ 614: Label
+ 615: 7(fvec4) Load 9(color)
+ 616: 7(fvec4) CompositeConstruct 89 89 89 89
+ 617: 7(fvec4) FAdd 615 616
+ Store 9(color) 617
+ Branch 612
+ 612: Label
+ Branch 598
+ 599: Label
+ 618: 7(fvec4) Load 9(color)
+ 619: 7(fvec4) CompositeConstruct 89 89 89 89
+ 620: 7(fvec4) FAdd 618 619
+ Store 9(color) 620
+ Branch 621
+ 621: Label
+ 624: 20(ptr) AccessChain 9(color) 70
+ 625: 6(float) Load 624
+ 627: 6(float) Load 626(d16)
+ 628: 16(bool) FOrdLessThan 625 627
+ LoopMerge 622 621 None
+ BranchConditional 628 623 622
+ 623: Label
+ 629: 20(ptr) AccessChain 9(color) 70
+ 630: 6(float) Load 629
+ 631: 6(float) FAdd 630 89
+ Store 629 631
+ Branch 621
+ 622: Label
+ Branch 632
+ 632: Label
+ 635: 20(ptr) AccessChain 9(color) 70
+ 636: 6(float) Load 635
+ 637: 6(float) Load 97(d2)
+ 638: 16(bool) FOrdLessThan 636 637
+ SelectionMerge 640 None
+ BranchConditional 638 639 640
+ 639: Label
+ 641: 20(ptr) AccessChain 9(color) 102
+ 642: 6(float) Load 641
+ 643: 6(float) Load 105(d3)
+ 644: 16(bool) FOrdLessThan 642 643
+ Branch 640
+ 640: Label
+ 645: 16(bool) Phi 638 632 644 639
+ LoopMerge 633 632 None
+ BranchConditional 645 634 633
+ 634: Label
+ 646: 7(fvec4) Load 109(bigColor1_2)
+ 647: 7(fvec4) Load 9(color)
+ 648: 7(fvec4) FAdd 647 646
+ Store 9(color) 648
+ 649: 20(ptr) AccessChain 9(color) 61
+ 650: 6(float) Load 649
+ 651: 6(float) Load 105(d3)
+ 652: 16(bool) FOrdLessThan 650 651
+ SelectionMerge 654 None
+ BranchConditional 652 653 654
+ 653: Label
+ Return
+ 654: Label
+ Branch 632
+ 633: Label
+ Branch 656
+ 656: Label
+ 659: 16(bool) Phi 17 633 169 674
+ LoopMerge 657 656 None
+ Branch 660
+ 660: Label
+ SelectionMerge 658 None
+ BranchConditional 659 658 661
+ 661: Label
+ 662: 20(ptr) AccessChain 9(color) 19
+ 663: 6(float) Load 662
+ 665: 6(float) Load 664(d17)
+ 666: 16(bool) FOrdLessThan 663 665
+ SelectionMerge 667 None
+ BranchConditional 666 667 657
+ 667: Label
+ Branch 658
+ 658: Label
+ 668: 20(ptr) AccessChain 9(color) 102
+ 669: 6(float) Load 668
+ 671: 6(float) Load 670(d18)
+ 672: 16(bool) FOrdLessThan 669 671
+ SelectionMerge 674 None
+ BranchConditional 672 673 674
+ 673: Label
+ Return
+ 674: Label
+ 676: 7(fvec4) Load 9(color)
+ 677: 7(fvec4) CompositeConstruct 89 89 89 89
+ 678: 7(fvec4) FAdd 676 677
+ Store 9(color) 678
+ Branch 656
+ 657: Label
+ Branch 679
+ 679: Label
+ 682: 20(ptr) AccessChain 9(color) 102
+ 683: 6(float) Load 682
+ 684: 6(float) Load 626(d16)
+ 685: 16(bool) FOrdLessThan 683 684
+ LoopMerge 680 679 None
+ BranchConditional 685 681 680
+ 681: Label
+ 686: 20(ptr) AccessChain 9(color) 70
+ 687: 6(float) Load 686
+ 688: 6(float) Load 626(d16)
+ 689: 16(bool) FOrdLessThan 687 688
+ SelectionMerge 691 None
+ BranchConditional 689 690 693
+ 690: Label
+ Kill
+ 693: Label
+ 694: 7(fvec4) Load 9(color)
+ 695: 7(fvec4) CompositeConstruct 89 89 89 89
+ 696: 7(fvec4) FAdd 694 695
+ Store 9(color) 696
+ Branch 691
+ 691: Label
+ Branch 679
+ 680: Label
+ 697: 7(fvec4) Load 9(color)
+ 698: 7(fvec4) CompositeConstruct 89 89 89 89
+ 699: 7(fvec4) FAdd 697 698
+ Store 9(color) 699
+ 700: 7(fvec4) Load 9(color)
+ Store 596(gl_FragColor) 700
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.loopsArtificial.frag.out b/Test/baseResults/spv.loopsArtificial.frag.out
index 314a969..082095f 100755
--- a/Test/baseResults/spv.loopsArtificial.frag.out
+++ b/Test/baseResults/spv.loopsArtificial.frag.out
@@ -1,308 +1,308 @@
-spv.loopsArtificial.frag
-WARNING: 0:14: varying deprecated in version 130; may be removed in future release
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 191
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 11
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 9 "color"
- Name 11 "BaseColor"
- Name 27 "d4"
- Name 32 "bigColor4"
- Name 84 "d13"
- Name 144 "gl_FragColor"
- Name 146 "bigColor"
- Name 147 "bigColor1_1"
- Name 148 "bigColor1_2"
- Name 149 "bigColor1_3"
- Name 150 "bigColor2"
- Name 151 "bigColor3"
- Name 152 "bigColor5"
- Name 153 "bigColor6"
- Name 154 "bigColor7"
- Name 155 "bigColor8"
- Name 156 "d"
- Name 157 "d2"
- Name 158 "d3"
- Name 159 "d5"
- Name 160 "d6"
- Name 161 "d7"
- Name 162 "d8"
- Name 163 "d9"
- Name 164 "d10"
- Name 165 "d11"
- Name 166 "d12"
- Name 167 "d14"
- Name 168 "d15"
- Name 169 "d16"
- Name 170 "d17"
- Name 171 "d18"
- Name 172 "d19"
- Name 173 "d20"
- Name 174 "d21"
- Name 175 "d22"
- Name 176 "d23"
- Name 177 "d24"
- Name 178 "d25"
- Name 179 "d26"
- Name 180 "d27"
- Name 181 "d28"
- Name 182 "d29"
- Name 183 "d30"
- Name 184 "d31"
- Name 185 "d32"
- Name 186 "d33"
- Name 187 "d34"
- Name 190 "Count"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 10: TypePointer Input 7(fvec4)
- 11(BaseColor): 10(ptr) Variable Input
- 17: TypeBool
- 18: 17(bool) ConstantTrue
- 21: TypeInt 32 0
- 22: 21(int) Constant 2
- 23: TypePointer Function 6(float)
- 26: TypePointer UniformConstant 6(float)
- 27(d4): 26(ptr) Variable UniformConstant
- 31: TypePointer UniformConstant 7(fvec4)
- 32(bigColor4): 31(ptr) Variable UniformConstant
- 36: 21(int) Constant 0
- 43: 6(float) Constant 1073741824
- 56: 6(float) Constant 1065353216
- 58: 17(bool) ConstantFalse
- 60: 21(int) Constant 1
- 81: 21(int) Constant 3
- 84(d13): 26(ptr) Variable UniformConstant
- 143: TypePointer Output 7(fvec4)
-144(gl_FragColor): 143(ptr) Variable Output
- 146(bigColor): 31(ptr) Variable UniformConstant
-147(bigColor1_1): 31(ptr) Variable UniformConstant
-148(bigColor1_2): 31(ptr) Variable UniformConstant
-149(bigColor1_3): 31(ptr) Variable UniformConstant
- 150(bigColor2): 31(ptr) Variable UniformConstant
- 151(bigColor3): 31(ptr) Variable UniformConstant
- 152(bigColor5): 31(ptr) Variable UniformConstant
- 153(bigColor6): 31(ptr) Variable UniformConstant
- 154(bigColor7): 31(ptr) Variable UniformConstant
- 155(bigColor8): 31(ptr) Variable UniformConstant
- 156(d): 26(ptr) Variable UniformConstant
- 157(d2): 26(ptr) Variable UniformConstant
- 158(d3): 26(ptr) Variable UniformConstant
- 159(d5): 26(ptr) Variable UniformConstant
- 160(d6): 26(ptr) Variable UniformConstant
- 161(d7): 26(ptr) Variable UniformConstant
- 162(d8): 26(ptr) Variable UniformConstant
- 163(d9): 26(ptr) Variable UniformConstant
- 164(d10): 26(ptr) Variable UniformConstant
- 165(d11): 26(ptr) Variable UniformConstant
- 166(d12): 26(ptr) Variable UniformConstant
- 167(d14): 26(ptr) Variable UniformConstant
- 168(d15): 26(ptr) Variable UniformConstant
- 169(d16): 26(ptr) Variable UniformConstant
- 170(d17): 26(ptr) Variable UniformConstant
- 171(d18): 26(ptr) Variable UniformConstant
- 172(d19): 26(ptr) Variable UniformConstant
- 173(d20): 26(ptr) Variable UniformConstant
- 174(d21): 26(ptr) Variable UniformConstant
- 175(d22): 26(ptr) Variable UniformConstant
- 176(d23): 26(ptr) Variable UniformConstant
- 177(d24): 26(ptr) Variable UniformConstant
- 178(d25): 26(ptr) Variable UniformConstant
- 179(d26): 26(ptr) Variable UniformConstant
- 180(d27): 26(ptr) Variable UniformConstant
- 181(d28): 26(ptr) Variable UniformConstant
- 182(d29): 26(ptr) Variable UniformConstant
- 183(d30): 26(ptr) Variable UniformConstant
- 184(d31): 26(ptr) Variable UniformConstant
- 185(d32): 26(ptr) Variable UniformConstant
- 186(d33): 26(ptr) Variable UniformConstant
- 187(d34): 26(ptr) Variable UniformConstant
- 188: TypeInt 32 1
- 189: TypePointer UniformConstant 188(int)
- 190(Count): 189(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 9(color): 8(ptr) Variable Function
- 12: 7(fvec4) Load 11(BaseColor)
- Store 9(color) 12
- Branch 13
- 13: Label
- 16: 17(bool) Phi 18 5 58 52 58 66
- LoopMerge 14 13 None
- Branch 19
- 19: Label
- SelectionMerge 15 None
- BranchConditional 16 15 20
- 20: Label
- 24: 23(ptr) AccessChain 9(color) 22
- 25: 6(float) Load 24
- 28: 6(float) Load 27(d4)
- 29: 17(bool) FOrdLessThan 25 28
- SelectionMerge 30 None
- BranchConditional 29 30 14
- 30: Label
- Branch 15
- 15: Label
- 33: 7(fvec4) Load 32(bigColor4)
- 34: 7(fvec4) Load 9(color)
- 35: 7(fvec4) FAdd 34 33
- Store 9(color) 35
- 37: 23(ptr) AccessChain 9(color) 36
- 38: 6(float) Load 37
- 39: 6(float) Load 27(d4)
- 40: 17(bool) FOrdLessThan 38 39
- SelectionMerge 42 None
- BranchConditional 40 41 42
- 41: Label
- 44: 23(ptr) AccessChain 9(color) 22
- 45: 6(float) Load 44
- 46: 6(float) FAdd 45 43
- 47: 23(ptr) AccessChain 9(color) 22
- Store 47 46
- 48: 23(ptr) AccessChain 9(color) 22
- 49: 6(float) Load 48
- 50: 6(float) Load 27(d4)
- 51: 17(bool) FOrdLessThan 49 50
- SelectionMerge 53 None
- BranchConditional 51 52 53
- 52: Label
- 54: 23(ptr) AccessChain 9(color) 36
- 55: 6(float) Load 54
- 57: 6(float) FAdd 55 56
- Store 54 57
- Branch 13
- 53: Label
- Branch 42
- 42: Label
- 61: 23(ptr) AccessChain 9(color) 60
- 62: 6(float) Load 61
- 63: 6(float) Load 27(d4)
- 64: 17(bool) FOrdLessThan 62 63
- SelectionMerge 66 None
- BranchConditional 64 65 72
- 65: Label
- 67: 6(float) Load 27(d4)
- 68: 23(ptr) AccessChain 9(color) 60
- 69: 6(float) Load 68
- 70: 6(float) FAdd 69 67
- 71: 23(ptr) AccessChain 9(color) 60
- Store 71 70
- Branch 66
- 72: Label
- 73: 6(float) Load 27(d4)
- 74: 23(ptr) AccessChain 9(color) 36
- 75: 6(float) Load 74
- 76: 6(float) FAdd 75 73
- 77: 23(ptr) AccessChain 9(color) 36
- Store 77 76
- Branch 66
- 66: Label
- Branch 13
- 14: Label
- Branch 78
- 78: Label
- 82: 23(ptr) AccessChain 9(color) 81
- 83: 6(float) Load 82
- 85: 6(float) Load 84(d13)
- 86: 17(bool) FOrdLessThan 83 85
- LoopMerge 79 78 None
- BranchConditional 86 80 79
- 80: Label
- 87: 23(ptr) AccessChain 9(color) 22
- 88: 6(float) Load 87
- 89: 6(float) Load 84(d13)
- 90: 17(bool) FOrdLessThan 88 89
- SelectionMerge 92 None
- BranchConditional 90 91 96
- 91: Label
- 93: 7(fvec4) Load 9(color)
- 94: 7(fvec4) CompositeConstruct 56 56 56 56
- 95: 7(fvec4) FAdd 93 94
- Store 9(color) 95
- Branch 92
- 96: Label
- 97: 7(fvec4) Load 9(color)
- 98: 7(fvec4) CompositeConstruct 56 56 56 56
- 99: 7(fvec4) FSub 97 98
- Store 9(color) 99
- Branch 92
- 92: Label
- 100: 7(fvec4) Load 32(bigColor4)
- 101: 7(fvec4) Load 9(color)
- 102: 7(fvec4) FAdd 101 100
- Store 9(color) 102
- 103: 23(ptr) AccessChain 9(color) 36
- 104: 6(float) Load 103
- 105: 6(float) Load 27(d4)
- 106: 17(bool) FOrdLessThan 104 105
- SelectionMerge 108 None
- BranchConditional 106 107 108
- 107: Label
- 109: 23(ptr) AccessChain 9(color) 22
- 110: 6(float) Load 109
- 111: 6(float) FAdd 110 43
- 112: 23(ptr) AccessChain 9(color) 22
- Store 112 111
- 113: 23(ptr) AccessChain 9(color) 22
- 114: 6(float) Load 113
- 115: 6(float) Load 27(d4)
- 116: 17(bool) FOrdLessThan 114 115
- SelectionMerge 118 None
- BranchConditional 116 117 118
- 117: Label
- 119: 23(ptr) AccessChain 9(color) 36
- 120: 6(float) Load 119
- 121: 6(float) FAdd 120 56
- Store 119 121
- Branch 78
- 118: Label
- Branch 108
- 108: Label
- 123: 23(ptr) AccessChain 9(color) 60
- 124: 6(float) Load 123
- 125: 6(float) Load 27(d4)
- 126: 17(bool) FOrdLessThan 124 125
- SelectionMerge 128 None
- BranchConditional 126 127 134
- 127: Label
- 129: 6(float) Load 27(d4)
- 130: 23(ptr) AccessChain 9(color) 60
- 131: 6(float) Load 130
- 132: 6(float) FAdd 131 129
- 133: 23(ptr) AccessChain 9(color) 60
- Store 133 132
- Branch 128
- 134: Label
- 135: 6(float) Load 27(d4)
- 136: 23(ptr) AccessChain 9(color) 36
- 137: 6(float) Load 136
- 138: 6(float) FAdd 137 135
- 139: 23(ptr) AccessChain 9(color) 36
- Store 139 138
- Branch 128
- 128: Label
- Branch 78
- 79: Label
- 140: 7(fvec4) Load 9(color)
- 141: 7(fvec4) CompositeConstruct 56 56 56 56
- 142: 7(fvec4) FAdd 140 141
- Store 9(color) 142
- 145: 7(fvec4) Load 9(color)
- Store 144(gl_FragColor) 145
- Return
- FunctionEnd
+spv.loopsArtificial.frag
+WARNING: 0:14: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 191
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 11
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 27 "d4"
+ Name 32 "bigColor4"
+ Name 84 "d13"
+ Name 144 "gl_FragColor"
+ Name 146 "bigColor"
+ Name 147 "bigColor1_1"
+ Name 148 "bigColor1_2"
+ Name 149 "bigColor1_3"
+ Name 150 "bigColor2"
+ Name 151 "bigColor3"
+ Name 152 "bigColor5"
+ Name 153 "bigColor6"
+ Name 154 "bigColor7"
+ Name 155 "bigColor8"
+ Name 156 "d"
+ Name 157 "d2"
+ Name 158 "d3"
+ Name 159 "d5"
+ Name 160 "d6"
+ Name 161 "d7"
+ Name 162 "d8"
+ Name 163 "d9"
+ Name 164 "d10"
+ Name 165 "d11"
+ Name 166 "d12"
+ Name 167 "d14"
+ Name 168 "d15"
+ Name 169 "d16"
+ Name 170 "d17"
+ Name 171 "d18"
+ Name 172 "d19"
+ Name 173 "d20"
+ Name 174 "d21"
+ Name 175 "d22"
+ Name 176 "d23"
+ Name 177 "d24"
+ Name 178 "d25"
+ Name 179 "d26"
+ Name 180 "d27"
+ Name 181 "d28"
+ Name 182 "d29"
+ Name 183 "d30"
+ Name 184 "d31"
+ Name 185 "d32"
+ Name 186 "d33"
+ Name 187 "d34"
+ Name 190 "Count"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 17: TypeBool
+ 18: 17(bool) ConstantTrue
+ 21: TypeInt 32 0
+ 22: 21(int) Constant 2
+ 23: TypePointer Function 6(float)
+ 26: TypePointer UniformConstant 6(float)
+ 27(d4): 26(ptr) Variable UniformConstant
+ 31: TypePointer UniformConstant 7(fvec4)
+ 32(bigColor4): 31(ptr) Variable UniformConstant
+ 36: 21(int) Constant 0
+ 43: 6(float) Constant 1073741824
+ 56: 6(float) Constant 1065353216
+ 58: 17(bool) ConstantFalse
+ 60: 21(int) Constant 1
+ 81: 21(int) Constant 3
+ 84(d13): 26(ptr) Variable UniformConstant
+ 143: TypePointer Output 7(fvec4)
+144(gl_FragColor): 143(ptr) Variable Output
+ 146(bigColor): 31(ptr) Variable UniformConstant
+147(bigColor1_1): 31(ptr) Variable UniformConstant
+148(bigColor1_2): 31(ptr) Variable UniformConstant
+149(bigColor1_3): 31(ptr) Variable UniformConstant
+ 150(bigColor2): 31(ptr) Variable UniformConstant
+ 151(bigColor3): 31(ptr) Variable UniformConstant
+ 152(bigColor5): 31(ptr) Variable UniformConstant
+ 153(bigColor6): 31(ptr) Variable UniformConstant
+ 154(bigColor7): 31(ptr) Variable UniformConstant
+ 155(bigColor8): 31(ptr) Variable UniformConstant
+ 156(d): 26(ptr) Variable UniformConstant
+ 157(d2): 26(ptr) Variable UniformConstant
+ 158(d3): 26(ptr) Variable UniformConstant
+ 159(d5): 26(ptr) Variable UniformConstant
+ 160(d6): 26(ptr) Variable UniformConstant
+ 161(d7): 26(ptr) Variable UniformConstant
+ 162(d8): 26(ptr) Variable UniformConstant
+ 163(d9): 26(ptr) Variable UniformConstant
+ 164(d10): 26(ptr) Variable UniformConstant
+ 165(d11): 26(ptr) Variable UniformConstant
+ 166(d12): 26(ptr) Variable UniformConstant
+ 167(d14): 26(ptr) Variable UniformConstant
+ 168(d15): 26(ptr) Variable UniformConstant
+ 169(d16): 26(ptr) Variable UniformConstant
+ 170(d17): 26(ptr) Variable UniformConstant
+ 171(d18): 26(ptr) Variable UniformConstant
+ 172(d19): 26(ptr) Variable UniformConstant
+ 173(d20): 26(ptr) Variable UniformConstant
+ 174(d21): 26(ptr) Variable UniformConstant
+ 175(d22): 26(ptr) Variable UniformConstant
+ 176(d23): 26(ptr) Variable UniformConstant
+ 177(d24): 26(ptr) Variable UniformConstant
+ 178(d25): 26(ptr) Variable UniformConstant
+ 179(d26): 26(ptr) Variable UniformConstant
+ 180(d27): 26(ptr) Variable UniformConstant
+ 181(d28): 26(ptr) Variable UniformConstant
+ 182(d29): 26(ptr) Variable UniformConstant
+ 183(d30): 26(ptr) Variable UniformConstant
+ 184(d31): 26(ptr) Variable UniformConstant
+ 185(d32): 26(ptr) Variable UniformConstant
+ 186(d33): 26(ptr) Variable UniformConstant
+ 187(d34): 26(ptr) Variable UniformConstant
+ 188: TypeInt 32 1
+ 189: TypePointer UniformConstant 188(int)
+ 190(Count): 189(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(color): 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ Branch 13
+ 13: Label
+ 16: 17(bool) Phi 18 5 58 52 58 66
+ LoopMerge 14 13 None
+ Branch 19
+ 19: Label
+ SelectionMerge 15 None
+ BranchConditional 16 15 20
+ 20: Label
+ 24: 23(ptr) AccessChain 9(color) 22
+ 25: 6(float) Load 24
+ 28: 6(float) Load 27(d4)
+ 29: 17(bool) FOrdLessThan 25 28
+ SelectionMerge 30 None
+ BranchConditional 29 30 14
+ 30: Label
+ Branch 15
+ 15: Label
+ 33: 7(fvec4) Load 32(bigColor4)
+ 34: 7(fvec4) Load 9(color)
+ 35: 7(fvec4) FAdd 34 33
+ Store 9(color) 35
+ 37: 23(ptr) AccessChain 9(color) 36
+ 38: 6(float) Load 37
+ 39: 6(float) Load 27(d4)
+ 40: 17(bool) FOrdLessThan 38 39
+ SelectionMerge 42 None
+ BranchConditional 40 41 42
+ 41: Label
+ 44: 23(ptr) AccessChain 9(color) 22
+ 45: 6(float) Load 44
+ 46: 6(float) FAdd 45 43
+ 47: 23(ptr) AccessChain 9(color) 22
+ Store 47 46
+ 48: 23(ptr) AccessChain 9(color) 22
+ 49: 6(float) Load 48
+ 50: 6(float) Load 27(d4)
+ 51: 17(bool) FOrdLessThan 49 50
+ SelectionMerge 53 None
+ BranchConditional 51 52 53
+ 52: Label
+ 54: 23(ptr) AccessChain 9(color) 36
+ 55: 6(float) Load 54
+ 57: 6(float) FAdd 55 56
+ Store 54 57
+ Branch 13
+ 53: Label
+ Branch 42
+ 42: Label
+ 61: 23(ptr) AccessChain 9(color) 60
+ 62: 6(float) Load 61
+ 63: 6(float) Load 27(d4)
+ 64: 17(bool) FOrdLessThan 62 63
+ SelectionMerge 66 None
+ BranchConditional 64 65 72
+ 65: Label
+ 67: 6(float) Load 27(d4)
+ 68: 23(ptr) AccessChain 9(color) 60
+ 69: 6(float) Load 68
+ 70: 6(float) FAdd 69 67
+ 71: 23(ptr) AccessChain 9(color) 60
+ Store 71 70
+ Branch 66
+ 72: Label
+ 73: 6(float) Load 27(d4)
+ 74: 23(ptr) AccessChain 9(color) 36
+ 75: 6(float) Load 74
+ 76: 6(float) FAdd 75 73
+ 77: 23(ptr) AccessChain 9(color) 36
+ Store 77 76
+ Branch 66
+ 66: Label
+ Branch 13
+ 14: Label
+ Branch 78
+ 78: Label
+ 82: 23(ptr) AccessChain 9(color) 81
+ 83: 6(float) Load 82
+ 85: 6(float) Load 84(d13)
+ 86: 17(bool) FOrdLessThan 83 85
+ LoopMerge 79 78 None
+ BranchConditional 86 80 79
+ 80: Label
+ 87: 23(ptr) AccessChain 9(color) 22
+ 88: 6(float) Load 87
+ 89: 6(float) Load 84(d13)
+ 90: 17(bool) FOrdLessThan 88 89
+ SelectionMerge 92 None
+ BranchConditional 90 91 96
+ 91: Label
+ 93: 7(fvec4) Load 9(color)
+ 94: 7(fvec4) CompositeConstruct 56 56 56 56
+ 95: 7(fvec4) FAdd 93 94
+ Store 9(color) 95
+ Branch 92
+ 96: Label
+ 97: 7(fvec4) Load 9(color)
+ 98: 7(fvec4) CompositeConstruct 56 56 56 56
+ 99: 7(fvec4) FSub 97 98
+ Store 9(color) 99
+ Branch 92
+ 92: Label
+ 100: 7(fvec4) Load 32(bigColor4)
+ 101: 7(fvec4) Load 9(color)
+ 102: 7(fvec4) FAdd 101 100
+ Store 9(color) 102
+ 103: 23(ptr) AccessChain 9(color) 36
+ 104: 6(float) Load 103
+ 105: 6(float) Load 27(d4)
+ 106: 17(bool) FOrdLessThan 104 105
+ SelectionMerge 108 None
+ BranchConditional 106 107 108
+ 107: Label
+ 109: 23(ptr) AccessChain 9(color) 22
+ 110: 6(float) Load 109
+ 111: 6(float) FAdd 110 43
+ 112: 23(ptr) AccessChain 9(color) 22
+ Store 112 111
+ 113: 23(ptr) AccessChain 9(color) 22
+ 114: 6(float) Load 113
+ 115: 6(float) Load 27(d4)
+ 116: 17(bool) FOrdLessThan 114 115
+ SelectionMerge 118 None
+ BranchConditional 116 117 118
+ 117: Label
+ 119: 23(ptr) AccessChain 9(color) 36
+ 120: 6(float) Load 119
+ 121: 6(float) FAdd 120 56
+ Store 119 121
+ Branch 78
+ 118: Label
+ Branch 108
+ 108: Label
+ 123: 23(ptr) AccessChain 9(color) 60
+ 124: 6(float) Load 123
+ 125: 6(float) Load 27(d4)
+ 126: 17(bool) FOrdLessThan 124 125
+ SelectionMerge 128 None
+ BranchConditional 126 127 134
+ 127: Label
+ 129: 6(float) Load 27(d4)
+ 130: 23(ptr) AccessChain 9(color) 60
+ 131: 6(float) Load 130
+ 132: 6(float) FAdd 131 129
+ 133: 23(ptr) AccessChain 9(color) 60
+ Store 133 132
+ Branch 128
+ 134: Label
+ 135: 6(float) Load 27(d4)
+ 136: 23(ptr) AccessChain 9(color) 36
+ 137: 6(float) Load 136
+ 138: 6(float) FAdd 137 135
+ 139: 23(ptr) AccessChain 9(color) 36
+ Store 139 138
+ Branch 128
+ 128: Label
+ Branch 78
+ 79: Label
+ 140: 7(fvec4) Load 9(color)
+ 141: 7(fvec4) CompositeConstruct 56 56 56 56
+ 142: 7(fvec4) FAdd 140 141
+ Store 9(color) 142
+ 145: 7(fvec4) Load 9(color)
+ Store 144(gl_FragColor) 145
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.matFun.vert.out b/Test/baseResults/spv.matFun.vert.out
index cc4a422..6286e90 100755
--- a/Test/baseResults/spv.matFun.vert.out
+++ b/Test/baseResults/spv.matFun.vert.out
@@ -1,137 +1,137 @@
-spv.matFun.vert
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 93
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 73 92
- Source GLSL 130
- Name 4 "main"
- Name 14 "xf(mf33;vf3;"
- Name 12 "m"
- Name 13 "v"
- Name 21 "Mat3(mf44;"
- Name 20 "m"
- Name 26 "mxv(mf44;vf3;"
- Name 24 "m4"
- Name 25 "v"
- Name 63 "param"
- Name 69 "gl_Position"
- Name 71 "m4"
- Name 73 "v3"
- Name 74 "param"
- Name 76 "param"
- Name 80 "m3"
- Name 81 "param"
- Name 83 "param"
- Name 92 "gl_VertexID"
- Decorate 69(gl_Position) BuiltIn Position
- Decorate 92(gl_VertexID) BuiltIn VertexId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 3
- 8: TypeMatrix 7(fvec3) 3
- 9: TypePointer Function 8
- 10: TypePointer Function 7(fvec3)
- 11: TypeFunction 7(fvec3) 9(ptr) 10(ptr)
- 16: TypeVector 6(float) 4
- 17: TypeMatrix 16(fvec4) 4
- 18: TypePointer Function 17
- 19: TypeFunction 8 18(ptr)
- 23: TypeFunction 7(fvec3) 18(ptr) 10(ptr)
- 32: TypeInt 32 1
- 33: 32(int) Constant 0
- 34: TypePointer Function 16(fvec4)
- 38: 32(int) Constant 1
- 42: 32(int) Constant 2
- 46: 6(float) Constant 1065353216
- 47: 6(float) Constant 0
- 68: TypePointer Output 16(fvec4)
- 69(gl_Position): 68(ptr) Variable Output
- 70: TypePointer UniformConstant 17
- 71(m4): 70(ptr) Variable UniformConstant
- 72: TypePointer Input 7(fvec3)
- 73(v3): 72(ptr) Variable Input
- 79: TypePointer UniformConstant 8
- 80(m3): 79(ptr) Variable UniformConstant
- 91: TypePointer Input 32(int)
- 92(gl_VertexID): 91(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 74(param): 18(ptr) Variable Function
- 76(param): 10(ptr) Variable Function
- 81(param): 9(ptr) Variable Function
- 83(param): 10(ptr) Variable Function
- 75: 17 Load 71(m4)
- Store 74(param) 75
- 77: 7(fvec3) Load 73(v3)
- Store 76(param) 77
- 78: 7(fvec3) FunctionCall 26(mxv(mf44;vf3;) 74(param) 76(param)
- 82: 8 Load 80(m3)
- Store 81(param) 82
- 84: 7(fvec3) Load 73(v3)
- Store 83(param) 84
- 85: 7(fvec3) FunctionCall 14(xf(mf33;vf3;) 81(param) 83(param)
- 86: 7(fvec3) FAdd 78 85
- 87: 6(float) CompositeExtract 86 0
- 88: 6(float) CompositeExtract 86 1
- 89: 6(float) CompositeExtract 86 2
- 90: 16(fvec4) CompositeConstruct 87 88 89 46
- Store 69(gl_Position) 90
- Return
- FunctionEnd
-14(xf(mf33;vf3;): 7(fvec3) Function None 11
- 12(m): 9(ptr) FunctionParameter
- 13(v): 10(ptr) FunctionParameter
- 15: Label
- 28: 7(fvec3) Load 13(v)
- 29: 8 Load 12(m)
- 30: 7(fvec3) VectorTimesMatrix 28 29
- ReturnValue 30
- FunctionEnd
- 21(Mat3(mf44;): 8 Function None 19
- 20(m): 18(ptr) FunctionParameter
- 22: Label
- 35: 34(ptr) AccessChain 20(m) 33
- 36: 16(fvec4) Load 35
- 37: 7(fvec3) VectorShuffle 36 36 0 1 2
- 39: 34(ptr) AccessChain 20(m) 38
- 40: 16(fvec4) Load 39
- 41: 7(fvec3) VectorShuffle 40 40 0 1 2
- 43: 34(ptr) AccessChain 20(m) 42
- 44: 16(fvec4) Load 43
- 45: 7(fvec3) VectorShuffle 44 44 0 1 2
- 48: 6(float) CompositeExtract 37 0
- 49: 6(float) CompositeExtract 37 1
- 50: 6(float) CompositeExtract 37 2
- 51: 6(float) CompositeExtract 41 0
- 52: 6(float) CompositeExtract 41 1
- 53: 6(float) CompositeExtract 41 2
- 54: 6(float) CompositeExtract 45 0
- 55: 6(float) CompositeExtract 45 1
- 56: 6(float) CompositeExtract 45 2
- 57: 7(fvec3) CompositeConstruct 48 49 50
- 58: 7(fvec3) CompositeConstruct 51 52 53
- 59: 7(fvec3) CompositeConstruct 54 55 56
- 60: 8 CompositeConstruct 57 58 59
- ReturnValue 60
- FunctionEnd
-26(mxv(mf44;vf3;): 7(fvec3) Function None 23
- 24(m4): 18(ptr) FunctionParameter
- 25(v): 10(ptr) FunctionParameter
- 27: Label
- 63(param): 18(ptr) Variable Function
- 62: 7(fvec3) Load 25(v)
- 64: 17 Load 24(m4)
- Store 63(param) 64
- 65: 8 FunctionCall 21(Mat3(mf44;) 63(param)
- 66: 7(fvec3) VectorTimesMatrix 62 65
- ReturnValue 66
- FunctionEnd
+spv.matFun.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 93
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 73 92
+ Source GLSL 130
+ Name 4 "main"
+ Name 14 "xf(mf33;vf3;"
+ Name 12 "m"
+ Name 13 "v"
+ Name 21 "Mat3(mf44;"
+ Name 20 "m"
+ Name 26 "mxv(mf44;vf3;"
+ Name 24 "m4"
+ Name 25 "v"
+ Name 63 "param"
+ Name 69 "gl_Position"
+ Name 71 "m4"
+ Name 73 "v3"
+ Name 74 "param"
+ Name 76 "param"
+ Name 80 "m3"
+ Name 81 "param"
+ Name 83 "param"
+ Name 92 "gl_VertexID"
+ Decorate 69(gl_Position) BuiltIn Position
+ Decorate 92(gl_VertexID) BuiltIn VertexId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 3
+ 8: TypeMatrix 7(fvec3) 3
+ 9: TypePointer Function 8
+ 10: TypePointer Function 7(fvec3)
+ 11: TypeFunction 7(fvec3) 9(ptr) 10(ptr)
+ 16: TypeVector 6(float) 4
+ 17: TypeMatrix 16(fvec4) 4
+ 18: TypePointer Function 17
+ 19: TypeFunction 8 18(ptr)
+ 23: TypeFunction 7(fvec3) 18(ptr) 10(ptr)
+ 32: TypeInt 32 1
+ 33: 32(int) Constant 0
+ 34: TypePointer Function 16(fvec4)
+ 38: 32(int) Constant 1
+ 42: 32(int) Constant 2
+ 46: 6(float) Constant 1065353216
+ 47: 6(float) Constant 0
+ 68: TypePointer Output 16(fvec4)
+ 69(gl_Position): 68(ptr) Variable Output
+ 70: TypePointer UniformConstant 17
+ 71(m4): 70(ptr) Variable UniformConstant
+ 72: TypePointer Input 7(fvec3)
+ 73(v3): 72(ptr) Variable Input
+ 79: TypePointer UniformConstant 8
+ 80(m3): 79(ptr) Variable UniformConstant
+ 91: TypePointer Input 32(int)
+ 92(gl_VertexID): 91(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 74(param): 18(ptr) Variable Function
+ 76(param): 10(ptr) Variable Function
+ 81(param): 9(ptr) Variable Function
+ 83(param): 10(ptr) Variable Function
+ 75: 17 Load 71(m4)
+ Store 74(param) 75
+ 77: 7(fvec3) Load 73(v3)
+ Store 76(param) 77
+ 78: 7(fvec3) FunctionCall 26(mxv(mf44;vf3;) 74(param) 76(param)
+ 82: 8 Load 80(m3)
+ Store 81(param) 82
+ 84: 7(fvec3) Load 73(v3)
+ Store 83(param) 84
+ 85: 7(fvec3) FunctionCall 14(xf(mf33;vf3;) 81(param) 83(param)
+ 86: 7(fvec3) FAdd 78 85
+ 87: 6(float) CompositeExtract 86 0
+ 88: 6(float) CompositeExtract 86 1
+ 89: 6(float) CompositeExtract 86 2
+ 90: 16(fvec4) CompositeConstruct 87 88 89 46
+ Store 69(gl_Position) 90
+ Return
+ FunctionEnd
+14(xf(mf33;vf3;): 7(fvec3) Function None 11
+ 12(m): 9(ptr) FunctionParameter
+ 13(v): 10(ptr) FunctionParameter
+ 15: Label
+ 28: 7(fvec3) Load 13(v)
+ 29: 8 Load 12(m)
+ 30: 7(fvec3) VectorTimesMatrix 28 29
+ ReturnValue 30
+ FunctionEnd
+ 21(Mat3(mf44;): 8 Function None 19
+ 20(m): 18(ptr) FunctionParameter
+ 22: Label
+ 35: 34(ptr) AccessChain 20(m) 33
+ 36: 16(fvec4) Load 35
+ 37: 7(fvec3) VectorShuffle 36 36 0 1 2
+ 39: 34(ptr) AccessChain 20(m) 38
+ 40: 16(fvec4) Load 39
+ 41: 7(fvec3) VectorShuffle 40 40 0 1 2
+ 43: 34(ptr) AccessChain 20(m) 42
+ 44: 16(fvec4) Load 43
+ 45: 7(fvec3) VectorShuffle 44 44 0 1 2
+ 48: 6(float) CompositeExtract 37 0
+ 49: 6(float) CompositeExtract 37 1
+ 50: 6(float) CompositeExtract 37 2
+ 51: 6(float) CompositeExtract 41 0
+ 52: 6(float) CompositeExtract 41 1
+ 53: 6(float) CompositeExtract 41 2
+ 54: 6(float) CompositeExtract 45 0
+ 55: 6(float) CompositeExtract 45 1
+ 56: 6(float) CompositeExtract 45 2
+ 57: 7(fvec3) CompositeConstruct 48 49 50
+ 58: 7(fvec3) CompositeConstruct 51 52 53
+ 59: 7(fvec3) CompositeConstruct 54 55 56
+ 60: 8 CompositeConstruct 57 58 59
+ ReturnValue 60
+ FunctionEnd
+26(mxv(mf44;vf3;): 7(fvec3) Function None 23
+ 24(m4): 18(ptr) FunctionParameter
+ 25(v): 10(ptr) FunctionParameter
+ 27: Label
+ 63(param): 18(ptr) Variable Function
+ 62: 7(fvec3) Load 25(v)
+ 64: 17 Load 24(m4)
+ Store 63(param) 64
+ 65: 8 FunctionCall 21(Mat3(mf44;) 63(param)
+ 66: 7(fvec3) VectorTimesMatrix 62 65
+ ReturnValue 66
+ FunctionEnd
diff --git a/Test/baseResults/spv.matrix.frag.out b/Test/baseResults/spv.matrix.frag.out
index ef7f0b0..f879f97 100644
--- a/Test/baseResults/spv.matrix.frag.out
+++ b/Test/baseResults/spv.matrix.frag.out
@@ -1,10 +1,10 @@
-spv.matrix.frag
-WARNING: 0:6: varying deprecated in version 130; may be removed in future release
-WARNING: 0:17: varying deprecated in version 130; may be removed in future release
-WARNING: 0:22: varying deprecated in version 130; may be removed in future release
-
-
-Linked fragment stage:
-
-
-Missing functionality: Composite comparison of non-vectors
+spv.matrix.frag
+WARNING: 0:6: varying deprecated in version 130; may be removed in future release
+WARNING: 0:17: varying deprecated in version 130; may be removed in future release
+WARNING: 0:22: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+Missing functionality: Composite comparison of non-vectors
diff --git a/Test/baseResults/spv.matrix2.frag.out b/Test/baseResults/spv.matrix2.frag.out
index 8e961fa..1772387 100644
--- a/Test/baseResults/spv.matrix2.frag.out
+++ b/Test/baseResults/spv.matrix2.frag.out
@@ -1,10 +1,10 @@
-spv.matrix2.frag
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-WARNING: 0:13: varying deprecated in version 130; may be removed in future release
-WARNING: 0:15: varying deprecated in version 130; may be removed in future release
-
-
-Linked fragment stage:
-
-
-Missing functionality: binary operation on matrix
+spv.matrix2.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+WARNING: 0:13: varying deprecated in version 130; may be removed in future release
+WARNING: 0:15: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+Missing functionality: binary operation on matrix
diff --git a/Test/baseResults/spv.newTexture.frag.out b/Test/baseResults/spv.newTexture.frag.out
index 90bf7ab..2a5973e 100755
--- a/Test/baseResults/spv.newTexture.frag.out
+++ b/Test/baseResults/spv.newTexture.frag.out
@@ -1,360 +1,360 @@
-spv.newTexture.frag
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 278
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 29 17 55 26 84 91 81 277 247
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 430
- Name 4 "main"
- Name 9 "v"
- Name 13 "s2D"
- Name 17 "c2D"
- Name 23 "sCubeArrayShadow"
- Name 26 "c4D"
- Name 29 "c1D"
- Name 42 "s3D"
- Name 51 "s2DArray"
- Name 55 "c3D"
- Name 64 "s2DShadow"
- Name 81 "ic3D"
- Name 84 "ic1D"
- Name 91 "ic2D"
- Name 100 "sr"
- Name 125 "sCube"
- Name 136 "s2DArrayShadow"
- Name 164 "iv"
- Name 168 "is2D"
- Name 203 "is3D"
- Name 215 "isCube"
- Name 227 "is2DArray"
- Name 237 "iv2"
- Name 241 "sCubeShadow"
- Name 247 "FragData"
- Name 259 "is2Dms"
- Name 263 "us2D"
- Name 267 "us3D"
- Name 271 "usCube"
- Name 275 "us2DArray"
- Name 277 "ic4D"
- Decorate 81(ic3D) Flat
- Decorate 84(ic1D) Flat
- Decorate 91(ic2D) Flat
- Decorate 277(ic4D) Flat
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 10: TypeImage 6(float) 2D sampled format:Unknown
- 11: TypeSampledImage 10
- 12: TypePointer UniformConstant 11
- 13(s2D): 12(ptr) Variable UniformConstant
- 15: TypeVector 6(float) 2
- 16: TypePointer Input 15(fvec2)
- 17(c2D): 16(ptr) Variable Input
- 20: TypeImage 6(float) Cube depth array sampled format:Unknown
- 21: TypeSampledImage 20
- 22: TypePointer UniformConstant 21
-23(sCubeArrayShadow): 22(ptr) Variable UniformConstant
- 25: TypePointer Input 7(fvec4)
- 26(c4D): 25(ptr) Variable Input
- 28: TypePointer Input 6(float)
- 29(c1D): 28(ptr) Variable Input
- 32: TypeInt 32 0
- 33: 32(int) Constant 1
- 34: TypePointer Function 6(float)
- 39: TypeImage 6(float) 3D sampled format:Unknown
- 40: TypeSampledImage 39
- 41: TypePointer UniformConstant 40
- 42(s3D): 41(ptr) Variable UniformConstant
- 48: TypeImage 6(float) 2D array sampled format:Unknown
- 49: TypeSampledImage 48
- 50: TypePointer UniformConstant 49
- 51(s2DArray): 50(ptr) Variable UniformConstant
- 53: TypeVector 6(float) 3
- 54: TypePointer Input 53(fvec3)
- 55(c3D): 54(ptr) Variable Input
- 57: 6(float) Constant 1067030938
- 61: TypeImage 6(float) 2D depth sampled format:Unknown
- 62: TypeSampledImage 61
- 63: TypePointer UniformConstant 62
- 64(s2DShadow): 63(ptr) Variable UniformConstant
- 67: TypeInt 32 1
- 68: TypeVector 67(int) 2
- 69: 67(int) Constant 3
- 70: 68(ivec2) ConstantComposite 69 69
- 79: TypeVector 67(int) 3
- 80: TypePointer Input 79(ivec3)
- 81(ic3D): 80(ptr) Variable Input
- 83: TypePointer Input 67(int)
- 84(ic1D): 83(ptr) Variable Input
- 90: TypePointer Input 68(ivec2)
- 91(ic2D): 90(ptr) Variable Input
- 93: 67(int) Constant 4
- 97: TypeImage 6(float) Rect sampled format:Unknown
- 98: TypeSampledImage 97
- 99: TypePointer UniformConstant 98
- 100(sr): 99(ptr) Variable UniformConstant
- 103: 68(ivec2) ConstantComposite 93 93
- 122: TypeImage 6(float) Cube sampled format:Unknown
- 123: TypeSampledImage 122
- 124: TypePointer UniformConstant 123
- 125(sCube): 124(ptr) Variable UniformConstant
- 133: TypeImage 6(float) 2D depth array sampled format:Unknown
- 134: TypeSampledImage 133
- 135: TypePointer UniformConstant 134
-136(s2DArrayShadow): 135(ptr) Variable UniformConstant
- 143: 32(int) Constant 0
- 162: TypeVector 67(int) 4
- 163: TypePointer Function 162(ivec4)
- 165: TypeImage 67(int) 2D sampled format:Unknown
- 166: TypeSampledImage 165
- 167: TypePointer UniformConstant 166
- 168(is2D): 167(ptr) Variable UniformConstant
- 200: TypeImage 67(int) 3D sampled format:Unknown
- 201: TypeSampledImage 200
- 202: TypePointer UniformConstant 201
- 203(is3D): 202(ptr) Variable UniformConstant
- 206: 6(float) Constant 1082549862
- 212: TypeImage 67(int) Cube sampled format:Unknown
- 213: TypeSampledImage 212
- 214: TypePointer UniformConstant 213
- 215(isCube): 214(ptr) Variable UniformConstant
- 224: TypeImage 67(int) 2D array sampled format:Unknown
- 225: TypeSampledImage 224
- 226: TypePointer UniformConstant 225
- 227(is2DArray): 226(ptr) Variable UniformConstant
- 236: TypePointer Function 68(ivec2)
- 238: TypeImage 6(float) Cube depth sampled format:Unknown
- 239: TypeSampledImage 238
- 240: TypePointer UniformConstant 239
-241(sCubeShadow): 240(ptr) Variable UniformConstant
- 243: 67(int) Constant 2
- 246: TypePointer Output 7(fvec4)
- 247(FragData): 246(ptr) Variable Output
- 251: 6(float) Constant 0
- 256: TypeImage 67(int) 2D multi-sampled sampled format:Unknown
- 257: TypeSampledImage 256
- 258: TypePointer UniformConstant 257
- 259(is2Dms): 258(ptr) Variable UniformConstant
- 260: TypeImage 32(int) 2D sampled format:Unknown
- 261: TypeSampledImage 260
- 262: TypePointer UniformConstant 261
- 263(us2D): 262(ptr) Variable UniformConstant
- 264: TypeImage 32(int) 3D sampled format:Unknown
- 265: TypeSampledImage 264
- 266: TypePointer UniformConstant 265
- 267(us3D): 266(ptr) Variable UniformConstant
- 268: TypeImage 32(int) Cube sampled format:Unknown
- 269: TypeSampledImage 268
- 270: TypePointer UniformConstant 269
- 271(usCube): 270(ptr) Variable UniformConstant
- 272: TypeImage 32(int) 2D array sampled format:Unknown
- 273: TypeSampledImage 272
- 274: TypePointer UniformConstant 273
- 275(us2DArray): 274(ptr) Variable UniformConstant
- 276: TypePointer Input 162(ivec4)
- 277(ic4D): 276(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 9(v): 8(ptr) Variable Function
- 164(iv): 163(ptr) Variable Function
- 237(iv2): 236(ptr) Variable Function
- 14: 11 Load 13(s2D)
- 18: 15(fvec2) Load 17(c2D)
- 19: 7(fvec4) ImageSampleImplicitLod 14 18
- Store 9(v) 19
- 24: 21 Load 23(sCubeArrayShadow)
- 27: 7(fvec4) Load 26(c4D)
- 30: 6(float) Load 29(c1D)
- 31: 6(float) ImageSampleDrefImplicitLod 24 27 30
- 35: 34(ptr) AccessChain 9(v) 33
- 36: 6(float) Load 35
- 37: 6(float) FAdd 36 31
- 38: 34(ptr) AccessChain 9(v) 33
- Store 38 37
- 43: 40 Load 42(s3D)
- 44: 7(fvec4) Load 26(c4D)
- 45: 7(fvec4) ImageSampleProjImplicitLod 43 44
- 46: 7(fvec4) Load 9(v)
- 47: 7(fvec4) FAdd 46 45
- Store 9(v) 47
- 52: 49 Load 51(s2DArray)
- 56: 53(fvec3) Load 55(c3D)
- 58: 7(fvec4) ImageSampleExplicitLod 52 56 Lod 57
- 59: 7(fvec4) Load 9(v)
- 60: 7(fvec4) FAdd 59 58
- Store 9(v) 60
- 65: 62 Load 64(s2DShadow)
- 66: 53(fvec3) Load 55(c3D)
- 71: 6(float) Load 29(c1D)
- 72: 6(float) CompositeExtract 66 2
- 73: 6(float) ImageSampleDrefImplicitLod 65 66 72 Bias ConstOffset 71 70
- 74: 34(ptr) AccessChain 9(v) 33
- 75: 6(float) Load 74
- 76: 6(float) FAdd 75 73
- 77: 34(ptr) AccessChain 9(v) 33
- Store 77 76
- 78: 40 Load 42(s3D)
- 82: 79(ivec3) Load 81(ic3D)
- 85: 67(int) Load 84(ic1D)
- 86: 7(fvec4) ImageFetch 78 82 Lod 85
- 87: 7(fvec4) Load 9(v)
- 88: 7(fvec4) FAdd 87 86
- Store 9(v) 88
- 89: 11 Load 13(s2D)
- 92: 68(ivec2) Load 91(ic2D)
- 94: 7(fvec4) ImageFetch 89 92 Lod ConstOffset 93 70
- 95: 7(fvec4) Load 9(v)
- 96: 7(fvec4) FAdd 95 94
- Store 9(v) 96
- 101: 98 Load 100(sr)
- 102: 68(ivec2) Load 91(ic2D)
- 104: 7(fvec4) ImageFetch 101 102 ConstOffset 103
- 105: 7(fvec4) Load 9(v)
- 106: 7(fvec4) FAdd 105 104
- Store 9(v) 106
- 107: 62 Load 64(s2DShadow)
- 108: 53(fvec3) Load 55(c3D)
- 109: 6(float) Load 29(c1D)
- 110: 6(float) CompositeExtract 108 2
- 111: 6(float) ImageSampleDrefExplicitLod 107 108 110 Lod ConstOffset 109 70
- 112: 34(ptr) AccessChain 9(v) 33
- 113: 6(float) Load 112
- 114: 6(float) FAdd 113 111
- 115: 34(ptr) AccessChain 9(v) 33
- Store 115 114
- 116: 11 Load 13(s2D)
- 117: 53(fvec3) Load 55(c3D)
- 118: 6(float) Load 29(c1D)
- 119: 7(fvec4) ImageSampleProjExplicitLod 116 117 Lod ConstOffset 118 70
- 120: 7(fvec4) Load 9(v)
- 121: 7(fvec4) FAdd 120 119
- Store 9(v) 121
- 126: 123 Load 125(sCube)
- 127: 53(fvec3) Load 55(c3D)
- 128: 53(fvec3) Load 55(c3D)
- 129: 53(fvec3) Load 55(c3D)
- 130: 7(fvec4) ImageSampleExplicitLod 126 127 Grad 128 129
- 131: 7(fvec4) Load 9(v)
- 132: 7(fvec4) FAdd 131 130
- Store 9(v) 132
- 137: 134 Load 136(s2DArrayShadow)
- 138: 7(fvec4) Load 26(c4D)
- 139: 15(fvec2) Load 17(c2D)
- 140: 15(fvec2) Load 17(c2D)
- 141: 6(float) CompositeExtract 138 3
- 142: 6(float) ImageSampleDrefExplicitLod 137 138 141 Grad ConstOffset 139 140 70
- 144: 34(ptr) AccessChain 9(v) 143
- 145: 6(float) Load 144
- 146: 6(float) FAdd 145 142
- 147: 34(ptr) AccessChain 9(v) 143
- Store 147 146
- 148: 40 Load 42(s3D)
- 149: 7(fvec4) Load 26(c4D)
- 150: 53(fvec3) Load 55(c3D)
- 151: 53(fvec3) Load 55(c3D)
- 152: 7(fvec4) ImageSampleProjExplicitLod 148 149 Grad 150 151
- 153: 7(fvec4) Load 9(v)
- 154: 7(fvec4) FAdd 153 152
- Store 9(v) 154
- 155: 11 Load 13(s2D)
- 156: 53(fvec3) Load 55(c3D)
- 157: 15(fvec2) Load 17(c2D)
- 158: 15(fvec2) Load 17(c2D)
- 159: 7(fvec4) ImageSampleProjExplicitLod 155 156 Grad ConstOffset 157 158 70
- 160: 7(fvec4) Load 9(v)
- 161: 7(fvec4) FAdd 160 159
- Store 9(v) 161
- 169: 166 Load 168(is2D)
- 170: 15(fvec2) Load 17(c2D)
- 171: 162(ivec4) ImageSampleImplicitLod 169 170
- Store 164(iv) 171
- 172: 162(ivec4) Load 164(iv)
- 173: 7(fvec4) ConvertSToF 172
- 174: 7(fvec4) Load 9(v)
- 175: 7(fvec4) FAdd 174 173
- Store 9(v) 175
- 176: 166 Load 168(is2D)
- 177: 7(fvec4) Load 26(c4D)
- 178: 162(ivec4) ImageSampleProjImplicitLod 176 177 ConstOffset 70
- Store 164(iv) 178
- 179: 162(ivec4) Load 164(iv)
- 180: 7(fvec4) ConvertSToF 179
- 181: 7(fvec4) Load 9(v)
- 182: 7(fvec4) FAdd 181 180
- Store 9(v) 182
- 183: 166 Load 168(is2D)
- 184: 53(fvec3) Load 55(c3D)
- 185: 6(float) Load 29(c1D)
- 186: 162(ivec4) ImageSampleProjExplicitLod 183 184 Lod 185
- Store 164(iv) 186
- 187: 162(ivec4) Load 164(iv)
- 188: 7(fvec4) ConvertSToF 187
- 189: 7(fvec4) Load 9(v)
- 190: 7(fvec4) FAdd 189 188
- Store 9(v) 190
- 191: 166 Load 168(is2D)
- 192: 53(fvec3) Load 55(c3D)
- 193: 15(fvec2) Load 17(c2D)
- 194: 15(fvec2) Load 17(c2D)
- 195: 162(ivec4) ImageSampleProjExplicitLod 191 192 Grad 193 194
- Store 164(iv) 195
- 196: 162(ivec4) Load 164(iv)
- 197: 7(fvec4) ConvertSToF 196
- 198: 7(fvec4) Load 9(v)
- 199: 7(fvec4) FAdd 198 197
- Store 9(v) 199
- 204: 201 Load 203(is3D)
- 205: 53(fvec3) Load 55(c3D)
- 207: 162(ivec4) ImageSampleImplicitLod 204 205 Bias 206
- Store 164(iv) 207
- 208: 162(ivec4) Load 164(iv)
- 209: 7(fvec4) ConvertSToF 208
- 210: 7(fvec4) Load 9(v)
- 211: 7(fvec4) FAdd 210 209
- Store 9(v) 211
- 216: 213 Load 215(isCube)
- 217: 53(fvec3) Load 55(c3D)
- 218: 6(float) Load 29(c1D)
- 219: 162(ivec4) ImageSampleExplicitLod 216 217 Lod 218
- Store 164(iv) 219
- 220: 162(ivec4) Load 164(iv)
- 221: 7(fvec4) ConvertSToF 220
- 222: 7(fvec4) Load 9(v)
- 223: 7(fvec4) FAdd 222 221
- Store 9(v) 223
- 228: 225 Load 227(is2DArray)
- 229: 79(ivec3) Load 81(ic3D)
- 230: 67(int) Load 84(ic1D)
- 231: 162(ivec4) ImageFetch 228 229 Lod 230
- Store 164(iv) 231
- 232: 162(ivec4) Load 164(iv)
- 233: 7(fvec4) ConvertSToF 232
- 234: 7(fvec4) Load 9(v)
- 235: 7(fvec4) FAdd 234 233
- Store 9(v) 235
- 242: 239 Load 241(sCubeShadow)
- 244: 238 Image 242
- 245: 68(ivec2) ImageQuerySizeLod 244 243
- Store 237(iv2) 245
- 248: 7(fvec4) Load 9(v)
- 249: 68(ivec2) Load 237(iv2)
- 250: 15(fvec2) ConvertSToF 249
- 252: 6(float) CompositeExtract 250 0
- 253: 6(float) CompositeExtract 250 1
- 254: 7(fvec4) CompositeConstruct 252 253 251 251
- 255: 7(fvec4) FAdd 248 254
- Store 247(FragData) 255
- Return
- FunctionEnd
+spv.newTexture.frag
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 278
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 29 17 55 26 84 91 81 277 247
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 430
+ Name 4 "main"
+ Name 9 "v"
+ Name 13 "s2D"
+ Name 17 "c2D"
+ Name 23 "sCubeArrayShadow"
+ Name 26 "c4D"
+ Name 29 "c1D"
+ Name 42 "s3D"
+ Name 51 "s2DArray"
+ Name 55 "c3D"
+ Name 64 "s2DShadow"
+ Name 81 "ic3D"
+ Name 84 "ic1D"
+ Name 91 "ic2D"
+ Name 100 "sr"
+ Name 125 "sCube"
+ Name 136 "s2DArrayShadow"
+ Name 164 "iv"
+ Name 168 "is2D"
+ Name 203 "is3D"
+ Name 215 "isCube"
+ Name 227 "is2DArray"
+ Name 237 "iv2"
+ Name 241 "sCubeShadow"
+ Name 247 "FragData"
+ Name 259 "is2Dms"
+ Name 263 "us2D"
+ Name 267 "us3D"
+ Name 271 "usCube"
+ Name 275 "us2DArray"
+ Name 277 "ic4D"
+ Decorate 81(ic3D) Flat
+ Decorate 84(ic1D) Flat
+ Decorate 91(ic2D) Flat
+ Decorate 277(ic4D) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypeImage 6(float) 2D sampled format:Unknown
+ 11: TypeSampledImage 10
+ 12: TypePointer UniformConstant 11
+ 13(s2D): 12(ptr) Variable UniformConstant
+ 15: TypeVector 6(float) 2
+ 16: TypePointer Input 15(fvec2)
+ 17(c2D): 16(ptr) Variable Input
+ 20: TypeImage 6(float) Cube depth array sampled format:Unknown
+ 21: TypeSampledImage 20
+ 22: TypePointer UniformConstant 21
+23(sCubeArrayShadow): 22(ptr) Variable UniformConstant
+ 25: TypePointer Input 7(fvec4)
+ 26(c4D): 25(ptr) Variable Input
+ 28: TypePointer Input 6(float)
+ 29(c1D): 28(ptr) Variable Input
+ 32: TypeInt 32 0
+ 33: 32(int) Constant 1
+ 34: TypePointer Function 6(float)
+ 39: TypeImage 6(float) 3D sampled format:Unknown
+ 40: TypeSampledImage 39
+ 41: TypePointer UniformConstant 40
+ 42(s3D): 41(ptr) Variable UniformConstant
+ 48: TypeImage 6(float) 2D array sampled format:Unknown
+ 49: TypeSampledImage 48
+ 50: TypePointer UniformConstant 49
+ 51(s2DArray): 50(ptr) Variable UniformConstant
+ 53: TypeVector 6(float) 3
+ 54: TypePointer Input 53(fvec3)
+ 55(c3D): 54(ptr) Variable Input
+ 57: 6(float) Constant 1067030938
+ 61: TypeImage 6(float) 2D depth sampled format:Unknown
+ 62: TypeSampledImage 61
+ 63: TypePointer UniformConstant 62
+ 64(s2DShadow): 63(ptr) Variable UniformConstant
+ 67: TypeInt 32 1
+ 68: TypeVector 67(int) 2
+ 69: 67(int) Constant 3
+ 70: 68(ivec2) ConstantComposite 69 69
+ 79: TypeVector 67(int) 3
+ 80: TypePointer Input 79(ivec3)
+ 81(ic3D): 80(ptr) Variable Input
+ 83: TypePointer Input 67(int)
+ 84(ic1D): 83(ptr) Variable Input
+ 90: TypePointer Input 68(ivec2)
+ 91(ic2D): 90(ptr) Variable Input
+ 93: 67(int) Constant 4
+ 97: TypeImage 6(float) Rect sampled format:Unknown
+ 98: TypeSampledImage 97
+ 99: TypePointer UniformConstant 98
+ 100(sr): 99(ptr) Variable UniformConstant
+ 103: 68(ivec2) ConstantComposite 93 93
+ 122: TypeImage 6(float) Cube sampled format:Unknown
+ 123: TypeSampledImage 122
+ 124: TypePointer UniformConstant 123
+ 125(sCube): 124(ptr) Variable UniformConstant
+ 133: TypeImage 6(float) 2D depth array sampled format:Unknown
+ 134: TypeSampledImage 133
+ 135: TypePointer UniformConstant 134
+136(s2DArrayShadow): 135(ptr) Variable UniformConstant
+ 143: 32(int) Constant 0
+ 162: TypeVector 67(int) 4
+ 163: TypePointer Function 162(ivec4)
+ 165: TypeImage 67(int) 2D sampled format:Unknown
+ 166: TypeSampledImage 165
+ 167: TypePointer UniformConstant 166
+ 168(is2D): 167(ptr) Variable UniformConstant
+ 200: TypeImage 67(int) 3D sampled format:Unknown
+ 201: TypeSampledImage 200
+ 202: TypePointer UniformConstant 201
+ 203(is3D): 202(ptr) Variable UniformConstant
+ 206: 6(float) Constant 1082549862
+ 212: TypeImage 67(int) Cube sampled format:Unknown
+ 213: TypeSampledImage 212
+ 214: TypePointer UniformConstant 213
+ 215(isCube): 214(ptr) Variable UniformConstant
+ 224: TypeImage 67(int) 2D array sampled format:Unknown
+ 225: TypeSampledImage 224
+ 226: TypePointer UniformConstant 225
+ 227(is2DArray): 226(ptr) Variable UniformConstant
+ 236: TypePointer Function 68(ivec2)
+ 238: TypeImage 6(float) Cube depth sampled format:Unknown
+ 239: TypeSampledImage 238
+ 240: TypePointer UniformConstant 239
+241(sCubeShadow): 240(ptr) Variable UniformConstant
+ 243: 67(int) Constant 2
+ 246: TypePointer Output 7(fvec4)
+ 247(FragData): 246(ptr) Variable Output
+ 251: 6(float) Constant 0
+ 256: TypeImage 67(int) 2D multi-sampled sampled format:Unknown
+ 257: TypeSampledImage 256
+ 258: TypePointer UniformConstant 257
+ 259(is2Dms): 258(ptr) Variable UniformConstant
+ 260: TypeImage 32(int) 2D sampled format:Unknown
+ 261: TypeSampledImage 260
+ 262: TypePointer UniformConstant 261
+ 263(us2D): 262(ptr) Variable UniformConstant
+ 264: TypeImage 32(int) 3D sampled format:Unknown
+ 265: TypeSampledImage 264
+ 266: TypePointer UniformConstant 265
+ 267(us3D): 266(ptr) Variable UniformConstant
+ 268: TypeImage 32(int) Cube sampled format:Unknown
+ 269: TypeSampledImage 268
+ 270: TypePointer UniformConstant 269
+ 271(usCube): 270(ptr) Variable UniformConstant
+ 272: TypeImage 32(int) 2D array sampled format:Unknown
+ 273: TypeSampledImage 272
+ 274: TypePointer UniformConstant 273
+ 275(us2DArray): 274(ptr) Variable UniformConstant
+ 276: TypePointer Input 162(ivec4)
+ 277(ic4D): 276(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(v): 8(ptr) Variable Function
+ 164(iv): 163(ptr) Variable Function
+ 237(iv2): 236(ptr) Variable Function
+ 14: 11 Load 13(s2D)
+ 18: 15(fvec2) Load 17(c2D)
+ 19: 7(fvec4) ImageSampleImplicitLod 14 18
+ Store 9(v) 19
+ 24: 21 Load 23(sCubeArrayShadow)
+ 27: 7(fvec4) Load 26(c4D)
+ 30: 6(float) Load 29(c1D)
+ 31: 6(float) ImageSampleDrefImplicitLod 24 27 30
+ 35: 34(ptr) AccessChain 9(v) 33
+ 36: 6(float) Load 35
+ 37: 6(float) FAdd 36 31
+ 38: 34(ptr) AccessChain 9(v) 33
+ Store 38 37
+ 43: 40 Load 42(s3D)
+ 44: 7(fvec4) Load 26(c4D)
+ 45: 7(fvec4) ImageSampleProjImplicitLod 43 44
+ 46: 7(fvec4) Load 9(v)
+ 47: 7(fvec4) FAdd 46 45
+ Store 9(v) 47
+ 52: 49 Load 51(s2DArray)
+ 56: 53(fvec3) Load 55(c3D)
+ 58: 7(fvec4) ImageSampleExplicitLod 52 56 Lod 57
+ 59: 7(fvec4) Load 9(v)
+ 60: 7(fvec4) FAdd 59 58
+ Store 9(v) 60
+ 65: 62 Load 64(s2DShadow)
+ 66: 53(fvec3) Load 55(c3D)
+ 71: 6(float) Load 29(c1D)
+ 72: 6(float) CompositeExtract 66 2
+ 73: 6(float) ImageSampleDrefImplicitLod 65 66 72 Bias ConstOffset 71 70
+ 74: 34(ptr) AccessChain 9(v) 33
+ 75: 6(float) Load 74
+ 76: 6(float) FAdd 75 73
+ 77: 34(ptr) AccessChain 9(v) 33
+ Store 77 76
+ 78: 40 Load 42(s3D)
+ 82: 79(ivec3) Load 81(ic3D)
+ 85: 67(int) Load 84(ic1D)
+ 86: 7(fvec4) ImageFetch 78 82 Lod 85
+ 87: 7(fvec4) Load 9(v)
+ 88: 7(fvec4) FAdd 87 86
+ Store 9(v) 88
+ 89: 11 Load 13(s2D)
+ 92: 68(ivec2) Load 91(ic2D)
+ 94: 7(fvec4) ImageFetch 89 92 Lod ConstOffset 93 70
+ 95: 7(fvec4) Load 9(v)
+ 96: 7(fvec4) FAdd 95 94
+ Store 9(v) 96
+ 101: 98 Load 100(sr)
+ 102: 68(ivec2) Load 91(ic2D)
+ 104: 7(fvec4) ImageFetch 101 102 ConstOffset 103
+ 105: 7(fvec4) Load 9(v)
+ 106: 7(fvec4) FAdd 105 104
+ Store 9(v) 106
+ 107: 62 Load 64(s2DShadow)
+ 108: 53(fvec3) Load 55(c3D)
+ 109: 6(float) Load 29(c1D)
+ 110: 6(float) CompositeExtract 108 2
+ 111: 6(float) ImageSampleDrefExplicitLod 107 108 110 Lod ConstOffset 109 70
+ 112: 34(ptr) AccessChain 9(v) 33
+ 113: 6(float) Load 112
+ 114: 6(float) FAdd 113 111
+ 115: 34(ptr) AccessChain 9(v) 33
+ Store 115 114
+ 116: 11 Load 13(s2D)
+ 117: 53(fvec3) Load 55(c3D)
+ 118: 6(float) Load 29(c1D)
+ 119: 7(fvec4) ImageSampleProjExplicitLod 116 117 Lod ConstOffset 118 70
+ 120: 7(fvec4) Load 9(v)
+ 121: 7(fvec4) FAdd 120 119
+ Store 9(v) 121
+ 126: 123 Load 125(sCube)
+ 127: 53(fvec3) Load 55(c3D)
+ 128: 53(fvec3) Load 55(c3D)
+ 129: 53(fvec3) Load 55(c3D)
+ 130: 7(fvec4) ImageSampleExplicitLod 126 127 Grad 128 129
+ 131: 7(fvec4) Load 9(v)
+ 132: 7(fvec4) FAdd 131 130
+ Store 9(v) 132
+ 137: 134 Load 136(s2DArrayShadow)
+ 138: 7(fvec4) Load 26(c4D)
+ 139: 15(fvec2) Load 17(c2D)
+ 140: 15(fvec2) Load 17(c2D)
+ 141: 6(float) CompositeExtract 138 3
+ 142: 6(float) ImageSampleDrefExplicitLod 137 138 141 Grad ConstOffset 139 140 70
+ 144: 34(ptr) AccessChain 9(v) 143
+ 145: 6(float) Load 144
+ 146: 6(float) FAdd 145 142
+ 147: 34(ptr) AccessChain 9(v) 143
+ Store 147 146
+ 148: 40 Load 42(s3D)
+ 149: 7(fvec4) Load 26(c4D)
+ 150: 53(fvec3) Load 55(c3D)
+ 151: 53(fvec3) Load 55(c3D)
+ 152: 7(fvec4) ImageSampleProjExplicitLod 148 149 Grad 150 151
+ 153: 7(fvec4) Load 9(v)
+ 154: 7(fvec4) FAdd 153 152
+ Store 9(v) 154
+ 155: 11 Load 13(s2D)
+ 156: 53(fvec3) Load 55(c3D)
+ 157: 15(fvec2) Load 17(c2D)
+ 158: 15(fvec2) Load 17(c2D)
+ 159: 7(fvec4) ImageSampleProjExplicitLod 155 156 Grad ConstOffset 157 158 70
+ 160: 7(fvec4) Load 9(v)
+ 161: 7(fvec4) FAdd 160 159
+ Store 9(v) 161
+ 169: 166 Load 168(is2D)
+ 170: 15(fvec2) Load 17(c2D)
+ 171: 162(ivec4) ImageSampleImplicitLod 169 170
+ Store 164(iv) 171
+ 172: 162(ivec4) Load 164(iv)
+ 173: 7(fvec4) ConvertSToF 172
+ 174: 7(fvec4) Load 9(v)
+ 175: 7(fvec4) FAdd 174 173
+ Store 9(v) 175
+ 176: 166 Load 168(is2D)
+ 177: 7(fvec4) Load 26(c4D)
+ 178: 162(ivec4) ImageSampleProjImplicitLod 176 177 ConstOffset 70
+ Store 164(iv) 178
+ 179: 162(ivec4) Load 164(iv)
+ 180: 7(fvec4) ConvertSToF 179
+ 181: 7(fvec4) Load 9(v)
+ 182: 7(fvec4) FAdd 181 180
+ Store 9(v) 182
+ 183: 166 Load 168(is2D)
+ 184: 53(fvec3) Load 55(c3D)
+ 185: 6(float) Load 29(c1D)
+ 186: 162(ivec4) ImageSampleProjExplicitLod 183 184 Lod 185
+ Store 164(iv) 186
+ 187: 162(ivec4) Load 164(iv)
+ 188: 7(fvec4) ConvertSToF 187
+ 189: 7(fvec4) Load 9(v)
+ 190: 7(fvec4) FAdd 189 188
+ Store 9(v) 190
+ 191: 166 Load 168(is2D)
+ 192: 53(fvec3) Load 55(c3D)
+ 193: 15(fvec2) Load 17(c2D)
+ 194: 15(fvec2) Load 17(c2D)
+ 195: 162(ivec4) ImageSampleProjExplicitLod 191 192 Grad 193 194
+ Store 164(iv) 195
+ 196: 162(ivec4) Load 164(iv)
+ 197: 7(fvec4) ConvertSToF 196
+ 198: 7(fvec4) Load 9(v)
+ 199: 7(fvec4) FAdd 198 197
+ Store 9(v) 199
+ 204: 201 Load 203(is3D)
+ 205: 53(fvec3) Load 55(c3D)
+ 207: 162(ivec4) ImageSampleImplicitLod 204 205 Bias 206
+ Store 164(iv) 207
+ 208: 162(ivec4) Load 164(iv)
+ 209: 7(fvec4) ConvertSToF 208
+ 210: 7(fvec4) Load 9(v)
+ 211: 7(fvec4) FAdd 210 209
+ Store 9(v) 211
+ 216: 213 Load 215(isCube)
+ 217: 53(fvec3) Load 55(c3D)
+ 218: 6(float) Load 29(c1D)
+ 219: 162(ivec4) ImageSampleExplicitLod 216 217 Lod 218
+ Store 164(iv) 219
+ 220: 162(ivec4) Load 164(iv)
+ 221: 7(fvec4) ConvertSToF 220
+ 222: 7(fvec4) Load 9(v)
+ 223: 7(fvec4) FAdd 222 221
+ Store 9(v) 223
+ 228: 225 Load 227(is2DArray)
+ 229: 79(ivec3) Load 81(ic3D)
+ 230: 67(int) Load 84(ic1D)
+ 231: 162(ivec4) ImageFetch 228 229 Lod 230
+ Store 164(iv) 231
+ 232: 162(ivec4) Load 164(iv)
+ 233: 7(fvec4) ConvertSToF 232
+ 234: 7(fvec4) Load 9(v)
+ 235: 7(fvec4) FAdd 234 233
+ Store 9(v) 235
+ 242: 239 Load 241(sCubeShadow)
+ 244: 238 Image 242
+ 245: 68(ivec2) ImageQuerySizeLod 244 243
+ Store 237(iv2) 245
+ 248: 7(fvec4) Load 9(v)
+ 249: 68(ivec2) Load 237(iv2)
+ 250: 15(fvec2) ConvertSToF 249
+ 252: 6(float) CompositeExtract 250 0
+ 253: 6(float) CompositeExtract 250 1
+ 254: 7(fvec4) CompositeConstruct 252 253 251 251
+ 255: 7(fvec4) FAdd 248 254
+ Store 247(FragData) 255
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.nonSquare.vert.out b/Test/baseResults/spv.nonSquare.vert.out
index 1ee8262..c29527d 100755
--- a/Test/baseResults/spv.nonSquare.vert.out
+++ b/Test/baseResults/spv.nonSquare.vert.out
@@ -1,116 +1,116 @@
-spv.nonSquare.vert
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 90
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 12 55
- Source GLSL 120
- Name 4 "main"
- Name 9 "a"
- Name 12 "v3"
- Name 16 "m23"
- Name 19 "b"
- Name 22 "m32"
- Name 28 "gl_Position"
- Name 55 "v4"
- Decorate 28(gl_Position) BuiltIn Position
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 2
- 8: TypePointer Function 7(fvec2)
- 10: TypeVector 6(float) 3
- 11: TypePointer Input 10(fvec3)
- 12(v3): 11(ptr) Variable Input
- 14: TypeMatrix 10(fvec3) 2
- 15: TypePointer Function 14
- 20: TypeMatrix 7(fvec2) 3
- 21: TypePointer UniformConstant 20
- 22(m32): 21(ptr) Variable UniformConstant
- 26: TypeVector 6(float) 4
- 27: TypePointer Output 26(fvec4)
- 28(gl_Position): 27(ptr) Variable Output
- 31: TypeMatrix 10(fvec3) 3
- 35: 6(float) Constant 0
- 40: TypeMatrix 26(fvec4) 4
- 41: 6(float) Constant 1077936128
- 42: 6(float) Constant 1086324736
- 43: 26(fvec4) ConstantComposite 41 42 35 35
- 44: 6(float) Constant 1091567616
- 45: 6(float) Constant 1094713344
- 46: 26(fvec4) ConstantComposite 44 45 35 35
- 47: 6(float) Constant 1097859072
- 48: 6(float) Constant 1099956224
- 49: 26(fvec4) ConstantComposite 47 48 35 35
- 50: 6(float) Constant 1101529088
- 51: 6(float) Constant 1103101952
- 52: 26(fvec4) ConstantComposite 50 51 35 35
- 53: 40 ConstantComposite 43 46 49 52
- 54: TypePointer Input 26(fvec4)
- 55(v4): 54(ptr) Variable Input
- 59: 6(float) Constant 1112014848
- 60: 6(float) Constant 1121714176
- 61: 6(float) Constant 1126825984
- 62: 6(float) Constant 1130758144
- 63: 26(fvec4) ConstantComposite 59 60 61 62
- 65: 6(float) Constant 1106247680
- 66: 6(float) Constant 1114636288
- 67: 26(fvec4) ConstantComposite 65 66 35 35
- 69: 6(float) Constant 1101004800
- 70: 6(float) Constant 1092616192
- 71: 6(float) Constant 1084227584
- 72: 26(fvec4) ConstantComposite 69 70 42 71
- 74: 7(fvec2) ConstantComposite 70 69
- 75: TypeMatrix 26(fvec4) 2
- 76: 26(fvec4) ConstantComposite 41 35 35 35
- 77: 26(fvec4) ConstantComposite 35 41 35 35
- 78: 75 ConstantComposite 76 77
- 79: TypeMatrix 7(fvec2) 4
- 80: 6(float) Constant 1065353216
- 81: 6(float) Constant 1073741824
- 82: 7(fvec2) ConstantComposite 80 81
- 83: 6(float) Constant 1082130432
- 84: 7(fvec2) ConstantComposite 41 83
- 85: 7(fvec2) ConstantComposite 71 42
- 86: 6(float) Constant 1088421888
- 87: 6(float) Constant 1090519040
- 88: 7(fvec2) ConstantComposite 86 87
- 89: 79 ConstantComposite 82 84 85 88
- 4(main): 2 Function None 3
- 5: Label
- 9(a): 8(ptr) Variable Function
- 16(m23): 15(ptr) Variable Function
- 19(b): 8(ptr) Variable Function
- 13: 10(fvec3) Load 12(v3)
- 17: 14 Load 16(m23)
- 18: 7(fvec2) VectorTimesMatrix 13 17
- Store 9(a) 18
- 23: 20 Load 22(m32)
- 24: 10(fvec3) Load 12(v3)
- 25: 7(fvec2) MatrixTimesVector 23 24
- Store 19(b) 25
- 29: 14 Load 16(m23)
- 30: 20 Load 22(m32)
- 32: 31 MatrixTimesMatrix 29 30
- 33: 10(fvec3) Load 12(v3)
- 34: 10(fvec3) MatrixTimesVector 32 33
- 36: 6(float) CompositeExtract 34 0
- 37: 6(float) CompositeExtract 34 1
- 38: 6(float) CompositeExtract 34 2
- 39: 26(fvec4) CompositeConstruct 36 37 38 35
- 56: 26(fvec4) Load 55(v4)
- 57: 26(fvec4) MatrixTimesVector 53 56
- 58: 26(fvec4) FAdd 39 57
- 64: 26(fvec4) FAdd 58 63
- 68: 26(fvec4) FAdd 64 67
- 73: 26(fvec4) FAdd 68 72
- Store 28(gl_Position) 73
- Return
- FunctionEnd
+spv.nonSquare.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 90
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 12 55
+ Source GLSL 120
+ Name 4 "main"
+ Name 9 "a"
+ Name 12 "v3"
+ Name 16 "m23"
+ Name 19 "b"
+ Name 22 "m32"
+ Name 28 "gl_Position"
+ Name 55 "v4"
+ Decorate 28(gl_Position) BuiltIn Position
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 2
+ 8: TypePointer Function 7(fvec2)
+ 10: TypeVector 6(float) 3
+ 11: TypePointer Input 10(fvec3)
+ 12(v3): 11(ptr) Variable Input
+ 14: TypeMatrix 10(fvec3) 2
+ 15: TypePointer Function 14
+ 20: TypeMatrix 7(fvec2) 3
+ 21: TypePointer UniformConstant 20
+ 22(m32): 21(ptr) Variable UniformConstant
+ 26: TypeVector 6(float) 4
+ 27: TypePointer Output 26(fvec4)
+ 28(gl_Position): 27(ptr) Variable Output
+ 31: TypeMatrix 10(fvec3) 3
+ 35: 6(float) Constant 0
+ 40: TypeMatrix 26(fvec4) 4
+ 41: 6(float) Constant 1077936128
+ 42: 6(float) Constant 1086324736
+ 43: 26(fvec4) ConstantComposite 41 42 35 35
+ 44: 6(float) Constant 1091567616
+ 45: 6(float) Constant 1094713344
+ 46: 26(fvec4) ConstantComposite 44 45 35 35
+ 47: 6(float) Constant 1097859072
+ 48: 6(float) Constant 1099956224
+ 49: 26(fvec4) ConstantComposite 47 48 35 35
+ 50: 6(float) Constant 1101529088
+ 51: 6(float) Constant 1103101952
+ 52: 26(fvec4) ConstantComposite 50 51 35 35
+ 53: 40 ConstantComposite 43 46 49 52
+ 54: TypePointer Input 26(fvec4)
+ 55(v4): 54(ptr) Variable Input
+ 59: 6(float) Constant 1112014848
+ 60: 6(float) Constant 1121714176
+ 61: 6(float) Constant 1126825984
+ 62: 6(float) Constant 1130758144
+ 63: 26(fvec4) ConstantComposite 59 60 61 62
+ 65: 6(float) Constant 1106247680
+ 66: 6(float) Constant 1114636288
+ 67: 26(fvec4) ConstantComposite 65 66 35 35
+ 69: 6(float) Constant 1101004800
+ 70: 6(float) Constant 1092616192
+ 71: 6(float) Constant 1084227584
+ 72: 26(fvec4) ConstantComposite 69 70 42 71
+ 74: 7(fvec2) ConstantComposite 70 69
+ 75: TypeMatrix 26(fvec4) 2
+ 76: 26(fvec4) ConstantComposite 41 35 35 35
+ 77: 26(fvec4) ConstantComposite 35 41 35 35
+ 78: 75 ConstantComposite 76 77
+ 79: TypeMatrix 7(fvec2) 4
+ 80: 6(float) Constant 1065353216
+ 81: 6(float) Constant 1073741824
+ 82: 7(fvec2) ConstantComposite 80 81
+ 83: 6(float) Constant 1082130432
+ 84: 7(fvec2) ConstantComposite 41 83
+ 85: 7(fvec2) ConstantComposite 71 42
+ 86: 6(float) Constant 1088421888
+ 87: 6(float) Constant 1090519040
+ 88: 7(fvec2) ConstantComposite 86 87
+ 89: 79 ConstantComposite 82 84 85 88
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(a): 8(ptr) Variable Function
+ 16(m23): 15(ptr) Variable Function
+ 19(b): 8(ptr) Variable Function
+ 13: 10(fvec3) Load 12(v3)
+ 17: 14 Load 16(m23)
+ 18: 7(fvec2) VectorTimesMatrix 13 17
+ Store 9(a) 18
+ 23: 20 Load 22(m32)
+ 24: 10(fvec3) Load 12(v3)
+ 25: 7(fvec2) MatrixTimesVector 23 24
+ Store 19(b) 25
+ 29: 14 Load 16(m23)
+ 30: 20 Load 22(m32)
+ 32: 31 MatrixTimesMatrix 29 30
+ 33: 10(fvec3) Load 12(v3)
+ 34: 10(fvec3) MatrixTimesVector 32 33
+ 36: 6(float) CompositeExtract 34 0
+ 37: 6(float) CompositeExtract 34 1
+ 38: 6(float) CompositeExtract 34 2
+ 39: 26(fvec4) CompositeConstruct 36 37 38 35
+ 56: 26(fvec4) Load 55(v4)
+ 57: 26(fvec4) MatrixTimesVector 53 56
+ 58: 26(fvec4) FAdd 39 57
+ 64: 26(fvec4) FAdd 58 63
+ 68: 26(fvec4) FAdd 64 67
+ 73: 26(fvec4) FAdd 68 72
+ Store 28(gl_Position) 73
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.precision.frag.out b/Test/baseResults/spv.precision.frag.out
index 32bf094..ba1ae6a 100755
--- a/Test/baseResults/spv.precision.frag.out
+++ b/Test/baseResults/spv.precision.frag.out
@@ -1,174 +1,174 @@
-spv.precision.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 112
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 57 59 23 71
- ExecutionMode 4 OriginLowerLeft
- Source ESSL 300
- Name 4 "main"
- Name 12 "foo(vf3;"
- Name 11 "mv3"
- Name 19 "boolfun(vb2;"
- Name 18 "bv2"
- Name 23 "highfin"
- Name 36 "sum"
- Name 38 "uniform_medium"
- Name 40 "uniform_high"
- Name 46 "uniform_low"
- Name 51 "arg1"
- Name 53 "arg2"
- Name 55 "d"
- Name 57 "lowfin"
- Name 59 "mediumfin"
- Name 63 "global_highp"
- Name 67 "local_highp"
- Name 71 "mediumfout"
- Name 102 "ub2"
- Name 103 "param"
- Decorate 36(sum) RelaxedPrecision
- Decorate 38(uniform_medium) RelaxedPrecision
- Decorate 46(uniform_low) RelaxedPrecision
- Decorate 51(arg1) RelaxedPrecision
- Decorate 53(arg2) RelaxedPrecision
- Decorate 55(d) RelaxedPrecision
- Decorate 57(lowfin) RelaxedPrecision
- Decorate 59(mediumfin) RelaxedPrecision
- Decorate 71(mediumfout) RelaxedPrecision
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 3
- 8: TypePointer Function 7(fvec3)
- 9: TypeVector 6(float) 2
- 10: TypeFunction 9(fvec2) 8(ptr)
- 14: TypeBool
- 15: TypeVector 14(bool) 2
- 16: TypePointer Function 15(bvec2)
- 17: TypeFunction 14(bool) 16(ptr)
- 21: TypeVector 6(float) 4
- 22: TypePointer Input 21(fvec4)
- 23(highfin): 22(ptr) Variable Input
- 28: 14(bool) ConstantFalse
- 29: 14(bool) ConstantTrue
- 30: 15(bvec2) ConstantComposite 28 29
- 34: TypeInt 32 1
- 35: TypePointer Function 34(int)
- 37: TypePointer UniformConstant 34(int)
-38(uniform_medium): 37(ptr) Variable UniformConstant
-40(uniform_high): 37(ptr) Variable UniformConstant
- 46(uniform_low): 37(ptr) Variable UniformConstant
- 50: TypePointer Function 6(float)
- 52: 6(float) Constant 1078774989
- 54: 6(float) Constant 1232730691
- 56: TypePointer Input 6(float)
- 57(lowfin): 56(ptr) Variable Input
- 59(mediumfin): 56(ptr) Variable Input
- 62: TypePointer Private 6(float)
-63(global_highp): 62(ptr) Variable Private
- 66: TypePointer Function 21(fvec4)
- 70: TypePointer Output 21(fvec4)
- 71(mediumfout): 70(ptr) Variable Output
- 80: 34(int) Constant 4
- 82: TypeVector 34(int) 2
- 90: TypeInt 32 0
- 91: 90(int) Constant 0
- 101: TypePointer UniformConstant 15(bvec2)
- 102(ub2): 101(ptr) Variable UniformConstant
- 109: 6(float) Constant 1065353216
- 4(main): 2 Function None 3
- 5: Label
- 36(sum): 35(ptr) Variable Function
- 51(arg1): 50(ptr) Variable Function
- 53(arg2): 50(ptr) Variable Function
- 55(d): 50(ptr) Variable Function
- 67(local_highp): 66(ptr) Variable Function
- 103(param): 16(ptr) Variable Function
- 39: 34(int) Load 38(uniform_medium)
- 41: 34(int) Load 40(uniform_high)
- 42: 34(int) IAdd 39 41
- Store 36(sum) 42
- 43: 34(int) Load 40(uniform_high)
- 44: 34(int) Load 36(sum)
- 45: 34(int) IAdd 44 43
- Store 36(sum) 45
- 47: 34(int) Load 46(uniform_low)
- 48: 34(int) Load 36(sum)
- 49: 34(int) IAdd 48 47
- Store 36(sum) 49
- Store 51(arg1) 52
- Store 53(arg2) 54
- 58: 6(float) Load 57(lowfin)
- 60: 6(float) Load 59(mediumfin)
- 61: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 58 60
- Store 55(d) 61
- 64: 21(fvec4) Load 23(highfin)
- 65: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 64
- Store 63(global_highp) 65
- 68: 6(float) Load 63(global_highp)
- 69: 21(fvec4) CompositeConstruct 68 68 68 68
- Store 67(local_highp) 69
- 72: 6(float) Load 55(d)
- 73: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 72
- 74: 21(fvec4) CompositeConstruct 73 73 73 73
- 75: 6(float) Load 53(arg2)
- 76: 21(fvec4) CompositeConstruct 75 75 75 75
- 77: 21(fvec4) FAdd 74 76
- 78: 21(fvec4) Load 67(local_highp)
- 79: 21(fvec4) FAdd 77 78
- Store 71(mediumfout) 79
- 81: 34(int) Load 46(uniform_low)
- 83: 82(ivec2) CompositeConstruct 81 81
- 84: 34(int) Load 40(uniform_high)
- 85: 82(ivec2) CompositeConstruct 84 84
- 86: 82(ivec2) IMul 83 85
- 87: 34(int) Load 40(uniform_high)
- 88: 82(ivec2) CompositeConstruct 87 87
- 89: 82(ivec2) IAdd 86 88
- 92: 34(int) CompositeExtract 89 0
- 93: 34(int) IAdd 80 92
- 94: 34(int) Load 36(sum)
- 95: 34(int) IAdd 94 93
- Store 36(sum) 95
- 96: 34(int) Load 36(sum)
- 97: 6(float) ConvertSToF 96
- 98: 21(fvec4) CompositeConstruct 97 97 97 97
- 99: 21(fvec4) Load 71(mediumfout)
- 100: 21(fvec4) FAdd 99 98
- Store 71(mediumfout) 100
- 104: 15(bvec2) Load 102(ub2)
- Store 103(param) 104
- 105: 14(bool) FunctionCall 19(boolfun(vb2;) 103(param)
- SelectionMerge 107 None
- BranchConditional 105 106 107
- 106: Label
- 108: 21(fvec4) Load 71(mediumfout)
- 110: 21(fvec4) CompositeConstruct 109 109 109 109
- 111: 21(fvec4) FAdd 108 110
- Store 71(mediumfout) 111
- Branch 107
- 107: Label
- Return
- FunctionEnd
- 12(foo(vf3;): 9(fvec2) Function None 10
- 11(mv3): 8(ptr) FunctionParameter
- 13: Label
- 24: 21(fvec4) Load 23(highfin)
- 25: 9(fvec2) VectorShuffle 24 24 0 1
- ReturnValue 25
- FunctionEnd
-19(boolfun(vb2;): 14(bool) Function None 17
- 18(bv2): 16(ptr) FunctionParameter
- 20: Label
- 27: 15(bvec2) Load 18(bv2)
- 31: 15(bvec2) IEqual 27 30
- 32: 14(bool) All 31
- ReturnValue 32
- FunctionEnd
+spv.precision.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 112
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 57 59 23 71
+ ExecutionMode 4 OriginLowerLeft
+ Source ESSL 300
+ Name 4 "main"
+ Name 12 "foo(vf3;"
+ Name 11 "mv3"
+ Name 19 "boolfun(vb2;"
+ Name 18 "bv2"
+ Name 23 "highfin"
+ Name 36 "sum"
+ Name 38 "uniform_medium"
+ Name 40 "uniform_high"
+ Name 46 "uniform_low"
+ Name 51 "arg1"
+ Name 53 "arg2"
+ Name 55 "d"
+ Name 57 "lowfin"
+ Name 59 "mediumfin"
+ Name 63 "global_highp"
+ Name 67 "local_highp"
+ Name 71 "mediumfout"
+ Name 102 "ub2"
+ Name 103 "param"
+ Decorate 36(sum) RelaxedPrecision
+ Decorate 38(uniform_medium) RelaxedPrecision
+ Decorate 46(uniform_low) RelaxedPrecision
+ Decorate 51(arg1) RelaxedPrecision
+ Decorate 53(arg2) RelaxedPrecision
+ Decorate 55(d) RelaxedPrecision
+ Decorate 57(lowfin) RelaxedPrecision
+ Decorate 59(mediumfin) RelaxedPrecision
+ Decorate 71(mediumfout) RelaxedPrecision
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 3
+ 8: TypePointer Function 7(fvec3)
+ 9: TypeVector 6(float) 2
+ 10: TypeFunction 9(fvec2) 8(ptr)
+ 14: TypeBool
+ 15: TypeVector 14(bool) 2
+ 16: TypePointer Function 15(bvec2)
+ 17: TypeFunction 14(bool) 16(ptr)
+ 21: TypeVector 6(float) 4
+ 22: TypePointer Input 21(fvec4)
+ 23(highfin): 22(ptr) Variable Input
+ 28: 14(bool) ConstantFalse
+ 29: 14(bool) ConstantTrue
+ 30: 15(bvec2) ConstantComposite 28 29
+ 34: TypeInt 32 1
+ 35: TypePointer Function 34(int)
+ 37: TypePointer UniformConstant 34(int)
+38(uniform_medium): 37(ptr) Variable UniformConstant
+40(uniform_high): 37(ptr) Variable UniformConstant
+ 46(uniform_low): 37(ptr) Variable UniformConstant
+ 50: TypePointer Function 6(float)
+ 52: 6(float) Constant 1078774989
+ 54: 6(float) Constant 1232730691
+ 56: TypePointer Input 6(float)
+ 57(lowfin): 56(ptr) Variable Input
+ 59(mediumfin): 56(ptr) Variable Input
+ 62: TypePointer Private 6(float)
+63(global_highp): 62(ptr) Variable Private
+ 66: TypePointer Function 21(fvec4)
+ 70: TypePointer Output 21(fvec4)
+ 71(mediumfout): 70(ptr) Variable Output
+ 80: 34(int) Constant 4
+ 82: TypeVector 34(int) 2
+ 90: TypeInt 32 0
+ 91: 90(int) Constant 0
+ 101: TypePointer UniformConstant 15(bvec2)
+ 102(ub2): 101(ptr) Variable UniformConstant
+ 109: 6(float) Constant 1065353216
+ 4(main): 2 Function None 3
+ 5: Label
+ 36(sum): 35(ptr) Variable Function
+ 51(arg1): 50(ptr) Variable Function
+ 53(arg2): 50(ptr) Variable Function
+ 55(d): 50(ptr) Variable Function
+ 67(local_highp): 66(ptr) Variable Function
+ 103(param): 16(ptr) Variable Function
+ 39: 34(int) Load 38(uniform_medium)
+ 41: 34(int) Load 40(uniform_high)
+ 42: 34(int) IAdd 39 41
+ Store 36(sum) 42
+ 43: 34(int) Load 40(uniform_high)
+ 44: 34(int) Load 36(sum)
+ 45: 34(int) IAdd 44 43
+ Store 36(sum) 45
+ 47: 34(int) Load 46(uniform_low)
+ 48: 34(int) Load 36(sum)
+ 49: 34(int) IAdd 48 47
+ Store 36(sum) 49
+ Store 51(arg1) 52
+ Store 53(arg2) 54
+ 58: 6(float) Load 57(lowfin)
+ 60: 6(float) Load 59(mediumfin)
+ 61: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 58 60
+ Store 55(d) 61
+ 64: 21(fvec4) Load 23(highfin)
+ 65: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 64
+ Store 63(global_highp) 65
+ 68: 6(float) Load 63(global_highp)
+ 69: 21(fvec4) CompositeConstruct 68 68 68 68
+ Store 67(local_highp) 69
+ 72: 6(float) Load 55(d)
+ 73: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 72
+ 74: 21(fvec4) CompositeConstruct 73 73 73 73
+ 75: 6(float) Load 53(arg2)
+ 76: 21(fvec4) CompositeConstruct 75 75 75 75
+ 77: 21(fvec4) FAdd 74 76
+ 78: 21(fvec4) Load 67(local_highp)
+ 79: 21(fvec4) FAdd 77 78
+ Store 71(mediumfout) 79
+ 81: 34(int) Load 46(uniform_low)
+ 83: 82(ivec2) CompositeConstruct 81 81
+ 84: 34(int) Load 40(uniform_high)
+ 85: 82(ivec2) CompositeConstruct 84 84
+ 86: 82(ivec2) IMul 83 85
+ 87: 34(int) Load 40(uniform_high)
+ 88: 82(ivec2) CompositeConstruct 87 87
+ 89: 82(ivec2) IAdd 86 88
+ 92: 34(int) CompositeExtract 89 0
+ 93: 34(int) IAdd 80 92
+ 94: 34(int) Load 36(sum)
+ 95: 34(int) IAdd 94 93
+ Store 36(sum) 95
+ 96: 34(int) Load 36(sum)
+ 97: 6(float) ConvertSToF 96
+ 98: 21(fvec4) CompositeConstruct 97 97 97 97
+ 99: 21(fvec4) Load 71(mediumfout)
+ 100: 21(fvec4) FAdd 99 98
+ Store 71(mediumfout) 100
+ 104: 15(bvec2) Load 102(ub2)
+ Store 103(param) 104
+ 105: 14(bool) FunctionCall 19(boolfun(vb2;) 103(param)
+ SelectionMerge 107 None
+ BranchConditional 105 106 107
+ 106: Label
+ 108: 21(fvec4) Load 71(mediumfout)
+ 110: 21(fvec4) CompositeConstruct 109 109 109 109
+ 111: 21(fvec4) FAdd 108 110
+ Store 71(mediumfout) 111
+ Branch 107
+ 107: Label
+ Return
+ FunctionEnd
+ 12(foo(vf3;): 9(fvec2) Function None 10
+ 11(mv3): 8(ptr) FunctionParameter
+ 13: Label
+ 24: 21(fvec4) Load 23(highfin)
+ 25: 9(fvec2) VectorShuffle 24 24 0 1
+ ReturnValue 25
+ FunctionEnd
+19(boolfun(vb2;): 14(bool) Function None 17
+ 18(bv2): 16(ptr) FunctionParameter
+ 20: Label
+ 27: 15(bvec2) Load 18(bv2)
+ 31: 15(bvec2) IEqual 27 30
+ 32: 14(bool) All 31
+ ReturnValue 32
+ FunctionEnd
diff --git a/Test/baseResults/spv.prepost.frag.out b/Test/baseResults/spv.prepost.frag.out
index f579125..b166ba1 100755
--- a/Test/baseResults/spv.prepost.frag.out
+++ b/Test/baseResults/spv.prepost.frag.out
@@ -1,147 +1,147 @@
-spv.prepost.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 94
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main"
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 140
- Name 4 "main"
- Name 8 "index"
- Name 14 "s"
- MemberName 14(s) 0 "y"
- Name 16 "str"
- Name 22 "t"
- Name 50 "x"
- Name 61 "y"
- Name 66 "z"
- Name 73 "v"
- Name 90 "gl_FragColor"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypePointer Function 6(int)
- 9: 6(int) Constant 5
- 10: TypeFloat 32
- 11: TypeInt 32 0
- 12: 11(int) Constant 5
- 13: TypeArray 10(float) 12
- 14(s): TypeStruct 13
- 15: TypePointer Function 14(s)
- 17: 6(int) Constant 0
- 18: 6(int) Constant 4
- 19: 10(float) Constant 1073741824
- 20: TypePointer Function 10(float)
- 24: 6(int) Constant 1
- 28: 10(float) Constant 1065353216
- 71: TypeVector 10(float) 4
- 72: TypePointer Function 71(fvec4)
- 74: 10(float) Constant 1077936128
- 75: 10(float) Constant 1082130432
- 76: 71(fvec4) ConstantComposite 28 19 74 75
- 77: 11(int) Constant 2
- 81: 11(int) Constant 1
- 83: 11(int) Constant 3
- 87: 11(int) Constant 0
- 89: TypePointer Output 71(fvec4)
-90(gl_FragColor): 89(ptr) Variable Output
- 4(main): 2 Function None 3
- 5: Label
- 8(index): 7(ptr) Variable Function
- 16(str): 15(ptr) Variable Function
- 22(t): 20(ptr) Variable Function
- 50(x): 20(ptr) Variable Function
- 61(y): 20(ptr) Variable Function
- 66(z): 20(ptr) Variable Function
- 73(v): 72(ptr) Variable Function
- Store 8(index) 9
- 21: 20(ptr) AccessChain 16(str) 17 18
- Store 21 19
- 23: 6(int) Load 8(index)
- 25: 6(int) ISub 23 24
- Store 8(index) 25
- 26: 20(ptr) AccessChain 16(str) 17 25
- 27: 10(float) Load 26
- 29: 10(float) FAdd 27 28
- Store 26 29
- Store 22(t) 29
- 30: 10(float) Load 22(t)
- 31: 20(ptr) AccessChain 16(str) 17 18
- 32: 10(float) Load 31
- 33: 10(float) FAdd 32 30
- 34: 20(ptr) AccessChain 16(str) 17 18
- Store 34 33
- 35: 20(ptr) AccessChain 16(str) 17 18
- 36: 10(float) Load 35
- 37: 10(float) FSub 36 28
- Store 35 37
- Store 22(t) 36
- 38: 6(int) Load 8(index)
- 39: 6(int) IAdd 38 24
- Store 8(index) 39
- 40: 10(float) Load 22(t)
- 41: 20(ptr) AccessChain 16(str) 17 38
- 42: 10(float) Load 41
- 43: 10(float) FAdd 42 40
- 44: 20(ptr) AccessChain 16(str) 17 38
- Store 44 43
- 45: 6(int) Load 8(index)
- 46: 6(int) ISub 45 24
- Store 8(index) 46
- 47: 20(ptr) AccessChain 16(str) 17 46
- 48: 10(float) Load 47
- 49: 10(float) FSub 48 28
- Store 47 49
- 51: 20(ptr) AccessChain 16(str) 17 18
- 52: 10(float) Load 51
- Store 50(x) 52
- 53: 10(float) Load 50(x)
- 54: 10(float) FAdd 53 28
- Store 50(x) 54
- 55: 10(float) Load 50(x)
- 56: 10(float) FSub 55 28
- Store 50(x) 56
- 57: 10(float) Load 50(x)
- 58: 10(float) FAdd 57 28
- Store 50(x) 58
- 59: 10(float) Load 50(x)
- 60: 10(float) FSub 59 28
- Store 50(x) 60
- 62: 10(float) Load 50(x)
- 63: 10(float) Load 50(x)
- 64: 10(float) FAdd 63 28
- Store 50(x) 64
- 65: 10(float) FMul 62 64
- Store 61(y) 65
- 67: 10(float) Load 61(y)
- 68: 10(float) Load 50(x)
- 69: 10(float) FSub 68 28
- Store 50(x) 69
- 70: 10(float) FMul 67 68
- Store 66(z) 70
- Store 73(v) 76
- 78: 20(ptr) AccessChain 73(v) 77
- 79: 10(float) Load 78
- 80: 10(float) FSub 79 28
- Store 78 80
- 82: 20(ptr) AccessChain 73(v) 81
- Store 82 79
- 84: 20(ptr) AccessChain 73(v) 83
- 85: 10(float) Load 84
- 86: 10(float) FSub 85 28
- Store 84 86
- 88: 20(ptr) AccessChain 73(v) 87
- Store 88 86
- 91: 10(float) Load 66(z)
- 92: 71(fvec4) Load 73(v)
- 93: 71(fvec4) VectorTimesScalar 92 91
- Store 90(gl_FragColor) 93
- Return
- FunctionEnd
+spv.prepost.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 94
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main"
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 140
+ Name 4 "main"
+ Name 8 "index"
+ Name 14 "s"
+ MemberName 14(s) 0 "y"
+ Name 16 "str"
+ Name 22 "t"
+ Name 50 "x"
+ Name 61 "y"
+ Name 66 "z"
+ Name 73 "v"
+ Name 90 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 5
+ 10: TypeFloat 32
+ 11: TypeInt 32 0
+ 12: 11(int) Constant 5
+ 13: TypeArray 10(float) 12
+ 14(s): TypeStruct 13
+ 15: TypePointer Function 14(s)
+ 17: 6(int) Constant 0
+ 18: 6(int) Constant 4
+ 19: 10(float) Constant 1073741824
+ 20: TypePointer Function 10(float)
+ 24: 6(int) Constant 1
+ 28: 10(float) Constant 1065353216
+ 71: TypeVector 10(float) 4
+ 72: TypePointer Function 71(fvec4)
+ 74: 10(float) Constant 1077936128
+ 75: 10(float) Constant 1082130432
+ 76: 71(fvec4) ConstantComposite 28 19 74 75
+ 77: 11(int) Constant 2
+ 81: 11(int) Constant 1
+ 83: 11(int) Constant 3
+ 87: 11(int) Constant 0
+ 89: TypePointer Output 71(fvec4)
+90(gl_FragColor): 89(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(index): 7(ptr) Variable Function
+ 16(str): 15(ptr) Variable Function
+ 22(t): 20(ptr) Variable Function
+ 50(x): 20(ptr) Variable Function
+ 61(y): 20(ptr) Variable Function
+ 66(z): 20(ptr) Variable Function
+ 73(v): 72(ptr) Variable Function
+ Store 8(index) 9
+ 21: 20(ptr) AccessChain 16(str) 17 18
+ Store 21 19
+ 23: 6(int) Load 8(index)
+ 25: 6(int) ISub 23 24
+ Store 8(index) 25
+ 26: 20(ptr) AccessChain 16(str) 17 25
+ 27: 10(float) Load 26
+ 29: 10(float) FAdd 27 28
+ Store 26 29
+ Store 22(t) 29
+ 30: 10(float) Load 22(t)
+ 31: 20(ptr) AccessChain 16(str) 17 18
+ 32: 10(float) Load 31
+ 33: 10(float) FAdd 32 30
+ 34: 20(ptr) AccessChain 16(str) 17 18
+ Store 34 33
+ 35: 20(ptr) AccessChain 16(str) 17 18
+ 36: 10(float) Load 35
+ 37: 10(float) FSub 36 28
+ Store 35 37
+ Store 22(t) 36
+ 38: 6(int) Load 8(index)
+ 39: 6(int) IAdd 38 24
+ Store 8(index) 39
+ 40: 10(float) Load 22(t)
+ 41: 20(ptr) AccessChain 16(str) 17 38
+ 42: 10(float) Load 41
+ 43: 10(float) FAdd 42 40
+ 44: 20(ptr) AccessChain 16(str) 17 38
+ Store 44 43
+ 45: 6(int) Load 8(index)
+ 46: 6(int) ISub 45 24
+ Store 8(index) 46
+ 47: 20(ptr) AccessChain 16(str) 17 46
+ 48: 10(float) Load 47
+ 49: 10(float) FSub 48 28
+ Store 47 49
+ 51: 20(ptr) AccessChain 16(str) 17 18
+ 52: 10(float) Load 51
+ Store 50(x) 52
+ 53: 10(float) Load 50(x)
+ 54: 10(float) FAdd 53 28
+ Store 50(x) 54
+ 55: 10(float) Load 50(x)
+ 56: 10(float) FSub 55 28
+ Store 50(x) 56
+ 57: 10(float) Load 50(x)
+ 58: 10(float) FAdd 57 28
+ Store 50(x) 58
+ 59: 10(float) Load 50(x)
+ 60: 10(float) FSub 59 28
+ Store 50(x) 60
+ 62: 10(float) Load 50(x)
+ 63: 10(float) Load 50(x)
+ 64: 10(float) FAdd 63 28
+ Store 50(x) 64
+ 65: 10(float) FMul 62 64
+ Store 61(y) 65
+ 67: 10(float) Load 61(y)
+ 68: 10(float) Load 50(x)
+ 69: 10(float) FSub 68 28
+ Store 50(x) 69
+ 70: 10(float) FMul 67 68
+ Store 66(z) 70
+ Store 73(v) 76
+ 78: 20(ptr) AccessChain 73(v) 77
+ 79: 10(float) Load 78
+ 80: 10(float) FSub 79 28
+ Store 78 80
+ 82: 20(ptr) AccessChain 73(v) 81
+ Store 82 79
+ 84: 20(ptr) AccessChain 73(v) 83
+ 85: 10(float) Load 84
+ 86: 10(float) FSub 85 28
+ Store 84 86
+ 88: 20(ptr) AccessChain 73(v) 87
+ Store 88 86
+ 91: 10(float) Load 66(z)
+ 92: 71(fvec4) Load 73(v)
+ 93: 71(fvec4) VectorTimesScalar 92 91
+ Store 90(gl_FragColor) 93
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.qualifiers.vert.out b/Test/baseResults/spv.qualifiers.vert.out
index 0e5aa43..f12265c 100755
--- a/Test/baseResults/spv.qualifiers.vert.out
+++ b/Test/baseResults/spv.qualifiers.vert.out
@@ -1,60 +1,60 @@
-spv.qualifiers.vert
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 25
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 11 9 13 15 17 19 23 24
- Source GLSL 430
- Name 4 "main"
- Name 9 "outVc"
- Name 11 "inV"
- Name 13 "outVs"
- Name 15 "outVf"
- Name 17 "outVn"
- Name 19 "outVcn"
- Name 23 "gl_VertexID"
- Name 24 "gl_InstanceID"
- Decorate 15(outVf) Flat
- Decorate 17(outVn) NoPerspective
- Decorate 19(outVcn) NoPerspective
- Decorate 23(gl_VertexID) BuiltIn VertexId
- Decorate 24(gl_InstanceID) BuiltIn InstanceId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Output 7(fvec4)
- 9(outVc): 8(ptr) Variable Output
- 10: TypePointer Input 7(fvec4)
- 11(inV): 10(ptr) Variable Input
- 13(outVs): 8(ptr) Variable Output
- 15(outVf): 8(ptr) Variable Output
- 17(outVn): 8(ptr) Variable Output
- 19(outVcn): 8(ptr) Variable Output
- 21: TypeInt 32 1
- 22: TypePointer Input 21(int)
- 23(gl_VertexID): 22(ptr) Variable Input
-24(gl_InstanceID): 22(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 12: 7(fvec4) Load 11(inV)
- Store 9(outVc) 12
- 14: 7(fvec4) Load 11(inV)
- Store 13(outVs) 14
- 16: 7(fvec4) Load 11(inV)
- Store 15(outVf) 16
- 18: 7(fvec4) Load 11(inV)
- Store 17(outVn) 18
- 20: 7(fvec4) Load 11(inV)
- Store 19(outVcn) 20
- Return
- FunctionEnd
+spv.qualifiers.vert
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 25
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 11 9 13 15 17 19 23 24
+ Source GLSL 430
+ Name 4 "main"
+ Name 9 "outVc"
+ Name 11 "inV"
+ Name 13 "outVs"
+ Name 15 "outVf"
+ Name 17 "outVn"
+ Name 19 "outVcn"
+ Name 23 "gl_VertexID"
+ Name 24 "gl_InstanceID"
+ Decorate 15(outVf) Flat
+ Decorate 17(outVn) NoPerspective
+ Decorate 19(outVcn) NoPerspective
+ Decorate 23(gl_VertexID) BuiltIn VertexId
+ Decorate 24(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(outVc): 8(ptr) Variable Output
+ 10: TypePointer Input 7(fvec4)
+ 11(inV): 10(ptr) Variable Input
+ 13(outVs): 8(ptr) Variable Output
+ 15(outVf): 8(ptr) Variable Output
+ 17(outVn): 8(ptr) Variable Output
+ 19(outVcn): 8(ptr) Variable Output
+ 21: TypeInt 32 1
+ 22: TypePointer Input 21(int)
+ 23(gl_VertexID): 22(ptr) Variable Input
+24(gl_InstanceID): 22(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 12: 7(fvec4) Load 11(inV)
+ Store 9(outVc) 12
+ 14: 7(fvec4) Load 11(inV)
+ Store 13(outVs) 14
+ 16: 7(fvec4) Load 11(inV)
+ Store 15(outVf) 16
+ 18: 7(fvec4) Load 11(inV)
+ Store 17(outVn) 18
+ 20: 7(fvec4) Load 11(inV)
+ Store 19(outVcn) 20
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.queryL.frag.out b/Test/baseResults/spv.queryL.frag.out
index 81e0ef3..d72730a 100755
--- a/Test/baseResults/spv.queryL.frag.out
+++ b/Test/baseResults/spv.queryL.frag.out
@@ -1,306 +1,306 @@
-spv.queryL.frag
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 237
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main"
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 430
- Name 4 "main"
- Name 9 "lod"
- Name 13 "samp1D"
- Name 16 "pf"
- Name 24 "isamp2D"
- Name 26 "pf2"
- Name 36 "usamp3D"
- Name 40 "pf3"
- Name 49 "sampCube"
- Name 59 "isamp1DA"
- Name 69 "usamp2DA"
- Name 79 "isampCubeA"
- Name 89 "samp1Ds"
- Name 99 "samp2Ds"
- Name 109 "sampCubes"
- Name 119 "samp1DAs"
- Name 129 "samp2DAs"
- Name 139 "sampCubeAs"
- Name 147 "levels"
- Name 154 "usamp2D"
- Name 163 "isamp3D"
- Name 172 "isampCube"
- Name 186 "samp2DA"
- Name 195 "usampCubeA"
- Name 232 "sampBuf"
- Name 236 "sampRect"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 2
- 8: TypePointer Function 7(fvec2)
- 10: TypeImage 6(float) 1D sampled format:Unknown
- 11: TypeSampledImage 10
- 12: TypePointer UniformConstant 11
- 13(samp1D): 12(ptr) Variable UniformConstant
- 15: TypePointer Function 6(float)
- 20: TypeInt 32 1
- 21: TypeImage 20(int) 2D sampled format:Unknown
- 22: TypeSampledImage 21
- 23: TypePointer UniformConstant 22
- 24(isamp2D): 23(ptr) Variable UniformConstant
- 32: TypeInt 32 0
- 33: TypeImage 32(int) 3D sampled format:Unknown
- 34: TypeSampledImage 33
- 35: TypePointer UniformConstant 34
- 36(usamp3D): 35(ptr) Variable UniformConstant
- 38: TypeVector 6(float) 3
- 39: TypePointer Function 38(fvec3)
- 46: TypeImage 6(float) Cube sampled format:Unknown
- 47: TypeSampledImage 46
- 48: TypePointer UniformConstant 47
- 49(sampCube): 48(ptr) Variable UniformConstant
- 56: TypeImage 20(int) 1D array sampled format:Unknown
- 57: TypeSampledImage 56
- 58: TypePointer UniformConstant 57
- 59(isamp1DA): 58(ptr) Variable UniformConstant
- 66: TypeImage 32(int) 2D array sampled format:Unknown
- 67: TypeSampledImage 66
- 68: TypePointer UniformConstant 67
- 69(usamp2DA): 68(ptr) Variable UniformConstant
- 76: TypeImage 20(int) Cube array sampled format:Unknown
- 77: TypeSampledImage 76
- 78: TypePointer UniformConstant 77
- 79(isampCubeA): 78(ptr) Variable UniformConstant
- 86: TypeImage 6(float) 1D depth sampled format:Unknown
- 87: TypeSampledImage 86
- 88: TypePointer UniformConstant 87
- 89(samp1Ds): 88(ptr) Variable UniformConstant
- 96: TypeImage 6(float) 2D depth sampled format:Unknown
- 97: TypeSampledImage 96
- 98: TypePointer UniformConstant 97
- 99(samp2Ds): 98(ptr) Variable UniformConstant
- 106: TypeImage 6(float) Cube depth sampled format:Unknown
- 107: TypeSampledImage 106
- 108: TypePointer UniformConstant 107
- 109(sampCubes): 108(ptr) Variable UniformConstant
- 116: TypeImage 6(float) 1D depth array sampled format:Unknown
- 117: TypeSampledImage 116
- 118: TypePointer UniformConstant 117
- 119(samp1DAs): 118(ptr) Variable UniformConstant
- 126: TypeImage 6(float) 2D depth array sampled format:Unknown
- 127: TypeSampledImage 126
- 128: TypePointer UniformConstant 127
- 129(samp2DAs): 128(ptr) Variable UniformConstant
- 136: TypeImage 6(float) Cube depth array sampled format:Unknown
- 137: TypeSampledImage 136
- 138: TypePointer UniformConstant 137
- 139(sampCubeAs): 138(ptr) Variable UniformConstant
- 146: TypePointer Function 20(int)
- 151: TypeImage 32(int) 2D sampled format:Unknown
- 152: TypeSampledImage 151
- 153: TypePointer UniformConstant 152
- 154(usamp2D): 153(ptr) Variable UniformConstant
- 160: TypeImage 20(int) 3D sampled format:Unknown
- 161: TypeSampledImage 160
- 162: TypePointer UniformConstant 161
- 163(isamp3D): 162(ptr) Variable UniformConstant
- 169: TypeImage 20(int) Cube sampled format:Unknown
- 170: TypeSampledImage 169
- 171: TypePointer UniformConstant 170
- 172(isampCube): 171(ptr) Variable UniformConstant
- 183: TypeImage 6(float) 2D array sampled format:Unknown
- 184: TypeSampledImage 183
- 185: TypePointer UniformConstant 184
- 186(samp2DA): 185(ptr) Variable UniformConstant
- 192: TypeImage 32(int) Cube array sampled format:Unknown
- 193: TypeSampledImage 192
- 194: TypePointer UniformConstant 193
- 195(usampCubeA): 194(ptr) Variable UniformConstant
- 229: TypeImage 6(float) Buffer sampled format:Unknown
- 230: TypeSampledImage 229
- 231: TypePointer UniformConstant 230
- 232(sampBuf): 231(ptr) Variable UniformConstant
- 233: TypeImage 6(float) Rect sampled format:Unknown
- 234: TypeSampledImage 233
- 235: TypePointer UniformConstant 234
- 236(sampRect): 235(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 9(lod): 8(ptr) Variable Function
- 16(pf): 15(ptr) Variable Function
- 26(pf2): 8(ptr) Variable Function
- 40(pf3): 39(ptr) Variable Function
- 147(levels): 146(ptr) Variable Function
- 14: 11 Load 13(samp1D)
- 17: 6(float) Load 16(pf)
- 18: 10 Image 14
- 19: 7(fvec2) ImageQueryLod 18 17
- Store 9(lod) 19
- 25: 22 Load 24(isamp2D)
- 27: 7(fvec2) Load 26(pf2)
- 28: 21 Image 25
- 29: 7(fvec2) ImageQueryLod 28 27
- 30: 7(fvec2) Load 9(lod)
- 31: 7(fvec2) FAdd 30 29
- Store 9(lod) 31
- 37: 34 Load 36(usamp3D)
- 41: 38(fvec3) Load 40(pf3)
- 42: 33 Image 37
- 43: 7(fvec2) ImageQueryLod 42 41
- 44: 7(fvec2) Load 9(lod)
- 45: 7(fvec2) FAdd 44 43
- Store 9(lod) 45
- 50: 47 Load 49(sampCube)
- 51: 38(fvec3) Load 40(pf3)
- 52: 46 Image 50
- 53: 7(fvec2) ImageQueryLod 52 51
- 54: 7(fvec2) Load 9(lod)
- 55: 7(fvec2) FAdd 54 53
- Store 9(lod) 55
- 60: 57 Load 59(isamp1DA)
- 61: 6(float) Load 16(pf)
- 62: 56 Image 60
- 63: 7(fvec2) ImageQueryLod 62 61
- 64: 7(fvec2) Load 9(lod)
- 65: 7(fvec2) FAdd 64 63
- Store 9(lod) 65
- 70: 67 Load 69(usamp2DA)
- 71: 7(fvec2) Load 26(pf2)
- 72: 66 Image 70
- 73: 7(fvec2) ImageQueryLod 72 71
- 74: 7(fvec2) Load 9(lod)
- 75: 7(fvec2) FAdd 74 73
- Store 9(lod) 75
- 80: 77 Load 79(isampCubeA)
- 81: 38(fvec3) Load 40(pf3)
- 82: 76 Image 80
- 83: 7(fvec2) ImageQueryLod 82 81
- 84: 7(fvec2) Load 9(lod)
- 85: 7(fvec2) FAdd 84 83
- Store 9(lod) 85
- 90: 87 Load 89(samp1Ds)
- 91: 6(float) Load 16(pf)
- 92: 86 Image 90
- 93: 7(fvec2) ImageQueryLod 92 91
- 94: 7(fvec2) Load 9(lod)
- 95: 7(fvec2) FAdd 94 93
- Store 9(lod) 95
- 100: 97 Load 99(samp2Ds)
- 101: 7(fvec2) Load 26(pf2)
- 102: 96 Image 100
- 103: 7(fvec2) ImageQueryLod 102 101
- 104: 7(fvec2) Load 9(lod)
- 105: 7(fvec2) FAdd 104 103
- Store 9(lod) 105
- 110: 107 Load 109(sampCubes)
- 111: 38(fvec3) Load 40(pf3)
- 112: 106 Image 110
- 113: 7(fvec2) ImageQueryLod 112 111
- 114: 7(fvec2) Load 9(lod)
- 115: 7(fvec2) FAdd 114 113
- Store 9(lod) 115
- 120: 117 Load 119(samp1DAs)
- 121: 6(float) Load 16(pf)
- 122: 116 Image 120
- 123: 7(fvec2) ImageQueryLod 122 121
- 124: 7(fvec2) Load 9(lod)
- 125: 7(fvec2) FAdd 124 123
- Store 9(lod) 125
- 130: 127 Load 129(samp2DAs)
- 131: 7(fvec2) Load 26(pf2)
- 132: 126 Image 130
- 133: 7(fvec2) ImageQueryLod 132 131
- 134: 7(fvec2) Load 9(lod)
- 135: 7(fvec2) FAdd 134 133
- Store 9(lod) 135
- 140: 137 Load 139(sampCubeAs)
- 141: 38(fvec3) Load 40(pf3)
- 142: 136 Image 140
- 143: 7(fvec2) ImageQueryLod 142 141
- 144: 7(fvec2) Load 9(lod)
- 145: 7(fvec2) FAdd 144 143
- Store 9(lod) 145
- 148: 11 Load 13(samp1D)
- 149: 10 Image 148
- 150: 20(int) ImageQueryLevels 149
- Store 147(levels) 150
- 155: 152 Load 154(usamp2D)
- 156: 151 Image 155
- 157: 20(int) ImageQueryLevels 156
- 158: 20(int) Load 147(levels)
- 159: 20(int) IAdd 158 157
- Store 147(levels) 159
- 164: 161 Load 163(isamp3D)
- 165: 160 Image 164
- 166: 20(int) ImageQueryLevels 165
- 167: 20(int) Load 147(levels)
- 168: 20(int) IAdd 167 166
- Store 147(levels) 168
- 173: 170 Load 172(isampCube)
- 174: 169 Image 173
- 175: 20(int) ImageQueryLevels 174
- 176: 20(int) Load 147(levels)
- 177: 20(int) IAdd 176 175
- Store 147(levels) 177
- 178: 57 Load 59(isamp1DA)
- 179: 56 Image 178
- 180: 20(int) ImageQueryLevels 179
- 181: 20(int) Load 147(levels)
- 182: 20(int) IAdd 181 180
- Store 147(levels) 182
- 187: 184 Load 186(samp2DA)
- 188: 183 Image 187
- 189: 20(int) ImageQueryLevels 188
- 190: 20(int) Load 147(levels)
- 191: 20(int) IAdd 190 189
- Store 147(levels) 191
- 196: 193 Load 195(usampCubeA)
- 197: 192 Image 196
- 198: 20(int) ImageQueryLevels 197
- 199: 20(int) Load 147(levels)
- 200: 20(int) IAdd 199 198
- Store 147(levels) 200
- 201: 87 Load 89(samp1Ds)
- 202: 86 Image 201
- 203: 20(int) ImageQueryLevels 202
- Store 147(levels) 203
- 204: 97 Load 99(samp2Ds)
- 205: 96 Image 204
- 206: 20(int) ImageQueryLevels 205
- 207: 20(int) Load 147(levels)
- 208: 20(int) IAdd 207 206
- Store 147(levels) 208
- 209: 107 Load 109(sampCubes)
- 210: 106 Image 209
- 211: 20(int) ImageQueryLevels 210
- 212: 20(int) Load 147(levels)
- 213: 20(int) IAdd 212 211
- Store 147(levels) 213
- 214: 117 Load 119(samp1DAs)
- 215: 116 Image 214
- 216: 20(int) ImageQueryLevels 215
- 217: 20(int) Load 147(levels)
- 218: 20(int) IAdd 217 216
- Store 147(levels) 218
- 219: 127 Load 129(samp2DAs)
- 220: 126 Image 219
- 221: 20(int) ImageQueryLevels 220
- 222: 20(int) Load 147(levels)
- 223: 20(int) IAdd 222 221
- Store 147(levels) 223
- 224: 137 Load 139(sampCubeAs)
- 225: 136 Image 224
- 226: 20(int) ImageQueryLevels 225
- 227: 20(int) Load 147(levels)
- 228: 20(int) IAdd 227 226
- Store 147(levels) 228
- Return
- FunctionEnd
+spv.queryL.frag
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 237
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main"
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 430
+ Name 4 "main"
+ Name 9 "lod"
+ Name 13 "samp1D"
+ Name 16 "pf"
+ Name 24 "isamp2D"
+ Name 26 "pf2"
+ Name 36 "usamp3D"
+ Name 40 "pf3"
+ Name 49 "sampCube"
+ Name 59 "isamp1DA"
+ Name 69 "usamp2DA"
+ Name 79 "isampCubeA"
+ Name 89 "samp1Ds"
+ Name 99 "samp2Ds"
+ Name 109 "sampCubes"
+ Name 119 "samp1DAs"
+ Name 129 "samp2DAs"
+ Name 139 "sampCubeAs"
+ Name 147 "levels"
+ Name 154 "usamp2D"
+ Name 163 "isamp3D"
+ Name 172 "isampCube"
+ Name 186 "samp2DA"
+ Name 195 "usampCubeA"
+ Name 232 "sampBuf"
+ Name 236 "sampRect"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 2
+ 8: TypePointer Function 7(fvec2)
+ 10: TypeImage 6(float) 1D sampled format:Unknown
+ 11: TypeSampledImage 10
+ 12: TypePointer UniformConstant 11
+ 13(samp1D): 12(ptr) Variable UniformConstant
+ 15: TypePointer Function 6(float)
+ 20: TypeInt 32 1
+ 21: TypeImage 20(int) 2D sampled format:Unknown
+ 22: TypeSampledImage 21
+ 23: TypePointer UniformConstant 22
+ 24(isamp2D): 23(ptr) Variable UniformConstant
+ 32: TypeInt 32 0
+ 33: TypeImage 32(int) 3D sampled format:Unknown
+ 34: TypeSampledImage 33
+ 35: TypePointer UniformConstant 34
+ 36(usamp3D): 35(ptr) Variable UniformConstant
+ 38: TypeVector 6(float) 3
+ 39: TypePointer Function 38(fvec3)
+ 46: TypeImage 6(float) Cube sampled format:Unknown
+ 47: TypeSampledImage 46
+ 48: TypePointer UniformConstant 47
+ 49(sampCube): 48(ptr) Variable UniformConstant
+ 56: TypeImage 20(int) 1D array sampled format:Unknown
+ 57: TypeSampledImage 56
+ 58: TypePointer UniformConstant 57
+ 59(isamp1DA): 58(ptr) Variable UniformConstant
+ 66: TypeImage 32(int) 2D array sampled format:Unknown
+ 67: TypeSampledImage 66
+ 68: TypePointer UniformConstant 67
+ 69(usamp2DA): 68(ptr) Variable UniformConstant
+ 76: TypeImage 20(int) Cube array sampled format:Unknown
+ 77: TypeSampledImage 76
+ 78: TypePointer UniformConstant 77
+ 79(isampCubeA): 78(ptr) Variable UniformConstant
+ 86: TypeImage 6(float) 1D depth sampled format:Unknown
+ 87: TypeSampledImage 86
+ 88: TypePointer UniformConstant 87
+ 89(samp1Ds): 88(ptr) Variable UniformConstant
+ 96: TypeImage 6(float) 2D depth sampled format:Unknown
+ 97: TypeSampledImage 96
+ 98: TypePointer UniformConstant 97
+ 99(samp2Ds): 98(ptr) Variable UniformConstant
+ 106: TypeImage 6(float) Cube depth sampled format:Unknown
+ 107: TypeSampledImage 106
+ 108: TypePointer UniformConstant 107
+ 109(sampCubes): 108(ptr) Variable UniformConstant
+ 116: TypeImage 6(float) 1D depth array sampled format:Unknown
+ 117: TypeSampledImage 116
+ 118: TypePointer UniformConstant 117
+ 119(samp1DAs): 118(ptr) Variable UniformConstant
+ 126: TypeImage 6(float) 2D depth array sampled format:Unknown
+ 127: TypeSampledImage 126
+ 128: TypePointer UniformConstant 127
+ 129(samp2DAs): 128(ptr) Variable UniformConstant
+ 136: TypeImage 6(float) Cube depth array sampled format:Unknown
+ 137: TypeSampledImage 136
+ 138: TypePointer UniformConstant 137
+ 139(sampCubeAs): 138(ptr) Variable UniformConstant
+ 146: TypePointer Function 20(int)
+ 151: TypeImage 32(int) 2D sampled format:Unknown
+ 152: TypeSampledImage 151
+ 153: TypePointer UniformConstant 152
+ 154(usamp2D): 153(ptr) Variable UniformConstant
+ 160: TypeImage 20(int) 3D sampled format:Unknown
+ 161: TypeSampledImage 160
+ 162: TypePointer UniformConstant 161
+ 163(isamp3D): 162(ptr) Variable UniformConstant
+ 169: TypeImage 20(int) Cube sampled format:Unknown
+ 170: TypeSampledImage 169
+ 171: TypePointer UniformConstant 170
+ 172(isampCube): 171(ptr) Variable UniformConstant
+ 183: TypeImage 6(float) 2D array sampled format:Unknown
+ 184: TypeSampledImage 183
+ 185: TypePointer UniformConstant 184
+ 186(samp2DA): 185(ptr) Variable UniformConstant
+ 192: TypeImage 32(int) Cube array sampled format:Unknown
+ 193: TypeSampledImage 192
+ 194: TypePointer UniformConstant 193
+ 195(usampCubeA): 194(ptr) Variable UniformConstant
+ 229: TypeImage 6(float) Buffer sampled format:Unknown
+ 230: TypeSampledImage 229
+ 231: TypePointer UniformConstant 230
+ 232(sampBuf): 231(ptr) Variable UniformConstant
+ 233: TypeImage 6(float) Rect sampled format:Unknown
+ 234: TypeSampledImage 233
+ 235: TypePointer UniformConstant 234
+ 236(sampRect): 235(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(lod): 8(ptr) Variable Function
+ 16(pf): 15(ptr) Variable Function
+ 26(pf2): 8(ptr) Variable Function
+ 40(pf3): 39(ptr) Variable Function
+ 147(levels): 146(ptr) Variable Function
+ 14: 11 Load 13(samp1D)
+ 17: 6(float) Load 16(pf)
+ 18: 10 Image 14
+ 19: 7(fvec2) ImageQueryLod 18 17
+ Store 9(lod) 19
+ 25: 22 Load 24(isamp2D)
+ 27: 7(fvec2) Load 26(pf2)
+ 28: 21 Image 25
+ 29: 7(fvec2) ImageQueryLod 28 27
+ 30: 7(fvec2) Load 9(lod)
+ 31: 7(fvec2) FAdd 30 29
+ Store 9(lod) 31
+ 37: 34 Load 36(usamp3D)
+ 41: 38(fvec3) Load 40(pf3)
+ 42: 33 Image 37
+ 43: 7(fvec2) ImageQueryLod 42 41
+ 44: 7(fvec2) Load 9(lod)
+ 45: 7(fvec2) FAdd 44 43
+ Store 9(lod) 45
+ 50: 47 Load 49(sampCube)
+ 51: 38(fvec3) Load 40(pf3)
+ 52: 46 Image 50
+ 53: 7(fvec2) ImageQueryLod 52 51
+ 54: 7(fvec2) Load 9(lod)
+ 55: 7(fvec2) FAdd 54 53
+ Store 9(lod) 55
+ 60: 57 Load 59(isamp1DA)
+ 61: 6(float) Load 16(pf)
+ 62: 56 Image 60
+ 63: 7(fvec2) ImageQueryLod 62 61
+ 64: 7(fvec2) Load 9(lod)
+ 65: 7(fvec2) FAdd 64 63
+ Store 9(lod) 65
+ 70: 67 Load 69(usamp2DA)
+ 71: 7(fvec2) Load 26(pf2)
+ 72: 66 Image 70
+ 73: 7(fvec2) ImageQueryLod 72 71
+ 74: 7(fvec2) Load 9(lod)
+ 75: 7(fvec2) FAdd 74 73
+ Store 9(lod) 75
+ 80: 77 Load 79(isampCubeA)
+ 81: 38(fvec3) Load 40(pf3)
+ 82: 76 Image 80
+ 83: 7(fvec2) ImageQueryLod 82 81
+ 84: 7(fvec2) Load 9(lod)
+ 85: 7(fvec2) FAdd 84 83
+ Store 9(lod) 85
+ 90: 87 Load 89(samp1Ds)
+ 91: 6(float) Load 16(pf)
+ 92: 86 Image 90
+ 93: 7(fvec2) ImageQueryLod 92 91
+ 94: 7(fvec2) Load 9(lod)
+ 95: 7(fvec2) FAdd 94 93
+ Store 9(lod) 95
+ 100: 97 Load 99(samp2Ds)
+ 101: 7(fvec2) Load 26(pf2)
+ 102: 96 Image 100
+ 103: 7(fvec2) ImageQueryLod 102 101
+ 104: 7(fvec2) Load 9(lod)
+ 105: 7(fvec2) FAdd 104 103
+ Store 9(lod) 105
+ 110: 107 Load 109(sampCubes)
+ 111: 38(fvec3) Load 40(pf3)
+ 112: 106 Image 110
+ 113: 7(fvec2) ImageQueryLod 112 111
+ 114: 7(fvec2) Load 9(lod)
+ 115: 7(fvec2) FAdd 114 113
+ Store 9(lod) 115
+ 120: 117 Load 119(samp1DAs)
+ 121: 6(float) Load 16(pf)
+ 122: 116 Image 120
+ 123: 7(fvec2) ImageQueryLod 122 121
+ 124: 7(fvec2) Load 9(lod)
+ 125: 7(fvec2) FAdd 124 123
+ Store 9(lod) 125
+ 130: 127 Load 129(samp2DAs)
+ 131: 7(fvec2) Load 26(pf2)
+ 132: 126 Image 130
+ 133: 7(fvec2) ImageQueryLod 132 131
+ 134: 7(fvec2) Load 9(lod)
+ 135: 7(fvec2) FAdd 134 133
+ Store 9(lod) 135
+ 140: 137 Load 139(sampCubeAs)
+ 141: 38(fvec3) Load 40(pf3)
+ 142: 136 Image 140
+ 143: 7(fvec2) ImageQueryLod 142 141
+ 144: 7(fvec2) Load 9(lod)
+ 145: 7(fvec2) FAdd 144 143
+ Store 9(lod) 145
+ 148: 11 Load 13(samp1D)
+ 149: 10 Image 148
+ 150: 20(int) ImageQueryLevels 149
+ Store 147(levels) 150
+ 155: 152 Load 154(usamp2D)
+ 156: 151 Image 155
+ 157: 20(int) ImageQueryLevels 156
+ 158: 20(int) Load 147(levels)
+ 159: 20(int) IAdd 158 157
+ Store 147(levels) 159
+ 164: 161 Load 163(isamp3D)
+ 165: 160 Image 164
+ 166: 20(int) ImageQueryLevels 165
+ 167: 20(int) Load 147(levels)
+ 168: 20(int) IAdd 167 166
+ Store 147(levels) 168
+ 173: 170 Load 172(isampCube)
+ 174: 169 Image 173
+ 175: 20(int) ImageQueryLevels 174
+ 176: 20(int) Load 147(levels)
+ 177: 20(int) IAdd 176 175
+ Store 147(levels) 177
+ 178: 57 Load 59(isamp1DA)
+ 179: 56 Image 178
+ 180: 20(int) ImageQueryLevels 179
+ 181: 20(int) Load 147(levels)
+ 182: 20(int) IAdd 181 180
+ Store 147(levels) 182
+ 187: 184 Load 186(samp2DA)
+ 188: 183 Image 187
+ 189: 20(int) ImageQueryLevels 188
+ 190: 20(int) Load 147(levels)
+ 191: 20(int) IAdd 190 189
+ Store 147(levels) 191
+ 196: 193 Load 195(usampCubeA)
+ 197: 192 Image 196
+ 198: 20(int) ImageQueryLevels 197
+ 199: 20(int) Load 147(levels)
+ 200: 20(int) IAdd 199 198
+ Store 147(levels) 200
+ 201: 87 Load 89(samp1Ds)
+ 202: 86 Image 201
+ 203: 20(int) ImageQueryLevels 202
+ Store 147(levels) 203
+ 204: 97 Load 99(samp2Ds)
+ 205: 96 Image 204
+ 206: 20(int) ImageQueryLevels 205
+ 207: 20(int) Load 147(levels)
+ 208: 20(int) IAdd 207 206
+ Store 147(levels) 208
+ 209: 107 Load 109(sampCubes)
+ 210: 106 Image 209
+ 211: 20(int) ImageQueryLevels 210
+ 212: 20(int) Load 147(levels)
+ 213: 20(int) IAdd 212 211
+ Store 147(levels) 213
+ 214: 117 Load 119(samp1DAs)
+ 215: 116 Image 214
+ 216: 20(int) ImageQueryLevels 215
+ 217: 20(int) Load 147(levels)
+ 218: 20(int) IAdd 217 216
+ Store 147(levels) 218
+ 219: 127 Load 129(samp2DAs)
+ 220: 126 Image 219
+ 221: 20(int) ImageQueryLevels 220
+ 222: 20(int) Load 147(levels)
+ 223: 20(int) IAdd 222 221
+ Store 147(levels) 223
+ 224: 137 Load 139(sampCubeAs)
+ 225: 136 Image 224
+ 226: 20(int) ImageQueryLevels 225
+ 227: 20(int) Load 147(levels)
+ 228: 20(int) IAdd 227 226
+ Store 147(levels) 228
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.set.vert.out b/Test/baseResults/spv.set.vert.out
index caff57d..9448bca 100755
--- a/Test/baseResults/spv.set.vert.out
+++ b/Test/baseResults/spv.set.vert.out
@@ -1,58 +1,58 @@
-spv.set.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 25
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 9 23 24
- Source GLSL 450
- Name 4 "main"
- Name 9 "color"
- Name 10 "setBuf"
- MemberName 10(setBuf) 0 "color"
- Name 12 "setBufInst"
- Name 21 "samp2D"
- Name 23 "gl_VertexID"
- Name 24 "gl_InstanceID"
- Decorate 10(setBuf) GLSLShared
- Decorate 10(setBuf) BufferBlock
- Decorate 12(setBufInst) DescriptorSet 0
- Decorate 12(setBufInst) Binding 8
- Decorate 21(samp2D) DescriptorSet 4
- Decorate 21(samp2D) Binding 7
- Decorate 23(gl_VertexID) BuiltIn VertexId
- Decorate 24(gl_InstanceID) BuiltIn InstanceId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Output 7(fvec4)
- 9(color): 8(ptr) Variable Output
- 10(setBuf): TypeStruct 7(fvec4)
- 11: TypePointer Uniform 10(setBuf)
- 12(setBufInst): 11(ptr) Variable Uniform
- 13: TypeInt 32 1
- 14: 13(int) Constant 0
- 15: TypePointer Uniform 7(fvec4)
- 18: TypeImage 6(float) 2D sampled format:Unknown
- 19: TypeSampledImage 18
- 20: TypePointer UniformConstant 19
- 21(samp2D): 20(ptr) Variable UniformConstant
- 22: TypePointer Input 13(int)
- 23(gl_VertexID): 22(ptr) Variable Input
-24(gl_InstanceID): 22(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 16: 15(ptr) AccessChain 12(setBufInst) 14
- 17: 7(fvec4) Load 16
- Store 9(color) 17
- Return
- FunctionEnd
+spv.set.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 25
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 9 23 24
+ Source GLSL 450
+ Name 4 "main"
+ Name 9 "color"
+ Name 10 "setBuf"
+ MemberName 10(setBuf) 0 "color"
+ Name 12 "setBufInst"
+ Name 21 "samp2D"
+ Name 23 "gl_VertexID"
+ Name 24 "gl_InstanceID"
+ Decorate 10(setBuf) GLSLShared
+ Decorate 10(setBuf) BufferBlock
+ Decorate 12(setBufInst) DescriptorSet 0
+ Decorate 12(setBufInst) Binding 8
+ Decorate 21(samp2D) DescriptorSet 4
+ Decorate 21(samp2D) Binding 7
+ Decorate 23(gl_VertexID) BuiltIn VertexId
+ Decorate 24(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(color): 8(ptr) Variable Output
+ 10(setBuf): TypeStruct 7(fvec4)
+ 11: TypePointer Uniform 10(setBuf)
+ 12(setBufInst): 11(ptr) Variable Uniform
+ 13: TypeInt 32 1
+ 14: 13(int) Constant 0
+ 15: TypePointer Uniform 7(fvec4)
+ 18: TypeImage 6(float) 2D sampled format:Unknown
+ 19: TypeSampledImage 18
+ 20: TypePointer UniformConstant 19
+ 21(samp2D): 20(ptr) Variable UniformConstant
+ 22: TypePointer Input 13(int)
+ 23(gl_VertexID): 22(ptr) Variable Input
+24(gl_InstanceID): 22(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 16: 15(ptr) AccessChain 12(setBufInst) 14
+ 17: 7(fvec4) Load 16
+ Store 9(color) 17
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.shiftOps.frag.out b/Test/baseResults/spv.shiftOps.frag.out
index e82882e..891d689 100644
--- a/Test/baseResults/spv.shiftOps.frag.out
+++ b/Test/baseResults/spv.shiftOps.frag.out
@@ -1,66 +1,66 @@
-spv.shiftOps.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 38
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 9 25
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 450
- Name 4 "main"
- Name 9 "icolor"
- Name 11 "i3"
- Name 15 "u1"
- Name 25 "ucolor"
- Name 27 "u3"
- Name 30 "i1"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypeVector 6(int) 3
- 8: TypePointer Output 7(ivec3)
- 9(icolor): 8(ptr) Variable Output
- 10: TypePointer UniformConstant 7(ivec3)
- 11(i3): 10(ptr) Variable UniformConstant
- 13: TypeInt 32 0
- 14: TypePointer UniformConstant 13(int)
- 15(u1): 14(ptr) Variable UniformConstant
- 17: TypeVector 13(int) 3
- 20: 13(int) Constant 4
- 24: TypePointer Output 17(ivec3)
- 25(ucolor): 24(ptr) Variable Output
- 26: TypePointer UniformConstant 17(ivec3)
- 27(u3): 26(ptr) Variable UniformConstant
- 29: TypePointer UniformConstant 6(int)
- 30(i1): 29(ptr) Variable UniformConstant
- 34: 6(int) Constant 5
- 4(main): 2 Function None 3
- 5: Label
- 12: 7(ivec3) Load 11(i3)
- 16: 13(int) Load 15(u1)
- 18: 17(ivec3) CompositeConstruct 16 16 16
- 19: 7(ivec3) ShiftLeftLogical 12 18
- Store 9(icolor) 19
- 21: 7(ivec3) Load 9(icolor)
- 22: 17(ivec3) CompositeConstruct 20 20 20
- 23: 7(ivec3) ShiftLeftLogical 21 22
- Store 9(icolor) 23
- 28: 17(ivec3) Load 27(u3)
- 31: 6(int) Load 30(i1)
- 32: 7(ivec3) CompositeConstruct 31 31 31
- 33: 17(ivec3) ShiftRightLogical 28 32
- Store 25(ucolor) 33
- 35: 17(ivec3) Load 25(ucolor)
- 36: 7(ivec3) CompositeConstruct 34 34 34
- 37: 17(ivec3) ShiftRightLogical 35 36
- Store 25(ucolor) 37
- Return
- FunctionEnd
+spv.shiftOps.frag
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 38
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 9 25
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 450
+ Name 4 "main"
+ Name 9 "icolor"
+ Name 11 "i3"
+ Name 15 "u1"
+ Name 25 "ucolor"
+ Name 27 "u3"
+ Name 30 "i1"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeVector 6(int) 3
+ 8: TypePointer Output 7(ivec3)
+ 9(icolor): 8(ptr) Variable Output
+ 10: TypePointer UniformConstant 7(ivec3)
+ 11(i3): 10(ptr) Variable UniformConstant
+ 13: TypeInt 32 0
+ 14: TypePointer UniformConstant 13(int)
+ 15(u1): 14(ptr) Variable UniformConstant
+ 17: TypeVector 13(int) 3
+ 20: 13(int) Constant 4
+ 24: TypePointer Output 17(ivec3)
+ 25(ucolor): 24(ptr) Variable Output
+ 26: TypePointer UniformConstant 17(ivec3)
+ 27(u3): 26(ptr) Variable UniformConstant
+ 29: TypePointer UniformConstant 6(int)
+ 30(i1): 29(ptr) Variable UniformConstant
+ 34: 6(int) Constant 5
+ 4(main): 2 Function None 3
+ 5: Label
+ 12: 7(ivec3) Load 11(i3)
+ 16: 13(int) Load 15(u1)
+ 18: 17(ivec3) CompositeConstruct 16 16 16
+ 19: 7(ivec3) ShiftLeftLogical 12 18
+ Store 9(icolor) 19
+ 21: 7(ivec3) Load 9(icolor)
+ 22: 17(ivec3) CompositeConstruct 20 20 20
+ 23: 7(ivec3) ShiftLeftLogical 21 22
+ Store 9(icolor) 23
+ 28: 17(ivec3) Load 27(u3)
+ 31: 6(int) Load 30(i1)
+ 32: 7(ivec3) CompositeConstruct 31 31 31
+ 33: 17(ivec3) ShiftRightLogical 28 32
+ Store 25(ucolor) 33
+ 35: 17(ivec3) Load 25(ucolor)
+ 36: 7(ivec3) CompositeConstruct 34 34 34
+ 37: 17(ivec3) ShiftRightLogical 35 36
+ Store 25(ucolor) 37
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.shortCircuit.frag.out b/Test/baseResults/spv.shortCircuit.frag.out
index d812be9..bbe719f 100644
--- a/Test/baseResults/spv.shortCircuit.frag.out
+++ b/Test/baseResults/spv.shortCircuit.frag.out
@@ -1,233 +1,233 @@
-spv.shortCircuit.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 143
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 12 23
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 400
- Name 4 "main"
- Name 8 "foo("
- Name 12 "of1"
- Name 23 "of4"
- Name 26 "ub"
- Name 30 "ui"
- Name 40 "uba"
- Name 109 "uf"
- Name 136 "uiv4"
- Name 138 "uv4"
- Name 141 "ub41"
- Name 142 "ub42"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeBool
- 7: TypeFunction 6(bool)
- 10: TypeFloat 32
- 11: TypePointer Output 10(float)
- 12(of1): 11(ptr) Variable Output
- 14: 10(float) Constant 1065353216
- 17: 10(float) Constant 1092616192
- 20: 10(float) Constant 0
- 21: TypeVector 10(float) 4
- 22: TypePointer Output 21(fvec4)
- 23(of4): 22(ptr) Variable Output
- 24: 21(fvec4) ConstantComposite 20 20 20 20
- 25: TypePointer UniformConstant 6(bool)
- 26(ub): 25(ptr) Variable UniformConstant
- 28: TypeInt 32 1
- 29: TypePointer UniformConstant 28(int)
- 30(ui): 29(ptr) Variable UniformConstant
- 32: 28(int) Constant 2
- 40(uba): 25(ptr) Variable UniformConstant
- 108: TypePointer UniformConstant 10(float)
- 109(uf): 108(ptr) Variable UniformConstant
- 112: 10(float) Constant 1082130432
- 134: TypeVector 28(int) 4
- 135: TypePointer UniformConstant 134(ivec4)
- 136(uiv4): 135(ptr) Variable UniformConstant
- 137: TypePointer UniformConstant 21(fvec4)
- 138(uv4): 137(ptr) Variable UniformConstant
- 139: TypeVector 6(bool) 4
- 140: TypePointer UniformConstant 139(bvec4)
- 141(ub41): 140(ptr) Variable UniformConstant
- 142(ub42): 140(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- Store 12(of1) 20
- Store 23(of4) 24
- 27: 6(bool) Load 26(ub)
- 31: 28(int) Load 30(ui)
- 33: 6(bool) SGreaterThan 31 32
- 34: 6(bool) LogicalOr 27 33
- SelectionMerge 36 None
- BranchConditional 34 35 36
- 35: Label
- 37: 10(float) Load 12(of1)
- 38: 10(float) FAdd 37 14
- Store 12(of1) 38
- Branch 36
- 36: Label
- 39: 6(bool) Load 26(ub)
- 41: 6(bool) Load 40(uba)
- 42: 6(bool) LogicalNot 41
- 43: 6(bool) LogicalAnd 39 42
- SelectionMerge 45 None
- BranchConditional 43 44 45
- 44: Label
- 46: 10(float) Load 12(of1)
- 47: 10(float) FAdd 46 14
- Store 12(of1) 47
- Branch 45
- 45: Label
- 48: 6(bool) Load 26(ub)
- 49: 6(bool) LogicalNot 48
- SelectionMerge 51 None
- BranchConditional 49 50 51
- 50: Label
- 52: 6(bool) FunctionCall 8(foo()
- Branch 51
- 51: Label
- 53: 6(bool) Phi 48 45 52 50
- SelectionMerge 55 None
- BranchConditional 53 54 55
- 54: Label
- 56: 10(float) Load 12(of1)
- 57: 10(float) FAdd 56 14
- Store 12(of1) 57
- Branch 55
- 55: Label
- 58: 6(bool) Load 26(ub)
- SelectionMerge 60 None
- BranchConditional 58 59 60
- 59: Label
- 61: 6(bool) FunctionCall 8(foo()
- Branch 60
- 60: Label
- 62: 6(bool) Phi 58 55 61 59
- SelectionMerge 64 None
- BranchConditional 62 63 64
- 63: Label
- 65: 10(float) Load 12(of1)
- 66: 10(float) FAdd 65 14
- Store 12(of1) 66
- Branch 64
- 64: Label
- 67: 6(bool) FunctionCall 8(foo()
- 68: 6(bool) Load 26(ub)
- 69: 6(bool) LogicalOr 67 68
- SelectionMerge 71 None
- BranchConditional 69 70 71
- 70: Label
- 72: 10(float) Load 12(of1)
- 73: 10(float) FAdd 72 14
- Store 12(of1) 73
- Branch 71
- 71: Label
- 74: 6(bool) FunctionCall 8(foo()
- 75: 6(bool) Load 26(ub)
- 76: 6(bool) LogicalAnd 74 75
- SelectionMerge 78 None
- BranchConditional 76 77 78
- 77: Label
- 79: 10(float) Load 12(of1)
- 80: 10(float) FAdd 79 14
- Store 12(of1) 80
- Branch 78
- 78: Label
- 81: 6(bool) Load 26(ub)
- 82: 6(bool) LogicalNot 81
- SelectionMerge 84 None
- BranchConditional 82 83 84
- 83: Label
- 85: 10(float) Load 12(of1)
- 86: 10(float) FAdd 85 14
- Store 12(of1) 86
- 87: 6(bool) FOrdGreaterThan 86 14
- Branch 84
- 84: Label
- 88: 6(bool) Phi 81 78 87 83
- SelectionMerge 90 None
- BranchConditional 88 89 90
- 89: Label
- 91: 21(fvec4) Load 23(of4)
- 92: 21(fvec4) CompositeConstruct 14 14 14 14
- 93: 21(fvec4) FAdd 91 92
- Store 23(of4) 93
- Branch 90
- 90: Label
- 94: 10(float) Load 12(of1)
- 95: 10(float) FAdd 94 14
- Store 12(of1) 95
- 96: 6(bool) FOrdGreaterThan 95 14
- 97: 6(bool) Load 26(ub)
- 98: 6(bool) LogicalOr 96 97
- SelectionMerge 100 None
- BranchConditional 98 99 100
- 99: Label
- 101: 21(fvec4) Load 23(of4)
- 102: 21(fvec4) CompositeConstruct 14 14 14 14
- 103: 21(fvec4) FAdd 101 102
- Store 23(of4) 103
- Branch 100
- 100: Label
- 104: 6(bool) Load 26(ub)
- 105: 6(bool) LogicalNot 104
- SelectionMerge 107 None
- BranchConditional 105 106 107
- 106: Label
- 110: 10(float) Load 109(uf)
- 111: 10(float) ExtInst 1(GLSL.std.450) 13(Sin) 110
- 113: 10(float) FMul 111 112
- 114: 10(float) Load 12(of1)
- 115: 6(bool) FOrdGreaterThan 113 114
- Branch 107
- 107: Label
- 116: 6(bool) Phi 104 100 115 106
- SelectionMerge 118 None
- BranchConditional 116 117 118
- 117: Label
- 119: 10(float) Load 12(of1)
- 120: 10(float) FAdd 119 14
- Store 12(of1) 120
- Branch 118
- 118: Label
- 121: 6(bool) Load 26(ub)
- SelectionMerge 123 None
- BranchConditional 121 122 123
- 122: Label
- 124: 10(float) Load 109(uf)
- 125: 10(float) ExtInst 1(GLSL.std.450) 13(Sin) 124
- 126: 10(float) FMul 125 112
- 127: 10(float) Load 12(of1)
- 128: 6(bool) FOrdGreaterThan 126 127
- Branch 123
- 123: Label
- 129: 6(bool) Phi 121 118 128 122
- SelectionMerge 131 None
- BranchConditional 129 130 131
- 130: Label
- 132: 10(float) Load 12(of1)
- 133: 10(float) FAdd 132 14
- Store 12(of1) 133
- Branch 131
- 131: Label
- Return
- FunctionEnd
- 8(foo(): 6(bool) Function None 7
- 9: Label
- 13: 10(float) Load 12(of1)
- 15: 10(float) FAdd 13 14
- Store 12(of1) 15
- 16: 10(float) Load 12(of1)
- 18: 6(bool) FOrdGreaterThan 16 17
- ReturnValue 18
- FunctionEnd
+spv.shortCircuit.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 143
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 12 23
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 400
+ Name 4 "main"
+ Name 8 "foo("
+ Name 12 "of1"
+ Name 23 "of4"
+ Name 26 "ub"
+ Name 30 "ui"
+ Name 40 "uba"
+ Name 109 "uf"
+ Name 136 "uiv4"
+ Name 138 "uv4"
+ Name 141 "ub41"
+ Name 142 "ub42"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeBool
+ 7: TypeFunction 6(bool)
+ 10: TypeFloat 32
+ 11: TypePointer Output 10(float)
+ 12(of1): 11(ptr) Variable Output
+ 14: 10(float) Constant 1065353216
+ 17: 10(float) Constant 1092616192
+ 20: 10(float) Constant 0
+ 21: TypeVector 10(float) 4
+ 22: TypePointer Output 21(fvec4)
+ 23(of4): 22(ptr) Variable Output
+ 24: 21(fvec4) ConstantComposite 20 20 20 20
+ 25: TypePointer UniformConstant 6(bool)
+ 26(ub): 25(ptr) Variable UniformConstant
+ 28: TypeInt 32 1
+ 29: TypePointer UniformConstant 28(int)
+ 30(ui): 29(ptr) Variable UniformConstant
+ 32: 28(int) Constant 2
+ 40(uba): 25(ptr) Variable UniformConstant
+ 108: TypePointer UniformConstant 10(float)
+ 109(uf): 108(ptr) Variable UniformConstant
+ 112: 10(float) Constant 1082130432
+ 134: TypeVector 28(int) 4
+ 135: TypePointer UniformConstant 134(ivec4)
+ 136(uiv4): 135(ptr) Variable UniformConstant
+ 137: TypePointer UniformConstant 21(fvec4)
+ 138(uv4): 137(ptr) Variable UniformConstant
+ 139: TypeVector 6(bool) 4
+ 140: TypePointer UniformConstant 139(bvec4)
+ 141(ub41): 140(ptr) Variable UniformConstant
+ 142(ub42): 140(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ Store 12(of1) 20
+ Store 23(of4) 24
+ 27: 6(bool) Load 26(ub)
+ 31: 28(int) Load 30(ui)
+ 33: 6(bool) SGreaterThan 31 32
+ 34: 6(bool) LogicalOr 27 33
+ SelectionMerge 36 None
+ BranchConditional 34 35 36
+ 35: Label
+ 37: 10(float) Load 12(of1)
+ 38: 10(float) FAdd 37 14
+ Store 12(of1) 38
+ Branch 36
+ 36: Label
+ 39: 6(bool) Load 26(ub)
+ 41: 6(bool) Load 40(uba)
+ 42: 6(bool) LogicalNot 41
+ 43: 6(bool) LogicalAnd 39 42
+ SelectionMerge 45 None
+ BranchConditional 43 44 45
+ 44: Label
+ 46: 10(float) Load 12(of1)
+ 47: 10(float) FAdd 46 14
+ Store 12(of1) 47
+ Branch 45
+ 45: Label
+ 48: 6(bool) Load 26(ub)
+ 49: 6(bool) LogicalNot 48
+ SelectionMerge 51 None
+ BranchConditional 49 50 51
+ 50: Label
+ 52: 6(bool) FunctionCall 8(foo()
+ Branch 51
+ 51: Label
+ 53: 6(bool) Phi 48 45 52 50
+ SelectionMerge 55 None
+ BranchConditional 53 54 55
+ 54: Label
+ 56: 10(float) Load 12(of1)
+ 57: 10(float) FAdd 56 14
+ Store 12(of1) 57
+ Branch 55
+ 55: Label
+ 58: 6(bool) Load 26(ub)
+ SelectionMerge 60 None
+ BranchConditional 58 59 60
+ 59: Label
+ 61: 6(bool) FunctionCall 8(foo()
+ Branch 60
+ 60: Label
+ 62: 6(bool) Phi 58 55 61 59
+ SelectionMerge 64 None
+ BranchConditional 62 63 64
+ 63: Label
+ 65: 10(float) Load 12(of1)
+ 66: 10(float) FAdd 65 14
+ Store 12(of1) 66
+ Branch 64
+ 64: Label
+ 67: 6(bool) FunctionCall 8(foo()
+ 68: 6(bool) Load 26(ub)
+ 69: 6(bool) LogicalOr 67 68
+ SelectionMerge 71 None
+ BranchConditional 69 70 71
+ 70: Label
+ 72: 10(float) Load 12(of1)
+ 73: 10(float) FAdd 72 14
+ Store 12(of1) 73
+ Branch 71
+ 71: Label
+ 74: 6(bool) FunctionCall 8(foo()
+ 75: 6(bool) Load 26(ub)
+ 76: 6(bool) LogicalAnd 74 75
+ SelectionMerge 78 None
+ BranchConditional 76 77 78
+ 77: Label
+ 79: 10(float) Load 12(of1)
+ 80: 10(float) FAdd 79 14
+ Store 12(of1) 80
+ Branch 78
+ 78: Label
+ 81: 6(bool) Load 26(ub)
+ 82: 6(bool) LogicalNot 81
+ SelectionMerge 84 None
+ BranchConditional 82 83 84
+ 83: Label
+ 85: 10(float) Load 12(of1)
+ 86: 10(float) FAdd 85 14
+ Store 12(of1) 86
+ 87: 6(bool) FOrdGreaterThan 86 14
+ Branch 84
+ 84: Label
+ 88: 6(bool) Phi 81 78 87 83
+ SelectionMerge 90 None
+ BranchConditional 88 89 90
+ 89: Label
+ 91: 21(fvec4) Load 23(of4)
+ 92: 21(fvec4) CompositeConstruct 14 14 14 14
+ 93: 21(fvec4) FAdd 91 92
+ Store 23(of4) 93
+ Branch 90
+ 90: Label
+ 94: 10(float) Load 12(of1)
+ 95: 10(float) FAdd 94 14
+ Store 12(of1) 95
+ 96: 6(bool) FOrdGreaterThan 95 14
+ 97: 6(bool) Load 26(ub)
+ 98: 6(bool) LogicalOr 96 97
+ SelectionMerge 100 None
+ BranchConditional 98 99 100
+ 99: Label
+ 101: 21(fvec4) Load 23(of4)
+ 102: 21(fvec4) CompositeConstruct 14 14 14 14
+ 103: 21(fvec4) FAdd 101 102
+ Store 23(of4) 103
+ Branch 100
+ 100: Label
+ 104: 6(bool) Load 26(ub)
+ 105: 6(bool) LogicalNot 104
+ SelectionMerge 107 None
+ BranchConditional 105 106 107
+ 106: Label
+ 110: 10(float) Load 109(uf)
+ 111: 10(float) ExtInst 1(GLSL.std.450) 13(Sin) 110
+ 113: 10(float) FMul 111 112
+ 114: 10(float) Load 12(of1)
+ 115: 6(bool) FOrdGreaterThan 113 114
+ Branch 107
+ 107: Label
+ 116: 6(bool) Phi 104 100 115 106
+ SelectionMerge 118 None
+ BranchConditional 116 117 118
+ 117: Label
+ 119: 10(float) Load 12(of1)
+ 120: 10(float) FAdd 119 14
+ Store 12(of1) 120
+ Branch 118
+ 118: Label
+ 121: 6(bool) Load 26(ub)
+ SelectionMerge 123 None
+ BranchConditional 121 122 123
+ 122: Label
+ 124: 10(float) Load 109(uf)
+ 125: 10(float) ExtInst 1(GLSL.std.450) 13(Sin) 124
+ 126: 10(float) FMul 125 112
+ 127: 10(float) Load 12(of1)
+ 128: 6(bool) FOrdGreaterThan 126 127
+ Branch 123
+ 123: Label
+ 129: 6(bool) Phi 121 118 128 122
+ SelectionMerge 131 None
+ BranchConditional 129 130 131
+ 130: Label
+ 132: 10(float) Load 12(of1)
+ 133: 10(float) FAdd 132 14
+ Store 12(of1) 133
+ Branch 131
+ 131: Label
+ Return
+ FunctionEnd
+ 8(foo(): 6(bool) Function None 7
+ 9: Label
+ 13: 10(float) Load 12(of1)
+ 15: 10(float) FAdd 13 14
+ Store 12(of1) 15
+ 16: 10(float) Load 12(of1)
+ 18: 6(bool) FOrdGreaterThan 16 17
+ ReturnValue 18
+ FunctionEnd
diff --git a/Test/baseResults/spv.simpleFunctionCall.frag.out b/Test/baseResults/spv.simpleFunctionCall.frag.out
index a8b194b..7581d64 100755
--- a/Test/baseResults/spv.simpleFunctionCall.frag.out
+++ b/Test/baseResults/spv.simpleFunctionCall.frag.out
@@ -1,47 +1,47 @@
-spv.simpleFunctionCall.frag
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 22
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 12
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 150
- Name 4 "main"
- Name 9 "foo("
- Name 12 "BaseColor"
- Name 16 "gl_FragColor"
- Name 19 "bigColor"
- Name 21 "d"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypeFunction 7(fvec4)
- 11: TypePointer Input 7(fvec4)
- 12(BaseColor): 11(ptr) Variable Input
- 15: TypePointer Output 7(fvec4)
-16(gl_FragColor): 15(ptr) Variable Output
- 18: TypePointer UniformConstant 7(fvec4)
- 19(bigColor): 18(ptr) Variable UniformConstant
- 20: TypePointer UniformConstant 6(float)
- 21(d): 20(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 17: 7(fvec4) FunctionCall 9(foo()
- Store 16(gl_FragColor) 17
- Return
- FunctionEnd
- 9(foo(): 7(fvec4) Function None 8
- 10: Label
- 13: 7(fvec4) Load 12(BaseColor)
- ReturnValue 13
- FunctionEnd
+spv.simpleFunctionCall.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 22
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 12
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 150
+ Name 4 "main"
+ Name 9 "foo("
+ Name 12 "BaseColor"
+ Name 16 "gl_FragColor"
+ Name 19 "bigColor"
+ Name 21 "d"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeFunction 7(fvec4)
+ 11: TypePointer Input 7(fvec4)
+ 12(BaseColor): 11(ptr) Variable Input
+ 15: TypePointer Output 7(fvec4)
+16(gl_FragColor): 15(ptr) Variable Output
+ 18: TypePointer UniformConstant 7(fvec4)
+ 19(bigColor): 18(ptr) Variable UniformConstant
+ 20: TypePointer UniformConstant 6(float)
+ 21(d): 20(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 17: 7(fvec4) FunctionCall 9(foo()
+ Store 16(gl_FragColor) 17
+ Return
+ FunctionEnd
+ 9(foo(): 7(fvec4) Function None 8
+ 10: Label
+ 13: 7(fvec4) Load 12(BaseColor)
+ ReturnValue 13
+ FunctionEnd
diff --git a/Test/baseResults/spv.simpleMat.vert.out b/Test/baseResults/spv.simpleMat.vert.out
index 8963c6b..5bf8b97 100755
--- a/Test/baseResults/spv.simpleMat.vert.out
+++ b/Test/baseResults/spv.simpleMat.vert.out
@@ -1,69 +1,69 @@
-spv.simpleMat.vert
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 42
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 15 23 34 19 9 40 41
- Source GLSL 330
- Name 4 "main"
- Name 9 "glPos"
- Name 12 "mvp"
- Name 15 "v"
- Name 19 "f"
- Name 23 "am3"
- Name 34 "arraym"
- Name 40 "gl_VertexID"
- Name 41 "gl_InstanceID"
- Decorate 40(gl_VertexID) BuiltIn VertexId
- Decorate 41(gl_InstanceID) BuiltIn InstanceId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Output 7(fvec4)
- 9(glPos): 8(ptr) Variable Output
- 10: TypeMatrix 7(fvec4) 4
- 11: TypePointer UniformConstant 10
- 12(mvp): 11(ptr) Variable UniformConstant
- 14: TypePointer Input 7(fvec4)
- 15(v): 14(ptr) Variable Input
- 18: TypePointer Output 6(float)
- 19(f): 18(ptr) Variable Output
- 20: TypeVector 6(float) 3
- 21: TypeMatrix 20(fvec3) 3
- 22: TypePointer Input 21
- 23(am3): 22(ptr) Variable Input
- 24: TypeInt 32 1
- 25: 24(int) Constant 2
- 26: TypeInt 32 0
- 27: 26(int) Constant 1
- 28: TypePointer Input 6(float)
- 31: 26(int) Constant 3
- 32: TypeArray 10 31
- 33: TypePointer Input 32
- 34(arraym): 33(ptr) Variable Input
- 35: 24(int) Constant 1
- 39: TypePointer Input 24(int)
- 40(gl_VertexID): 39(ptr) Variable Input
-41(gl_InstanceID): 39(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 13: 10 Load 12(mvp)
- 16: 7(fvec4) Load 15(v)
- 17: 7(fvec4) MatrixTimesVector 13 16
- Store 9(glPos) 17
- 29: 28(ptr) AccessChain 23(am3) 25 27
- 30: 6(float) Load 29
- 36: 28(ptr) AccessChain 34(arraym) 35 25 31
- 37: 6(float) Load 36
- 38: 6(float) FAdd 30 37
- Store 19(f) 38
- Return
- FunctionEnd
+spv.simpleMat.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 42
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 15 23 34 19 9 40 41
+ Source GLSL 330
+ Name 4 "main"
+ Name 9 "glPos"
+ Name 12 "mvp"
+ Name 15 "v"
+ Name 19 "f"
+ Name 23 "am3"
+ Name 34 "arraym"
+ Name 40 "gl_VertexID"
+ Name 41 "gl_InstanceID"
+ Decorate 40(gl_VertexID) BuiltIn VertexId
+ Decorate 41(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(glPos): 8(ptr) Variable Output
+ 10: TypeMatrix 7(fvec4) 4
+ 11: TypePointer UniformConstant 10
+ 12(mvp): 11(ptr) Variable UniformConstant
+ 14: TypePointer Input 7(fvec4)
+ 15(v): 14(ptr) Variable Input
+ 18: TypePointer Output 6(float)
+ 19(f): 18(ptr) Variable Output
+ 20: TypeVector 6(float) 3
+ 21: TypeMatrix 20(fvec3) 3
+ 22: TypePointer Input 21
+ 23(am3): 22(ptr) Variable Input
+ 24: TypeInt 32 1
+ 25: 24(int) Constant 2
+ 26: TypeInt 32 0
+ 27: 26(int) Constant 1
+ 28: TypePointer Input 6(float)
+ 31: 26(int) Constant 3
+ 32: TypeArray 10 31
+ 33: TypePointer Input 32
+ 34(arraym): 33(ptr) Variable Input
+ 35: 24(int) Constant 1
+ 39: TypePointer Input 24(int)
+ 40(gl_VertexID): 39(ptr) Variable Input
+41(gl_InstanceID): 39(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 13: 10 Load 12(mvp)
+ 16: 7(fvec4) Load 15(v)
+ 17: 7(fvec4) MatrixTimesVector 13 16
+ Store 9(glPos) 17
+ 29: 28(ptr) AccessChain 23(am3) 25 27
+ 30: 6(float) Load 29
+ 36: 28(ptr) AccessChain 34(arraym) 35 25 31
+ 37: 6(float) Load 36
+ 38: 6(float) FAdd 30 37
+ Store 19(f) 38
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.structAssignment.frag.out b/Test/baseResults/spv.structAssignment.frag.out
index faded47..535566c 100755
--- a/Test/baseResults/spv.structAssignment.frag.out
+++ b/Test/baseResults/spv.structAssignment.frag.out
@@ -1,94 +1,94 @@
-spv.structAssignment.frag
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 50
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 44
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 8 "lunarStruct1"
- MemberName 8(lunarStruct1) 0 "i"
- MemberName 8(lunarStruct1) 1 "f"
- Name 9 "lunarStruct2"
- MemberName 9(lunarStruct2) 0 "i"
- MemberName 9(lunarStruct2) 1 "f"
- MemberName 9(lunarStruct2) 2 "s1_1"
- Name 10 "lunarStruct3"
- MemberName 10(lunarStruct3) 0 "s2_1"
- MemberName 10(lunarStruct3) 1 "i"
- MemberName 10(lunarStruct3) 2 "f"
- MemberName 10(lunarStruct3) 3 "s1_1"
- Name 12 "foo3"
- Name 22 "locals2"
- Name 27 "foo2"
- Name 31 "gl_FragColor"
- Name 40 "samp2D"
- Name 44 "coord"
- Name 49 "foo"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypeFloat 32
- 8(lunarStruct1): TypeStruct 6(int) 7(float)
- 9(lunarStruct2): TypeStruct 6(int) 7(float) 8(lunarStruct1)
-10(lunarStruct3): TypeStruct 9(lunarStruct2) 6(int) 7(float) 8(lunarStruct1)
- 11: TypePointer UniformConstant 10(lunarStruct3)
- 12(foo3): 11(ptr) Variable UniformConstant
- 13: 6(int) Constant 0
- 14: TypePointer UniformConstant 6(int)
- 17: TypeBool
- 21: TypePointer Function 9(lunarStruct2)
- 23: TypePointer UniformConstant 9(lunarStruct2)
- 27(foo2): 23(ptr) Variable UniformConstant
- 29: TypeVector 7(float) 4
- 30: TypePointer Output 29(fvec4)
-31(gl_FragColor): 30(ptr) Variable Output
- 32: 6(int) Constant 2
- 33: 6(int) Constant 1
- 34: TypePointer Function 7(float)
- 37: TypeImage 7(float) 2D sampled format:Unknown
- 38: TypeSampledImage 37
- 39: TypePointer UniformConstant 38
- 40(samp2D): 39(ptr) Variable UniformConstant
- 42: TypeVector 7(float) 2
- 43: TypePointer Input 42(fvec2)
- 44(coord): 43(ptr) Variable Input
- 48: TypePointer UniformConstant 8(lunarStruct1)
- 49(foo): 48(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 22(locals2): 21(ptr) Variable Function
- 15: 14(ptr) AccessChain 12(foo3) 13 13
- 16: 6(int) Load 15
- 18: 17(bool) SGreaterThan 16 13
- SelectionMerge 20 None
- BranchConditional 18 19 26
- 19: Label
- 24: 23(ptr) AccessChain 12(foo3) 13
- 25:9(lunarStruct2) Load 24
- Store 22(locals2) 25
- Branch 20
- 26: Label
- 28:9(lunarStruct2) Load 27(foo2)
- Store 22(locals2) 28
- Branch 20
- 20: Label
- 35: 34(ptr) AccessChain 22(locals2) 32 33
- 36: 7(float) Load 35
- 41: 38 Load 40(samp2D)
- 45: 42(fvec2) Load 44(coord)
- 46: 29(fvec4) ImageSampleImplicitLod 41 45
- 47: 29(fvec4) VectorTimesScalar 46 36
- Store 31(gl_FragColor) 47
- Return
- FunctionEnd
+spv.structAssignment.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 50
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 44
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 8 "lunarStruct1"
+ MemberName 8(lunarStruct1) 0 "i"
+ MemberName 8(lunarStruct1) 1 "f"
+ Name 9 "lunarStruct2"
+ MemberName 9(lunarStruct2) 0 "i"
+ MemberName 9(lunarStruct2) 1 "f"
+ MemberName 9(lunarStruct2) 2 "s1_1"
+ Name 10 "lunarStruct3"
+ MemberName 10(lunarStruct3) 0 "s2_1"
+ MemberName 10(lunarStruct3) 1 "i"
+ MemberName 10(lunarStruct3) 2 "f"
+ MemberName 10(lunarStruct3) 3 "s1_1"
+ Name 12 "foo3"
+ Name 22 "locals2"
+ Name 27 "foo2"
+ Name 31 "gl_FragColor"
+ Name 40 "samp2D"
+ Name 44 "coord"
+ Name 49 "foo"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeFloat 32
+ 8(lunarStruct1): TypeStruct 6(int) 7(float)
+ 9(lunarStruct2): TypeStruct 6(int) 7(float) 8(lunarStruct1)
+10(lunarStruct3): TypeStruct 9(lunarStruct2) 6(int) 7(float) 8(lunarStruct1)
+ 11: TypePointer UniformConstant 10(lunarStruct3)
+ 12(foo3): 11(ptr) Variable UniformConstant
+ 13: 6(int) Constant 0
+ 14: TypePointer UniformConstant 6(int)
+ 17: TypeBool
+ 21: TypePointer Function 9(lunarStruct2)
+ 23: TypePointer UniformConstant 9(lunarStruct2)
+ 27(foo2): 23(ptr) Variable UniformConstant
+ 29: TypeVector 7(float) 4
+ 30: TypePointer Output 29(fvec4)
+31(gl_FragColor): 30(ptr) Variable Output
+ 32: 6(int) Constant 2
+ 33: 6(int) Constant 1
+ 34: TypePointer Function 7(float)
+ 37: TypeImage 7(float) 2D sampled format:Unknown
+ 38: TypeSampledImage 37
+ 39: TypePointer UniformConstant 38
+ 40(samp2D): 39(ptr) Variable UniformConstant
+ 42: TypeVector 7(float) 2
+ 43: TypePointer Input 42(fvec2)
+ 44(coord): 43(ptr) Variable Input
+ 48: TypePointer UniformConstant 8(lunarStruct1)
+ 49(foo): 48(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 22(locals2): 21(ptr) Variable Function
+ 15: 14(ptr) AccessChain 12(foo3) 13 13
+ 16: 6(int) Load 15
+ 18: 17(bool) SGreaterThan 16 13
+ SelectionMerge 20 None
+ BranchConditional 18 19 26
+ 19: Label
+ 24: 23(ptr) AccessChain 12(foo3) 13
+ 25:9(lunarStruct2) Load 24
+ Store 22(locals2) 25
+ Branch 20
+ 26: Label
+ 28:9(lunarStruct2) Load 27(foo2)
+ Store 22(locals2) 28
+ Branch 20
+ 20: Label
+ 35: 34(ptr) AccessChain 22(locals2) 32 33
+ 36: 7(float) Load 35
+ 41: 38 Load 40(samp2D)
+ 45: 42(fvec2) Load 44(coord)
+ 46: 29(fvec4) ImageSampleImplicitLod 41 45
+ 47: 29(fvec4) VectorTimesScalar 46 36
+ Store 31(gl_FragColor) 47
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.structDeref.frag.out b/Test/baseResults/spv.structDeref.frag.out
index ec0f762..c958efe 100755
--- a/Test/baseResults/spv.structDeref.frag.out
+++ b/Test/baseResults/spv.structDeref.frag.out
@@ -1,192 +1,192 @@
-spv.structDeref.frag
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 123
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 61
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 8 "s0"
- MemberName 8(s0) 0 "i"
- Name 9 "s1"
- MemberName 9(s1) 0 "i"
- MemberName 9(s1) 1 "f"
- MemberName 9(s1) 2 "s0_1"
- Name 10 "s2"
- MemberName 10(s2) 0 "i"
- MemberName 10(s2) 1 "f"
- MemberName 10(s2) 2 "s1_1"
- Name 14 "s3"
- MemberName 14(s3) 0 "s2_1"
- MemberName 14(s3) 1 "i"
- MemberName 14(s3) 2 "f"
- MemberName 14(s3) 3 "s1_1"
- Name 16 "foo3"
- Name 27 "locals2"
- Name 40 "fArray"
- Name 46 "locals1Array"
- Name 49 "foo1"
- Name 53 "locals0"
- Name 54 "s00"
- MemberName 54(s00) 0 "s0_0"
- Name 56 "locals00"
- Name 61 "coord"
- Name 71 "foo0"
- Name 86 "foo00"
- Name 99 "gl_FragColor"
- Name 116 "samp2D"
- Name 122 "foo2"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypeFloat 32
- 8(s0): TypeStruct 6(int)
- 9(s1): TypeStruct 6(int) 7(float) 8(s0)
- 10(s2): TypeStruct 6(int) 7(float) 9(s1)
- 11: TypeInt 32 0
- 12: 11(int) Constant 12
- 13: TypeArray 10(s2) 12
- 14(s3): TypeStruct 13 6(int) 7(float) 9(s1)
- 15: TypePointer UniformConstant 14(s3)
- 16(foo3): 15(ptr) Variable UniformConstant
- 17: 6(int) Constant 0
- 18: 6(int) Constant 9
- 19: TypePointer UniformConstant 6(int)
- 22: TypeBool
- 26: TypePointer Function 10(s2)
- 28: 6(int) Constant 1
- 29: 7(float) Constant 1065353216
- 30: TypePointer Function 7(float)
- 32: 6(int) Constant 2
- 33: 8(s0) ConstantComposite 17
- 34: 9(s1) ConstantComposite 17 29 33
- 35: TypePointer Function 9(s1)
- 37: 11(int) Constant 6
- 38: TypeArray 7(float) 37
- 39: TypePointer Function 38
- 41: 7(float) Constant 0
- 42: 38 ConstantComposite 41 41 41 41 41 41
- 43: 11(int) Constant 10
- 44: TypeArray 9(s1) 43
- 45: TypePointer Function 44
- 47: 6(int) Constant 6
- 48: TypePointer UniformConstant 9(s1)
- 49(foo1): 48(ptr) Variable UniformConstant
- 52: TypePointer Function 8(s0)
- 54(s00): TypeStruct 8(s0)
- 55: TypePointer Function 54(s00)
- 57: 54(s00) ConstantComposite 33
- 59: TypeVector 7(float) 2
- 60: TypePointer Input 59(fvec2)
- 61(coord): 60(ptr) Variable Input
- 62: 11(int) Constant 0
- 63: TypePointer Input 7(float)
- 67: 11(int) Constant 1
- 70: TypePointer UniformConstant 8(s0)
- 71(foo0): 70(ptr) Variable UniformConstant
- 75: 7(float) Constant 1073741824
- 76: 7(float) Constant 1077936128
- 77: 7(float) Constant 1082130432
- 78: 7(float) Constant 1084227584
- 79: 38 ConstantComposite 41 29 75 76 77 78
- 85: TypePointer UniformConstant 54(s00)
- 86(foo00): 85(ptr) Variable UniformConstant
- 88: TypePointer Function 6(int)
- 91: 6(int) Constant 5
- 97: TypeVector 7(float) 4
- 98: TypePointer Output 97(fvec4)
-99(gl_FragColor): 98(ptr) Variable Output
- 106: 6(int) Constant 3
- 113: TypeImage 7(float) 2D sampled format:Unknown
- 114: TypeSampledImage 113
- 115: TypePointer UniformConstant 114
- 116(samp2D): 115(ptr) Variable UniformConstant
- 121: TypePointer UniformConstant 10(s2)
- 122(foo2): 121(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 27(locals2): 26(ptr) Variable Function
- 40(fArray): 39(ptr) Variable Function
-46(locals1Array): 45(ptr) Variable Function
- 53(locals0): 52(ptr) Variable Function
- 56(locals00): 55(ptr) Variable Function
- 20: 19(ptr) AccessChain 16(foo3) 17 18 17
- 21: 6(int) Load 20
- 23: 22(bool) SGreaterThan 21 17
- SelectionMerge 25 None
- BranchConditional 23 24 58
- 24: Label
- 31: 30(ptr) AccessChain 27(locals2) 28
- Store 31 29
- 36: 35(ptr) AccessChain 27(locals2) 32
- Store 36 34
- Store 40(fArray) 42
- 50: 9(s1) Load 49(foo1)
- 51: 35(ptr) AccessChain 46(locals1Array) 47
- Store 51 50
- Store 53(locals0) 33
- Store 56(locals00) 57
- Branch 25
- 58: Label
- 64: 63(ptr) AccessChain 61(coord) 62
- 65: 7(float) Load 64
- 66: 30(ptr) AccessChain 27(locals2) 28
- Store 66 65
- 68: 63(ptr) AccessChain 61(coord) 67
- 69: 7(float) Load 68
- 72: 8(s0) Load 71(foo0)
- 73: 9(s1) CompositeConstruct 28 69 72
- 74: 35(ptr) AccessChain 27(locals2) 32
- Store 74 73
- Store 40(fArray) 79
- 80: 35(ptr) AccessChain 27(locals2) 32
- 81: 9(s1) Load 80
- 82: 35(ptr) AccessChain 46(locals1Array) 47
- Store 82 81
- 83: 70(ptr) AccessChain 49(foo1) 32
- 84: 8(s0) Load 83
- Store 53(locals0) 84
- 87: 54(s00) Load 86(foo00)
- Store 56(locals00) 87
- Branch 25
- 25: Label
- 89: 88(ptr) AccessChain 53(locals0) 17
- 90: 6(int) Load 89
- 92: 22(bool) SGreaterThan 90 91
- SelectionMerge 94 None
- BranchConditional 92 93 94
- 93: Label
- 95: 52(ptr) AccessChain 56(locals00) 17
- 96: 8(s0) Load 95
- Store 53(locals0) 96
- Branch 94
- 94: Label
- 100: 88(ptr) AccessChain 53(locals0) 17
- 101: 6(int) Load 100
- 102: 7(float) ConvertSToF 101
- 103: 30(ptr) AccessChain 46(locals1Array) 47 28
- 104: 7(float) Load 103
- 105: 7(float) FAdd 102 104
- 107: 30(ptr) AccessChain 40(fArray) 106
- 108: 7(float) Load 107
- 109: 7(float) FAdd 105 108
- 110: 30(ptr) AccessChain 27(locals2) 32 28
- 111: 7(float) Load 110
- 112: 7(float) FAdd 109 111
- 117: 114 Load 116(samp2D)
- 118: 59(fvec2) Load 61(coord)
- 119: 97(fvec4) ImageSampleImplicitLod 117 118
- 120: 97(fvec4) VectorTimesScalar 119 112
- Store 99(gl_FragColor) 120
- Return
- FunctionEnd
+spv.structDeref.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 123
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 61
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 8 "s0"
+ MemberName 8(s0) 0 "i"
+ Name 9 "s1"
+ MemberName 9(s1) 0 "i"
+ MemberName 9(s1) 1 "f"
+ MemberName 9(s1) 2 "s0_1"
+ Name 10 "s2"
+ MemberName 10(s2) 0 "i"
+ MemberName 10(s2) 1 "f"
+ MemberName 10(s2) 2 "s1_1"
+ Name 14 "s3"
+ MemberName 14(s3) 0 "s2_1"
+ MemberName 14(s3) 1 "i"
+ MemberName 14(s3) 2 "f"
+ MemberName 14(s3) 3 "s1_1"
+ Name 16 "foo3"
+ Name 27 "locals2"
+ Name 40 "fArray"
+ Name 46 "locals1Array"
+ Name 49 "foo1"
+ Name 53 "locals0"
+ Name 54 "s00"
+ MemberName 54(s00) 0 "s0_0"
+ Name 56 "locals00"
+ Name 61 "coord"
+ Name 71 "foo0"
+ Name 86 "foo00"
+ Name 99 "gl_FragColor"
+ Name 116 "samp2D"
+ Name 122 "foo2"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypeFloat 32
+ 8(s0): TypeStruct 6(int)
+ 9(s1): TypeStruct 6(int) 7(float) 8(s0)
+ 10(s2): TypeStruct 6(int) 7(float) 9(s1)
+ 11: TypeInt 32 0
+ 12: 11(int) Constant 12
+ 13: TypeArray 10(s2) 12
+ 14(s3): TypeStruct 13 6(int) 7(float) 9(s1)
+ 15: TypePointer UniformConstant 14(s3)
+ 16(foo3): 15(ptr) Variable UniformConstant
+ 17: 6(int) Constant 0
+ 18: 6(int) Constant 9
+ 19: TypePointer UniformConstant 6(int)
+ 22: TypeBool
+ 26: TypePointer Function 10(s2)
+ 28: 6(int) Constant 1
+ 29: 7(float) Constant 1065353216
+ 30: TypePointer Function 7(float)
+ 32: 6(int) Constant 2
+ 33: 8(s0) ConstantComposite 17
+ 34: 9(s1) ConstantComposite 17 29 33
+ 35: TypePointer Function 9(s1)
+ 37: 11(int) Constant 6
+ 38: TypeArray 7(float) 37
+ 39: TypePointer Function 38
+ 41: 7(float) Constant 0
+ 42: 38 ConstantComposite 41 41 41 41 41 41
+ 43: 11(int) Constant 10
+ 44: TypeArray 9(s1) 43
+ 45: TypePointer Function 44
+ 47: 6(int) Constant 6
+ 48: TypePointer UniformConstant 9(s1)
+ 49(foo1): 48(ptr) Variable UniformConstant
+ 52: TypePointer Function 8(s0)
+ 54(s00): TypeStruct 8(s0)
+ 55: TypePointer Function 54(s00)
+ 57: 54(s00) ConstantComposite 33
+ 59: TypeVector 7(float) 2
+ 60: TypePointer Input 59(fvec2)
+ 61(coord): 60(ptr) Variable Input
+ 62: 11(int) Constant 0
+ 63: TypePointer Input 7(float)
+ 67: 11(int) Constant 1
+ 70: TypePointer UniformConstant 8(s0)
+ 71(foo0): 70(ptr) Variable UniformConstant
+ 75: 7(float) Constant 1073741824
+ 76: 7(float) Constant 1077936128
+ 77: 7(float) Constant 1082130432
+ 78: 7(float) Constant 1084227584
+ 79: 38 ConstantComposite 41 29 75 76 77 78
+ 85: TypePointer UniformConstant 54(s00)
+ 86(foo00): 85(ptr) Variable UniformConstant
+ 88: TypePointer Function 6(int)
+ 91: 6(int) Constant 5
+ 97: TypeVector 7(float) 4
+ 98: TypePointer Output 97(fvec4)
+99(gl_FragColor): 98(ptr) Variable Output
+ 106: 6(int) Constant 3
+ 113: TypeImage 7(float) 2D sampled format:Unknown
+ 114: TypeSampledImage 113
+ 115: TypePointer UniformConstant 114
+ 116(samp2D): 115(ptr) Variable UniformConstant
+ 121: TypePointer UniformConstant 10(s2)
+ 122(foo2): 121(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 27(locals2): 26(ptr) Variable Function
+ 40(fArray): 39(ptr) Variable Function
+46(locals1Array): 45(ptr) Variable Function
+ 53(locals0): 52(ptr) Variable Function
+ 56(locals00): 55(ptr) Variable Function
+ 20: 19(ptr) AccessChain 16(foo3) 17 18 17
+ 21: 6(int) Load 20
+ 23: 22(bool) SGreaterThan 21 17
+ SelectionMerge 25 None
+ BranchConditional 23 24 58
+ 24: Label
+ 31: 30(ptr) AccessChain 27(locals2) 28
+ Store 31 29
+ 36: 35(ptr) AccessChain 27(locals2) 32
+ Store 36 34
+ Store 40(fArray) 42
+ 50: 9(s1) Load 49(foo1)
+ 51: 35(ptr) AccessChain 46(locals1Array) 47
+ Store 51 50
+ Store 53(locals0) 33
+ Store 56(locals00) 57
+ Branch 25
+ 58: Label
+ 64: 63(ptr) AccessChain 61(coord) 62
+ 65: 7(float) Load 64
+ 66: 30(ptr) AccessChain 27(locals2) 28
+ Store 66 65
+ 68: 63(ptr) AccessChain 61(coord) 67
+ 69: 7(float) Load 68
+ 72: 8(s0) Load 71(foo0)
+ 73: 9(s1) CompositeConstruct 28 69 72
+ 74: 35(ptr) AccessChain 27(locals2) 32
+ Store 74 73
+ Store 40(fArray) 79
+ 80: 35(ptr) AccessChain 27(locals2) 32
+ 81: 9(s1) Load 80
+ 82: 35(ptr) AccessChain 46(locals1Array) 47
+ Store 82 81
+ 83: 70(ptr) AccessChain 49(foo1) 32
+ 84: 8(s0) Load 83
+ Store 53(locals0) 84
+ 87: 54(s00) Load 86(foo00)
+ Store 56(locals00) 87
+ Branch 25
+ 25: Label
+ 89: 88(ptr) AccessChain 53(locals0) 17
+ 90: 6(int) Load 89
+ 92: 22(bool) SGreaterThan 90 91
+ SelectionMerge 94 None
+ BranchConditional 92 93 94
+ 93: Label
+ 95: 52(ptr) AccessChain 56(locals00) 17
+ 96: 8(s0) Load 95
+ Store 53(locals0) 96
+ Branch 94
+ 94: Label
+ 100: 88(ptr) AccessChain 53(locals0) 17
+ 101: 6(int) Load 100
+ 102: 7(float) ConvertSToF 101
+ 103: 30(ptr) AccessChain 46(locals1Array) 47 28
+ 104: 7(float) Load 103
+ 105: 7(float) FAdd 102 104
+ 107: 30(ptr) AccessChain 40(fArray) 106
+ 108: 7(float) Load 107
+ 109: 7(float) FAdd 105 108
+ 110: 30(ptr) AccessChain 27(locals2) 32 28
+ 111: 7(float) Load 110
+ 112: 7(float) FAdd 109 111
+ 117: 114 Load 116(samp2D)
+ 118: 59(fvec2) Load 61(coord)
+ 119: 97(fvec4) ImageSampleImplicitLod 117 118
+ 120: 97(fvec4) VectorTimesScalar 119 112
+ Store 99(gl_FragColor) 120
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.structure.frag.out b/Test/baseResults/spv.structure.frag.out
index 79110b8..9e35b70 100755
--- a/Test/baseResults/spv.structure.frag.out
+++ b/Test/baseResults/spv.structure.frag.out
@@ -1,100 +1,100 @@
-spv.structure.frag
-WARNING: 0:3: varying deprecated in version 130; may be removed in future release
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 60
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 54
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 8 "scale"
- Name 18 "lunarStruct1"
- MemberName 18(lunarStruct1) 0 "i"
- MemberName 18(lunarStruct1) 1 "f"
- MemberName 18(lunarStruct1) 2 "color"
- Name 21 "lunarStruct2"
- MemberName 21(lunarStruct2) 0 "i"
- MemberName 21(lunarStruct2) 1 "f"
- MemberName 21(lunarStruct2) 2 "s1_1"
- Name 24 "foo2"
- Name 45 "gl_FragColor"
- Name 50 "samp2D"
- Name 54 "coord"
- Name 59 "foo"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypePointer Function 6(float)
- 9: 6(float) Constant 0
- 10: TypeInt 32 1
- 11: TypeInt 32 0
- 12: 11(int) Constant 5
- 13: TypeArray 10(int) 12
- 14: 11(int) Constant 4
- 15: TypeArray 6(float) 14
- 16: TypeVector 6(float) 4
- 17: TypeArray 16(fvec4) 12
-18(lunarStruct1): TypeStruct 10(int) 15 17
- 19: 11(int) Constant 7
- 20: TypeArray 18(lunarStruct1) 19
-21(lunarStruct2): TypeStruct 13 6(float) 20
- 22: TypeArray 21(lunarStruct2) 12
- 23: TypePointer UniformConstant 22
- 24(foo2): 23(ptr) Variable UniformConstant
- 25: 10(int) Constant 3
- 26: 10(int) Constant 0
- 27: 10(int) Constant 4
- 28: TypePointer UniformConstant 10(int)
- 31: TypeBool
- 35: 10(int) Constant 2
- 36: 11(int) Constant 0
- 37: TypePointer UniformConstant 6(float)
- 41: 10(int) Constant 1
- 44: TypePointer Output 16(fvec4)
-45(gl_FragColor): 44(ptr) Variable Output
- 47: TypeImage 6(float) 2D sampled format:Unknown
- 48: TypeSampledImage 47
- 49: TypePointer UniformConstant 48
- 50(samp2D): 49(ptr) Variable UniformConstant
- 52: TypeVector 6(float) 2
- 53: TypePointer Input 52(fvec2)
- 54(coord): 53(ptr) Variable Input
- 58: TypePointer UniformConstant 18(lunarStruct1)
- 59(foo): 58(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 8(scale): 7(ptr) Variable Function
- Store 8(scale) 9
- 29: 28(ptr) AccessChain 24(foo2) 25 26 27
- 30: 10(int) Load 29
- 32: 31(bool) SGreaterThan 30 26
- SelectionMerge 34 None
- BranchConditional 32 33 40
- 33: Label
- 38: 37(ptr) AccessChain 24(foo2) 25 35 35 35 25 36
- 39: 6(float) Load 38
- Store 8(scale) 39
- Branch 34
- 40: Label
- 42: 37(ptr) AccessChain 24(foo2) 25 35 35 41 25
- 43: 6(float) Load 42
- Store 8(scale) 43
- Branch 34
- 34: Label
- 46: 6(float) Load 8(scale)
- 51: 48 Load 50(samp2D)
- 55: 52(fvec2) Load 54(coord)
- 56: 16(fvec4) ImageSampleImplicitLod 51 55
- 57: 16(fvec4) VectorTimesScalar 56 46
- Store 45(gl_FragColor) 57
- Return
- FunctionEnd
+spv.structure.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 60
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 54
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 8 "scale"
+ Name 18 "lunarStruct1"
+ MemberName 18(lunarStruct1) 0 "i"
+ MemberName 18(lunarStruct1) 1 "f"
+ MemberName 18(lunarStruct1) 2 "color"
+ Name 21 "lunarStruct2"
+ MemberName 21(lunarStruct2) 0 "i"
+ MemberName 21(lunarStruct2) 1 "f"
+ MemberName 21(lunarStruct2) 2 "s1_1"
+ Name 24 "foo2"
+ Name 45 "gl_FragColor"
+ Name 50 "samp2D"
+ Name 54 "coord"
+ Name 59 "foo"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: 6(float) Constant 0
+ 10: TypeInt 32 1
+ 11: TypeInt 32 0
+ 12: 11(int) Constant 5
+ 13: TypeArray 10(int) 12
+ 14: 11(int) Constant 4
+ 15: TypeArray 6(float) 14
+ 16: TypeVector 6(float) 4
+ 17: TypeArray 16(fvec4) 12
+18(lunarStruct1): TypeStruct 10(int) 15 17
+ 19: 11(int) Constant 7
+ 20: TypeArray 18(lunarStruct1) 19
+21(lunarStruct2): TypeStruct 13 6(float) 20
+ 22: TypeArray 21(lunarStruct2) 12
+ 23: TypePointer UniformConstant 22
+ 24(foo2): 23(ptr) Variable UniformConstant
+ 25: 10(int) Constant 3
+ 26: 10(int) Constant 0
+ 27: 10(int) Constant 4
+ 28: TypePointer UniformConstant 10(int)
+ 31: TypeBool
+ 35: 10(int) Constant 2
+ 36: 11(int) Constant 0
+ 37: TypePointer UniformConstant 6(float)
+ 41: 10(int) Constant 1
+ 44: TypePointer Output 16(fvec4)
+45(gl_FragColor): 44(ptr) Variable Output
+ 47: TypeImage 6(float) 2D sampled format:Unknown
+ 48: TypeSampledImage 47
+ 49: TypePointer UniformConstant 48
+ 50(samp2D): 49(ptr) Variable UniformConstant
+ 52: TypeVector 6(float) 2
+ 53: TypePointer Input 52(fvec2)
+ 54(coord): 53(ptr) Variable Input
+ 58: TypePointer UniformConstant 18(lunarStruct1)
+ 59(foo): 58(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(scale): 7(ptr) Variable Function
+ Store 8(scale) 9
+ 29: 28(ptr) AccessChain 24(foo2) 25 26 27
+ 30: 10(int) Load 29
+ 32: 31(bool) SGreaterThan 30 26
+ SelectionMerge 34 None
+ BranchConditional 32 33 40
+ 33: Label
+ 38: 37(ptr) AccessChain 24(foo2) 25 35 35 35 25 36
+ 39: 6(float) Load 38
+ Store 8(scale) 39
+ Branch 34
+ 40: Label
+ 42: 37(ptr) AccessChain 24(foo2) 25 35 35 41 25
+ 43: 6(float) Load 42
+ Store 8(scale) 43
+ Branch 34
+ 34: Label
+ 46: 6(float) Load 8(scale)
+ 51: 48 Load 50(samp2D)
+ 55: 52(fvec2) Load 54(coord)
+ 56: 16(fvec4) ImageSampleImplicitLod 51 55
+ 57: 16(fvec4) VectorTimesScalar 56 46
+ Store 45(gl_FragColor) 57
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.switch.frag.out b/Test/baseResults/spv.switch.frag.out
index 97cbcf9..0d43083 100755
--- a/Test/baseResults/spv.switch.frag.out
+++ b/Test/baseResults/spv.switch.frag.out
@@ -1,400 +1,400 @@
-spv.switch.frag
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-WARNING: 0:121: 'switch' : last case/default label not followed by statements
-WARNING: 0:134: 'switch' : last case/default label not followed by statements
-WARNING: 0:139: 'switch' : last case/default label not followed by statements
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 263
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 73 221
- ExecutionMode 4 OriginLowerLeft
- Source ESSL 310
- Name 4 "main"
- Name 15 "foo1(vf4;vf4;i1;"
- Name 12 "v1"
- Name 13 "v2"
- Name 14 "i1"
- Name 20 "foo2(vf4;vf4;i1;"
- Name 17 "v1"
- Name 18 "v2"
- Name 19 "i1"
- Name 58 "local"
- Name 60 "c"
- Name 71 "f"
- Name 73 "x"
- Name 127 "d"
- Name 153 "i"
- Name 171 "j"
- Name 221 "color"
- Name 227 "v"
- Name 228 "param"
- Name 230 "param"
- Name 232 "param"
- Name 240 "param"
- Name 242 "param"
- Name 244 "param"
- Decorate 58(local) RelaxedPrecision
- Decorate 60(c) RelaxedPrecision
- Decorate 71(f) RelaxedPrecision
- Decorate 73(x) RelaxedPrecision
- Decorate 127(d) RelaxedPrecision
- Decorate 153(i) RelaxedPrecision
- Decorate 171(j) RelaxedPrecision
- Decorate 221(color) RelaxedPrecision
- Decorate 227(v) RelaxedPrecision
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 9: TypeInt 32 1
- 10: TypePointer Function 9(int)
- 11: TypeFunction 7(fvec4) 8(ptr) 8(ptr) 10(ptr)
- 36: 6(float) Constant 0
- 37: 7(fvec4) ConstantComposite 36 36 36 36
- 47: 6(float) Constant 1065353216
- 48: 7(fvec4) ConstantComposite 47 47 47 47
- 59: TypePointer UniformConstant 9(int)
- 60(c): 59(ptr) Variable UniformConstant
- 63: 9(int) Constant 1
- 70: TypePointer Function 6(float)
- 72: TypePointer Input 6(float)
- 73(x): 72(ptr) Variable Input
- 127(d): 59(ptr) Variable UniformConstant
- 154: 9(int) Constant 0
- 159: 9(int) Constant 10
- 160: TypeBool
- 172: 9(int) Constant 20
- 177: 9(int) Constant 30
- 182: 6(float) Constant 1120429670
- 202: 6(float) Constant 1079739679
- 220: TypePointer Output 6(float)
- 221(color): 220(ptr) Variable Output
- 226: TypePointer UniformConstant 7(fvec4)
- 227(v): 226(ptr) Variable UniformConstant
- 235: TypeInt 32 0
- 236: 235(int) Constant 1
- 247: 235(int) Constant 2
- 4(main): 2 Function None 3
- 5: Label
- 58(local): 10(ptr) Variable Function
- 71(f): 70(ptr) Variable Function
- 153(i): 10(ptr) Variable Function
- 171(j): 10(ptr) Variable Function
- 228(param): 8(ptr) Variable Function
- 230(param): 8(ptr) Variable Function
- 232(param): 10(ptr) Variable Function
- 240(param): 8(ptr) Variable Function
- 242(param): 8(ptr) Variable Function
- 244(param): 10(ptr) Variable Function
- 61: 9(int) Load 60(c)
- Store 58(local) 61
- 62: 9(int) Load 58(local)
- 64: 9(int) IAdd 62 63
- Store 58(local) 64
- 65: 9(int) Load 60(c)
- SelectionMerge 69 None
- Switch 65 68
- case 1: 66
- case 2: 67
- 66: Label
- 74: 6(float) Load 73(x)
- 75: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 74
- Store 71(f) 75
- Branch 69
- 67: Label
- 77: 6(float) Load 73(x)
- 78: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 77
- Store 71(f) 78
- Branch 69
- 68: Label
- 80: 6(float) Load 73(x)
- 81: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 80
- Store 71(f) 81
- Branch 69
- 69: Label
- 83: 9(int) Load 60(c)
- SelectionMerge 87 None
- Switch 83 86
- case 1: 84
- case 2: 85
- 84: Label
- 88: 6(float) Load 73(x)
- 89: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 88
- 90: 6(float) Load 71(f)
- 91: 6(float) FAdd 90 89
- Store 71(f) 91
- Branch 85
- 85: Label
- 92: 6(float) Load 73(x)
- 93: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 92
- 94: 6(float) Load 71(f)
- 95: 6(float) FAdd 94 93
- Store 71(f) 95
- Branch 87
- 86: Label
- 97: 6(float) Load 73(x)
- 98: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 97
- 99: 6(float) Load 71(f)
- 100: 6(float) FAdd 99 98
- Store 71(f) 100
- Branch 87
- 87: Label
- 102: 9(int) Load 60(c)
- SelectionMerge 105 None
- Switch 102 105
- case 1: 103
- case 2: 104
- 103: Label
- 106: 6(float) Load 73(x)
- 107: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 106
- 108: 6(float) Load 71(f)
- 109: 6(float) FAdd 108 107
- Store 71(f) 109
- Branch 105
- 104: Label
- 111: 6(float) Load 73(x)
- 112: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 111
- 113: 6(float) Load 71(f)
- 114: 6(float) FAdd 113 112
- Store 71(f) 114
- Branch 105
- 105: Label
- 117: 9(int) Load 60(c)
- SelectionMerge 121 None
- Switch 117 120
- case 1: 118
- case 2: 119
- 118: Label
- 122: 6(float) Load 73(x)
- 123: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 122
- 124: 6(float) Load 71(f)
- 125: 6(float) FAdd 124 123
- Store 71(f) 125
- Branch 121
- 119: Label
- 128: 9(int) Load 127(d)
- SelectionMerge 131 None
- Switch 128 131
- case 1: 129
- case 2: 130
- 129: Label
- 132: 6(float) Load 73(x)
- 133: 6(float) Load 73(x)
- 134: 6(float) FMul 132 133
- 135: 6(float) Load 73(x)
- 136: 6(float) FMul 134 135
- 137: 6(float) Load 71(f)
- 138: 6(float) FAdd 137 136
- Store 71(f) 138
- Branch 131
- 130: Label
- 140: 6(float) Load 73(x)
- 141: 6(float) Load 73(x)
- 142: 6(float) FMul 140 141
- 143: 6(float) Load 71(f)
- 144: 6(float) FAdd 143 142
- Store 71(f) 144
- Branch 131
- 131: Label
- Branch 121
- 120: Label
- 148: 6(float) Load 73(x)
- 149: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 148
- 150: 6(float) Load 71(f)
- 151: 6(float) FAdd 150 149
- Store 71(f) 151
- Branch 121
- 121: Label
- Store 153(i) 154
- Branch 155
- 155: Label
- 158: 9(int) Load 153(i)
- 161: 160(bool) SLessThan 158 159
- LoopMerge 156 155 None
- BranchConditional 161 157 156
- 157: Label
- 162: 9(int) Load 60(c)
- SelectionMerge 166 None
- Switch 162 165
- case 1: 163
- case 2: 164
- 163: Label
- 167: 6(float) Load 73(x)
- 168: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 167
- 169: 6(float) Load 71(f)
- 170: 6(float) FAdd 169 168
- Store 71(f) 170
- Store 171(j) 172
- Branch 173
- 173: Label
- 176: 9(int) Load 171(j)
- 178: 160(bool) SLessThan 176 177
- LoopMerge 174 173 None
- BranchConditional 178 175 174
- 175: Label
- 179: 6(float) Load 71(f)
- 180: 6(float) FAdd 179 47
- Store 71(f) 180
- 181: 6(float) Load 71(f)
- 183: 160(bool) FOrdLessThan 181 182
- SelectionMerge 185 None
- BranchConditional 183 184 185
- 184: Label
- Branch 174
- 185: Label
- 187: 9(int) Load 171(j)
- 188: 9(int) IAdd 187 63
- Store 171(j) 188
- Branch 173
- 174: Label
- Branch 166
- 164: Label
- 190: 6(float) Load 73(x)
- 191: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 190
- 192: 6(float) Load 71(f)
- 193: 6(float) FAdd 192 191
- Store 71(f) 193
- Branch 166
- 165: Label
- 196: 6(float) Load 73(x)
- 197: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 196
- 198: 6(float) Load 71(f)
- 199: 6(float) FAdd 198 197
- Store 71(f) 199
- Branch 166
- 166: Label
- 201: 6(float) Load 71(f)
- 203: 160(bool) FOrdLessThan 201 202
- SelectionMerge 205 None
- BranchConditional 203 204 205
- 204: Label
- Branch 156
- 205: Label
- 207: 9(int) Load 153(i)
- 208: 9(int) IAdd 207 63
- Store 153(i) 208
- Branch 155
- 156: Label
- 209: 9(int) Load 60(c)
- SelectionMerge 212 None
- Switch 209 212
- case 1: 210
- case 2: 211
- 210: Label
- 213: 6(float) Load 73(x)
- 214: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 213
- 215: 6(float) Load 71(f)
- 216: 6(float) FAdd 215 214
- Store 71(f) 216
- Branch 212
- 211: Label
- Branch 212
- 212: Label
- 222: 6(float) Load 71(f)
- 223: 9(int) Load 58(local)
- 224: 6(float) ConvertSToF 223
- 225: 6(float) FAdd 222 224
- Store 221(color) 225
- 229: 7(fvec4) Load 227(v)
- Store 228(param) 229
- 231: 7(fvec4) Load 227(v)
- Store 230(param) 231
- 233: 9(int) Load 60(c)
- Store 232(param) 233
- 234: 7(fvec4) FunctionCall 15(foo1(vf4;vf4;i1;) 228(param) 230(param) 232(param)
- 237: 6(float) CompositeExtract 234 1
- 238: 6(float) Load 221(color)
- 239: 6(float) FAdd 238 237
- Store 221(color) 239
- 241: 7(fvec4) Load 227(v)
- Store 240(param) 241
- 243: 7(fvec4) Load 227(v)
- Store 242(param) 243
- 245: 9(int) Load 60(c)
- Store 244(param) 245
- 246: 7(fvec4) FunctionCall 20(foo2(vf4;vf4;i1;) 240(param) 242(param) 244(param)
- 248: 6(float) CompositeExtract 246 2
- 249: 6(float) Load 221(color)
- 250: 6(float) FAdd 249 248
- Store 221(color) 250
- 251: 9(int) Load 60(c)
- SelectionMerge 254 None
- Switch 251 253
- case 0: 252
- 252: Label
- Branch 254
- 253: Label
- Branch 254
- 254: Label
- 258: 9(int) Load 60(c)
- SelectionMerge 260 None
- Switch 258 259
- 259: Label
- Branch 260
- 260: Label
- Return
- FunctionEnd
-15(foo1(vf4;vf4;i1;): 7(fvec4) Function None 11
- 12(v1): 8(ptr) FunctionParameter
- 13(v2): 8(ptr) FunctionParameter
- 14(i1): 10(ptr) FunctionParameter
- 16: Label
- 22: 9(int) Load 14(i1)
- SelectionMerge 26 None
- Switch 22 26
- case 0: 23
- case 2: 24
- case 1: 24
- case 3: 25
- 23: Label
- 27: 7(fvec4) Load 12(v1)
- ReturnValue 27
- 24: Label
- 29: 7(fvec4) Load 13(v2)
- ReturnValue 29
- 25: Label
- 31: 7(fvec4) Load 12(v1)
- 32: 7(fvec4) Load 13(v2)
- 33: 7(fvec4) FMul 31 32
- ReturnValue 33
- 26: Label
- ReturnValue 37
- FunctionEnd
-20(foo2(vf4;vf4;i1;): 7(fvec4) Function None 11
- 17(v1): 8(ptr) FunctionParameter
- 18(v2): 8(ptr) FunctionParameter
- 19(i1): 10(ptr) FunctionParameter
- 21: Label
- 39: 9(int) Load 19(i1)
- SelectionMerge 44 None
- Switch 39 44
- case 0: 40
- case 2: 41
- case 1: 42
- case 3: 43
- 40: Label
- 45: 7(fvec4) Load 17(v1)
- ReturnValue 45
- 41: Label
- ReturnValue 48
- 42: Label
- 50: 7(fvec4) Load 18(v2)
- ReturnValue 50
- 43: Label
- 52: 7(fvec4) Load 17(v1)
- 53: 7(fvec4) Load 18(v2)
- 54: 7(fvec4) FMul 52 53
- ReturnValue 54
- 44: Label
- ReturnValue 37
- FunctionEnd
+spv.switch.frag
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
+WARNING: 0:121: 'switch' : last case/default label not followed by statements
+WARNING: 0:134: 'switch' : last case/default label not followed by statements
+WARNING: 0:139: 'switch' : last case/default label not followed by statements
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 263
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 73 221
+ ExecutionMode 4 OriginLowerLeft
+ Source ESSL 310
+ Name 4 "main"
+ Name 15 "foo1(vf4;vf4;i1;"
+ Name 12 "v1"
+ Name 13 "v2"
+ Name 14 "i1"
+ Name 20 "foo2(vf4;vf4;i1;"
+ Name 17 "v1"
+ Name 18 "v2"
+ Name 19 "i1"
+ Name 58 "local"
+ Name 60 "c"
+ Name 71 "f"
+ Name 73 "x"
+ Name 127 "d"
+ Name 153 "i"
+ Name 171 "j"
+ Name 221 "color"
+ Name 227 "v"
+ Name 228 "param"
+ Name 230 "param"
+ Name 232 "param"
+ Name 240 "param"
+ Name 242 "param"
+ Name 244 "param"
+ Decorate 58(local) RelaxedPrecision
+ Decorate 60(c) RelaxedPrecision
+ Decorate 71(f) RelaxedPrecision
+ Decorate 73(x) RelaxedPrecision
+ Decorate 127(d) RelaxedPrecision
+ Decorate 153(i) RelaxedPrecision
+ Decorate 171(j) RelaxedPrecision
+ Decorate 221(color) RelaxedPrecision
+ Decorate 227(v) RelaxedPrecision
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 9: TypeInt 32 1
+ 10: TypePointer Function 9(int)
+ 11: TypeFunction 7(fvec4) 8(ptr) 8(ptr) 10(ptr)
+ 36: 6(float) Constant 0
+ 37: 7(fvec4) ConstantComposite 36 36 36 36
+ 47: 6(float) Constant 1065353216
+ 48: 7(fvec4) ConstantComposite 47 47 47 47
+ 59: TypePointer UniformConstant 9(int)
+ 60(c): 59(ptr) Variable UniformConstant
+ 63: 9(int) Constant 1
+ 70: TypePointer Function 6(float)
+ 72: TypePointer Input 6(float)
+ 73(x): 72(ptr) Variable Input
+ 127(d): 59(ptr) Variable UniformConstant
+ 154: 9(int) Constant 0
+ 159: 9(int) Constant 10
+ 160: TypeBool
+ 172: 9(int) Constant 20
+ 177: 9(int) Constant 30
+ 182: 6(float) Constant 1120429670
+ 202: 6(float) Constant 1079739679
+ 220: TypePointer Output 6(float)
+ 221(color): 220(ptr) Variable Output
+ 226: TypePointer UniformConstant 7(fvec4)
+ 227(v): 226(ptr) Variable UniformConstant
+ 235: TypeInt 32 0
+ 236: 235(int) Constant 1
+ 247: 235(int) Constant 2
+ 4(main): 2 Function None 3
+ 5: Label
+ 58(local): 10(ptr) Variable Function
+ 71(f): 70(ptr) Variable Function
+ 153(i): 10(ptr) Variable Function
+ 171(j): 10(ptr) Variable Function
+ 228(param): 8(ptr) Variable Function
+ 230(param): 8(ptr) Variable Function
+ 232(param): 10(ptr) Variable Function
+ 240(param): 8(ptr) Variable Function
+ 242(param): 8(ptr) Variable Function
+ 244(param): 10(ptr) Variable Function
+ 61: 9(int) Load 60(c)
+ Store 58(local) 61
+ 62: 9(int) Load 58(local)
+ 64: 9(int) IAdd 62 63
+ Store 58(local) 64
+ 65: 9(int) Load 60(c)
+ SelectionMerge 69 None
+ Switch 65 68
+ case 1: 66
+ case 2: 67
+ 66: Label
+ 74: 6(float) Load 73(x)
+ 75: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 74
+ Store 71(f) 75
+ Branch 69
+ 67: Label
+ 77: 6(float) Load 73(x)
+ 78: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 77
+ Store 71(f) 78
+ Branch 69
+ 68: Label
+ 80: 6(float) Load 73(x)
+ 81: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 80
+ Store 71(f) 81
+ Branch 69
+ 69: Label
+ 83: 9(int) Load 60(c)
+ SelectionMerge 87 None
+ Switch 83 86
+ case 1: 84
+ case 2: 85
+ 84: Label
+ 88: 6(float) Load 73(x)
+ 89: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 88
+ 90: 6(float) Load 71(f)
+ 91: 6(float) FAdd 90 89
+ Store 71(f) 91
+ Branch 85
+ 85: Label
+ 92: 6(float) Load 73(x)
+ 93: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 92
+ 94: 6(float) Load 71(f)
+ 95: 6(float) FAdd 94 93
+ Store 71(f) 95
+ Branch 87
+ 86: Label
+ 97: 6(float) Load 73(x)
+ 98: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 97
+ 99: 6(float) Load 71(f)
+ 100: 6(float) FAdd 99 98
+ Store 71(f) 100
+ Branch 87
+ 87: Label
+ 102: 9(int) Load 60(c)
+ SelectionMerge 105 None
+ Switch 102 105
+ case 1: 103
+ case 2: 104
+ 103: Label
+ 106: 6(float) Load 73(x)
+ 107: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 106
+ 108: 6(float) Load 71(f)
+ 109: 6(float) FAdd 108 107
+ Store 71(f) 109
+ Branch 105
+ 104: Label
+ 111: 6(float) Load 73(x)
+ 112: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 111
+ 113: 6(float) Load 71(f)
+ 114: 6(float) FAdd 113 112
+ Store 71(f) 114
+ Branch 105
+ 105: Label
+ 117: 9(int) Load 60(c)
+ SelectionMerge 121 None
+ Switch 117 120
+ case 1: 118
+ case 2: 119
+ 118: Label
+ 122: 6(float) Load 73(x)
+ 123: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 122
+ 124: 6(float) Load 71(f)
+ 125: 6(float) FAdd 124 123
+ Store 71(f) 125
+ Branch 121
+ 119: Label
+ 128: 9(int) Load 127(d)
+ SelectionMerge 131 None
+ Switch 128 131
+ case 1: 129
+ case 2: 130
+ 129: Label
+ 132: 6(float) Load 73(x)
+ 133: 6(float) Load 73(x)
+ 134: 6(float) FMul 132 133
+ 135: 6(float) Load 73(x)
+ 136: 6(float) FMul 134 135
+ 137: 6(float) Load 71(f)
+ 138: 6(float) FAdd 137 136
+ Store 71(f) 138
+ Branch 131
+ 130: Label
+ 140: 6(float) Load 73(x)
+ 141: 6(float) Load 73(x)
+ 142: 6(float) FMul 140 141
+ 143: 6(float) Load 71(f)
+ 144: 6(float) FAdd 143 142
+ Store 71(f) 144
+ Branch 131
+ 131: Label
+ Branch 121
+ 120: Label
+ 148: 6(float) Load 73(x)
+ 149: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 148
+ 150: 6(float) Load 71(f)
+ 151: 6(float) FAdd 150 149
+ Store 71(f) 151
+ Branch 121
+ 121: Label
+ Store 153(i) 154
+ Branch 155
+ 155: Label
+ 158: 9(int) Load 153(i)
+ 161: 160(bool) SLessThan 158 159
+ LoopMerge 156 155 None
+ BranchConditional 161 157 156
+ 157: Label
+ 162: 9(int) Load 60(c)
+ SelectionMerge 166 None
+ Switch 162 165
+ case 1: 163
+ case 2: 164
+ 163: Label
+ 167: 6(float) Load 73(x)
+ 168: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 167
+ 169: 6(float) Load 71(f)
+ 170: 6(float) FAdd 169 168
+ Store 71(f) 170
+ Store 171(j) 172
+ Branch 173
+ 173: Label
+ 176: 9(int) Load 171(j)
+ 178: 160(bool) SLessThan 176 177
+ LoopMerge 174 173 None
+ BranchConditional 178 175 174
+ 175: Label
+ 179: 6(float) Load 71(f)
+ 180: 6(float) FAdd 179 47
+ Store 71(f) 180
+ 181: 6(float) Load 71(f)
+ 183: 160(bool) FOrdLessThan 181 182
+ SelectionMerge 185 None
+ BranchConditional 183 184 185
+ 184: Label
+ Branch 174
+ 185: Label
+ 187: 9(int) Load 171(j)
+ 188: 9(int) IAdd 187 63
+ Store 171(j) 188
+ Branch 173
+ 174: Label
+ Branch 166
+ 164: Label
+ 190: 6(float) Load 73(x)
+ 191: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 190
+ 192: 6(float) Load 71(f)
+ 193: 6(float) FAdd 192 191
+ Store 71(f) 193
+ Branch 166
+ 165: Label
+ 196: 6(float) Load 73(x)
+ 197: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 196
+ 198: 6(float) Load 71(f)
+ 199: 6(float) FAdd 198 197
+ Store 71(f) 199
+ Branch 166
+ 166: Label
+ 201: 6(float) Load 71(f)
+ 203: 160(bool) FOrdLessThan 201 202
+ SelectionMerge 205 None
+ BranchConditional 203 204 205
+ 204: Label
+ Branch 156
+ 205: Label
+ 207: 9(int) Load 153(i)
+ 208: 9(int) IAdd 207 63
+ Store 153(i) 208
+ Branch 155
+ 156: Label
+ 209: 9(int) Load 60(c)
+ SelectionMerge 212 None
+ Switch 209 212
+ case 1: 210
+ case 2: 211
+ 210: Label
+ 213: 6(float) Load 73(x)
+ 214: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 213
+ 215: 6(float) Load 71(f)
+ 216: 6(float) FAdd 215 214
+ Store 71(f) 216
+ Branch 212
+ 211: Label
+ Branch 212
+ 212: Label
+ 222: 6(float) Load 71(f)
+ 223: 9(int) Load 58(local)
+ 224: 6(float) ConvertSToF 223
+ 225: 6(float) FAdd 222 224
+ Store 221(color) 225
+ 229: 7(fvec4) Load 227(v)
+ Store 228(param) 229
+ 231: 7(fvec4) Load 227(v)
+ Store 230(param) 231
+ 233: 9(int) Load 60(c)
+ Store 232(param) 233
+ 234: 7(fvec4) FunctionCall 15(foo1(vf4;vf4;i1;) 228(param) 230(param) 232(param)
+ 237: 6(float) CompositeExtract 234 1
+ 238: 6(float) Load 221(color)
+ 239: 6(float) FAdd 238 237
+ Store 221(color) 239
+ 241: 7(fvec4) Load 227(v)
+ Store 240(param) 241
+ 243: 7(fvec4) Load 227(v)
+ Store 242(param) 243
+ 245: 9(int) Load 60(c)
+ Store 244(param) 245
+ 246: 7(fvec4) FunctionCall 20(foo2(vf4;vf4;i1;) 240(param) 242(param) 244(param)
+ 248: 6(float) CompositeExtract 246 2
+ 249: 6(float) Load 221(color)
+ 250: 6(float) FAdd 249 248
+ Store 221(color) 250
+ 251: 9(int) Load 60(c)
+ SelectionMerge 254 None
+ Switch 251 253
+ case 0: 252
+ 252: Label
+ Branch 254
+ 253: Label
+ Branch 254
+ 254: Label
+ 258: 9(int) Load 60(c)
+ SelectionMerge 260 None
+ Switch 258 259
+ 259: Label
+ Branch 260
+ 260: Label
+ Return
+ FunctionEnd
+15(foo1(vf4;vf4;i1;): 7(fvec4) Function None 11
+ 12(v1): 8(ptr) FunctionParameter
+ 13(v2): 8(ptr) FunctionParameter
+ 14(i1): 10(ptr) FunctionParameter
+ 16: Label
+ 22: 9(int) Load 14(i1)
+ SelectionMerge 26 None
+ Switch 22 26
+ case 0: 23
+ case 2: 24
+ case 1: 24
+ case 3: 25
+ 23: Label
+ 27: 7(fvec4) Load 12(v1)
+ ReturnValue 27
+ 24: Label
+ 29: 7(fvec4) Load 13(v2)
+ ReturnValue 29
+ 25: Label
+ 31: 7(fvec4) Load 12(v1)
+ 32: 7(fvec4) Load 13(v2)
+ 33: 7(fvec4) FMul 31 32
+ ReturnValue 33
+ 26: Label
+ ReturnValue 37
+ FunctionEnd
+20(foo2(vf4;vf4;i1;): 7(fvec4) Function None 11
+ 17(v1): 8(ptr) FunctionParameter
+ 18(v2): 8(ptr) FunctionParameter
+ 19(i1): 10(ptr) FunctionParameter
+ 21: Label
+ 39: 9(int) Load 19(i1)
+ SelectionMerge 44 None
+ Switch 39 44
+ case 0: 40
+ case 2: 41
+ case 1: 42
+ case 3: 43
+ 40: Label
+ 45: 7(fvec4) Load 17(v1)
+ ReturnValue 45
+ 41: Label
+ ReturnValue 48
+ 42: Label
+ 50: 7(fvec4) Load 18(v2)
+ ReturnValue 50
+ 43: Label
+ 52: 7(fvec4) Load 17(v1)
+ 53: 7(fvec4) Load 18(v2)
+ 54: 7(fvec4) FMul 52 53
+ ReturnValue 54
+ 44: Label
+ ReturnValue 37
+ FunctionEnd
diff --git a/Test/baseResults/spv.swizzle.frag.out b/Test/baseResults/spv.swizzle.frag.out
index f66dc4e..ded0f05 100755
--- a/Test/baseResults/spv.swizzle.frag.out
+++ b/Test/baseResults/spv.swizzle.frag.out
@@ -1,171 +1,171 @@
-spv.swizzle.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 109
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 30
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 110
- Name 4 "main"
- Name 8 "blendscale"
- Name 12 "w"
- Name 14 "u"
- Name 16 "w_dep"
- Name 18 "w_reorder"
- Name 20 "w2"
- Name 22 "w_flow"
- Name 30 "t"
- Name 49 "w_undef"
- Name 56 "p"
- Name 69 "gl_FragColor"
- Name 81 "c"
- Name 83 "rep"
- Name 108 "blend"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypePointer Function 6(float)
- 9: 6(float) Constant 1071971828
- 10: TypeVector 6(float) 4
- 11: TypePointer Function 10(fvec4)
- 13: TypePointer UniformConstant 10(fvec4)
- 14(u): 13(ptr) Variable UniformConstant
- 25: TypeInt 32 0
- 26: 25(int) Constant 2
- 28: TypeVector 6(float) 2
- 29: TypePointer Input 28(fvec2)
- 30(t): 29(ptr) Variable Input
- 35: 25(int) Constant 0
- 40: 25(int) Constant 1
- 54: TypeBool
- 55: TypePointer UniformConstant 54(bool)
- 56(p): 55(ptr) Variable UniformConstant
- 60: TypePointer Input 6(float)
- 68: TypePointer Output 10(fvec4)
-69(gl_FragColor): 68(ptr) Variable Output
- 80: TypePointer Function 28(fvec2)
- 84: 6(float) Constant 0
- 85: 6(float) Constant 1065353216
- 86: 10(fvec4) ConstantComposite 84 84 84 85
- 92: 6(float) Constant 3212836864
- 102: 6(float) Constant 1079613850
- 107: TypePointer UniformConstant 6(float)
- 108(blend): 107(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 8(blendscale): 7(ptr) Variable Function
- 12(w): 11(ptr) Variable Function
- 16(w_dep): 11(ptr) Variable Function
- 18(w_reorder): 11(ptr) Variable Function
- 20(w2): 11(ptr) Variable Function
- 22(w_flow): 11(ptr) Variable Function
- 49(w_undef): 11(ptr) Variable Function
- 81(c): 80(ptr) Variable Function
- 83(rep): 11(ptr) Variable Function
- Store 8(blendscale) 9
- 15: 10(fvec4) Load 14(u)
- Store 12(w) 15
- 17: 10(fvec4) Load 14(u)
- Store 16(w_dep) 17
- 19: 10(fvec4) Load 14(u)
- Store 18(w_reorder) 19
- 21: 10(fvec4) Load 14(u)
- Store 20(w2) 21
- 23: 10(fvec4) Load 14(u)
- Store 22(w_flow) 23
- 24: 6(float) Load 8(blendscale)
- 27: 7(ptr) AccessChain 18(w_reorder) 26
- Store 27 24
- 31: 28(fvec2) Load 30(t)
- 32: 10(fvec4) Load 12(w)
- 33: 10(fvec4) VectorShuffle 32 31 0 5 2 4
- Store 12(w) 33
- 34: 6(float) Load 8(blendscale)
- 36: 7(ptr) AccessChain 18(w_reorder) 35
- Store 36 34
- 37: 10(fvec4) Load 14(u)
- 38: 10(fvec4) VectorShuffle 37 37 2 3 0 1
- Store 20(w2) 38
- 39: 6(float) Load 8(blendscale)
- 41: 7(ptr) AccessChain 18(w_reorder) 40
- Store 41 39
- 42: 10(fvec4) Load 20(w2)
- 43: 28(fvec2) VectorShuffle 42 42 0 2
- 44: 10(fvec4) Load 16(w_dep)
- 45: 10(fvec4) VectorShuffle 44 43 4 5 2 3
- Store 16(w_dep) 45
- 46: 28(fvec2) Load 30(t)
- 47: 10(fvec4) Load 16(w_dep)
- 48: 10(fvec4) VectorShuffle 47 46 0 1 4 5
- Store 16(w_dep) 48
- 50: 10(fvec4) Load 14(u)
- 51: 28(fvec2) VectorShuffle 50 50 2 3
- 52: 10(fvec4) Load 49(w_undef)
- 53: 10(fvec4) VectorShuffle 52 51 4 5 2 3
- Store 49(w_undef) 53
- 57: 54(bool) Load 56(p)
- SelectionMerge 59 None
- BranchConditional 57 58 64
- 58: Label
- 61: 60(ptr) AccessChain 30(t) 35
- 62: 6(float) Load 61
- 63: 7(ptr) AccessChain 22(w_flow) 35
- Store 63 62
- Branch 59
- 64: Label
- 65: 60(ptr) AccessChain 30(t) 40
- 66: 6(float) Load 65
- 67: 7(ptr) AccessChain 22(w_flow) 35
- Store 67 66
- Branch 59
- 59: Label
- 70: 10(fvec4) Load 18(w_reorder)
- 71: 10(fvec4) Load 49(w_undef)
- 72: 10(fvec4) Load 12(w)
- 73: 10(fvec4) Load 20(w2)
- 74: 10(fvec4) FMul 72 73
- 75: 10(fvec4) Load 16(w_dep)
- 76: 10(fvec4) FMul 74 75
- 77: 10(fvec4) Load 22(w_flow)
- 78: 10(fvec4) FMul 76 77
- 79: 10(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 70 71 78
- Store 69(gl_FragColor) 79
- 82: 28(fvec2) Load 30(t)
- Store 81(c) 82
- Store 83(rep) 86
- 87: 7(ptr) AccessChain 81(c) 35
- 88: 6(float) Load 87
- 89: 54(bool) FOrdLessThan 88 84
- SelectionMerge 91 None
- BranchConditional 89 90 91
- 90: Label
- 93: 7(ptr) AccessChain 81(c) 35
- 94: 6(float) Load 93
- 95: 6(float) FMul 94 92
- 96: 7(ptr) AccessChain 81(c) 35
- Store 96 95
- Branch 91
- 91: Label
- 97: 7(ptr) AccessChain 81(c) 35
- 98: 6(float) Load 97
- 99: 54(bool) FOrdLessThanEqual 98 85
- SelectionMerge 101 None
- BranchConditional 99 100 101
- 100: Label
- 103: 7(ptr) AccessChain 83(rep) 35
- Store 103 102
- Branch 101
- 101: Label
- 104: 10(fvec4) Load 83(rep)
- 105: 10(fvec4) Load 69(gl_FragColor)
- 106: 10(fvec4) FAdd 105 104
- Store 69(gl_FragColor) 106
- Return
- FunctionEnd
+spv.swizzle.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 109
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 30
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 110
+ Name 4 "main"
+ Name 8 "blendscale"
+ Name 12 "w"
+ Name 14 "u"
+ Name 16 "w_dep"
+ Name 18 "w_reorder"
+ Name 20 "w2"
+ Name 22 "w_flow"
+ Name 30 "t"
+ Name 49 "w_undef"
+ Name 56 "p"
+ Name 69 "gl_FragColor"
+ Name 81 "c"
+ Name 83 "rep"
+ Name 108 "blend"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: 6(float) Constant 1071971828
+ 10: TypeVector 6(float) 4
+ 11: TypePointer Function 10(fvec4)
+ 13: TypePointer UniformConstant 10(fvec4)
+ 14(u): 13(ptr) Variable UniformConstant
+ 25: TypeInt 32 0
+ 26: 25(int) Constant 2
+ 28: TypeVector 6(float) 2
+ 29: TypePointer Input 28(fvec2)
+ 30(t): 29(ptr) Variable Input
+ 35: 25(int) Constant 0
+ 40: 25(int) Constant 1
+ 54: TypeBool
+ 55: TypePointer UniformConstant 54(bool)
+ 56(p): 55(ptr) Variable UniformConstant
+ 60: TypePointer Input 6(float)
+ 68: TypePointer Output 10(fvec4)
+69(gl_FragColor): 68(ptr) Variable Output
+ 80: TypePointer Function 28(fvec2)
+ 84: 6(float) Constant 0
+ 85: 6(float) Constant 1065353216
+ 86: 10(fvec4) ConstantComposite 84 84 84 85
+ 92: 6(float) Constant 3212836864
+ 102: 6(float) Constant 1079613850
+ 107: TypePointer UniformConstant 6(float)
+ 108(blend): 107(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(blendscale): 7(ptr) Variable Function
+ 12(w): 11(ptr) Variable Function
+ 16(w_dep): 11(ptr) Variable Function
+ 18(w_reorder): 11(ptr) Variable Function
+ 20(w2): 11(ptr) Variable Function
+ 22(w_flow): 11(ptr) Variable Function
+ 49(w_undef): 11(ptr) Variable Function
+ 81(c): 80(ptr) Variable Function
+ 83(rep): 11(ptr) Variable Function
+ Store 8(blendscale) 9
+ 15: 10(fvec4) Load 14(u)
+ Store 12(w) 15
+ 17: 10(fvec4) Load 14(u)
+ Store 16(w_dep) 17
+ 19: 10(fvec4) Load 14(u)
+ Store 18(w_reorder) 19
+ 21: 10(fvec4) Load 14(u)
+ Store 20(w2) 21
+ 23: 10(fvec4) Load 14(u)
+ Store 22(w_flow) 23
+ 24: 6(float) Load 8(blendscale)
+ 27: 7(ptr) AccessChain 18(w_reorder) 26
+ Store 27 24
+ 31: 28(fvec2) Load 30(t)
+ 32: 10(fvec4) Load 12(w)
+ 33: 10(fvec4) VectorShuffle 32 31 0 5 2 4
+ Store 12(w) 33
+ 34: 6(float) Load 8(blendscale)
+ 36: 7(ptr) AccessChain 18(w_reorder) 35
+ Store 36 34
+ 37: 10(fvec4) Load 14(u)
+ 38: 10(fvec4) VectorShuffle 37 37 2 3 0 1
+ Store 20(w2) 38
+ 39: 6(float) Load 8(blendscale)
+ 41: 7(ptr) AccessChain 18(w_reorder) 40
+ Store 41 39
+ 42: 10(fvec4) Load 20(w2)
+ 43: 28(fvec2) VectorShuffle 42 42 0 2
+ 44: 10(fvec4) Load 16(w_dep)
+ 45: 10(fvec4) VectorShuffle 44 43 4 5 2 3
+ Store 16(w_dep) 45
+ 46: 28(fvec2) Load 30(t)
+ 47: 10(fvec4) Load 16(w_dep)
+ 48: 10(fvec4) VectorShuffle 47 46 0 1 4 5
+ Store 16(w_dep) 48
+ 50: 10(fvec4) Load 14(u)
+ 51: 28(fvec2) VectorShuffle 50 50 2 3
+ 52: 10(fvec4) Load 49(w_undef)
+ 53: 10(fvec4) VectorShuffle 52 51 4 5 2 3
+ Store 49(w_undef) 53
+ 57: 54(bool) Load 56(p)
+ SelectionMerge 59 None
+ BranchConditional 57 58 64
+ 58: Label
+ 61: 60(ptr) AccessChain 30(t) 35
+ 62: 6(float) Load 61
+ 63: 7(ptr) AccessChain 22(w_flow) 35
+ Store 63 62
+ Branch 59
+ 64: Label
+ 65: 60(ptr) AccessChain 30(t) 40
+ 66: 6(float) Load 65
+ 67: 7(ptr) AccessChain 22(w_flow) 35
+ Store 67 66
+ Branch 59
+ 59: Label
+ 70: 10(fvec4) Load 18(w_reorder)
+ 71: 10(fvec4) Load 49(w_undef)
+ 72: 10(fvec4) Load 12(w)
+ 73: 10(fvec4) Load 20(w2)
+ 74: 10(fvec4) FMul 72 73
+ 75: 10(fvec4) Load 16(w_dep)
+ 76: 10(fvec4) FMul 74 75
+ 77: 10(fvec4) Load 22(w_flow)
+ 78: 10(fvec4) FMul 76 77
+ 79: 10(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 70 71 78
+ Store 69(gl_FragColor) 79
+ 82: 28(fvec2) Load 30(t)
+ Store 81(c) 82
+ Store 83(rep) 86
+ 87: 7(ptr) AccessChain 81(c) 35
+ 88: 6(float) Load 87
+ 89: 54(bool) FOrdLessThan 88 84
+ SelectionMerge 91 None
+ BranchConditional 89 90 91
+ 90: Label
+ 93: 7(ptr) AccessChain 81(c) 35
+ 94: 6(float) Load 93
+ 95: 6(float) FMul 94 92
+ 96: 7(ptr) AccessChain 81(c) 35
+ Store 96 95
+ Branch 91
+ 91: Label
+ 97: 7(ptr) AccessChain 81(c) 35
+ 98: 6(float) Load 97
+ 99: 54(bool) FOrdLessThanEqual 98 85
+ SelectionMerge 101 None
+ BranchConditional 99 100 101
+ 100: Label
+ 103: 7(ptr) AccessChain 83(rep) 35
+ Store 103 102
+ Branch 101
+ 101: Label
+ 104: 10(fvec4) Load 83(rep)
+ 105: 10(fvec4) Load 69(gl_FragColor)
+ 106: 10(fvec4) FAdd 105 104
+ Store 69(gl_FragColor) 106
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.test.frag.out b/Test/baseResults/spv.test.frag.out
index 344d021..8bed807 100755
--- a/Test/baseResults/spv.test.frag.out
+++ b/Test/baseResults/spv.test.frag.out
@@ -1,88 +1,88 @@
-spv.test.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 55
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 20 38
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 400
- Name 4 "main"
- Name 8 "blendscale"
- Name 12 "v"
- Name 16 "texSampler2D"
- Name 20 "t"
- Name 23 "scale"
- Name 30 "w"
- Name 34 "texSampler3D"
- Name 38 "coords"
- Name 44 "gl_FragColor"
- Name 47 "u"
- Name 50 "blend"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypePointer Function 6(float)
- 9: 6(float) Constant 1071971828
- 10: TypeVector 6(float) 4
- 11: TypePointer Function 10(fvec4)
- 13: TypeImage 6(float) 2D sampled format:Unknown
- 14: TypeSampledImage 13
- 15: TypePointer UniformConstant 14
-16(texSampler2D): 15(ptr) Variable UniformConstant
- 18: TypeVector 6(float) 2
- 19: TypePointer Input 18(fvec2)
- 20(t): 19(ptr) Variable Input
- 22: TypePointer UniformConstant 18(fvec2)
- 23(scale): 22(ptr) Variable UniformConstant
- 31: TypeImage 6(float) 3D sampled format:Unknown
- 32: TypeSampledImage 31
- 33: TypePointer UniformConstant 32
-34(texSampler3D): 33(ptr) Variable UniformConstant
- 36: TypeVector 6(float) 3
- 37: TypePointer Input 36(fvec3)
- 38(coords): 37(ptr) Variable Input
- 43: TypePointer Output 10(fvec4)
-44(gl_FragColor): 43(ptr) Variable Output
- 46: TypePointer UniformConstant 10(fvec4)
- 47(u): 46(ptr) Variable UniformConstant
- 49: TypePointer UniformConstant 6(float)
- 50(blend): 49(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 8(blendscale): 7(ptr) Variable Function
- 12(v): 11(ptr) Variable Function
- 30(w): 11(ptr) Variable Function
- Store 8(blendscale) 9
- 17: 14 Load 16(texSampler2D)
- 21: 18(fvec2) Load 20(t)
- 24: 18(fvec2) Load 23(scale)
- 25: 18(fvec2) FAdd 21 24
- 26: 18(fvec2) Load 23(scale)
- 27: 18(fvec2) FDiv 25 26
- 28: 10(fvec4) ImageSampleImplicitLod 17 27
- 29: 10(fvec4) VectorShuffle 28 28 3 2 1 0
- Store 12(v) 29
- 35: 32 Load 34(texSampler3D)
- 39: 36(fvec3) Load 38(coords)
- 40: 10(fvec4) ImageSampleImplicitLod 35 39
- 41: 10(fvec4) Load 12(v)
- 42: 10(fvec4) FAdd 40 41
- Store 30(w) 42
- 45: 10(fvec4) Load 30(w)
- 48: 10(fvec4) Load 47(u)
- 51: 6(float) Load 50(blend)
- 52: 6(float) Load 8(blendscale)
- 53: 6(float) FMul 51 52
- 54: 10(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 45 48 53
- Store 44(gl_FragColor) 54
- Return
- FunctionEnd
+spv.test.frag
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 55
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 20 38
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 400
+ Name 4 "main"
+ Name 8 "blendscale"
+ Name 12 "v"
+ Name 16 "texSampler2D"
+ Name 20 "t"
+ Name 23 "scale"
+ Name 30 "w"
+ Name 34 "texSampler3D"
+ Name 38 "coords"
+ Name 44 "gl_FragColor"
+ Name 47 "u"
+ Name 50 "blend"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: 6(float) Constant 1071971828
+ 10: TypeVector 6(float) 4
+ 11: TypePointer Function 10(fvec4)
+ 13: TypeImage 6(float) 2D sampled format:Unknown
+ 14: TypeSampledImage 13
+ 15: TypePointer UniformConstant 14
+16(texSampler2D): 15(ptr) Variable UniformConstant
+ 18: TypeVector 6(float) 2
+ 19: TypePointer Input 18(fvec2)
+ 20(t): 19(ptr) Variable Input
+ 22: TypePointer UniformConstant 18(fvec2)
+ 23(scale): 22(ptr) Variable UniformConstant
+ 31: TypeImage 6(float) 3D sampled format:Unknown
+ 32: TypeSampledImage 31
+ 33: TypePointer UniformConstant 32
+34(texSampler3D): 33(ptr) Variable UniformConstant
+ 36: TypeVector 6(float) 3
+ 37: TypePointer Input 36(fvec3)
+ 38(coords): 37(ptr) Variable Input
+ 43: TypePointer Output 10(fvec4)
+44(gl_FragColor): 43(ptr) Variable Output
+ 46: TypePointer UniformConstant 10(fvec4)
+ 47(u): 46(ptr) Variable UniformConstant
+ 49: TypePointer UniformConstant 6(float)
+ 50(blend): 49(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(blendscale): 7(ptr) Variable Function
+ 12(v): 11(ptr) Variable Function
+ 30(w): 11(ptr) Variable Function
+ Store 8(blendscale) 9
+ 17: 14 Load 16(texSampler2D)
+ 21: 18(fvec2) Load 20(t)
+ 24: 18(fvec2) Load 23(scale)
+ 25: 18(fvec2) FAdd 21 24
+ 26: 18(fvec2) Load 23(scale)
+ 27: 18(fvec2) FDiv 25 26
+ 28: 10(fvec4) ImageSampleImplicitLod 17 27
+ 29: 10(fvec4) VectorShuffle 28 28 3 2 1 0
+ Store 12(v) 29
+ 35: 32 Load 34(texSampler3D)
+ 39: 36(fvec3) Load 38(coords)
+ 40: 10(fvec4) ImageSampleImplicitLod 35 39
+ 41: 10(fvec4) Load 12(v)
+ 42: 10(fvec4) FAdd 40 41
+ Store 30(w) 42
+ 45: 10(fvec4) Load 30(w)
+ 48: 10(fvec4) Load 47(u)
+ 51: 6(float) Load 50(blend)
+ 52: 6(float) Load 8(blendscale)
+ 53: 6(float) FMul 51 52
+ 54: 10(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 45 48 53
+ Store 44(gl_FragColor) 54
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.test.vert.out b/Test/baseResults/spv.test.vert.out
index 3995baa..12edbf2 100755
--- a/Test/baseResults/spv.test.vert.out
+++ b/Test/baseResults/spv.test.vert.out
@@ -1,54 +1,54 @@
-spv.test.vert
-WARNING: 0:5: attribute deprecated in version 130; may be removed in future release
-
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 27
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 21 11 9 26
- Source GLSL 130
- Name 4 "main"
- Name 9 "uv"
- Name 11 "uv_in"
- Name 15 "gl_Position"
- Name 18 "transform"
- Name 21 "position"
- Name 26 "gl_VertexID"
- Decorate 15(gl_Position) BuiltIn Position
- Decorate 26(gl_VertexID) BuiltIn VertexId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 2
- 8: TypePointer Output 7(fvec2)
- 9(uv): 8(ptr) Variable Output
- 10: TypePointer Input 7(fvec2)
- 11(uv_in): 10(ptr) Variable Input
- 13: TypeVector 6(float) 4
- 14: TypePointer Output 13(fvec4)
- 15(gl_Position): 14(ptr) Variable Output
- 16: TypeMatrix 13(fvec4) 4
- 17: TypePointer UniformConstant 16
- 18(transform): 17(ptr) Variable UniformConstant
- 20: TypePointer Input 13(fvec4)
- 21(position): 20(ptr) Variable Input
- 24: TypeInt 32 1
- 25: TypePointer Input 24(int)
- 26(gl_VertexID): 25(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 12: 7(fvec2) Load 11(uv_in)
- Store 9(uv) 12
- 19: 16 Load 18(transform)
- 22: 13(fvec4) Load 21(position)
- 23: 13(fvec4) MatrixTimesVector 19 22
- Store 15(gl_Position) 23
- Return
- FunctionEnd
+spv.test.vert
+WARNING: 0:5: attribute deprecated in version 130; may be removed in future release
+
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 27
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 21 11 9 26
+ Source GLSL 130
+ Name 4 "main"
+ Name 9 "uv"
+ Name 11 "uv_in"
+ Name 15 "gl_Position"
+ Name 18 "transform"
+ Name 21 "position"
+ Name 26 "gl_VertexID"
+ Decorate 15(gl_Position) BuiltIn Position
+ Decorate 26(gl_VertexID) BuiltIn VertexId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 2
+ 8: TypePointer Output 7(fvec2)
+ 9(uv): 8(ptr) Variable Output
+ 10: TypePointer Input 7(fvec2)
+ 11(uv_in): 10(ptr) Variable Input
+ 13: TypeVector 6(float) 4
+ 14: TypePointer Output 13(fvec4)
+ 15(gl_Position): 14(ptr) Variable Output
+ 16: TypeMatrix 13(fvec4) 4
+ 17: TypePointer UniformConstant 16
+ 18(transform): 17(ptr) Variable UniformConstant
+ 20: TypePointer Input 13(fvec4)
+ 21(position): 20(ptr) Variable Input
+ 24: TypeInt 32 1
+ 25: TypePointer Input 24(int)
+ 26(gl_VertexID): 25(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 12: 7(fvec2) Load 11(uv_in)
+ Store 9(uv) 12
+ 19: 16 Load 18(transform)
+ 22: 13(fvec4) Load 21(position)
+ 23: 13(fvec4) MatrixTimesVector 19 22
+ Store 15(gl_Position) 23
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.texture.frag.out b/Test/baseResults/spv.texture.frag.out
index b6efb4a..b9c29d3 100755
--- a/Test/baseResults/spv.texture.frag.out
+++ b/Test/baseResults/spv.texture.frag.out
@@ -1,376 +1,376 @@
-spv.texture.frag
-WARNING: 0:14: varying deprecated in version 130; may be removed in future release
-WARNING: 0:15: varying deprecated in version 130; may be removed in future release
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 290
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 289 47
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 8 "blendscale"
- Name 10 "bias"
- Name 12 "lod"
- Name 14 "proj"
- Name 15 "coords1D"
- Name 18 "coords3D"
- Name 24 "coords4D"
- Name 26 "color"
- Name 32 "texSampler1D"
- Name 47 "coords2D"
- Name 72 "texSampler2D"
- Name 98 "texSampler3D"
- Name 124 "texSamplerCube"
- Name 139 "shadowSampler1D"
- Name 158 "shadowSampler2D"
- Name 207 "iCoords2D"
- Name 212 "iLod"
- Name 221 "gradX"
- Name 224 "gradY"
- Name 276 "gl_FragColor"
- Name 279 "u"
- Name 282 "blend"
- Name 288 "scale"
- Name 289 "t"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypePointer Function 6(float)
- 9: 6(float) Constant 1071971828
- 11: 6(float) Constant 1073741824
- 13: 6(float) Constant 1077936128
- 16: TypeVector 6(float) 3
- 17: TypePointer Function 16(fvec3)
- 19: 6(float) Constant 1076753334
- 20: 6(float) Constant 1079836148
- 21: 16(fvec3) ConstantComposite 9 19 20
- 22: TypeVector 6(float) 4
- 23: TypePointer Function 22(fvec4)
- 25: 22(fvec4) ConstantComposite 9 19 20 11
- 27: 6(float) Constant 0
- 28: 22(fvec4) ConstantComposite 27 27 27 27
- 29: TypeImage 6(float) 1D sampled format:Unknown
- 30: TypeSampledImage 29
- 31: TypePointer UniformConstant 30
-32(texSampler1D): 31(ptr) Variable UniformConstant
- 45: TypeVector 6(float) 2
- 46: TypePointer Input 45(fvec2)
- 47(coords2D): 46(ptr) Variable Input
- 69: TypeImage 6(float) 2D sampled format:Unknown
- 70: TypeSampledImage 69
- 71: TypePointer UniformConstant 70
-72(texSampler2D): 71(ptr) Variable UniformConstant
- 95: TypeImage 6(float) 3D sampled format:Unknown
- 96: TypeSampledImage 95
- 97: TypePointer UniformConstant 96
-98(texSampler3D): 97(ptr) Variable UniformConstant
- 121: TypeImage 6(float) Cube sampled format:Unknown
- 122: TypeSampledImage 121
- 123: TypePointer UniformConstant 122
-124(texSamplerCube): 123(ptr) Variable UniformConstant
- 136: TypeImage 6(float) 1D depth sampled format:Unknown
- 137: TypeSampledImage 136
- 138: TypePointer UniformConstant 137
-139(shadowSampler1D): 138(ptr) Variable UniformConstant
- 155: TypeImage 6(float) 2D depth sampled format:Unknown
- 156: TypeSampledImage 155
- 157: TypePointer UniformConstant 156
-158(shadowSampler2D): 157(ptr) Variable UniformConstant
- 204: TypeInt 32 1
- 205: TypeVector 204(int) 2
- 206: TypePointer Function 205(ivec2)
- 208: 204(int) Constant 0
- 209: 204(int) Constant 5
- 210: 205(ivec2) ConstantComposite 208 209
- 211: TypePointer Function 204(int)
- 213: 204(int) Constant 1
- 220: TypePointer Function 45(fvec2)
- 249: 204(int) Constant 3
- 250: 204(int) Constant 4294967289
- 251: 205(ivec2) ConstantComposite 249 250
- 275: TypePointer Output 22(fvec4)
-276(gl_FragColor): 275(ptr) Variable Output
- 278: TypePointer UniformConstant 22(fvec4)
- 279(u): 278(ptr) Variable UniformConstant
- 281: TypePointer UniformConstant 6(float)
- 282(blend): 281(ptr) Variable UniformConstant
- 287: TypePointer UniformConstant 45(fvec2)
- 288(scale): 287(ptr) Variable UniformConstant
- 289(t): 46(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 8(blendscale): 7(ptr) Variable Function
- 10(bias): 7(ptr) Variable Function
- 12(lod): 7(ptr) Variable Function
- 14(proj): 7(ptr) Variable Function
- 15(coords1D): 7(ptr) Variable Function
- 18(coords3D): 17(ptr) Variable Function
- 24(coords4D): 23(ptr) Variable Function
- 26(color): 23(ptr) Variable Function
- 207(iCoords2D): 206(ptr) Variable Function
- 212(iLod): 211(ptr) Variable Function
- 221(gradX): 220(ptr) Variable Function
- 224(gradY): 220(ptr) Variable Function
- Store 8(blendscale) 9
- Store 10(bias) 11
- Store 12(lod) 13
- Store 14(proj) 11
- Store 15(coords1D) 9
- Store 18(coords3D) 21
- Store 24(coords4D) 25
- Store 26(color) 28
- 33: 30 Load 32(texSampler1D)
- 34: 6(float) Load 15(coords1D)
- 35: 22(fvec4) ImageSampleImplicitLod 33 34
- 36: 22(fvec4) Load 26(color)
- 37: 22(fvec4) FAdd 36 35
- Store 26(color) 37
- 38: 30 Load 32(texSampler1D)
- 39: 6(float) Load 15(coords1D)
- 40: 6(float) Load 10(bias)
- 41: 22(fvec4) ImageSampleImplicitLod 38 39 Bias 40
- 42: 22(fvec4) Load 26(color)
- 43: 22(fvec4) FAdd 42 41
- Store 26(color) 43
- 44: 30 Load 32(texSampler1D)
- 48: 45(fvec2) Load 47(coords2D)
- 49: 22(fvec4) ImageSampleProjImplicitLod 44 48
- 50: 22(fvec4) Load 26(color)
- 51: 22(fvec4) FAdd 50 49
- Store 26(color) 51
- 52: 30 Load 32(texSampler1D)
- 53: 22(fvec4) Load 24(coords4D)
- 54: 22(fvec4) ImageSampleProjImplicitLod 52 53
- 55: 22(fvec4) Load 26(color)
- 56: 22(fvec4) FAdd 55 54
- Store 26(color) 56
- 57: 30 Load 32(texSampler1D)
- 58: 45(fvec2) Load 47(coords2D)
- 59: 6(float) Load 10(bias)
- 60: 22(fvec4) ImageSampleProjImplicitLod 57 58 Bias 59
- 61: 22(fvec4) Load 26(color)
- 62: 22(fvec4) FAdd 61 60
- Store 26(color) 62
- 63: 30 Load 32(texSampler1D)
- 64: 22(fvec4) Load 24(coords4D)
- 65: 6(float) Load 10(bias)
- 66: 22(fvec4) ImageSampleProjImplicitLod 63 64 Bias 65
- 67: 22(fvec4) Load 26(color)
- 68: 22(fvec4) FAdd 67 66
- Store 26(color) 68
- 73: 70 Load 72(texSampler2D)
- 74: 45(fvec2) Load 47(coords2D)
- 75: 22(fvec4) ImageSampleImplicitLod 73 74
- 76: 22(fvec4) Load 26(color)
- 77: 22(fvec4) FAdd 76 75
- Store 26(color) 77
- 78: 70 Load 72(texSampler2D)
- 79: 45(fvec2) Load 47(coords2D)
- 80: 6(float) Load 10(bias)
- 81: 22(fvec4) ImageSampleImplicitLod 78 79 Bias 80
- 82: 22(fvec4) Load 26(color)
- 83: 22(fvec4) FAdd 82 81
- Store 26(color) 83
- 84: 70 Load 72(texSampler2D)
- 85: 16(fvec3) Load 18(coords3D)
- 86: 22(fvec4) ImageSampleProjImplicitLod 84 85
- 87: 22(fvec4) Load 26(color)
- 88: 22(fvec4) FAdd 87 86
- Store 26(color) 88
- 89: 70 Load 72(texSampler2D)
- 90: 22(fvec4) Load 24(coords4D)
- 91: 6(float) Load 10(bias)
- 92: 22(fvec4) ImageSampleProjImplicitLod 89 90 Bias 91
- 93: 22(fvec4) Load 26(color)
- 94: 22(fvec4) FAdd 93 92
- Store 26(color) 94
- 99: 96 Load 98(texSampler3D)
- 100: 16(fvec3) Load 18(coords3D)
- 101: 22(fvec4) ImageSampleImplicitLod 99 100
- 102: 22(fvec4) Load 26(color)
- 103: 22(fvec4) FAdd 102 101
- Store 26(color) 103
- 104: 96 Load 98(texSampler3D)
- 105: 16(fvec3) Load 18(coords3D)
- 106: 6(float) Load 10(bias)
- 107: 22(fvec4) ImageSampleImplicitLod 104 105 Bias 106
- 108: 22(fvec4) Load 26(color)
- 109: 22(fvec4) FAdd 108 107
- Store 26(color) 109
- 110: 96 Load 98(texSampler3D)
- 111: 22(fvec4) Load 24(coords4D)
- 112: 22(fvec4) ImageSampleProjImplicitLod 110 111
- 113: 22(fvec4) Load 26(color)
- 114: 22(fvec4) FAdd 113 112
- Store 26(color) 114
- 115: 96 Load 98(texSampler3D)
- 116: 22(fvec4) Load 24(coords4D)
- 117: 6(float) Load 10(bias)
- 118: 22(fvec4) ImageSampleProjImplicitLod 115 116 Bias 117
- 119: 22(fvec4) Load 26(color)
- 120: 22(fvec4) FAdd 119 118
- Store 26(color) 120
- 125: 122 Load 124(texSamplerCube)
- 126: 16(fvec3) Load 18(coords3D)
- 127: 22(fvec4) ImageSampleImplicitLod 125 126
- 128: 22(fvec4) Load 26(color)
- 129: 22(fvec4) FAdd 128 127
- Store 26(color) 129
- 130: 122 Load 124(texSamplerCube)
- 131: 16(fvec3) Load 18(coords3D)
- 132: 6(float) Load 10(bias)
- 133: 22(fvec4) ImageSampleImplicitLod 130 131 Bias 132
- 134: 22(fvec4) Load 26(color)
- 135: 22(fvec4) FAdd 134 133
- Store 26(color) 135
- 140: 137 Load 139(shadowSampler1D)
- 141: 16(fvec3) Load 18(coords3D)
- 142: 6(float) CompositeExtract 141 2
- 143: 6(float) ImageSampleDrefImplicitLod 140 141 142
- 144: 22(fvec4) Load 26(color)
- 145: 22(fvec4) CompositeConstruct 143 143 143 143
- 146: 22(fvec4) FAdd 144 145
- Store 26(color) 146
- 147: 137 Load 139(shadowSampler1D)
- 148: 16(fvec3) Load 18(coords3D)
- 149: 6(float) Load 10(bias)
- 150: 6(float) CompositeExtract 148 2
- 151: 6(float) ImageSampleDrefImplicitLod 147 148 150 Bias 149
- 152: 22(fvec4) Load 26(color)
- 153: 22(fvec4) CompositeConstruct 151 151 151 151
- 154: 22(fvec4) FAdd 152 153
- Store 26(color) 154
- 159: 156 Load 158(shadowSampler2D)
- 160: 16(fvec3) Load 18(coords3D)
- 161: 6(float) CompositeExtract 160 2
- 162: 6(float) ImageSampleDrefImplicitLod 159 160 161
- 163: 22(fvec4) Load 26(color)
- 164: 22(fvec4) CompositeConstruct 162 162 162 162
- 165: 22(fvec4) FAdd 163 164
- Store 26(color) 165
- 166: 156 Load 158(shadowSampler2D)
- 167: 16(fvec3) Load 18(coords3D)
- 168: 6(float) Load 10(bias)
- 169: 6(float) CompositeExtract 167 2
- 170: 6(float) ImageSampleDrefImplicitLod 166 167 169 Bias 168
- 171: 22(fvec4) Load 26(color)
- 172: 22(fvec4) CompositeConstruct 170 170 170 170
- 173: 22(fvec4) FAdd 171 172
- Store 26(color) 173
- 174: 137 Load 139(shadowSampler1D)
- 175: 22(fvec4) Load 24(coords4D)
- 176: 6(float) CompositeExtract 175 3
- 177: 6(float) ImageSampleProjDrefImplicitLod 174 175 176
- 178: 22(fvec4) Load 26(color)
- 179: 22(fvec4) CompositeConstruct 177 177 177 177
- 180: 22(fvec4) FAdd 178 179
- Store 26(color) 180
- 181: 137 Load 139(shadowSampler1D)
- 182: 22(fvec4) Load 24(coords4D)
- 183: 6(float) Load 10(bias)
- 184: 6(float) CompositeExtract 182 3
- 185: 6(float) ImageSampleProjDrefImplicitLod 181 182 184 Bias 183
- 186: 22(fvec4) Load 26(color)
- 187: 22(fvec4) CompositeConstruct 185 185 185 185
- 188: 22(fvec4) FAdd 186 187
- Store 26(color) 188
- 189: 156 Load 158(shadowSampler2D)
- 190: 22(fvec4) Load 24(coords4D)
- 191: 6(float) CompositeExtract 190 3
- 192: 6(float) ImageSampleProjDrefImplicitLod 189 190 191
- 193: 22(fvec4) Load 26(color)
- 194: 22(fvec4) CompositeConstruct 192 192 192 192
- 195: 22(fvec4) FAdd 193 194
- Store 26(color) 195
- 196: 156 Load 158(shadowSampler2D)
- 197: 22(fvec4) Load 24(coords4D)
- 198: 6(float) Load 10(bias)
- 199: 6(float) CompositeExtract 197 3
- 200: 6(float) ImageSampleProjDrefImplicitLod 196 197 199 Bias 198
- 201: 22(fvec4) Load 26(color)
- 202: 22(fvec4) CompositeConstruct 200 200 200 200
- 203: 22(fvec4) FAdd 201 202
- Store 26(color) 203
- Store 207(iCoords2D) 210
- Store 212(iLod) 213
- 214: 70 Load 72(texSampler2D)
- 215: 205(ivec2) Load 207(iCoords2D)
- 216: 204(int) Load 212(iLod)
- 217: 22(fvec4) ImageFetch 214 215 Lod 216
- 218: 22(fvec4) Load 26(color)
- 219: 22(fvec4) FAdd 218 217
- Store 26(color) 219
- 222: 45(fvec2) Load 47(coords2D)
- 223: 45(fvec2) DPdx 222
- Store 221(gradX) 223
- 225: 45(fvec2) Load 47(coords2D)
- 226: 45(fvec2) DPdy 225
- Store 224(gradY) 226
- 227: 70 Load 72(texSampler2D)
- 228: 45(fvec2) Load 47(coords2D)
- 229: 45(fvec2) Load 221(gradX)
- 230: 45(fvec2) Load 224(gradY)
- 231: 22(fvec4) ImageSampleExplicitLod 227 228 Grad 229 230
- 232: 22(fvec4) Load 26(color)
- 233: 22(fvec4) FAdd 232 231
- Store 26(color) 233
- 234: 70 Load 72(texSampler2D)
- 235: 45(fvec2) Load 47(coords2D)
- 236: 6(float) Load 14(proj)
- 237: 6(float) CompositeExtract 235 0
- 238: 6(float) CompositeExtract 235 1
- 239: 16(fvec3) CompositeConstruct 237 238 236
- 240: 45(fvec2) Load 221(gradX)
- 241: 45(fvec2) Load 224(gradY)
- 242: 22(fvec4) ImageSampleProjExplicitLod 234 239 Grad 240 241
- 243: 22(fvec4) Load 26(color)
- 244: 22(fvec4) FAdd 243 242
- Store 26(color) 244
- 245: 70 Load 72(texSampler2D)
- 246: 45(fvec2) Load 47(coords2D)
- 247: 45(fvec2) Load 221(gradX)
- 248: 45(fvec2) Load 224(gradY)
- 252: 22(fvec4) ImageSampleExplicitLod 245 246 Grad ConstOffset 247 248 251
- 253: 22(fvec4) Load 26(color)
- 254: 22(fvec4) FAdd 253 252
- Store 26(color) 254
- 255: 70 Load 72(texSampler2D)
- 256: 16(fvec3) Load 18(coords3D)
- 257: 45(fvec2) Load 221(gradX)
- 258: 45(fvec2) Load 224(gradY)
- 259: 22(fvec4) ImageSampleProjExplicitLod 255 256 Grad ConstOffset 257 258 251
- 260: 22(fvec4) Load 26(color)
- 261: 22(fvec4) FAdd 260 259
- Store 26(color) 261
- 262: 156 Load 158(shadowSampler2D)
- 263: 45(fvec2) Load 47(coords2D)
- 264: 6(float) Load 12(lod)
- 265: 6(float) CompositeExtract 263 0
- 266: 6(float) CompositeExtract 263 1
- 267: 16(fvec3) CompositeConstruct 265 266 264
- 268: 45(fvec2) Load 221(gradX)
- 269: 45(fvec2) Load 224(gradY)
- 270: 6(float) CompositeExtract 267 2
- 271: 6(float) ImageSampleDrefExplicitLod 262 267 270 Grad 268 269
- 272: 22(fvec4) Load 26(color)
- 273: 22(fvec4) CompositeConstruct 271 271 271 271
- 274: 22(fvec4) FAdd 272 273
- Store 26(color) 274
- 277: 22(fvec4) Load 26(color)
- 280: 22(fvec4) Load 279(u)
- 283: 6(float) Load 282(blend)
- 284: 6(float) Load 8(blendscale)
- 285: 6(float) FMul 283 284
- 286: 22(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 277 280 285
- Store 276(gl_FragColor) 286
- Return
- FunctionEnd
+spv.texture.frag
+WARNING: 0:14: varying deprecated in version 130; may be removed in future release
+WARNING: 0:15: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 290
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 289 47
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 8 "blendscale"
+ Name 10 "bias"
+ Name 12 "lod"
+ Name 14 "proj"
+ Name 15 "coords1D"
+ Name 18 "coords3D"
+ Name 24 "coords4D"
+ Name 26 "color"
+ Name 32 "texSampler1D"
+ Name 47 "coords2D"
+ Name 72 "texSampler2D"
+ Name 98 "texSampler3D"
+ Name 124 "texSamplerCube"
+ Name 139 "shadowSampler1D"
+ Name 158 "shadowSampler2D"
+ Name 207 "iCoords2D"
+ Name 212 "iLod"
+ Name 221 "gradX"
+ Name 224 "gradY"
+ Name 276 "gl_FragColor"
+ Name 279 "u"
+ Name 282 "blend"
+ Name 288 "scale"
+ Name 289 "t"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: 6(float) Constant 1071971828
+ 11: 6(float) Constant 1073741824
+ 13: 6(float) Constant 1077936128
+ 16: TypeVector 6(float) 3
+ 17: TypePointer Function 16(fvec3)
+ 19: 6(float) Constant 1076753334
+ 20: 6(float) Constant 1079836148
+ 21: 16(fvec3) ConstantComposite 9 19 20
+ 22: TypeVector 6(float) 4
+ 23: TypePointer Function 22(fvec4)
+ 25: 22(fvec4) ConstantComposite 9 19 20 11
+ 27: 6(float) Constant 0
+ 28: 22(fvec4) ConstantComposite 27 27 27 27
+ 29: TypeImage 6(float) 1D sampled format:Unknown
+ 30: TypeSampledImage 29
+ 31: TypePointer UniformConstant 30
+32(texSampler1D): 31(ptr) Variable UniformConstant
+ 45: TypeVector 6(float) 2
+ 46: TypePointer Input 45(fvec2)
+ 47(coords2D): 46(ptr) Variable Input
+ 69: TypeImage 6(float) 2D sampled format:Unknown
+ 70: TypeSampledImage 69
+ 71: TypePointer UniformConstant 70
+72(texSampler2D): 71(ptr) Variable UniformConstant
+ 95: TypeImage 6(float) 3D sampled format:Unknown
+ 96: TypeSampledImage 95
+ 97: TypePointer UniformConstant 96
+98(texSampler3D): 97(ptr) Variable UniformConstant
+ 121: TypeImage 6(float) Cube sampled format:Unknown
+ 122: TypeSampledImage 121
+ 123: TypePointer UniformConstant 122
+124(texSamplerCube): 123(ptr) Variable UniformConstant
+ 136: TypeImage 6(float) 1D depth sampled format:Unknown
+ 137: TypeSampledImage 136
+ 138: TypePointer UniformConstant 137
+139(shadowSampler1D): 138(ptr) Variable UniformConstant
+ 155: TypeImage 6(float) 2D depth sampled format:Unknown
+ 156: TypeSampledImage 155
+ 157: TypePointer UniformConstant 156
+158(shadowSampler2D): 157(ptr) Variable UniformConstant
+ 204: TypeInt 32 1
+ 205: TypeVector 204(int) 2
+ 206: TypePointer Function 205(ivec2)
+ 208: 204(int) Constant 0
+ 209: 204(int) Constant 5
+ 210: 205(ivec2) ConstantComposite 208 209
+ 211: TypePointer Function 204(int)
+ 213: 204(int) Constant 1
+ 220: TypePointer Function 45(fvec2)
+ 249: 204(int) Constant 3
+ 250: 204(int) Constant 4294967289
+ 251: 205(ivec2) ConstantComposite 249 250
+ 275: TypePointer Output 22(fvec4)
+276(gl_FragColor): 275(ptr) Variable Output
+ 278: TypePointer UniformConstant 22(fvec4)
+ 279(u): 278(ptr) Variable UniformConstant
+ 281: TypePointer UniformConstant 6(float)
+ 282(blend): 281(ptr) Variable UniformConstant
+ 287: TypePointer UniformConstant 45(fvec2)
+ 288(scale): 287(ptr) Variable UniformConstant
+ 289(t): 46(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(blendscale): 7(ptr) Variable Function
+ 10(bias): 7(ptr) Variable Function
+ 12(lod): 7(ptr) Variable Function
+ 14(proj): 7(ptr) Variable Function
+ 15(coords1D): 7(ptr) Variable Function
+ 18(coords3D): 17(ptr) Variable Function
+ 24(coords4D): 23(ptr) Variable Function
+ 26(color): 23(ptr) Variable Function
+ 207(iCoords2D): 206(ptr) Variable Function
+ 212(iLod): 211(ptr) Variable Function
+ 221(gradX): 220(ptr) Variable Function
+ 224(gradY): 220(ptr) Variable Function
+ Store 8(blendscale) 9
+ Store 10(bias) 11
+ Store 12(lod) 13
+ Store 14(proj) 11
+ Store 15(coords1D) 9
+ Store 18(coords3D) 21
+ Store 24(coords4D) 25
+ Store 26(color) 28
+ 33: 30 Load 32(texSampler1D)
+ 34: 6(float) Load 15(coords1D)
+ 35: 22(fvec4) ImageSampleImplicitLod 33 34
+ 36: 22(fvec4) Load 26(color)
+ 37: 22(fvec4) FAdd 36 35
+ Store 26(color) 37
+ 38: 30 Load 32(texSampler1D)
+ 39: 6(float) Load 15(coords1D)
+ 40: 6(float) Load 10(bias)
+ 41: 22(fvec4) ImageSampleImplicitLod 38 39 Bias 40
+ 42: 22(fvec4) Load 26(color)
+ 43: 22(fvec4) FAdd 42 41
+ Store 26(color) 43
+ 44: 30 Load 32(texSampler1D)
+ 48: 45(fvec2) Load 47(coords2D)
+ 49: 22(fvec4) ImageSampleProjImplicitLod 44 48
+ 50: 22(fvec4) Load 26(color)
+ 51: 22(fvec4) FAdd 50 49
+ Store 26(color) 51
+ 52: 30 Load 32(texSampler1D)
+ 53: 22(fvec4) Load 24(coords4D)
+ 54: 22(fvec4) ImageSampleProjImplicitLod 52 53
+ 55: 22(fvec4) Load 26(color)
+ 56: 22(fvec4) FAdd 55 54
+ Store 26(color) 56
+ 57: 30 Load 32(texSampler1D)
+ 58: 45(fvec2) Load 47(coords2D)
+ 59: 6(float) Load 10(bias)
+ 60: 22(fvec4) ImageSampleProjImplicitLod 57 58 Bias 59
+ 61: 22(fvec4) Load 26(color)
+ 62: 22(fvec4) FAdd 61 60
+ Store 26(color) 62
+ 63: 30 Load 32(texSampler1D)
+ 64: 22(fvec4) Load 24(coords4D)
+ 65: 6(float) Load 10(bias)
+ 66: 22(fvec4) ImageSampleProjImplicitLod 63 64 Bias 65
+ 67: 22(fvec4) Load 26(color)
+ 68: 22(fvec4) FAdd 67 66
+ Store 26(color) 68
+ 73: 70 Load 72(texSampler2D)
+ 74: 45(fvec2) Load 47(coords2D)
+ 75: 22(fvec4) ImageSampleImplicitLod 73 74
+ 76: 22(fvec4) Load 26(color)
+ 77: 22(fvec4) FAdd 76 75
+ Store 26(color) 77
+ 78: 70 Load 72(texSampler2D)
+ 79: 45(fvec2) Load 47(coords2D)
+ 80: 6(float) Load 10(bias)
+ 81: 22(fvec4) ImageSampleImplicitLod 78 79 Bias 80
+ 82: 22(fvec4) Load 26(color)
+ 83: 22(fvec4) FAdd 82 81
+ Store 26(color) 83
+ 84: 70 Load 72(texSampler2D)
+ 85: 16(fvec3) Load 18(coords3D)
+ 86: 22(fvec4) ImageSampleProjImplicitLod 84 85
+ 87: 22(fvec4) Load 26(color)
+ 88: 22(fvec4) FAdd 87 86
+ Store 26(color) 88
+ 89: 70 Load 72(texSampler2D)
+ 90: 22(fvec4) Load 24(coords4D)
+ 91: 6(float) Load 10(bias)
+ 92: 22(fvec4) ImageSampleProjImplicitLod 89 90 Bias 91
+ 93: 22(fvec4) Load 26(color)
+ 94: 22(fvec4) FAdd 93 92
+ Store 26(color) 94
+ 99: 96 Load 98(texSampler3D)
+ 100: 16(fvec3) Load 18(coords3D)
+ 101: 22(fvec4) ImageSampleImplicitLod 99 100
+ 102: 22(fvec4) Load 26(color)
+ 103: 22(fvec4) FAdd 102 101
+ Store 26(color) 103
+ 104: 96 Load 98(texSampler3D)
+ 105: 16(fvec3) Load 18(coords3D)
+ 106: 6(float) Load 10(bias)
+ 107: 22(fvec4) ImageSampleImplicitLod 104 105 Bias 106
+ 108: 22(fvec4) Load 26(color)
+ 109: 22(fvec4) FAdd 108 107
+ Store 26(color) 109
+ 110: 96 Load 98(texSampler3D)
+ 111: 22(fvec4) Load 24(coords4D)
+ 112: 22(fvec4) ImageSampleProjImplicitLod 110 111
+ 113: 22(fvec4) Load 26(color)
+ 114: 22(fvec4) FAdd 113 112
+ Store 26(color) 114
+ 115: 96 Load 98(texSampler3D)
+ 116: 22(fvec4) Load 24(coords4D)
+ 117: 6(float) Load 10(bias)
+ 118: 22(fvec4) ImageSampleProjImplicitLod 115 116 Bias 117
+ 119: 22(fvec4) Load 26(color)
+ 120: 22(fvec4) FAdd 119 118
+ Store 26(color) 120
+ 125: 122 Load 124(texSamplerCube)
+ 126: 16(fvec3) Load 18(coords3D)
+ 127: 22(fvec4) ImageSampleImplicitLod 125 126
+ 128: 22(fvec4) Load 26(color)
+ 129: 22(fvec4) FAdd 128 127
+ Store 26(color) 129
+ 130: 122 Load 124(texSamplerCube)
+ 131: 16(fvec3) Load 18(coords3D)
+ 132: 6(float) Load 10(bias)
+ 133: 22(fvec4) ImageSampleImplicitLod 130 131 Bias 132
+ 134: 22(fvec4) Load 26(color)
+ 135: 22(fvec4) FAdd 134 133
+ Store 26(color) 135
+ 140: 137 Load 139(shadowSampler1D)
+ 141: 16(fvec3) Load 18(coords3D)
+ 142: 6(float) CompositeExtract 141 2
+ 143: 6(float) ImageSampleDrefImplicitLod 140 141 142
+ 144: 22(fvec4) Load 26(color)
+ 145: 22(fvec4) CompositeConstruct 143 143 143 143
+ 146: 22(fvec4) FAdd 144 145
+ Store 26(color) 146
+ 147: 137 Load 139(shadowSampler1D)
+ 148: 16(fvec3) Load 18(coords3D)
+ 149: 6(float) Load 10(bias)
+ 150: 6(float) CompositeExtract 148 2
+ 151: 6(float) ImageSampleDrefImplicitLod 147 148 150 Bias 149
+ 152: 22(fvec4) Load 26(color)
+ 153: 22(fvec4) CompositeConstruct 151 151 151 151
+ 154: 22(fvec4) FAdd 152 153
+ Store 26(color) 154
+ 159: 156 Load 158(shadowSampler2D)
+ 160: 16(fvec3) Load 18(coords3D)
+ 161: 6(float) CompositeExtract 160 2
+ 162: 6(float) ImageSampleDrefImplicitLod 159 160 161
+ 163: 22(fvec4) Load 26(color)
+ 164: 22(fvec4) CompositeConstruct 162 162 162 162
+ 165: 22(fvec4) FAdd 163 164
+ Store 26(color) 165
+ 166: 156 Load 158(shadowSampler2D)
+ 167: 16(fvec3) Load 18(coords3D)
+ 168: 6(float) Load 10(bias)
+ 169: 6(float) CompositeExtract 167 2
+ 170: 6(float) ImageSampleDrefImplicitLod 166 167 169 Bias 168
+ 171: 22(fvec4) Load 26(color)
+ 172: 22(fvec4) CompositeConstruct 170 170 170 170
+ 173: 22(fvec4) FAdd 171 172
+ Store 26(color) 173
+ 174: 137 Load 139(shadowSampler1D)
+ 175: 22(fvec4) Load 24(coords4D)
+ 176: 6(float) CompositeExtract 175 3
+ 177: 6(float) ImageSampleProjDrefImplicitLod 174 175 176
+ 178: 22(fvec4) Load 26(color)
+ 179: 22(fvec4) CompositeConstruct 177 177 177 177
+ 180: 22(fvec4) FAdd 178 179
+ Store 26(color) 180
+ 181: 137 Load 139(shadowSampler1D)
+ 182: 22(fvec4) Load 24(coords4D)
+ 183: 6(float) Load 10(bias)
+ 184: 6(float) CompositeExtract 182 3
+ 185: 6(float) ImageSampleProjDrefImplicitLod 181 182 184 Bias 183
+ 186: 22(fvec4) Load 26(color)
+ 187: 22(fvec4) CompositeConstruct 185 185 185 185
+ 188: 22(fvec4) FAdd 186 187
+ Store 26(color) 188
+ 189: 156 Load 158(shadowSampler2D)
+ 190: 22(fvec4) Load 24(coords4D)
+ 191: 6(float) CompositeExtract 190 3
+ 192: 6(float) ImageSampleProjDrefImplicitLod 189 190 191
+ 193: 22(fvec4) Load 26(color)
+ 194: 22(fvec4) CompositeConstruct 192 192 192 192
+ 195: 22(fvec4) FAdd 193 194
+ Store 26(color) 195
+ 196: 156 Load 158(shadowSampler2D)
+ 197: 22(fvec4) Load 24(coords4D)
+ 198: 6(float) Load 10(bias)
+ 199: 6(float) CompositeExtract 197 3
+ 200: 6(float) ImageSampleProjDrefImplicitLod 196 197 199 Bias 198
+ 201: 22(fvec4) Load 26(color)
+ 202: 22(fvec4) CompositeConstruct 200 200 200 200
+ 203: 22(fvec4) FAdd 201 202
+ Store 26(color) 203
+ Store 207(iCoords2D) 210
+ Store 212(iLod) 213
+ 214: 70 Load 72(texSampler2D)
+ 215: 205(ivec2) Load 207(iCoords2D)
+ 216: 204(int) Load 212(iLod)
+ 217: 22(fvec4) ImageFetch 214 215 Lod 216
+ 218: 22(fvec4) Load 26(color)
+ 219: 22(fvec4) FAdd 218 217
+ Store 26(color) 219
+ 222: 45(fvec2) Load 47(coords2D)
+ 223: 45(fvec2) DPdx 222
+ Store 221(gradX) 223
+ 225: 45(fvec2) Load 47(coords2D)
+ 226: 45(fvec2) DPdy 225
+ Store 224(gradY) 226
+ 227: 70 Load 72(texSampler2D)
+ 228: 45(fvec2) Load 47(coords2D)
+ 229: 45(fvec2) Load 221(gradX)
+ 230: 45(fvec2) Load 224(gradY)
+ 231: 22(fvec4) ImageSampleExplicitLod 227 228 Grad 229 230
+ 232: 22(fvec4) Load 26(color)
+ 233: 22(fvec4) FAdd 232 231
+ Store 26(color) 233
+ 234: 70 Load 72(texSampler2D)
+ 235: 45(fvec2) Load 47(coords2D)
+ 236: 6(float) Load 14(proj)
+ 237: 6(float) CompositeExtract 235 0
+ 238: 6(float) CompositeExtract 235 1
+ 239: 16(fvec3) CompositeConstruct 237 238 236
+ 240: 45(fvec2) Load 221(gradX)
+ 241: 45(fvec2) Load 224(gradY)
+ 242: 22(fvec4) ImageSampleProjExplicitLod 234 239 Grad 240 241
+ 243: 22(fvec4) Load 26(color)
+ 244: 22(fvec4) FAdd 243 242
+ Store 26(color) 244
+ 245: 70 Load 72(texSampler2D)
+ 246: 45(fvec2) Load 47(coords2D)
+ 247: 45(fvec2) Load 221(gradX)
+ 248: 45(fvec2) Load 224(gradY)
+ 252: 22(fvec4) ImageSampleExplicitLod 245 246 Grad ConstOffset 247 248 251
+ 253: 22(fvec4) Load 26(color)
+ 254: 22(fvec4) FAdd 253 252
+ Store 26(color) 254
+ 255: 70 Load 72(texSampler2D)
+ 256: 16(fvec3) Load 18(coords3D)
+ 257: 45(fvec2) Load 221(gradX)
+ 258: 45(fvec2) Load 224(gradY)
+ 259: 22(fvec4) ImageSampleProjExplicitLod 255 256 Grad ConstOffset 257 258 251
+ 260: 22(fvec4) Load 26(color)
+ 261: 22(fvec4) FAdd 260 259
+ Store 26(color) 261
+ 262: 156 Load 158(shadowSampler2D)
+ 263: 45(fvec2) Load 47(coords2D)
+ 264: 6(float) Load 12(lod)
+ 265: 6(float) CompositeExtract 263 0
+ 266: 6(float) CompositeExtract 263 1
+ 267: 16(fvec3) CompositeConstruct 265 266 264
+ 268: 45(fvec2) Load 221(gradX)
+ 269: 45(fvec2) Load 224(gradY)
+ 270: 6(float) CompositeExtract 267 2
+ 271: 6(float) ImageSampleDrefExplicitLod 262 267 270 Grad 268 269
+ 272: 22(fvec4) Load 26(color)
+ 273: 22(fvec4) CompositeConstruct 271 271 271 271
+ 274: 22(fvec4) FAdd 272 273
+ Store 26(color) 274
+ 277: 22(fvec4) Load 26(color)
+ 280: 22(fvec4) Load 279(u)
+ 283: 6(float) Load 282(blend)
+ 284: 6(float) Load 8(blendscale)
+ 285: 6(float) FMul 283 284
+ 286: 22(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 277 280 285
+ Store 276(gl_FragColor) 286
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.texture.vert.out b/Test/baseResults/spv.texture.vert.out
index 807b03d..95090b8 100755
--- a/Test/baseResults/spv.texture.vert.out
+++ b/Test/baseResults/spv.texture.vert.out
@@ -1,195 +1,195 @@
-spv.texture.vert
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 145
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 39 144
- Source GLSL 130
- Name 4 "main"
- Name 8 "lod"
- Name 10 "coords1D"
- Name 14 "coords3D"
- Name 20 "coords4D"
- Name 23 "color"
- Name 29 "texSampler1D"
- Name 39 "coords2D"
- Name 54 "texSampler2D"
- Name 76 "texSampler3D"
- Name 92 "texSamplerCube"
- Name 102 "shadowSampler1D"
- Name 114 "shadowSampler2D"
- Name 140 "gl_Position"
- Name 144 "gl_VertexID"
- Decorate 140(gl_Position) BuiltIn Position
- Decorate 144(gl_VertexID) BuiltIn VertexId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypePointer Function 6(float)
- 9: 6(float) Constant 1077936128
- 11: 6(float) Constant 1071971828
- 12: TypeVector 6(float) 3
- 13: TypePointer Function 12(fvec3)
- 15: 6(float) Constant 1076753334
- 16: 6(float) Constant 1079836148
- 17: 12(fvec3) ConstantComposite 11 15 16
- 18: TypeVector 6(float) 4
- 19: TypePointer Function 18(fvec4)
- 21: 6(float) Constant 1073741824
- 22: 18(fvec4) ConstantComposite 11 15 16 21
- 24: 6(float) Constant 0
- 25: 18(fvec4) ConstantComposite 24 24 24 24
- 26: TypeImage 6(float) 1D sampled format:Unknown
- 27: TypeSampledImage 26
- 28: TypePointer UniformConstant 27
-29(texSampler1D): 28(ptr) Variable UniformConstant
- 37: TypeVector 6(float) 2
- 38: TypePointer Input 37(fvec2)
- 39(coords2D): 38(ptr) Variable Input
- 51: TypeImage 6(float) 2D sampled format:Unknown
- 52: TypeSampledImage 51
- 53: TypePointer UniformConstant 52
-54(texSampler2D): 53(ptr) Variable UniformConstant
- 73: TypeImage 6(float) 3D sampled format:Unknown
- 74: TypeSampledImage 73
- 75: TypePointer UniformConstant 74
-76(texSampler3D): 75(ptr) Variable UniformConstant
- 89: TypeImage 6(float) Cube sampled format:Unknown
- 90: TypeSampledImage 89
- 91: TypePointer UniformConstant 90
-92(texSamplerCube): 91(ptr) Variable UniformConstant
- 99: TypeImage 6(float) 1D depth sampled format:Unknown
- 100: TypeSampledImage 99
- 101: TypePointer UniformConstant 100
-102(shadowSampler1D): 101(ptr) Variable UniformConstant
- 111: TypeImage 6(float) 2D depth sampled format:Unknown
- 112: TypeSampledImage 111
- 113: TypePointer UniformConstant 112
-114(shadowSampler2D): 113(ptr) Variable UniformConstant
- 139: TypePointer Output 18(fvec4)
-140(gl_Position): 139(ptr) Variable Output
- 142: TypeInt 32 1
- 143: TypePointer Input 142(int)
-144(gl_VertexID): 143(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 8(lod): 7(ptr) Variable Function
- 10(coords1D): 7(ptr) Variable Function
- 14(coords3D): 13(ptr) Variable Function
- 20(coords4D): 19(ptr) Variable Function
- 23(color): 19(ptr) Variable Function
- Store 8(lod) 9
- Store 10(coords1D) 11
- Store 14(coords3D) 17
- Store 20(coords4D) 22
- Store 23(color) 25
- 30: 27 Load 29(texSampler1D)
- 31: 6(float) Load 10(coords1D)
- 32: 6(float) Load 8(lod)
- 33: 18(fvec4) ImageSampleExplicitLod 30 31 Lod 32
- 34: 18(fvec4) Load 23(color)
- 35: 18(fvec4) FAdd 34 33
- Store 23(color) 35
- 36: 27 Load 29(texSampler1D)
- 40: 37(fvec2) Load 39(coords2D)
- 41: 6(float) Load 8(lod)
- 42: 18(fvec4) ImageSampleProjExplicitLod 36 40 Lod 41
- 43: 18(fvec4) Load 23(color)
- 44: 18(fvec4) FAdd 43 42
- Store 23(color) 44
- 45: 27 Load 29(texSampler1D)
- 46: 18(fvec4) Load 20(coords4D)
- 47: 6(float) Load 8(lod)
- 48: 18(fvec4) ImageSampleProjExplicitLod 45 46 Lod 47
- 49: 18(fvec4) Load 23(color)
- 50: 18(fvec4) FAdd 49 48
- Store 23(color) 50
- 55: 52 Load 54(texSampler2D)
- 56: 37(fvec2) Load 39(coords2D)
- 57: 6(float) Load 8(lod)
- 58: 18(fvec4) ImageSampleExplicitLod 55 56 Lod 57
- 59: 18(fvec4) Load 23(color)
- 60: 18(fvec4) FAdd 59 58
- Store 23(color) 60
- 61: 52 Load 54(texSampler2D)
- 62: 12(fvec3) Load 14(coords3D)
- 63: 6(float) Load 8(lod)
- 64: 18(fvec4) ImageSampleProjExplicitLod 61 62 Lod 63
- 65: 18(fvec4) Load 23(color)
- 66: 18(fvec4) FAdd 65 64
- Store 23(color) 66
- 67: 52 Load 54(texSampler2D)
- 68: 18(fvec4) Load 20(coords4D)
- 69: 6(float) Load 8(lod)
- 70: 18(fvec4) ImageSampleProjExplicitLod 67 68 Lod 69
- 71: 18(fvec4) Load 23(color)
- 72: 18(fvec4) FAdd 71 70
- Store 23(color) 72
- 77: 74 Load 76(texSampler3D)
- 78: 12(fvec3) Load 14(coords3D)
- 79: 6(float) Load 8(lod)
- 80: 18(fvec4) ImageSampleExplicitLod 77 78 Lod 79
- 81: 18(fvec4) Load 23(color)
- 82: 18(fvec4) FAdd 81 80
- Store 23(color) 82
- 83: 74 Load 76(texSampler3D)
- 84: 18(fvec4) Load 20(coords4D)
- 85: 6(float) Load 8(lod)
- 86: 18(fvec4) ImageSampleProjExplicitLod 83 84 Lod 85
- 87: 18(fvec4) Load 23(color)
- 88: 18(fvec4) FAdd 87 86
- Store 23(color) 88
- 93: 90 Load 92(texSamplerCube)
- 94: 12(fvec3) Load 14(coords3D)
- 95: 6(float) Load 8(lod)
- 96: 18(fvec4) ImageSampleExplicitLod 93 94 Lod 95
- 97: 18(fvec4) Load 23(color)
- 98: 18(fvec4) FAdd 97 96
- Store 23(color) 98
- 103: 100 Load 102(shadowSampler1D)
- 104: 12(fvec3) Load 14(coords3D)
- 105: 6(float) Load 8(lod)
- 106: 6(float) CompositeExtract 104 2
- 107: 6(float) ImageSampleDrefExplicitLod 103 104 106 Lod 105
- 108: 18(fvec4) Load 23(color)
- 109: 18(fvec4) CompositeConstruct 107 107 107 107
- 110: 18(fvec4) FAdd 108 109
- Store 23(color) 110
- 115: 112 Load 114(shadowSampler2D)
- 116: 12(fvec3) Load 14(coords3D)
- 117: 6(float) Load 8(lod)
- 118: 6(float) CompositeExtract 116 2
- 119: 6(float) ImageSampleDrefExplicitLod 115 116 118 Lod 117
- 120: 18(fvec4) Load 23(color)
- 121: 18(fvec4) CompositeConstruct 119 119 119 119
- 122: 18(fvec4) FAdd 120 121
- Store 23(color) 122
- 123: 100 Load 102(shadowSampler1D)
- 124: 18(fvec4) Load 20(coords4D)
- 125: 6(float) Load 8(lod)
- 126: 6(float) CompositeExtract 124 3
- 127: 6(float) ImageSampleProjDrefExplicitLod 123 124 126 Lod 125
- 128: 18(fvec4) Load 23(color)
- 129: 18(fvec4) CompositeConstruct 127 127 127 127
- 130: 18(fvec4) FAdd 128 129
- Store 23(color) 130
- 131: 112 Load 114(shadowSampler2D)
- 132: 18(fvec4) Load 20(coords4D)
- 133: 6(float) Load 8(lod)
- 134: 6(float) CompositeExtract 132 3
- 135: 6(float) ImageSampleProjDrefExplicitLod 131 132 134 Lod 133
- 136: 18(fvec4) Load 23(color)
- 137: 18(fvec4) CompositeConstruct 135 135 135 135
- 138: 18(fvec4) FAdd 136 137
- Store 23(color) 138
- 141: 18(fvec4) Load 23(color)
- Store 140(gl_Position) 141
- Return
- FunctionEnd
+spv.texture.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 145
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 39 144
+ Source GLSL 130
+ Name 4 "main"
+ Name 8 "lod"
+ Name 10 "coords1D"
+ Name 14 "coords3D"
+ Name 20 "coords4D"
+ Name 23 "color"
+ Name 29 "texSampler1D"
+ Name 39 "coords2D"
+ Name 54 "texSampler2D"
+ Name 76 "texSampler3D"
+ Name 92 "texSamplerCube"
+ Name 102 "shadowSampler1D"
+ Name 114 "shadowSampler2D"
+ Name 140 "gl_Position"
+ Name 144 "gl_VertexID"
+ Decorate 140(gl_Position) BuiltIn Position
+ Decorate 144(gl_VertexID) BuiltIn VertexId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: 6(float) Constant 1077936128
+ 11: 6(float) Constant 1071971828
+ 12: TypeVector 6(float) 3
+ 13: TypePointer Function 12(fvec3)
+ 15: 6(float) Constant 1076753334
+ 16: 6(float) Constant 1079836148
+ 17: 12(fvec3) ConstantComposite 11 15 16
+ 18: TypeVector 6(float) 4
+ 19: TypePointer Function 18(fvec4)
+ 21: 6(float) Constant 1073741824
+ 22: 18(fvec4) ConstantComposite 11 15 16 21
+ 24: 6(float) Constant 0
+ 25: 18(fvec4) ConstantComposite 24 24 24 24
+ 26: TypeImage 6(float) 1D sampled format:Unknown
+ 27: TypeSampledImage 26
+ 28: TypePointer UniformConstant 27
+29(texSampler1D): 28(ptr) Variable UniformConstant
+ 37: TypeVector 6(float) 2
+ 38: TypePointer Input 37(fvec2)
+ 39(coords2D): 38(ptr) Variable Input
+ 51: TypeImage 6(float) 2D sampled format:Unknown
+ 52: TypeSampledImage 51
+ 53: TypePointer UniformConstant 52
+54(texSampler2D): 53(ptr) Variable UniformConstant
+ 73: TypeImage 6(float) 3D sampled format:Unknown
+ 74: TypeSampledImage 73
+ 75: TypePointer UniformConstant 74
+76(texSampler3D): 75(ptr) Variable UniformConstant
+ 89: TypeImage 6(float) Cube sampled format:Unknown
+ 90: TypeSampledImage 89
+ 91: TypePointer UniformConstant 90
+92(texSamplerCube): 91(ptr) Variable UniformConstant
+ 99: TypeImage 6(float) 1D depth sampled format:Unknown
+ 100: TypeSampledImage 99
+ 101: TypePointer UniformConstant 100
+102(shadowSampler1D): 101(ptr) Variable UniformConstant
+ 111: TypeImage 6(float) 2D depth sampled format:Unknown
+ 112: TypeSampledImage 111
+ 113: TypePointer UniformConstant 112
+114(shadowSampler2D): 113(ptr) Variable UniformConstant
+ 139: TypePointer Output 18(fvec4)
+140(gl_Position): 139(ptr) Variable Output
+ 142: TypeInt 32 1
+ 143: TypePointer Input 142(int)
+144(gl_VertexID): 143(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(lod): 7(ptr) Variable Function
+ 10(coords1D): 7(ptr) Variable Function
+ 14(coords3D): 13(ptr) Variable Function
+ 20(coords4D): 19(ptr) Variable Function
+ 23(color): 19(ptr) Variable Function
+ Store 8(lod) 9
+ Store 10(coords1D) 11
+ Store 14(coords3D) 17
+ Store 20(coords4D) 22
+ Store 23(color) 25
+ 30: 27 Load 29(texSampler1D)
+ 31: 6(float) Load 10(coords1D)
+ 32: 6(float) Load 8(lod)
+ 33: 18(fvec4) ImageSampleExplicitLod 30 31 Lod 32
+ 34: 18(fvec4) Load 23(color)
+ 35: 18(fvec4) FAdd 34 33
+ Store 23(color) 35
+ 36: 27 Load 29(texSampler1D)
+ 40: 37(fvec2) Load 39(coords2D)
+ 41: 6(float) Load 8(lod)
+ 42: 18(fvec4) ImageSampleProjExplicitLod 36 40 Lod 41
+ 43: 18(fvec4) Load 23(color)
+ 44: 18(fvec4) FAdd 43 42
+ Store 23(color) 44
+ 45: 27 Load 29(texSampler1D)
+ 46: 18(fvec4) Load 20(coords4D)
+ 47: 6(float) Load 8(lod)
+ 48: 18(fvec4) ImageSampleProjExplicitLod 45 46 Lod 47
+ 49: 18(fvec4) Load 23(color)
+ 50: 18(fvec4) FAdd 49 48
+ Store 23(color) 50
+ 55: 52 Load 54(texSampler2D)
+ 56: 37(fvec2) Load 39(coords2D)
+ 57: 6(float) Load 8(lod)
+ 58: 18(fvec4) ImageSampleExplicitLod 55 56 Lod 57
+ 59: 18(fvec4) Load 23(color)
+ 60: 18(fvec4) FAdd 59 58
+ Store 23(color) 60
+ 61: 52 Load 54(texSampler2D)
+ 62: 12(fvec3) Load 14(coords3D)
+ 63: 6(float) Load 8(lod)
+ 64: 18(fvec4) ImageSampleProjExplicitLod 61 62 Lod 63
+ 65: 18(fvec4) Load 23(color)
+ 66: 18(fvec4) FAdd 65 64
+ Store 23(color) 66
+ 67: 52 Load 54(texSampler2D)
+ 68: 18(fvec4) Load 20(coords4D)
+ 69: 6(float) Load 8(lod)
+ 70: 18(fvec4) ImageSampleProjExplicitLod 67 68 Lod 69
+ 71: 18(fvec4) Load 23(color)
+ 72: 18(fvec4) FAdd 71 70
+ Store 23(color) 72
+ 77: 74 Load 76(texSampler3D)
+ 78: 12(fvec3) Load 14(coords3D)
+ 79: 6(float) Load 8(lod)
+ 80: 18(fvec4) ImageSampleExplicitLod 77 78 Lod 79
+ 81: 18(fvec4) Load 23(color)
+ 82: 18(fvec4) FAdd 81 80
+ Store 23(color) 82
+ 83: 74 Load 76(texSampler3D)
+ 84: 18(fvec4) Load 20(coords4D)
+ 85: 6(float) Load 8(lod)
+ 86: 18(fvec4) ImageSampleProjExplicitLod 83 84 Lod 85
+ 87: 18(fvec4) Load 23(color)
+ 88: 18(fvec4) FAdd 87 86
+ Store 23(color) 88
+ 93: 90 Load 92(texSamplerCube)
+ 94: 12(fvec3) Load 14(coords3D)
+ 95: 6(float) Load 8(lod)
+ 96: 18(fvec4) ImageSampleExplicitLod 93 94 Lod 95
+ 97: 18(fvec4) Load 23(color)
+ 98: 18(fvec4) FAdd 97 96
+ Store 23(color) 98
+ 103: 100 Load 102(shadowSampler1D)
+ 104: 12(fvec3) Load 14(coords3D)
+ 105: 6(float) Load 8(lod)
+ 106: 6(float) CompositeExtract 104 2
+ 107: 6(float) ImageSampleDrefExplicitLod 103 104 106 Lod 105
+ 108: 18(fvec4) Load 23(color)
+ 109: 18(fvec4) CompositeConstruct 107 107 107 107
+ 110: 18(fvec4) FAdd 108 109
+ Store 23(color) 110
+ 115: 112 Load 114(shadowSampler2D)
+ 116: 12(fvec3) Load 14(coords3D)
+ 117: 6(float) Load 8(lod)
+ 118: 6(float) CompositeExtract 116 2
+ 119: 6(float) ImageSampleDrefExplicitLod 115 116 118 Lod 117
+ 120: 18(fvec4) Load 23(color)
+ 121: 18(fvec4) CompositeConstruct 119 119 119 119
+ 122: 18(fvec4) FAdd 120 121
+ Store 23(color) 122
+ 123: 100 Load 102(shadowSampler1D)
+ 124: 18(fvec4) Load 20(coords4D)
+ 125: 6(float) Load 8(lod)
+ 126: 6(float) CompositeExtract 124 3
+ 127: 6(float) ImageSampleProjDrefExplicitLod 123 124 126 Lod 125
+ 128: 18(fvec4) Load 23(color)
+ 129: 18(fvec4) CompositeConstruct 127 127 127 127
+ 130: 18(fvec4) FAdd 128 129
+ Store 23(color) 130
+ 131: 112 Load 114(shadowSampler2D)
+ 132: 18(fvec4) Load 20(coords4D)
+ 133: 6(float) Load 8(lod)
+ 134: 6(float) CompositeExtract 132 3
+ 135: 6(float) ImageSampleProjDrefExplicitLod 131 132 134 Lod 133
+ 136: 18(fvec4) Load 23(color)
+ 137: 18(fvec4) CompositeConstruct 135 135 135 135
+ 138: 18(fvec4) FAdd 136 137
+ Store 23(color) 138
+ 141: 18(fvec4) Load 23(color)
+ Store 140(gl_Position) 141
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.types.frag.out b/Test/baseResults/spv.types.frag.out
index 82b97a2..f4f8cea 100755
--- a/Test/baseResults/spv.types.frag.out
+++ b/Test/baseResults/spv.types.frag.out
@@ -1,344 +1,344 @@
-spv.types.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 268
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 94 104 114 124 134 144 154 164
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 8 "b"
- Name 10 "u_b"
- Name 12 "i_b"
- Name 17 "b2"
- Name 19 "u_b2"
- Name 22 "i_b2"
- Name 35 "b3"
- Name 37 "u_b3"
- Name 40 "i_b3"
- Name 59 "b4"
- Name 61 "u_b4"
- Name 64 "i_b4"
- Name 89 "i"
- Name 91 "u_i"
- Name 94 "i_i"
- Name 99 "i2"
- Name 101 "u_i2"
- Name 104 "i_i2"
- Name 109 "i3"
- Name 111 "u_i3"
- Name 114 "i_i3"
- Name 119 "i4"
- Name 121 "u_i4"
- Name 124 "i_i4"
- Name 129 "f"
- Name 131 "u_f"
- Name 134 "i_f"
- Name 139 "f2"
- Name 141 "u_f2"
- Name 144 "i_f2"
- Name 149 "f3"
- Name 151 "u_f3"
- Name 154 "i_f3"
- Name 159 "f4"
- Name 161 "u_f4"
- Name 164 "i_f4"
- Name 168 "gl_FragColor"
- Decorate 94(i_i) Flat
- Decorate 104(i_i2) Flat
- Decorate 114(i_i3) Flat
- Decorate 124(i_i4) Flat
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeBool
- 7: TypePointer Function 6(bool)
- 9: TypePointer UniformConstant 6(bool)
- 10(u_b): 9(ptr) Variable UniformConstant
- 12(i_b): 9(ptr) Variable UniformConstant
- 15: TypeVector 6(bool) 2
- 16: TypePointer Function 15(bvec2)
- 18: TypePointer UniformConstant 15(bvec2)
- 19(u_b2): 18(ptr) Variable UniformConstant
- 22(i_b2): 18(ptr) Variable UniformConstant
- 33: TypeVector 6(bool) 3
- 34: TypePointer Function 33(bvec3)
- 36: TypePointer UniformConstant 33(bvec3)
- 37(u_b3): 36(ptr) Variable UniformConstant
- 40(i_b3): 36(ptr) Variable UniformConstant
- 57: TypeVector 6(bool) 4
- 58: TypePointer Function 57(bvec4)
- 60: TypePointer UniformConstant 57(bvec4)
- 61(u_b4): 60(ptr) Variable UniformConstant
- 64(i_b4): 60(ptr) Variable UniformConstant
- 87: TypeInt 32 1
- 88: TypePointer Function 87(int)
- 90: TypePointer UniformConstant 87(int)
- 91(u_i): 90(ptr) Variable UniformConstant
- 93: TypePointer Input 87(int)
- 94(i_i): 93(ptr) Variable Input
- 97: TypeVector 87(int) 2
- 98: TypePointer Function 97(ivec2)
- 100: TypePointer UniformConstant 97(ivec2)
- 101(u_i2): 100(ptr) Variable UniformConstant
- 103: TypePointer Input 97(ivec2)
- 104(i_i2): 103(ptr) Variable Input
- 107: TypeVector 87(int) 3
- 108: TypePointer Function 107(ivec3)
- 110: TypePointer UniformConstant 107(ivec3)
- 111(u_i3): 110(ptr) Variable UniformConstant
- 113: TypePointer Input 107(ivec3)
- 114(i_i3): 113(ptr) Variable Input
- 117: TypeVector 87(int) 4
- 118: TypePointer Function 117(ivec4)
- 120: TypePointer UniformConstant 117(ivec4)
- 121(u_i4): 120(ptr) Variable UniformConstant
- 123: TypePointer Input 117(ivec4)
- 124(i_i4): 123(ptr) Variable Input
- 127: TypeFloat 32
- 128: TypePointer Function 127(float)
- 130: TypePointer UniformConstant 127(float)
- 131(u_f): 130(ptr) Variable UniformConstant
- 133: TypePointer Input 127(float)
- 134(i_f): 133(ptr) Variable Input
- 137: TypeVector 127(float) 2
- 138: TypePointer Function 137(fvec2)
- 140: TypePointer UniformConstant 137(fvec2)
- 141(u_f2): 140(ptr) Variable UniformConstant
- 143: TypePointer Input 137(fvec2)
- 144(i_f2): 143(ptr) Variable Input
- 147: TypeVector 127(float) 3
- 148: TypePointer Function 147(fvec3)
- 150: TypePointer UniformConstant 147(fvec3)
- 151(u_f3): 150(ptr) Variable UniformConstant
- 153: TypePointer Input 147(fvec3)
- 154(i_f3): 153(ptr) Variable Input
- 157: TypeVector 127(float) 4
- 158: TypePointer Function 157(fvec4)
- 160: TypePointer UniformConstant 157(fvec4)
- 161(u_f4): 160(ptr) Variable UniformConstant
- 163: TypePointer Input 157(fvec4)
- 164(i_f4): 163(ptr) Variable Input
- 167: TypePointer Output 157(fvec4)
-168(gl_FragColor): 167(ptr) Variable Output
- 201: TypeInt 32 0
- 202: 201(int) Constant 0
- 206: 201(int) Constant 1
- 216: 201(int) Constant 2
- 229: 201(int) Constant 3
- 265: 127(float) Constant 1065353216
- 266: 157(fvec4) ConstantComposite 265 265 265 265
- 4(main): 2 Function None 3
- 5: Label
- 8(b): 7(ptr) Variable Function
- 17(b2): 16(ptr) Variable Function
- 35(b3): 34(ptr) Variable Function
- 59(b4): 58(ptr) Variable Function
- 89(i): 88(ptr) Variable Function
- 99(i2): 98(ptr) Variable Function
- 109(i3): 108(ptr) Variable Function
- 119(i4): 118(ptr) Variable Function
- 129(f): 128(ptr) Variable Function
- 139(f2): 138(ptr) Variable Function
- 149(f3): 148(ptr) Variable Function
- 159(f4): 158(ptr) Variable Function
- 169: 158(ptr) Variable Function
- 11: 6(bool) Load 10(u_b)
- 13: 6(bool) Load 12(i_b)
- 14: 6(bool) LogicalAnd 11 13
- Store 8(b) 14
- 20: 15(bvec2) Load 19(u_b2)
- 21: 6(bool) CompositeExtract 20 0
- 23: 15(bvec2) Load 22(i_b2)
- 24: 6(bool) CompositeExtract 23 0
- 25: 6(bool) LogicalAnd 21 24
- 26: 15(bvec2) Load 19(u_b2)
- 27: 6(bool) CompositeExtract 26 1
- 28: 6(bool) LogicalAnd 25 27
- 29: 15(bvec2) Load 22(i_b2)
- 30: 6(bool) CompositeExtract 29 1
- 31: 6(bool) LogicalAnd 28 30
- 32: 15(bvec2) CompositeConstruct 31 31
- Store 17(b2) 32
- 38: 33(bvec3) Load 37(u_b3)
- 39: 6(bool) CompositeExtract 38 0
- 41: 33(bvec3) Load 40(i_b3)
- 42: 6(bool) CompositeExtract 41 0
- 43: 6(bool) LogicalAnd 39 42
- 44: 33(bvec3) Load 37(u_b3)
- 45: 6(bool) CompositeExtract 44 1
- 46: 6(bool) LogicalAnd 43 45
- 47: 33(bvec3) Load 40(i_b3)
- 48: 6(bool) CompositeExtract 47 1
- 49: 6(bool) LogicalAnd 46 48
- 50: 33(bvec3) Load 37(u_b3)
- 51: 6(bool) CompositeExtract 50 2
- 52: 6(bool) LogicalAnd 49 51
- 53: 33(bvec3) Load 40(i_b3)
- 54: 6(bool) CompositeExtract 53 2
- 55: 6(bool) LogicalAnd 52 54
- 56: 33(bvec3) CompositeConstruct 55 55 55
- Store 35(b3) 56
- 62: 57(bvec4) Load 61(u_b4)
- 63: 6(bool) CompositeExtract 62 0
- 65: 57(bvec4) Load 64(i_b4)
- 66: 6(bool) CompositeExtract 65 0
- 67: 6(bool) LogicalAnd 63 66
- 68: 57(bvec4) Load 61(u_b4)
- 69: 6(bool) CompositeExtract 68 1
- 70: 6(bool) LogicalAnd 67 69
- 71: 57(bvec4) Load 64(i_b4)
- 72: 6(bool) CompositeExtract 71 1
- 73: 6(bool) LogicalAnd 70 72
- 74: 57(bvec4) Load 61(u_b4)
- 75: 6(bool) CompositeExtract 74 2
- 76: 6(bool) LogicalAnd 73 75
- 77: 57(bvec4) Load 64(i_b4)
- 78: 6(bool) CompositeExtract 77 2
- 79: 6(bool) LogicalAnd 76 78
- 80: 57(bvec4) Load 61(u_b4)
- 81: 6(bool) CompositeExtract 80 3
- 82: 6(bool) LogicalAnd 79 81
- 83: 57(bvec4) Load 64(i_b4)
- 84: 6(bool) CompositeExtract 83 3
- 85: 6(bool) LogicalAnd 82 84
- 86: 57(bvec4) CompositeConstruct 85 85 85 85
- Store 59(b4) 86
- 92: 87(int) Load 91(u_i)
- 95: 87(int) Load 94(i_i)
- 96: 87(int) IAdd 92 95
- Store 89(i) 96
- 102: 97(ivec2) Load 101(u_i2)
- 105: 97(ivec2) Load 104(i_i2)
- 106: 97(ivec2) IAdd 102 105
- Store 99(i2) 106
- 112: 107(ivec3) Load 111(u_i3)
- 115: 107(ivec3) Load 114(i_i3)
- 116: 107(ivec3) IAdd 112 115
- Store 109(i3) 116
- 122: 117(ivec4) Load 121(u_i4)
- 125: 117(ivec4) Load 124(i_i4)
- 126: 117(ivec4) IAdd 122 125
- Store 119(i4) 126
- 132: 127(float) Load 131(u_f)
- 135: 127(float) Load 134(i_f)
- 136: 127(float) FAdd 132 135
- Store 129(f) 136
- 142: 137(fvec2) Load 141(u_f2)
- 145: 137(fvec2) Load 144(i_f2)
- 146: 137(fvec2) FAdd 142 145
- Store 139(f2) 146
- 152: 147(fvec3) Load 151(u_f3)
- 155: 147(fvec3) Load 154(i_f3)
- 156: 147(fvec3) FAdd 152 155
- Store 149(f3) 156
- 162: 157(fvec4) Load 161(u_f4)
- 165: 157(fvec4) Load 164(i_f4)
- 166: 157(fvec4) FAdd 162 165
- Store 159(f4) 166
- 170: 6(bool) Load 8(b)
- 171: 15(bvec2) Load 17(b2)
- 172: 6(bool) CompositeExtract 171 0
- 173: 6(bool) LogicalOr 170 172
- 174: 15(bvec2) Load 17(b2)
- 175: 6(bool) CompositeExtract 174 1
- 176: 6(bool) LogicalOr 173 175
- 177: 33(bvec3) Load 35(b3)
- 178: 6(bool) CompositeExtract 177 0
- 179: 6(bool) LogicalOr 176 178
- 180: 33(bvec3) Load 35(b3)
- 181: 6(bool) CompositeExtract 180 1
- 182: 6(bool) LogicalOr 179 181
- 183: 33(bvec3) Load 35(b3)
- 184: 6(bool) CompositeExtract 183 2
- 185: 6(bool) LogicalOr 182 184
- 186: 57(bvec4) Load 59(b4)
- 187: 6(bool) CompositeExtract 186 0
- 188: 6(bool) LogicalOr 185 187
- 189: 57(bvec4) Load 59(b4)
- 190: 6(bool) CompositeExtract 189 1
- 191: 6(bool) LogicalOr 188 190
- 192: 57(bvec4) Load 59(b4)
- 193: 6(bool) CompositeExtract 192 2
- 194: 6(bool) LogicalOr 191 193
- 195: 57(bvec4) Load 59(b4)
- 196: 6(bool) CompositeExtract 195 3
- 197: 6(bool) LogicalOr 194 196
- SelectionMerge 199 None
- BranchConditional 197 198 264
- 198: Label
- 200: 87(int) Load 89(i)
- 203: 88(ptr) AccessChain 99(i2) 202
- 204: 87(int) Load 203
- 205: 87(int) IAdd 200 204
- 207: 88(ptr) AccessChain 99(i2) 206
- 208: 87(int) Load 207
- 209: 87(int) IAdd 205 208
- 210: 88(ptr) AccessChain 109(i3) 202
- 211: 87(int) Load 210
- 212: 87(int) IAdd 209 211
- 213: 88(ptr) AccessChain 109(i3) 206
- 214: 87(int) Load 213
- 215: 87(int) IAdd 212 214
- 217: 88(ptr) AccessChain 109(i3) 216
- 218: 87(int) Load 217
- 219: 87(int) IAdd 215 218
- 220: 88(ptr) AccessChain 119(i4) 202
- 221: 87(int) Load 220
- 222: 87(int) IAdd 219 221
- 223: 88(ptr) AccessChain 119(i4) 206
- 224: 87(int) Load 223
- 225: 87(int) IAdd 222 224
- 226: 88(ptr) AccessChain 119(i4) 216
- 227: 87(int) Load 226
- 228: 87(int) IAdd 225 227
- 230: 88(ptr) AccessChain 119(i4) 229
- 231: 87(int) Load 230
- 232: 87(int) IAdd 228 231
- 233: 127(float) ConvertSToF 232
- 234: 127(float) Load 129(f)
- 235: 127(float) FAdd 233 234
- 236: 128(ptr) AccessChain 139(f2) 202
- 237: 127(float) Load 236
- 238: 127(float) FAdd 235 237
- 239: 128(ptr) AccessChain 139(f2) 206
- 240: 127(float) Load 239
- 241: 127(float) FAdd 238 240
- 242: 128(ptr) AccessChain 149(f3) 202
- 243: 127(float) Load 242
- 244: 127(float) FAdd 241 243
- 245: 128(ptr) AccessChain 149(f3) 206
- 246: 127(float) Load 245
- 247: 127(float) FAdd 244 246
- 248: 128(ptr) AccessChain 149(f3) 216
- 249: 127(float) Load 248
- 250: 127(float) FAdd 247 249
- 251: 128(ptr) AccessChain 159(f4) 202
- 252: 127(float) Load 251
- 253: 127(float) FAdd 250 252
- 254: 128(ptr) AccessChain 159(f4) 206
- 255: 127(float) Load 254
- 256: 127(float) FAdd 253 255
- 257: 128(ptr) AccessChain 159(f4) 216
- 258: 127(float) Load 257
- 259: 127(float) FAdd 256 258
- 260: 128(ptr) AccessChain 159(f4) 229
- 261: 127(float) Load 260
- 262: 127(float) FAdd 259 261
- 263: 157(fvec4) CompositeConstruct 262 262 262 262
- Store 169 263
- Branch 199
- 264: Label
- Store 169 266
- Branch 199
- 199: Label
- 267: 157(fvec4) Load 169
- Store 168(gl_FragColor) 267
- Return
- FunctionEnd
+spv.types.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 268
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 94 104 114 124 134 144 154 164
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 8 "b"
+ Name 10 "u_b"
+ Name 12 "i_b"
+ Name 17 "b2"
+ Name 19 "u_b2"
+ Name 22 "i_b2"
+ Name 35 "b3"
+ Name 37 "u_b3"
+ Name 40 "i_b3"
+ Name 59 "b4"
+ Name 61 "u_b4"
+ Name 64 "i_b4"
+ Name 89 "i"
+ Name 91 "u_i"
+ Name 94 "i_i"
+ Name 99 "i2"
+ Name 101 "u_i2"
+ Name 104 "i_i2"
+ Name 109 "i3"
+ Name 111 "u_i3"
+ Name 114 "i_i3"
+ Name 119 "i4"
+ Name 121 "u_i4"
+ Name 124 "i_i4"
+ Name 129 "f"
+ Name 131 "u_f"
+ Name 134 "i_f"
+ Name 139 "f2"
+ Name 141 "u_f2"
+ Name 144 "i_f2"
+ Name 149 "f3"
+ Name 151 "u_f3"
+ Name 154 "i_f3"
+ Name 159 "f4"
+ Name 161 "u_f4"
+ Name 164 "i_f4"
+ Name 168 "gl_FragColor"
+ Decorate 94(i_i) Flat
+ Decorate 104(i_i2) Flat
+ Decorate 114(i_i3) Flat
+ Decorate 124(i_i4) Flat
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeBool
+ 7: TypePointer Function 6(bool)
+ 9: TypePointer UniformConstant 6(bool)
+ 10(u_b): 9(ptr) Variable UniformConstant
+ 12(i_b): 9(ptr) Variable UniformConstant
+ 15: TypeVector 6(bool) 2
+ 16: TypePointer Function 15(bvec2)
+ 18: TypePointer UniformConstant 15(bvec2)
+ 19(u_b2): 18(ptr) Variable UniformConstant
+ 22(i_b2): 18(ptr) Variable UniformConstant
+ 33: TypeVector 6(bool) 3
+ 34: TypePointer Function 33(bvec3)
+ 36: TypePointer UniformConstant 33(bvec3)
+ 37(u_b3): 36(ptr) Variable UniformConstant
+ 40(i_b3): 36(ptr) Variable UniformConstant
+ 57: TypeVector 6(bool) 4
+ 58: TypePointer Function 57(bvec4)
+ 60: TypePointer UniformConstant 57(bvec4)
+ 61(u_b4): 60(ptr) Variable UniformConstant
+ 64(i_b4): 60(ptr) Variable UniformConstant
+ 87: TypeInt 32 1
+ 88: TypePointer Function 87(int)
+ 90: TypePointer UniformConstant 87(int)
+ 91(u_i): 90(ptr) Variable UniformConstant
+ 93: TypePointer Input 87(int)
+ 94(i_i): 93(ptr) Variable Input
+ 97: TypeVector 87(int) 2
+ 98: TypePointer Function 97(ivec2)
+ 100: TypePointer UniformConstant 97(ivec2)
+ 101(u_i2): 100(ptr) Variable UniformConstant
+ 103: TypePointer Input 97(ivec2)
+ 104(i_i2): 103(ptr) Variable Input
+ 107: TypeVector 87(int) 3
+ 108: TypePointer Function 107(ivec3)
+ 110: TypePointer UniformConstant 107(ivec3)
+ 111(u_i3): 110(ptr) Variable UniformConstant
+ 113: TypePointer Input 107(ivec3)
+ 114(i_i3): 113(ptr) Variable Input
+ 117: TypeVector 87(int) 4
+ 118: TypePointer Function 117(ivec4)
+ 120: TypePointer UniformConstant 117(ivec4)
+ 121(u_i4): 120(ptr) Variable UniformConstant
+ 123: TypePointer Input 117(ivec4)
+ 124(i_i4): 123(ptr) Variable Input
+ 127: TypeFloat 32
+ 128: TypePointer Function 127(float)
+ 130: TypePointer UniformConstant 127(float)
+ 131(u_f): 130(ptr) Variable UniformConstant
+ 133: TypePointer Input 127(float)
+ 134(i_f): 133(ptr) Variable Input
+ 137: TypeVector 127(float) 2
+ 138: TypePointer Function 137(fvec2)
+ 140: TypePointer UniformConstant 137(fvec2)
+ 141(u_f2): 140(ptr) Variable UniformConstant
+ 143: TypePointer Input 137(fvec2)
+ 144(i_f2): 143(ptr) Variable Input
+ 147: TypeVector 127(float) 3
+ 148: TypePointer Function 147(fvec3)
+ 150: TypePointer UniformConstant 147(fvec3)
+ 151(u_f3): 150(ptr) Variable UniformConstant
+ 153: TypePointer Input 147(fvec3)
+ 154(i_f3): 153(ptr) Variable Input
+ 157: TypeVector 127(float) 4
+ 158: TypePointer Function 157(fvec4)
+ 160: TypePointer UniformConstant 157(fvec4)
+ 161(u_f4): 160(ptr) Variable UniformConstant
+ 163: TypePointer Input 157(fvec4)
+ 164(i_f4): 163(ptr) Variable Input
+ 167: TypePointer Output 157(fvec4)
+168(gl_FragColor): 167(ptr) Variable Output
+ 201: TypeInt 32 0
+ 202: 201(int) Constant 0
+ 206: 201(int) Constant 1
+ 216: 201(int) Constant 2
+ 229: 201(int) Constant 3
+ 265: 127(float) Constant 1065353216
+ 266: 157(fvec4) ConstantComposite 265 265 265 265
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(b): 7(ptr) Variable Function
+ 17(b2): 16(ptr) Variable Function
+ 35(b3): 34(ptr) Variable Function
+ 59(b4): 58(ptr) Variable Function
+ 89(i): 88(ptr) Variable Function
+ 99(i2): 98(ptr) Variable Function
+ 109(i3): 108(ptr) Variable Function
+ 119(i4): 118(ptr) Variable Function
+ 129(f): 128(ptr) Variable Function
+ 139(f2): 138(ptr) Variable Function
+ 149(f3): 148(ptr) Variable Function
+ 159(f4): 158(ptr) Variable Function
+ 169: 158(ptr) Variable Function
+ 11: 6(bool) Load 10(u_b)
+ 13: 6(bool) Load 12(i_b)
+ 14: 6(bool) LogicalAnd 11 13
+ Store 8(b) 14
+ 20: 15(bvec2) Load 19(u_b2)
+ 21: 6(bool) CompositeExtract 20 0
+ 23: 15(bvec2) Load 22(i_b2)
+ 24: 6(bool) CompositeExtract 23 0
+ 25: 6(bool) LogicalAnd 21 24
+ 26: 15(bvec2) Load 19(u_b2)
+ 27: 6(bool) CompositeExtract 26 1
+ 28: 6(bool) LogicalAnd 25 27
+ 29: 15(bvec2) Load 22(i_b2)
+ 30: 6(bool) CompositeExtract 29 1
+ 31: 6(bool) LogicalAnd 28 30
+ 32: 15(bvec2) CompositeConstruct 31 31
+ Store 17(b2) 32
+ 38: 33(bvec3) Load 37(u_b3)
+ 39: 6(bool) CompositeExtract 38 0
+ 41: 33(bvec3) Load 40(i_b3)
+ 42: 6(bool) CompositeExtract 41 0
+ 43: 6(bool) LogicalAnd 39 42
+ 44: 33(bvec3) Load 37(u_b3)
+ 45: 6(bool) CompositeExtract 44 1
+ 46: 6(bool) LogicalAnd 43 45
+ 47: 33(bvec3) Load 40(i_b3)
+ 48: 6(bool) CompositeExtract 47 1
+ 49: 6(bool) LogicalAnd 46 48
+ 50: 33(bvec3) Load 37(u_b3)
+ 51: 6(bool) CompositeExtract 50 2
+ 52: 6(bool) LogicalAnd 49 51
+ 53: 33(bvec3) Load 40(i_b3)
+ 54: 6(bool) CompositeExtract 53 2
+ 55: 6(bool) LogicalAnd 52 54
+ 56: 33(bvec3) CompositeConstruct 55 55 55
+ Store 35(b3) 56
+ 62: 57(bvec4) Load 61(u_b4)
+ 63: 6(bool) CompositeExtract 62 0
+ 65: 57(bvec4) Load 64(i_b4)
+ 66: 6(bool) CompositeExtract 65 0
+ 67: 6(bool) LogicalAnd 63 66
+ 68: 57(bvec4) Load 61(u_b4)
+ 69: 6(bool) CompositeExtract 68 1
+ 70: 6(bool) LogicalAnd 67 69
+ 71: 57(bvec4) Load 64(i_b4)
+ 72: 6(bool) CompositeExtract 71 1
+ 73: 6(bool) LogicalAnd 70 72
+ 74: 57(bvec4) Load 61(u_b4)
+ 75: 6(bool) CompositeExtract 74 2
+ 76: 6(bool) LogicalAnd 73 75
+ 77: 57(bvec4) Load 64(i_b4)
+ 78: 6(bool) CompositeExtract 77 2
+ 79: 6(bool) LogicalAnd 76 78
+ 80: 57(bvec4) Load 61(u_b4)
+ 81: 6(bool) CompositeExtract 80 3
+ 82: 6(bool) LogicalAnd 79 81
+ 83: 57(bvec4) Load 64(i_b4)
+ 84: 6(bool) CompositeExtract 83 3
+ 85: 6(bool) LogicalAnd 82 84
+ 86: 57(bvec4) CompositeConstruct 85 85 85 85
+ Store 59(b4) 86
+ 92: 87(int) Load 91(u_i)
+ 95: 87(int) Load 94(i_i)
+ 96: 87(int) IAdd 92 95
+ Store 89(i) 96
+ 102: 97(ivec2) Load 101(u_i2)
+ 105: 97(ivec2) Load 104(i_i2)
+ 106: 97(ivec2) IAdd 102 105
+ Store 99(i2) 106
+ 112: 107(ivec3) Load 111(u_i3)
+ 115: 107(ivec3) Load 114(i_i3)
+ 116: 107(ivec3) IAdd 112 115
+ Store 109(i3) 116
+ 122: 117(ivec4) Load 121(u_i4)
+ 125: 117(ivec4) Load 124(i_i4)
+ 126: 117(ivec4) IAdd 122 125
+ Store 119(i4) 126
+ 132: 127(float) Load 131(u_f)
+ 135: 127(float) Load 134(i_f)
+ 136: 127(float) FAdd 132 135
+ Store 129(f) 136
+ 142: 137(fvec2) Load 141(u_f2)
+ 145: 137(fvec2) Load 144(i_f2)
+ 146: 137(fvec2) FAdd 142 145
+ Store 139(f2) 146
+ 152: 147(fvec3) Load 151(u_f3)
+ 155: 147(fvec3) Load 154(i_f3)
+ 156: 147(fvec3) FAdd 152 155
+ Store 149(f3) 156
+ 162: 157(fvec4) Load 161(u_f4)
+ 165: 157(fvec4) Load 164(i_f4)
+ 166: 157(fvec4) FAdd 162 165
+ Store 159(f4) 166
+ 170: 6(bool) Load 8(b)
+ 171: 15(bvec2) Load 17(b2)
+ 172: 6(bool) CompositeExtract 171 0
+ 173: 6(bool) LogicalOr 170 172
+ 174: 15(bvec2) Load 17(b2)
+ 175: 6(bool) CompositeExtract 174 1
+ 176: 6(bool) LogicalOr 173 175
+ 177: 33(bvec3) Load 35(b3)
+ 178: 6(bool) CompositeExtract 177 0
+ 179: 6(bool) LogicalOr 176 178
+ 180: 33(bvec3) Load 35(b3)
+ 181: 6(bool) CompositeExtract 180 1
+ 182: 6(bool) LogicalOr 179 181
+ 183: 33(bvec3) Load 35(b3)
+ 184: 6(bool) CompositeExtract 183 2
+ 185: 6(bool) LogicalOr 182 184
+ 186: 57(bvec4) Load 59(b4)
+ 187: 6(bool) CompositeExtract 186 0
+ 188: 6(bool) LogicalOr 185 187
+ 189: 57(bvec4) Load 59(b4)
+ 190: 6(bool) CompositeExtract 189 1
+ 191: 6(bool) LogicalOr 188 190
+ 192: 57(bvec4) Load 59(b4)
+ 193: 6(bool) CompositeExtract 192 2
+ 194: 6(bool) LogicalOr 191 193
+ 195: 57(bvec4) Load 59(b4)
+ 196: 6(bool) CompositeExtract 195 3
+ 197: 6(bool) LogicalOr 194 196
+ SelectionMerge 199 None
+ BranchConditional 197 198 264
+ 198: Label
+ 200: 87(int) Load 89(i)
+ 203: 88(ptr) AccessChain 99(i2) 202
+ 204: 87(int) Load 203
+ 205: 87(int) IAdd 200 204
+ 207: 88(ptr) AccessChain 99(i2) 206
+ 208: 87(int) Load 207
+ 209: 87(int) IAdd 205 208
+ 210: 88(ptr) AccessChain 109(i3) 202
+ 211: 87(int) Load 210
+ 212: 87(int) IAdd 209 211
+ 213: 88(ptr) AccessChain 109(i3) 206
+ 214: 87(int) Load 213
+ 215: 87(int) IAdd 212 214
+ 217: 88(ptr) AccessChain 109(i3) 216
+ 218: 87(int) Load 217
+ 219: 87(int) IAdd 215 218
+ 220: 88(ptr) AccessChain 119(i4) 202
+ 221: 87(int) Load 220
+ 222: 87(int) IAdd 219 221
+ 223: 88(ptr) AccessChain 119(i4) 206
+ 224: 87(int) Load 223
+ 225: 87(int) IAdd 222 224
+ 226: 88(ptr) AccessChain 119(i4) 216
+ 227: 87(int) Load 226
+ 228: 87(int) IAdd 225 227
+ 230: 88(ptr) AccessChain 119(i4) 229
+ 231: 87(int) Load 230
+ 232: 87(int) IAdd 228 231
+ 233: 127(float) ConvertSToF 232
+ 234: 127(float) Load 129(f)
+ 235: 127(float) FAdd 233 234
+ 236: 128(ptr) AccessChain 139(f2) 202
+ 237: 127(float) Load 236
+ 238: 127(float) FAdd 235 237
+ 239: 128(ptr) AccessChain 139(f2) 206
+ 240: 127(float) Load 239
+ 241: 127(float) FAdd 238 240
+ 242: 128(ptr) AccessChain 149(f3) 202
+ 243: 127(float) Load 242
+ 244: 127(float) FAdd 241 243
+ 245: 128(ptr) AccessChain 149(f3) 206
+ 246: 127(float) Load 245
+ 247: 127(float) FAdd 244 246
+ 248: 128(ptr) AccessChain 149(f3) 216
+ 249: 127(float) Load 248
+ 250: 127(float) FAdd 247 249
+ 251: 128(ptr) AccessChain 159(f4) 202
+ 252: 127(float) Load 251
+ 253: 127(float) FAdd 250 252
+ 254: 128(ptr) AccessChain 159(f4) 206
+ 255: 127(float) Load 254
+ 256: 127(float) FAdd 253 255
+ 257: 128(ptr) AccessChain 159(f4) 216
+ 258: 127(float) Load 257
+ 259: 127(float) FAdd 256 258
+ 260: 128(ptr) AccessChain 159(f4) 229
+ 261: 127(float) Load 260
+ 262: 127(float) FAdd 259 261
+ 263: 157(fvec4) CompositeConstruct 262 262 262 262
+ Store 169 263
+ Branch 199
+ 264: Label
+ Store 169 266
+ Branch 199
+ 199: Label
+ 267: 157(fvec4) Load 169
+ Store 168(gl_FragColor) 267
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.uint.frag.out b/Test/baseResults/spv.uint.frag.out
index 3cf1a76..0a1650c 100755
--- a/Test/baseResults/spv.uint.frag.out
+++ b/Test/baseResults/spv.uint.frag.out
@@ -1,350 +1,350 @@
-spv.uint.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 207
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 15 200 77 68
- ExecutionMode 4 OriginLowerLeft
- Source ESSL 300
- Name 4 "main"
- Name 8 "count"
- Name 12 "u"
- Name 15 "t"
- Name 55 "shiftedii"
- Name 57 "shiftedui"
- Name 59 "shiftediu"
- Name 60 "shifteduu"
- Name 68 "c"
- Name 72 "usampler"
- Name 77 "tc"
- Name 111 "af"
- Name 115 "ab"
- Name 118 "ai"
- Name 152 "mask1"
- Name 154 "mask2"
- Name 156 "mask3"
- Name 160 "mask4"
- Name 200 "f"
- Name 202 "v"
- Name 204 "i"
- Name 206 "b"
- Decorate 8(count) RelaxedPrecision
- Decorate 12(u) RelaxedPrecision
- Decorate 15(t) RelaxedPrecision
- Decorate 15(t) Flat
- Decorate 55(shiftedii) RelaxedPrecision
- Decorate 57(shiftedui) RelaxedPrecision
- Decorate 59(shiftediu) RelaxedPrecision
- Decorate 60(shifteduu) RelaxedPrecision
- Decorate 68(c) RelaxedPrecision
- Decorate 72(usampler) RelaxedPrecision
- Decorate 77(tc) RelaxedPrecision
- Decorate 111(af) RelaxedPrecision
- Decorate 118(ai) RelaxedPrecision
- Decorate 152(mask1) RelaxedPrecision
- Decorate 154(mask2) RelaxedPrecision
- Decorate 156(mask3) RelaxedPrecision
- Decorate 160(mask4) RelaxedPrecision
- Decorate 200(f) RelaxedPrecision
- Decorate 202(v) RelaxedPrecision
- Decorate 204(i) RelaxedPrecision
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypePointer Function 6(int)
- 9: 6(int) Constant 1
- 10: TypeInt 32 0
- 11: TypePointer Function 10(int)
- 13: TypeVector 10(int) 2
- 14: TypePointer Input 13(ivec2)
- 15(t): 14(ptr) Variable Input
- 16: 10(int) Constant 1
- 17: TypePointer Input 10(int)
- 20: 10(int) Constant 3
- 22: TypeBool
- 23: 22(bool) ConstantTrue
- 26: 6(int) Constant 2
- 31: 6(int) Constant 3
- 34: 22(bool) ConstantFalse
- 37: 6(int) Constant 5
- 42: 6(int) Constant 7
- 47: 6(int) Constant 11
- 52: 6(int) Constant 13
- 56: 6(int) Constant 4294967295
- 58: 10(int) Constant 4194303
- 66: TypeVector 10(int) 4
- 67: TypePointer Output 66(ivec4)
- 68(c): 67(ptr) Variable Output
- 69: TypeImage 10(int) 2D sampled format:Unknown
- 70: TypeSampledImage 69
- 71: TypePointer UniformConstant 70
- 72(usampler): 71(ptr) Variable UniformConstant
- 74: TypeFloat 32
- 75: TypeVector 74(float) 2
- 76: TypePointer Input 75(fvec2)
- 77(tc): 76(ptr) Variable Input
- 87: 74(float) Constant 1065353216
- 99: 74(float) Constant 1073741824
- 100: 75(fvec2) ConstantComposite 99 99
- 103: 10(int) Constant 0
- 106: 10(int) Constant 4
- 110: TypePointer Function 74(float)
- 114: TypePointer Function 22(bool)
- 134: 6(int) Constant 17
- 139: 6(int) Constant 19
- 144: 6(int) Constant 23
- 149: 6(int) Constant 27
- 153: 10(int) Constant 161
- 155: 10(int) Constant 2576
- 158: 6(int) Constant 4
- 161: 10(int) Constant 2737
- 199: TypePointer Input 74(float)
- 200(f): 199(ptr) Variable Input
- 201: TypePointer UniformConstant 66(ivec4)
- 202(v): 201(ptr) Variable UniformConstant
- 203: TypePointer UniformConstant 6(int)
- 204(i): 203(ptr) Variable UniformConstant
- 205: TypePointer UniformConstant 22(bool)
- 206(b): 205(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 8(count): 7(ptr) Variable Function
- 12(u): 11(ptr) Variable Function
- 55(shiftedii): 7(ptr) Variable Function
- 57(shiftedui): 11(ptr) Variable Function
- 59(shiftediu): 7(ptr) Variable Function
- 60(shifteduu): 11(ptr) Variable Function
- 111(af): 110(ptr) Variable Function
- 115(ab): 114(ptr) Variable Function
- 118(ai): 7(ptr) Variable Function
- 152(mask1): 11(ptr) Variable Function
- 154(mask2): 11(ptr) Variable Function
- 156(mask3): 11(ptr) Variable Function
- 160(mask4): 11(ptr) Variable Function
- Store 8(count) 9
- 18: 17(ptr) AccessChain 15(t) 16
- 19: 10(int) Load 18
- 21: 10(int) IAdd 19 20
- Store 12(u) 21
- SelectionMerge 25 None
- BranchConditional 23 24 25
- 24: Label
- 27: 6(int) Load 8(count)
- 28: 6(int) IMul 27 26
- Store 8(count) 28
- Branch 25
- 25: Label
- SelectionMerge 30 None
- BranchConditional 23 29 30
- 29: Label
- 32: 6(int) Load 8(count)
- 33: 6(int) IMul 32 31
- Store 8(count) 33
- Branch 30
- 30: Label
- SelectionMerge 36 None
- BranchConditional 34 35 36
- 35: Label
- 38: 6(int) Load 8(count)
- 39: 6(int) IMul 38 37
- Store 8(count) 39
- Branch 36
- 36: Label
- SelectionMerge 41 None
- BranchConditional 23 40 41
- 40: Label
- 43: 6(int) Load 8(count)
- 44: 6(int) IMul 43 42
- Store 8(count) 44
- Branch 41
- 41: Label
- SelectionMerge 46 None
- BranchConditional 23 45 46
- 45: Label
- 48: 6(int) Load 8(count)
- 49: 6(int) IMul 48 47
- Store 8(count) 49
- Branch 46
- 46: Label
- SelectionMerge 51 None
- BranchConditional 34 50 51
- 50: Label
- 53: 6(int) Load 8(count)
- 54: 6(int) IMul 53 52
- Store 8(count) 54
- Branch 51
- 51: Label
- Store 55(shiftedii) 56
- Store 57(shiftedui) 58
- Store 59(shiftediu) 56
- Store 60(shifteduu) 58
- 61: 6(int) Load 55(shiftedii)
- 62: 6(int) Load 59(shiftediu)
- 63: 22(bool) IEqual 61 62
- SelectionMerge 65 None
- BranchConditional 63 64 65
- 64: Label
- 73: 70 Load 72(usampler)
- 78: 75(fvec2) Load 77(tc)
- 79: 66(ivec4) ImageSampleImplicitLod 73 78
- Store 68(c) 79
- Branch 65
- 65: Label
- 80: 10(int) Load 57(shiftedui)
- 81: 10(int) Load 60(shifteduu)
- 82: 22(bool) IEqual 80 81
- SelectionMerge 84 None
- BranchConditional 82 83 84
- 83: Label
- 85: 70 Load 72(usampler)
- 86: 75(fvec2) Load 77(tc)
- 88: 75(fvec2) CompositeConstruct 87 87
- 89: 75(fvec2) FAdd 86 88
- 90: 66(ivec4) ImageSampleImplicitLod 85 89
- Store 68(c) 90
- Branch 84
- 84: Label
- 91: 6(int) Load 55(shiftedii)
- 92: 10(int) Load 57(shiftedui)
- 93: 6(int) Bitcast 92
- 94: 22(bool) IEqual 91 93
- SelectionMerge 96 None
- BranchConditional 94 95 96
- 95: Label
- 97: 70 Load 72(usampler)
- 98: 75(fvec2) Load 77(tc)
- 101: 75(fvec2) FSub 98 100
- 102: 66(ivec4) ImageSampleImplicitLod 97 101
- Store 68(c) 102
- Branch 96
- 96: Label
- 104: 17(ptr) AccessChain 15(t) 103
- 105: 10(int) Load 104
- 107: 22(bool) UGreaterThan 105 106
- SelectionMerge 109 None
- BranchConditional 107 108 109
- 108: Label
- 112: 10(int) Load 12(u)
- 113: 74(float) ConvertUToF 112
- Store 111(af) 113
- 116: 10(int) Load 12(u)
- 117: 22(bool) INotEqual 116 103
- Store 115(ab) 117
- 119: 10(int) Load 12(u)
- 120: 6(int) Bitcast 119
- Store 118(ai) 120
- 121: 74(float) Load 111(af)
- 122: 10(int) ConvertFToU 121
- 123: 22(bool) Load 115(ab)
- 124: 10(int) Select 123 16 103
- 125: 6(int) Load 118(ai)
- 126: 10(int) Bitcast 125
- 127: 6(int) Load 8(count)
- 128: 10(int) Bitcast 127
- 129: 66(ivec4) CompositeConstruct 122 124 126 128
- 130: 66(ivec4) Load 68(c)
- 131: 66(ivec4) IAdd 130 129
- Store 68(c) 131
- Branch 109
- 109: Label
- SelectionMerge 133 None
- BranchConditional 23 132 133
- 132: Label
- 135: 6(int) Load 8(count)
- 136: 6(int) IMul 135 134
- Store 8(count) 136
- Branch 133
- 133: Label
- SelectionMerge 138 None
- BranchConditional 34 137 138
- 137: Label
- 140: 6(int) Load 8(count)
- 141: 6(int) IMul 140 139
- Store 8(count) 141
- Branch 138
- 138: Label
- SelectionMerge 143 None
- BranchConditional 23 142 143
- 142: Label
- 145: 6(int) Load 8(count)
- 146: 6(int) IMul 145 144
- Store 8(count) 146
- Branch 143
- 143: Label
- SelectionMerge 148 None
- BranchConditional 23 147 148
- 147: Label
- 150: 6(int) Load 8(count)
- 151: 6(int) IMul 150 149
- Store 8(count) 151
- Branch 148
- 148: Label
- Store 152(mask1) 153
- Store 154(mask2) 155
- 157: 10(int) Load 152(mask1)
- 159: 10(int) ShiftLeftLogical 157 158
- Store 156(mask3) 159
- Store 160(mask4) 161
- 162: 10(int) Load 156(mask3)
- 163: 10(int) Load 154(mask2)
- 164: 22(bool) IEqual 162 163
- SelectionMerge 166 None
- BranchConditional 164 165 166
- 165: Label
- 167: 6(int) Load 8(count)
- 168: 6(int) IMul 167 26
- Store 8(count) 168
- Branch 166
- 166: Label
- 169: 10(int) Load 156(mask3)
- 170: 10(int) Load 152(mask1)
- 171: 10(int) BitwiseAnd 169 170
- 172: 22(bool) INotEqual 171 103
- SelectionMerge 174 None
- BranchConditional 172 173 174
- 173: Label
- 175: 6(int) Load 8(count)
- 176: 6(int) IMul 175 31
- Store 8(count) 176
- Branch 174
- 174: Label
- 177: 10(int) Load 152(mask1)
- 178: 10(int) Load 156(mask3)
- 179: 10(int) BitwiseOr 177 178
- 180: 10(int) Load 160(mask4)
- 181: 22(bool) IEqual 179 180
- SelectionMerge 183 None
- BranchConditional 181 182 183
- 182: Label
- 184: 6(int) Load 8(count)
- 185: 6(int) IMul 184 37
- Store 8(count) 185
- Branch 183
- 183: Label
- 186: 10(int) Load 152(mask1)
- 187: 10(int) Load 160(mask4)
- 188: 10(int) BitwiseXor 186 187
- 189: 22(bool) IEqual 188 155
- SelectionMerge 191 None
- BranchConditional 189 190 191
- 190: Label
- 192: 6(int) Load 8(count)
- 193: 6(int) IMul 192 42
- Store 8(count) 193
- Branch 191
- 191: Label
- 194: 6(int) Load 8(count)
- 195: 10(int) Bitcast 194
- 196: 66(ivec4) CompositeConstruct 195 195 195 195
- 197: 66(ivec4) Load 68(c)
- 198: 66(ivec4) IAdd 197 196
- Store 68(c) 198
- Return
- FunctionEnd
+spv.uint.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 207
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 15 200 77 68
+ ExecutionMode 4 OriginLowerLeft
+ Source ESSL 300
+ Name 4 "main"
+ Name 8 "count"
+ Name 12 "u"
+ Name 15 "t"
+ Name 55 "shiftedii"
+ Name 57 "shiftedui"
+ Name 59 "shiftediu"
+ Name 60 "shifteduu"
+ Name 68 "c"
+ Name 72 "usampler"
+ Name 77 "tc"
+ Name 111 "af"
+ Name 115 "ab"
+ Name 118 "ai"
+ Name 152 "mask1"
+ Name 154 "mask2"
+ Name 156 "mask3"
+ Name 160 "mask4"
+ Name 200 "f"
+ Name 202 "v"
+ Name 204 "i"
+ Name 206 "b"
+ Decorate 8(count) RelaxedPrecision
+ Decorate 12(u) RelaxedPrecision
+ Decorate 15(t) RelaxedPrecision
+ Decorate 15(t) Flat
+ Decorate 55(shiftedii) RelaxedPrecision
+ Decorate 57(shiftedui) RelaxedPrecision
+ Decorate 59(shiftediu) RelaxedPrecision
+ Decorate 60(shifteduu) RelaxedPrecision
+ Decorate 68(c) RelaxedPrecision
+ Decorate 72(usampler) RelaxedPrecision
+ Decorate 77(tc) RelaxedPrecision
+ Decorate 111(af) RelaxedPrecision
+ Decorate 118(ai) RelaxedPrecision
+ Decorate 152(mask1) RelaxedPrecision
+ Decorate 154(mask2) RelaxedPrecision
+ Decorate 156(mask3) RelaxedPrecision
+ Decorate 160(mask4) RelaxedPrecision
+ Decorate 200(f) RelaxedPrecision
+ Decorate 202(v) RelaxedPrecision
+ Decorate 204(i) RelaxedPrecision
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 1
+ 10: TypeInt 32 0
+ 11: TypePointer Function 10(int)
+ 13: TypeVector 10(int) 2
+ 14: TypePointer Input 13(ivec2)
+ 15(t): 14(ptr) Variable Input
+ 16: 10(int) Constant 1
+ 17: TypePointer Input 10(int)
+ 20: 10(int) Constant 3
+ 22: TypeBool
+ 23: 22(bool) ConstantTrue
+ 26: 6(int) Constant 2
+ 31: 6(int) Constant 3
+ 34: 22(bool) ConstantFalse
+ 37: 6(int) Constant 5
+ 42: 6(int) Constant 7
+ 47: 6(int) Constant 11
+ 52: 6(int) Constant 13
+ 56: 6(int) Constant 4294967295
+ 58: 10(int) Constant 4194303
+ 66: TypeVector 10(int) 4
+ 67: TypePointer Output 66(ivec4)
+ 68(c): 67(ptr) Variable Output
+ 69: TypeImage 10(int) 2D sampled format:Unknown
+ 70: TypeSampledImage 69
+ 71: TypePointer UniformConstant 70
+ 72(usampler): 71(ptr) Variable UniformConstant
+ 74: TypeFloat 32
+ 75: TypeVector 74(float) 2
+ 76: TypePointer Input 75(fvec2)
+ 77(tc): 76(ptr) Variable Input
+ 87: 74(float) Constant 1065353216
+ 99: 74(float) Constant 1073741824
+ 100: 75(fvec2) ConstantComposite 99 99
+ 103: 10(int) Constant 0
+ 106: 10(int) Constant 4
+ 110: TypePointer Function 74(float)
+ 114: TypePointer Function 22(bool)
+ 134: 6(int) Constant 17
+ 139: 6(int) Constant 19
+ 144: 6(int) Constant 23
+ 149: 6(int) Constant 27
+ 153: 10(int) Constant 161
+ 155: 10(int) Constant 2576
+ 158: 6(int) Constant 4
+ 161: 10(int) Constant 2737
+ 199: TypePointer Input 74(float)
+ 200(f): 199(ptr) Variable Input
+ 201: TypePointer UniformConstant 66(ivec4)
+ 202(v): 201(ptr) Variable UniformConstant
+ 203: TypePointer UniformConstant 6(int)
+ 204(i): 203(ptr) Variable UniformConstant
+ 205: TypePointer UniformConstant 22(bool)
+ 206(b): 205(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(count): 7(ptr) Variable Function
+ 12(u): 11(ptr) Variable Function
+ 55(shiftedii): 7(ptr) Variable Function
+ 57(shiftedui): 11(ptr) Variable Function
+ 59(shiftediu): 7(ptr) Variable Function
+ 60(shifteduu): 11(ptr) Variable Function
+ 111(af): 110(ptr) Variable Function
+ 115(ab): 114(ptr) Variable Function
+ 118(ai): 7(ptr) Variable Function
+ 152(mask1): 11(ptr) Variable Function
+ 154(mask2): 11(ptr) Variable Function
+ 156(mask3): 11(ptr) Variable Function
+ 160(mask4): 11(ptr) Variable Function
+ Store 8(count) 9
+ 18: 17(ptr) AccessChain 15(t) 16
+ 19: 10(int) Load 18
+ 21: 10(int) IAdd 19 20
+ Store 12(u) 21
+ SelectionMerge 25 None
+ BranchConditional 23 24 25
+ 24: Label
+ 27: 6(int) Load 8(count)
+ 28: 6(int) IMul 27 26
+ Store 8(count) 28
+ Branch 25
+ 25: Label
+ SelectionMerge 30 None
+ BranchConditional 23 29 30
+ 29: Label
+ 32: 6(int) Load 8(count)
+ 33: 6(int) IMul 32 31
+ Store 8(count) 33
+ Branch 30
+ 30: Label
+ SelectionMerge 36 None
+ BranchConditional 34 35 36
+ 35: Label
+ 38: 6(int) Load 8(count)
+ 39: 6(int) IMul 38 37
+ Store 8(count) 39
+ Branch 36
+ 36: Label
+ SelectionMerge 41 None
+ BranchConditional 23 40 41
+ 40: Label
+ 43: 6(int) Load 8(count)
+ 44: 6(int) IMul 43 42
+ Store 8(count) 44
+ Branch 41
+ 41: Label
+ SelectionMerge 46 None
+ BranchConditional 23 45 46
+ 45: Label
+ 48: 6(int) Load 8(count)
+ 49: 6(int) IMul 48 47
+ Store 8(count) 49
+ Branch 46
+ 46: Label
+ SelectionMerge 51 None
+ BranchConditional 34 50 51
+ 50: Label
+ 53: 6(int) Load 8(count)
+ 54: 6(int) IMul 53 52
+ Store 8(count) 54
+ Branch 51
+ 51: Label
+ Store 55(shiftedii) 56
+ Store 57(shiftedui) 58
+ Store 59(shiftediu) 56
+ Store 60(shifteduu) 58
+ 61: 6(int) Load 55(shiftedii)
+ 62: 6(int) Load 59(shiftediu)
+ 63: 22(bool) IEqual 61 62
+ SelectionMerge 65 None
+ BranchConditional 63 64 65
+ 64: Label
+ 73: 70 Load 72(usampler)
+ 78: 75(fvec2) Load 77(tc)
+ 79: 66(ivec4) ImageSampleImplicitLod 73 78
+ Store 68(c) 79
+ Branch 65
+ 65: Label
+ 80: 10(int) Load 57(shiftedui)
+ 81: 10(int) Load 60(shifteduu)
+ 82: 22(bool) IEqual 80 81
+ SelectionMerge 84 None
+ BranchConditional 82 83 84
+ 83: Label
+ 85: 70 Load 72(usampler)
+ 86: 75(fvec2) Load 77(tc)
+ 88: 75(fvec2) CompositeConstruct 87 87
+ 89: 75(fvec2) FAdd 86 88
+ 90: 66(ivec4) ImageSampleImplicitLod 85 89
+ Store 68(c) 90
+ Branch 84
+ 84: Label
+ 91: 6(int) Load 55(shiftedii)
+ 92: 10(int) Load 57(shiftedui)
+ 93: 6(int) Bitcast 92
+ 94: 22(bool) IEqual 91 93
+ SelectionMerge 96 None
+ BranchConditional 94 95 96
+ 95: Label
+ 97: 70 Load 72(usampler)
+ 98: 75(fvec2) Load 77(tc)
+ 101: 75(fvec2) FSub 98 100
+ 102: 66(ivec4) ImageSampleImplicitLod 97 101
+ Store 68(c) 102
+ Branch 96
+ 96: Label
+ 104: 17(ptr) AccessChain 15(t) 103
+ 105: 10(int) Load 104
+ 107: 22(bool) UGreaterThan 105 106
+ SelectionMerge 109 None
+ BranchConditional 107 108 109
+ 108: Label
+ 112: 10(int) Load 12(u)
+ 113: 74(float) ConvertUToF 112
+ Store 111(af) 113
+ 116: 10(int) Load 12(u)
+ 117: 22(bool) INotEqual 116 103
+ Store 115(ab) 117
+ 119: 10(int) Load 12(u)
+ 120: 6(int) Bitcast 119
+ Store 118(ai) 120
+ 121: 74(float) Load 111(af)
+ 122: 10(int) ConvertFToU 121
+ 123: 22(bool) Load 115(ab)
+ 124: 10(int) Select 123 16 103
+ 125: 6(int) Load 118(ai)
+ 126: 10(int) Bitcast 125
+ 127: 6(int) Load 8(count)
+ 128: 10(int) Bitcast 127
+ 129: 66(ivec4) CompositeConstruct 122 124 126 128
+ 130: 66(ivec4) Load 68(c)
+ 131: 66(ivec4) IAdd 130 129
+ Store 68(c) 131
+ Branch 109
+ 109: Label
+ SelectionMerge 133 None
+ BranchConditional 23 132 133
+ 132: Label
+ 135: 6(int) Load 8(count)
+ 136: 6(int) IMul 135 134
+ Store 8(count) 136
+ Branch 133
+ 133: Label
+ SelectionMerge 138 None
+ BranchConditional 34 137 138
+ 137: Label
+ 140: 6(int) Load 8(count)
+ 141: 6(int) IMul 140 139
+ Store 8(count) 141
+ Branch 138
+ 138: Label
+ SelectionMerge 143 None
+ BranchConditional 23 142 143
+ 142: Label
+ 145: 6(int) Load 8(count)
+ 146: 6(int) IMul 145 144
+ Store 8(count) 146
+ Branch 143
+ 143: Label
+ SelectionMerge 148 None
+ BranchConditional 23 147 148
+ 147: Label
+ 150: 6(int) Load 8(count)
+ 151: 6(int) IMul 150 149
+ Store 8(count) 151
+ Branch 148
+ 148: Label
+ Store 152(mask1) 153
+ Store 154(mask2) 155
+ 157: 10(int) Load 152(mask1)
+ 159: 10(int) ShiftLeftLogical 157 158
+ Store 156(mask3) 159
+ Store 160(mask4) 161
+ 162: 10(int) Load 156(mask3)
+ 163: 10(int) Load 154(mask2)
+ 164: 22(bool) IEqual 162 163
+ SelectionMerge 166 None
+ BranchConditional 164 165 166
+ 165: Label
+ 167: 6(int) Load 8(count)
+ 168: 6(int) IMul 167 26
+ Store 8(count) 168
+ Branch 166
+ 166: Label
+ 169: 10(int) Load 156(mask3)
+ 170: 10(int) Load 152(mask1)
+ 171: 10(int) BitwiseAnd 169 170
+ 172: 22(bool) INotEqual 171 103
+ SelectionMerge 174 None
+ BranchConditional 172 173 174
+ 173: Label
+ 175: 6(int) Load 8(count)
+ 176: 6(int) IMul 175 31
+ Store 8(count) 176
+ Branch 174
+ 174: Label
+ 177: 10(int) Load 152(mask1)
+ 178: 10(int) Load 156(mask3)
+ 179: 10(int) BitwiseOr 177 178
+ 180: 10(int) Load 160(mask4)
+ 181: 22(bool) IEqual 179 180
+ SelectionMerge 183 None
+ BranchConditional 181 182 183
+ 182: Label
+ 184: 6(int) Load 8(count)
+ 185: 6(int) IMul 184 37
+ Store 8(count) 185
+ Branch 183
+ 183: Label
+ 186: 10(int) Load 152(mask1)
+ 187: 10(int) Load 160(mask4)
+ 188: 10(int) BitwiseXor 186 187
+ 189: 22(bool) IEqual 188 155
+ SelectionMerge 191 None
+ BranchConditional 189 190 191
+ 190: Label
+ 192: 6(int) Load 8(count)
+ 193: 6(int) IMul 192 42
+ Store 8(count) 193
+ Branch 191
+ 191: Label
+ 194: 6(int) Load 8(count)
+ 195: 10(int) Bitcast 194
+ 196: 66(ivec4) CompositeConstruct 195 195 195 195
+ 197: 66(ivec4) Load 68(c)
+ 198: 66(ivec4) IAdd 197 196
+ Store 68(c) 198
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.uniformArray.frag.out b/Test/baseResults/spv.uniformArray.frag.out
index 03439d9..6acf265 100755
--- a/Test/baseResults/spv.uniformArray.frag.out
+++ b/Test/baseResults/spv.uniformArray.frag.out
@@ -1,79 +1,79 @@
-spv.uniformArray.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 53
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main"
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 9 "texColor"
- Name 14 "color"
- Name 25 "inColor"
- Name 35 "alpha"
- Name 47 "gl_FragColor"
- Name 52 "texSampler2D"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 10: TypeInt 32 0
- 11: 10(int) Constant 6
- 12: TypeArray 7(fvec4) 11
- 13: TypePointer UniformConstant 12
- 14(color): 13(ptr) Variable UniformConstant
- 15: TypeInt 32 1
- 16: 15(int) Constant 1
- 17: TypePointer UniformConstant 7(fvec4)
- 23: TypeVector 6(float) 3
- 24: TypePointer UniformConstant 23(fvec3)
- 25(inColor): 24(ptr) Variable UniformConstant
- 32: 10(int) Constant 16
- 33: TypeArray 6(float) 32
- 34: TypePointer UniformConstant 33
- 35(alpha): 34(ptr) Variable UniformConstant
- 36: 15(int) Constant 12
- 37: TypePointer UniformConstant 6(float)
- 40: 10(int) Constant 3
- 41: TypePointer Function 6(float)
- 46: TypePointer Output 7(fvec4)
-47(gl_FragColor): 46(ptr) Variable Output
- 49: TypeImage 6(float) 2D sampled format:Unknown
- 50: TypeSampledImage 49
- 51: TypePointer UniformConstant 50
-52(texSampler2D): 51(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 9(texColor): 8(ptr) Variable Function
- 18: 17(ptr) AccessChain 14(color) 16
- 19: 7(fvec4) Load 18
- 20: 17(ptr) AccessChain 14(color) 16
- 21: 7(fvec4) Load 20
- 22: 7(fvec4) FAdd 19 21
- Store 9(texColor) 22
- 26: 23(fvec3) Load 25(inColor)
- 27: 7(fvec4) Load 9(texColor)
- 28: 23(fvec3) VectorShuffle 27 27 0 1 2
- 29: 23(fvec3) FAdd 28 26
- 30: 7(fvec4) Load 9(texColor)
- 31: 7(fvec4) VectorShuffle 30 29 4 5 6 3
- Store 9(texColor) 31
- 38: 37(ptr) AccessChain 35(alpha) 36
- 39: 6(float) Load 38
- 42: 41(ptr) AccessChain 9(texColor) 40
- 43: 6(float) Load 42
- 44: 6(float) FAdd 43 39
- 45: 41(ptr) AccessChain 9(texColor) 40
- Store 45 44
- 48: 7(fvec4) Load 9(texColor)
- Store 47(gl_FragColor) 48
- Return
- FunctionEnd
+spv.uniformArray.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 53
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main"
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 9 "texColor"
+ Name 14 "color"
+ Name 25 "inColor"
+ Name 35 "alpha"
+ Name 47 "gl_FragColor"
+ Name 52 "texSampler2D"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypeInt 32 0
+ 11: 10(int) Constant 6
+ 12: TypeArray 7(fvec4) 11
+ 13: TypePointer UniformConstant 12
+ 14(color): 13(ptr) Variable UniformConstant
+ 15: TypeInt 32 1
+ 16: 15(int) Constant 1
+ 17: TypePointer UniformConstant 7(fvec4)
+ 23: TypeVector 6(float) 3
+ 24: TypePointer UniformConstant 23(fvec3)
+ 25(inColor): 24(ptr) Variable UniformConstant
+ 32: 10(int) Constant 16
+ 33: TypeArray 6(float) 32
+ 34: TypePointer UniformConstant 33
+ 35(alpha): 34(ptr) Variable UniformConstant
+ 36: 15(int) Constant 12
+ 37: TypePointer UniformConstant 6(float)
+ 40: 10(int) Constant 3
+ 41: TypePointer Function 6(float)
+ 46: TypePointer Output 7(fvec4)
+47(gl_FragColor): 46(ptr) Variable Output
+ 49: TypeImage 6(float) 2D sampled format:Unknown
+ 50: TypeSampledImage 49
+ 51: TypePointer UniformConstant 50
+52(texSampler2D): 51(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(texColor): 8(ptr) Variable Function
+ 18: 17(ptr) AccessChain 14(color) 16
+ 19: 7(fvec4) Load 18
+ 20: 17(ptr) AccessChain 14(color) 16
+ 21: 7(fvec4) Load 20
+ 22: 7(fvec4) FAdd 19 21
+ Store 9(texColor) 22
+ 26: 23(fvec3) Load 25(inColor)
+ 27: 7(fvec4) Load 9(texColor)
+ 28: 23(fvec3) VectorShuffle 27 27 0 1 2
+ 29: 23(fvec3) FAdd 28 26
+ 30: 7(fvec4) Load 9(texColor)
+ 31: 7(fvec4) VectorShuffle 30 29 4 5 6 3
+ Store 9(texColor) 31
+ 38: 37(ptr) AccessChain 35(alpha) 36
+ 39: 6(float) Load 38
+ 42: 41(ptr) AccessChain 9(texColor) 40
+ 43: 6(float) Load 42
+ 44: 6(float) FAdd 43 39
+ 45: 41(ptr) AccessChain 9(texColor) 40
+ Store 45 44
+ 48: 7(fvec4) Load 9(texColor)
+ Store 47(gl_FragColor) 48
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.variableArrayIndex.frag.out b/Test/baseResults/spv.variableArrayIndex.frag.out
index 1aa0871..ab3f27a 100755
--- a/Test/baseResults/spv.variableArrayIndex.frag.out
+++ b/Test/baseResults/spv.variableArrayIndex.frag.out
@@ -1,144 +1,144 @@
-spv.variableArrayIndex.frag
-WARNING: 0:3: varying deprecated in version 130; may be removed in future release
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 93
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 63
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 8 "iLocal"
- Name 10 "Count"
- Name 13 "lunarStruct1"
- MemberName 13(lunarStruct1) 0 "i"
- MemberName 13(lunarStruct1) 1 "f"
- Name 14 "lunarStruct2"
- MemberName 14(lunarStruct2) 0 "i"
- MemberName 14(lunarStruct2) 1 "f"
- MemberName 14(lunarStruct2) 2 "s1_1"
- Name 18 "lunarStruct3"
- MemberName 18(lunarStruct3) 0 "s2_1"
- MemberName 18(lunarStruct3) 1 "i"
- MemberName 18(lunarStruct3) 2 "f"
- MemberName 18(lunarStruct3) 3 "s1_1"
- Name 20 "foo3"
- Name 30 "scale"
- Name 34 "foo2"
- Name 36 "foo"
- Name 54 "gl_FragColor"
- Name 59 "samp2D"
- Name 63 "coord"
- Name 69 "constructed"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypePointer Function 6(int)
- 9: TypePointer UniformConstant 6(int)
- 10(Count): 9(ptr) Variable UniformConstant
- 12: TypeFloat 32
-13(lunarStruct1): TypeStruct 6(int) 12(float)
-14(lunarStruct2): TypeStruct 6(int) 12(float) 13(lunarStruct1)
- 15: TypeInt 32 0
- 16: 15(int) Constant 3
- 17: TypeArray 14(lunarStruct2) 16
-18(lunarStruct3): TypeStruct 17 6(int) 12(float) 13(lunarStruct1)
- 19: TypePointer UniformConstant 18(lunarStruct3)
- 20(foo3): 19(ptr) Variable UniformConstant
- 21: 6(int) Constant 0
- 22: 6(int) Constant 1
- 25: TypeBool
- 29: TypePointer Function 12(float)
- 31: 15(int) Constant 5
- 32: TypeArray 14(lunarStruct2) 31
- 33: TypePointer UniformConstant 32
- 34(foo2): 33(ptr) Variable UniformConstant
- 35: TypePointer UniformConstant 13(lunarStruct1)
- 36(foo): 35(ptr) Variable UniformConstant
- 41: 6(int) Constant 2
- 46: TypePointer UniformConstant 12(float)
- 52: TypeVector 12(float) 4
- 53: TypePointer Output 52(fvec4)
-54(gl_FragColor): 53(ptr) Variable Output
- 56: TypeImage 12(float) 2D sampled format:Unknown
- 57: TypeSampledImage 56
- 58: TypePointer UniformConstant 57
- 59(samp2D): 58(ptr) Variable UniformConstant
- 61: TypeVector 12(float) 2
- 62: TypePointer Input 61(fvec2)
- 63(coord): 62(ptr) Variable Input
- 67: TypeArray 61(fvec2) 16
- 68: TypePointer Function 67
- 73: 12(float) Constant 1065353216
- 74: 12(float) Constant 1073741824
- 75: 61(fvec2) ConstantComposite 73 74
- 79: TypePointer Function 61(fvec2)
- 4(main): 2 Function None 3
- 5: Label
- 8(iLocal): 7(ptr) Variable Function
- 30(scale): 29(ptr) Variable Function
- 69(constructed): 68(ptr) Variable Function
- 11: 6(int) Load 10(Count)
- Store 8(iLocal) 11
- 23: 9(ptr) AccessChain 20(foo3) 21 22 21
- 24: 6(int) Load 23
- 26: 25(bool) SGreaterThan 24 21
- SelectionMerge 28 None
- BranchConditional 26 27 49
- 27: Label
- 37: 9(ptr) AccessChain 36(foo) 21
- 38: 6(int) Load 37
- 39: 9(ptr) AccessChain 20(foo3) 21 38 21
- 40: 6(int) Load 39
- 42: 6(int) IAdd 40 41
- 43: 6(int) Load 8(iLocal)
- 44: 6(int) IAdd 43 22
- Store 8(iLocal) 44
- 45: 6(int) IAdd 42 44
- 47: 46(ptr) AccessChain 34(foo2) 45 41 22
- 48: 12(float) Load 47
- Store 30(scale) 48
- Branch 28
- 49: Label
- 50: 46(ptr) AccessChain 20(foo3) 21 21 41 22
- 51: 12(float) Load 50
- Store 30(scale) 51
- Branch 28
- 28: Label
- 55: 12(float) Load 30(scale)
- 60: 57 Load 59(samp2D)
- 64: 61(fvec2) Load 63(coord)
- 65: 52(fvec4) ImageSampleImplicitLod 60 64
- 66: 52(fvec4) VectorTimesScalar 65 55
- Store 54(gl_FragColor) 66
- 70: 61(fvec2) Load 63(coord)
- 71: 12(float) Load 30(scale)
- 72: 61(fvec2) CompositeConstruct 71 71
- 76: 67 CompositeConstruct 70 72 75
- Store 69(constructed) 76
- 77: 9(ptr) AccessChain 36(foo) 21
- 78: 6(int) Load 77
- 80: 79(ptr) AccessChain 69(constructed) 78
- 81: 61(fvec2) Load 80
- 82: 9(ptr) AccessChain 36(foo) 21
- 83: 6(int) Load 82
- 84: 79(ptr) AccessChain 69(constructed) 83
- 85: 61(fvec2) Load 84
- 86: 12(float) CompositeExtract 81 0
- 87: 12(float) CompositeExtract 81 1
- 88: 12(float) CompositeExtract 85 0
- 89: 12(float) CompositeExtract 85 1
- 90: 52(fvec4) CompositeConstruct 86 87 88 89
- 91: 52(fvec4) Load 54(gl_FragColor)
- 92: 52(fvec4) FAdd 91 90
- Store 54(gl_FragColor) 92
- Return
- FunctionEnd
+spv.variableArrayIndex.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 93
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 63
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 8 "iLocal"
+ Name 10 "Count"
+ Name 13 "lunarStruct1"
+ MemberName 13(lunarStruct1) 0 "i"
+ MemberName 13(lunarStruct1) 1 "f"
+ Name 14 "lunarStruct2"
+ MemberName 14(lunarStruct2) 0 "i"
+ MemberName 14(lunarStruct2) 1 "f"
+ MemberName 14(lunarStruct2) 2 "s1_1"
+ Name 18 "lunarStruct3"
+ MemberName 18(lunarStruct3) 0 "s2_1"
+ MemberName 18(lunarStruct3) 1 "i"
+ MemberName 18(lunarStruct3) 2 "f"
+ MemberName 18(lunarStruct3) 3 "s1_1"
+ Name 20 "foo3"
+ Name 30 "scale"
+ Name 34 "foo2"
+ Name 36 "foo"
+ Name 54 "gl_FragColor"
+ Name 59 "samp2D"
+ Name 63 "coord"
+ Name 69 "constructed"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: TypePointer UniformConstant 6(int)
+ 10(Count): 9(ptr) Variable UniformConstant
+ 12: TypeFloat 32
+13(lunarStruct1): TypeStruct 6(int) 12(float)
+14(lunarStruct2): TypeStruct 6(int) 12(float) 13(lunarStruct1)
+ 15: TypeInt 32 0
+ 16: 15(int) Constant 3
+ 17: TypeArray 14(lunarStruct2) 16
+18(lunarStruct3): TypeStruct 17 6(int) 12(float) 13(lunarStruct1)
+ 19: TypePointer UniformConstant 18(lunarStruct3)
+ 20(foo3): 19(ptr) Variable UniformConstant
+ 21: 6(int) Constant 0
+ 22: 6(int) Constant 1
+ 25: TypeBool
+ 29: TypePointer Function 12(float)
+ 31: 15(int) Constant 5
+ 32: TypeArray 14(lunarStruct2) 31
+ 33: TypePointer UniformConstant 32
+ 34(foo2): 33(ptr) Variable UniformConstant
+ 35: TypePointer UniformConstant 13(lunarStruct1)
+ 36(foo): 35(ptr) Variable UniformConstant
+ 41: 6(int) Constant 2
+ 46: TypePointer UniformConstant 12(float)
+ 52: TypeVector 12(float) 4
+ 53: TypePointer Output 52(fvec4)
+54(gl_FragColor): 53(ptr) Variable Output
+ 56: TypeImage 12(float) 2D sampled format:Unknown
+ 57: TypeSampledImage 56
+ 58: TypePointer UniformConstant 57
+ 59(samp2D): 58(ptr) Variable UniformConstant
+ 61: TypeVector 12(float) 2
+ 62: TypePointer Input 61(fvec2)
+ 63(coord): 62(ptr) Variable Input
+ 67: TypeArray 61(fvec2) 16
+ 68: TypePointer Function 67
+ 73: 12(float) Constant 1065353216
+ 74: 12(float) Constant 1073741824
+ 75: 61(fvec2) ConstantComposite 73 74
+ 79: TypePointer Function 61(fvec2)
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(iLocal): 7(ptr) Variable Function
+ 30(scale): 29(ptr) Variable Function
+ 69(constructed): 68(ptr) Variable Function
+ 11: 6(int) Load 10(Count)
+ Store 8(iLocal) 11
+ 23: 9(ptr) AccessChain 20(foo3) 21 22 21
+ 24: 6(int) Load 23
+ 26: 25(bool) SGreaterThan 24 21
+ SelectionMerge 28 None
+ BranchConditional 26 27 49
+ 27: Label
+ 37: 9(ptr) AccessChain 36(foo) 21
+ 38: 6(int) Load 37
+ 39: 9(ptr) AccessChain 20(foo3) 21 38 21
+ 40: 6(int) Load 39
+ 42: 6(int) IAdd 40 41
+ 43: 6(int) Load 8(iLocal)
+ 44: 6(int) IAdd 43 22
+ Store 8(iLocal) 44
+ 45: 6(int) IAdd 42 44
+ 47: 46(ptr) AccessChain 34(foo2) 45 41 22
+ 48: 12(float) Load 47
+ Store 30(scale) 48
+ Branch 28
+ 49: Label
+ 50: 46(ptr) AccessChain 20(foo3) 21 21 41 22
+ 51: 12(float) Load 50
+ Store 30(scale) 51
+ Branch 28
+ 28: Label
+ 55: 12(float) Load 30(scale)
+ 60: 57 Load 59(samp2D)
+ 64: 61(fvec2) Load 63(coord)
+ 65: 52(fvec4) ImageSampleImplicitLod 60 64
+ 66: 52(fvec4) VectorTimesScalar 65 55
+ Store 54(gl_FragColor) 66
+ 70: 61(fvec2) Load 63(coord)
+ 71: 12(float) Load 30(scale)
+ 72: 61(fvec2) CompositeConstruct 71 71
+ 76: 67 CompositeConstruct 70 72 75
+ Store 69(constructed) 76
+ 77: 9(ptr) AccessChain 36(foo) 21
+ 78: 6(int) Load 77
+ 80: 79(ptr) AccessChain 69(constructed) 78
+ 81: 61(fvec2) Load 80
+ 82: 9(ptr) AccessChain 36(foo) 21
+ 83: 6(int) Load 82
+ 84: 79(ptr) AccessChain 69(constructed) 83
+ 85: 61(fvec2) Load 84
+ 86: 12(float) CompositeExtract 81 0
+ 87: 12(float) CompositeExtract 81 1
+ 88: 12(float) CompositeExtract 85 0
+ 89: 12(float) CompositeExtract 85 1
+ 90: 52(fvec4) CompositeConstruct 86 87 88 89
+ 91: 52(fvec4) Load 54(gl_FragColor)
+ 92: 52(fvec4) FAdd 91 90
+ Store 54(gl_FragColor) 92
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.varyingArray.frag.out b/Test/baseResults/spv.varyingArray.frag.out
index afadee3..dc0c21b 100755
--- a/Test/baseResults/spv.varyingArray.frag.out
+++ b/Test/baseResults/spv.varyingArray.frag.out
@@ -1,93 +1,93 @@
-spv.varyingArray.frag
-WARNING: 0:3: varying deprecated in version 130; may be removed in future release
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-WARNING: 0:6: varying deprecated in version 130; may be removed in future release
-WARNING: 0:8: varying deprecated in version 130; may be removed in future release
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 61
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 34 39 19 19 48
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 9 "texColor"
- Name 13 "texSampler2D"
- Name 19 "gl_TexCoord"
- Name 34 "color"
- Name 39 "alpha"
- Name 45 "gl_FragColor"
- Name 48 "foo"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 10: TypeImage 6(float) 2D sampled format:Unknown
- 11: TypeSampledImage 10
- 12: TypePointer UniformConstant 11
-13(texSampler2D): 12(ptr) Variable UniformConstant
- 15: TypeInt 32 0
- 16: 15(int) Constant 6
- 17: TypeArray 7(fvec4) 16
- 18: TypePointer Input 17
- 19(gl_TexCoord): 18(ptr) Variable Input
- 20: TypeInt 32 1
- 21: 20(int) Constant 4
- 22: TypePointer Input 7(fvec4)
- 25: 20(int) Constant 5
- 29: TypeVector 6(float) 2
- 34(color): 22(ptr) Variable Input
- 38: TypePointer Input 6(float)
- 39(alpha): 38(ptr) Variable Input
- 41: 15(int) Constant 3
- 42: TypePointer Function 6(float)
- 44: TypePointer Output 7(fvec4)
-45(gl_FragColor): 44(ptr) Variable Output
- 46: TypeArray 7(fvec4) 41
- 47: TypePointer Input 46
- 48(foo): 47(ptr) Variable Input
- 49: 20(int) Constant 1
- 52: 20(int) Constant 0
- 4(main): 2 Function None 3
- 5: Label
- 9(texColor): 8(ptr) Variable Function
- 14: 11 Load 13(texSampler2D)
- 23: 22(ptr) AccessChain 19(gl_TexCoord) 21
- 24: 7(fvec4) Load 23
- 26: 22(ptr) AccessChain 19(gl_TexCoord) 25
- 27: 7(fvec4) Load 26
- 28: 7(fvec4) FAdd 24 27
- 30: 6(float) CompositeExtract 28 0
- 31: 6(float) CompositeExtract 28 1
- 32: 29(fvec2) CompositeConstruct 30 31
- 33: 7(fvec4) ImageSampleImplicitLod 14 32
- Store 9(texColor) 33
- 35: 7(fvec4) Load 34(color)
- 36: 7(fvec4) Load 9(texColor)
- 37: 7(fvec4) FAdd 36 35
- Store 9(texColor) 37
- 40: 6(float) Load 39(alpha)
- 43: 42(ptr) AccessChain 9(texColor) 41
- Store 43 40
- 50: 22(ptr) AccessChain 48(foo) 49
- 51: 7(fvec4) Load 50
- 53: 22(ptr) AccessChain 19(gl_TexCoord) 52
- 54: 7(fvec4) Load 53
- 55: 7(fvec4) FAdd 51 54
- 56: 22(ptr) AccessChain 19(gl_TexCoord) 21
- 57: 7(fvec4) Load 56
- 58: 7(fvec4) FAdd 55 57
- 59: 7(fvec4) Load 9(texColor)
- 60: 7(fvec4) FAdd 58 59
- Store 45(gl_FragColor) 60
- Return
- FunctionEnd
+spv.varyingArray.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+WARNING: 0:6: varying deprecated in version 130; may be removed in future release
+WARNING: 0:8: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 61
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 34 39 19 19 48
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 9 "texColor"
+ Name 13 "texSampler2D"
+ Name 19 "gl_TexCoord"
+ Name 34 "color"
+ Name 39 "alpha"
+ Name 45 "gl_FragColor"
+ Name 48 "foo"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypeImage 6(float) 2D sampled format:Unknown
+ 11: TypeSampledImage 10
+ 12: TypePointer UniformConstant 11
+13(texSampler2D): 12(ptr) Variable UniformConstant
+ 15: TypeInt 32 0
+ 16: 15(int) Constant 6
+ 17: TypeArray 7(fvec4) 16
+ 18: TypePointer Input 17
+ 19(gl_TexCoord): 18(ptr) Variable Input
+ 20: TypeInt 32 1
+ 21: 20(int) Constant 4
+ 22: TypePointer Input 7(fvec4)
+ 25: 20(int) Constant 5
+ 29: TypeVector 6(float) 2
+ 34(color): 22(ptr) Variable Input
+ 38: TypePointer Input 6(float)
+ 39(alpha): 38(ptr) Variable Input
+ 41: 15(int) Constant 3
+ 42: TypePointer Function 6(float)
+ 44: TypePointer Output 7(fvec4)
+45(gl_FragColor): 44(ptr) Variable Output
+ 46: TypeArray 7(fvec4) 41
+ 47: TypePointer Input 46
+ 48(foo): 47(ptr) Variable Input
+ 49: 20(int) Constant 1
+ 52: 20(int) Constant 0
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(texColor): 8(ptr) Variable Function
+ 14: 11 Load 13(texSampler2D)
+ 23: 22(ptr) AccessChain 19(gl_TexCoord) 21
+ 24: 7(fvec4) Load 23
+ 26: 22(ptr) AccessChain 19(gl_TexCoord) 25
+ 27: 7(fvec4) Load 26
+ 28: 7(fvec4) FAdd 24 27
+ 30: 6(float) CompositeExtract 28 0
+ 31: 6(float) CompositeExtract 28 1
+ 32: 29(fvec2) CompositeConstruct 30 31
+ 33: 7(fvec4) ImageSampleImplicitLod 14 32
+ Store 9(texColor) 33
+ 35: 7(fvec4) Load 34(color)
+ 36: 7(fvec4) Load 9(texColor)
+ 37: 7(fvec4) FAdd 36 35
+ Store 9(texColor) 37
+ 40: 6(float) Load 39(alpha)
+ 43: 42(ptr) AccessChain 9(texColor) 41
+ Store 43 40
+ 50: 22(ptr) AccessChain 48(foo) 49
+ 51: 7(fvec4) Load 50
+ 53: 22(ptr) AccessChain 19(gl_TexCoord) 52
+ 54: 7(fvec4) Load 53
+ 55: 7(fvec4) FAdd 51 54
+ 56: 22(ptr) AccessChain 19(gl_TexCoord) 21
+ 57: 7(fvec4) Load 56
+ 58: 7(fvec4) FAdd 55 57
+ 59: 7(fvec4) Load 9(texColor)
+ 60: 7(fvec4) FAdd 58 59
+ Store 45(gl_FragColor) 60
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.varyingArrayIndirect.frag.out b/Test/baseResults/spv.varyingArrayIndirect.frag.out
index ba5bb2e..024f19b 100755
--- a/Test/baseResults/spv.varyingArrayIndirect.frag.out
+++ b/Test/baseResults/spv.varyingArrayIndirect.frag.out
@@ -1,104 +1,104 @@
-spv.varyingArrayIndirect.frag
-WARNING: 0:3: varying deprecated in version 130; may be removed in future release
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-WARNING: 0:6: varying deprecated in version 130; may be removed in future release
-WARNING: 0:8: varying deprecated in version 130; may be removed in future release
-
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 70
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 45 50 30 30 19
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 130
- Name 4 "main"
- Name 9 "texColor"
- Name 13 "texSampler2D"
- Name 19 "userIn"
- Name 22 "b"
- Name 30 "gl_TexCoord"
- Name 31 "a"
- Name 45 "color"
- Name 50 "alpha"
- Name 56 "gl_FragColor"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 10: TypeImage 6(float) 2D sampled format:Unknown
- 11: TypeSampledImage 10
- 12: TypePointer UniformConstant 11
-13(texSampler2D): 12(ptr) Variable UniformConstant
- 15: TypeInt 32 0
- 16: 15(int) Constant 2
- 17: TypeArray 7(fvec4) 16
- 18: TypePointer Input 17
- 19(userIn): 18(ptr) Variable Input
- 20: TypeInt 32 1
- 21: TypePointer UniformConstant 20(int)
- 22(b): 21(ptr) Variable UniformConstant
- 24: TypePointer Input 7(fvec4)
- 27: 15(int) Constant 6
- 28: TypeArray 7(fvec4) 27
- 29: TypePointer Input 28
- 30(gl_TexCoord): 29(ptr) Variable Input
- 31(a): 21(ptr) Variable UniformConstant
- 36: 20(int) Constant 5
- 40: TypeVector 6(float) 2
- 45(color): 24(ptr) Variable Input
- 49: TypePointer Input 6(float)
- 50(alpha): 49(ptr) Variable Input
- 52: 15(int) Constant 3
- 53: TypePointer Function 6(float)
- 55: TypePointer Output 7(fvec4)
-56(gl_FragColor): 55(ptr) Variable Output
- 57: 20(int) Constant 0
- 4(main): 2 Function None 3
- 5: Label
- 9(texColor): 8(ptr) Variable Function
- 14: 11 Load 13(texSampler2D)
- 23: 20(int) Load 22(b)
- 25: 24(ptr) AccessChain 19(userIn) 23
- 26: 7(fvec4) Load 25
- 32: 20(int) Load 31(a)
- 33: 24(ptr) AccessChain 30(gl_TexCoord) 32
- 34: 7(fvec4) Load 33
- 35: 7(fvec4) FAdd 26 34
- 37: 24(ptr) AccessChain 30(gl_TexCoord) 36
- 38: 7(fvec4) Load 37
- 39: 7(fvec4) FAdd 35 38
- 41: 6(float) CompositeExtract 39 0
- 42: 6(float) CompositeExtract 39 1
- 43: 40(fvec2) CompositeConstruct 41 42
- 44: 7(fvec4) ImageSampleImplicitLod 14 43
- Store 9(texColor) 44
- 46: 7(fvec4) Load 45(color)
- 47: 7(fvec4) Load 9(texColor)
- 48: 7(fvec4) FAdd 47 46
- Store 9(texColor) 48
- 51: 6(float) Load 50(alpha)
- 54: 53(ptr) AccessChain 9(texColor) 52
- Store 54 51
- 58: 24(ptr) AccessChain 30(gl_TexCoord) 57
- 59: 7(fvec4) Load 58
- 60: 20(int) Load 22(b)
- 61: 24(ptr) AccessChain 30(gl_TexCoord) 60
- 62: 7(fvec4) Load 61
- 63: 7(fvec4) FAdd 59 62
- 64: 7(fvec4) Load 9(texColor)
- 65: 7(fvec4) FAdd 63 64
- 66: 20(int) Load 31(a)
- 67: 24(ptr) AccessChain 19(userIn) 66
- 68: 7(fvec4) Load 67
- 69: 7(fvec4) FAdd 65 68
- Store 56(gl_FragColor) 69
- Return
- FunctionEnd
+spv.varyingArrayIndirect.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+WARNING: 0:6: varying deprecated in version 130; may be removed in future release
+WARNING: 0:8: varying deprecated in version 130; may be removed in future release
+
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 70
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 45 50 30 30 19
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 130
+ Name 4 "main"
+ Name 9 "texColor"
+ Name 13 "texSampler2D"
+ Name 19 "userIn"
+ Name 22 "b"
+ Name 30 "gl_TexCoord"
+ Name 31 "a"
+ Name 45 "color"
+ Name 50 "alpha"
+ Name 56 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypeImage 6(float) 2D sampled format:Unknown
+ 11: TypeSampledImage 10
+ 12: TypePointer UniformConstant 11
+13(texSampler2D): 12(ptr) Variable UniformConstant
+ 15: TypeInt 32 0
+ 16: 15(int) Constant 2
+ 17: TypeArray 7(fvec4) 16
+ 18: TypePointer Input 17
+ 19(userIn): 18(ptr) Variable Input
+ 20: TypeInt 32 1
+ 21: TypePointer UniformConstant 20(int)
+ 22(b): 21(ptr) Variable UniformConstant
+ 24: TypePointer Input 7(fvec4)
+ 27: 15(int) Constant 6
+ 28: TypeArray 7(fvec4) 27
+ 29: TypePointer Input 28
+ 30(gl_TexCoord): 29(ptr) Variable Input
+ 31(a): 21(ptr) Variable UniformConstant
+ 36: 20(int) Constant 5
+ 40: TypeVector 6(float) 2
+ 45(color): 24(ptr) Variable Input
+ 49: TypePointer Input 6(float)
+ 50(alpha): 49(ptr) Variable Input
+ 52: 15(int) Constant 3
+ 53: TypePointer Function 6(float)
+ 55: TypePointer Output 7(fvec4)
+56(gl_FragColor): 55(ptr) Variable Output
+ 57: 20(int) Constant 0
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(texColor): 8(ptr) Variable Function
+ 14: 11 Load 13(texSampler2D)
+ 23: 20(int) Load 22(b)
+ 25: 24(ptr) AccessChain 19(userIn) 23
+ 26: 7(fvec4) Load 25
+ 32: 20(int) Load 31(a)
+ 33: 24(ptr) AccessChain 30(gl_TexCoord) 32
+ 34: 7(fvec4) Load 33
+ 35: 7(fvec4) FAdd 26 34
+ 37: 24(ptr) AccessChain 30(gl_TexCoord) 36
+ 38: 7(fvec4) Load 37
+ 39: 7(fvec4) FAdd 35 38
+ 41: 6(float) CompositeExtract 39 0
+ 42: 6(float) CompositeExtract 39 1
+ 43: 40(fvec2) CompositeConstruct 41 42
+ 44: 7(fvec4) ImageSampleImplicitLod 14 43
+ Store 9(texColor) 44
+ 46: 7(fvec4) Load 45(color)
+ 47: 7(fvec4) Load 9(texColor)
+ 48: 7(fvec4) FAdd 47 46
+ Store 9(texColor) 48
+ 51: 6(float) Load 50(alpha)
+ 54: 53(ptr) AccessChain 9(texColor) 52
+ Store 54 51
+ 58: 24(ptr) AccessChain 30(gl_TexCoord) 57
+ 59: 7(fvec4) Load 58
+ 60: 20(int) Load 22(b)
+ 61: 24(ptr) AccessChain 30(gl_TexCoord) 60
+ 62: 7(fvec4) Load 61
+ 63: 7(fvec4) FAdd 59 62
+ 64: 7(fvec4) Load 9(texColor)
+ 65: 7(fvec4) FAdd 63 64
+ 66: 20(int) Load 31(a)
+ 67: 24(ptr) AccessChain 19(userIn) 66
+ 68: 7(fvec4) Load 67
+ 69: 7(fvec4) FAdd 65 68
+ Store 56(gl_FragColor) 69
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.voidFunction.frag.out b/Test/baseResults/spv.voidFunction.frag.out
index 0fa9565..01e6ce5 100755
--- a/Test/baseResults/spv.voidFunction.frag.out
+++ b/Test/baseResults/spv.voidFunction.frag.out
@@ -1,76 +1,76 @@
-spv.voidFunction.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 44
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 41
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 120
- Name 4 "main"
- Name 6 "foo("
- Name 8 "foo2("
- Name 12 "bar"
- Name 22 "outColor"
- Name 24 "bigColor"
- Name 37 "gl_FragColor"
- Name 41 "BaseColor"
- Name 43 "d"
- 2: TypeVoid
- 3: TypeFunction 2
- 10: TypeFloat 32
- 11: TypePointer Private 10(float)
- 12(bar): 11(ptr) Variable Private
- 13: 10(float) Constant 1073741824
- 15: 10(float) Constant 1065353216
- 20: TypeVector 10(float) 4
- 21: TypePointer Function 20(fvec4)
- 23: TypePointer UniformConstant 20(fvec4)
- 24(bigColor): 23(ptr) Variable UniformConstant
- 29: TypeInt 32 0
- 30: 29(int) Constant 0
- 31: TypePointer Function 10(float)
- 36: TypePointer Output 20(fvec4)
-37(gl_FragColor): 36(ptr) Variable Output
- 40: TypePointer Input 20(fvec4)
- 41(BaseColor): 40(ptr) Variable Input
- 42: TypePointer UniformConstant 10(float)
- 43(d): 42(ptr) Variable UniformConstant
- 4(main): 2 Function None 3
- 5: Label
- 22(outColor): 21(ptr) Variable Function
- Store 12(bar) 13
- 25: 20(fvec4) Load 24(bigColor)
- Store 22(outColor) 25
- 26: 2 FunctionCall 6(foo()
- 27: 2 FunctionCall 8(foo2()
- 28: 10(float) Load 12(bar)
- 32: 31(ptr) AccessChain 22(outColor) 30
- 33: 10(float) Load 32
- 34: 10(float) FAdd 33 28
- 35: 31(ptr) AccessChain 22(outColor) 30
- Store 35 34
- 38: 20(fvec4) Load 22(outColor)
- Store 37(gl_FragColor) 38
- Return
- FunctionEnd
- 6(foo(): 2 Function None 3
- 7: Label
- 14: 10(float) Load 12(bar)
- 16: 10(float) FAdd 14 15
- Store 12(bar) 16
- Return
- FunctionEnd
- 8(foo2(): 2 Function None 3
- 9: Label
- 18: 10(float) Load 12(bar)
- 19: 10(float) FAdd 18 15
- Store 12(bar) 19
- Return
- FunctionEnd
+spv.voidFunction.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 44
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 41
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 120
+ Name 4 "main"
+ Name 6 "foo("
+ Name 8 "foo2("
+ Name 12 "bar"
+ Name 22 "outColor"
+ Name 24 "bigColor"
+ Name 37 "gl_FragColor"
+ Name 41 "BaseColor"
+ Name 43 "d"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 10: TypeFloat 32
+ 11: TypePointer Private 10(float)
+ 12(bar): 11(ptr) Variable Private
+ 13: 10(float) Constant 1073741824
+ 15: 10(float) Constant 1065353216
+ 20: TypeVector 10(float) 4
+ 21: TypePointer Function 20(fvec4)
+ 23: TypePointer UniformConstant 20(fvec4)
+ 24(bigColor): 23(ptr) Variable UniformConstant
+ 29: TypeInt 32 0
+ 30: 29(int) Constant 0
+ 31: TypePointer Function 10(float)
+ 36: TypePointer Output 20(fvec4)
+37(gl_FragColor): 36(ptr) Variable Output
+ 40: TypePointer Input 20(fvec4)
+ 41(BaseColor): 40(ptr) Variable Input
+ 42: TypePointer UniformConstant 10(float)
+ 43(d): 42(ptr) Variable UniformConstant
+ 4(main): 2 Function None 3
+ 5: Label
+ 22(outColor): 21(ptr) Variable Function
+ Store 12(bar) 13
+ 25: 20(fvec4) Load 24(bigColor)
+ Store 22(outColor) 25
+ 26: 2 FunctionCall 6(foo()
+ 27: 2 FunctionCall 8(foo2()
+ 28: 10(float) Load 12(bar)
+ 32: 31(ptr) AccessChain 22(outColor) 30
+ 33: 10(float) Load 32
+ 34: 10(float) FAdd 33 28
+ 35: 31(ptr) AccessChain 22(outColor) 30
+ Store 35 34
+ 38: 20(fvec4) Load 22(outColor)
+ Store 37(gl_FragColor) 38
+ Return
+ FunctionEnd
+ 6(foo(): 2 Function None 3
+ 7: Label
+ 14: 10(float) Load 12(bar)
+ 16: 10(float) FAdd 14 15
+ Store 12(bar) 16
+ Return
+ FunctionEnd
+ 8(foo2(): 2 Function None 3
+ 9: Label
+ 18: 10(float) Load 12(bar)
+ 19: 10(float) FAdd 18 15
+ Store 12(bar) 19
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.while-continue-break.vert.out b/Test/baseResults/spv.while-continue-break.vert.out
index 5305b98..5d6094f 100755
--- a/Test/baseResults/spv.while-continue-break.vert.out
+++ b/Test/baseResults/spv.while-continue-break.vert.out
@@ -1,86 +1,86 @@
-spv.while-continue-break.vert
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 42
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 40 41
- Source ESSL 300
- Name 4 "main"
- Name 8 "i"
- Name 17 "A"
- Name 25 "B"
- Name 27 "C"
- Name 37 "D"
- Name 40 "gl_VertexID"
- Name 41 "gl_InstanceID"
- Decorate 40(gl_VertexID) BuiltIn VertexId
- Decorate 41(gl_InstanceID) BuiltIn InstanceId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypePointer Function 6(int)
- 9: 6(int) Constant 0
- 14: 6(int) Constant 10
- 15: TypeBool
- 18: 6(int) Constant 1
- 20: 6(int) Constant 2
- 29: 6(int) Constant 5
- 38: 6(int) Constant 3
- 39: TypePointer Input 6(int)
- 40(gl_VertexID): 39(ptr) Variable Input
-41(gl_InstanceID): 39(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 8(i): 7(ptr) Variable Function
- 17(A): 7(ptr) Variable Function
- 25(B): 7(ptr) Variable Function
- 27(C): 7(ptr) Variable Function
- 37(D): 7(ptr) Variable Function
- Store 8(i) 9
- Branch 10
- 10: Label
- 13: 6(int) Load 8(i)
- 16: 15(bool) SLessThan 13 14
- LoopMerge 11 10 None
- BranchConditional 16 12 11
- 12: Label
- Store 17(A) 18
- 19: 6(int) Load 8(i)
- 21: 6(int) SMod 19 20
- 22: 15(bool) IEqual 21 9
- SelectionMerge 24 None
- BranchConditional 22 23 24
- 23: Label
- Store 25(B) 20
- Branch 10
- 26: Label
- Store 27(C) 20
- Branch 24
- 24: Label
- 28: 6(int) Load 8(i)
- 30: 6(int) SMod 28 29
- 31: 15(bool) IEqual 30 9
- SelectionMerge 33 None
- BranchConditional 31 32 33
- 32: Label
- Store 25(B) 20
- Branch 11
- 34: Label
- Store 27(C) 20
- Branch 33
- 33: Label
- 35: 6(int) Load 8(i)
- 36: 6(int) IAdd 35 18
- Store 8(i) 36
- Branch 10
- 11: Label
- Store 37(D) 38
- Return
- FunctionEnd
+spv.while-continue-break.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 42
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 40 41
+ Source ESSL 300
+ Name 4 "main"
+ Name 8 "i"
+ Name 17 "A"
+ Name 25 "B"
+ Name 27 "C"
+ Name 37 "D"
+ Name 40 "gl_VertexID"
+ Name 41 "gl_InstanceID"
+ Decorate 40(gl_VertexID) BuiltIn VertexId
+ Decorate 41(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 14: 6(int) Constant 10
+ 15: TypeBool
+ 18: 6(int) Constant 1
+ 20: 6(int) Constant 2
+ 29: 6(int) Constant 5
+ 38: 6(int) Constant 3
+ 39: TypePointer Input 6(int)
+ 40(gl_VertexID): 39(ptr) Variable Input
+41(gl_InstanceID): 39(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ 17(A): 7(ptr) Variable Function
+ 25(B): 7(ptr) Variable Function
+ 27(C): 7(ptr) Variable Function
+ 37(D): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ 13: 6(int) Load 8(i)
+ 16: 15(bool) SLessThan 13 14
+ LoopMerge 11 10 None
+ BranchConditional 16 12 11
+ 12: Label
+ Store 17(A) 18
+ 19: 6(int) Load 8(i)
+ 21: 6(int) SMod 19 20
+ 22: 15(bool) IEqual 21 9
+ SelectionMerge 24 None
+ BranchConditional 22 23 24
+ 23: Label
+ Store 25(B) 20
+ Branch 10
+ 26: Label
+ Store 27(C) 20
+ Branch 24
+ 24: Label
+ 28: 6(int) Load 8(i)
+ 30: 6(int) SMod 28 29
+ 31: 15(bool) IEqual 30 9
+ SelectionMerge 33 None
+ BranchConditional 31 32 33
+ 32: Label
+ Store 25(B) 20
+ Branch 11
+ 34: Label
+ Store 27(C) 20
+ Branch 33
+ 33: Label
+ 35: 6(int) Load 8(i)
+ 36: 6(int) IAdd 35 18
+ Store 8(i) 36
+ Branch 10
+ 11: Label
+ Store 37(D) 38
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.while-simple.vert.out b/Test/baseResults/spv.while-simple.vert.out
index 14d46dd..40acceb 100755
--- a/Test/baseResults/spv.while-simple.vert.out
+++ b/Test/baseResults/spv.while-simple.vert.out
@@ -1,49 +1,49 @@
-spv.while-simple.vert
-
-Linked vertex stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 23
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 21 22
- Source ESSL 300
- Name 4 "main"
- Name 8 "i"
- Name 21 "gl_VertexID"
- Name 22 "gl_InstanceID"
- Decorate 21(gl_VertexID) BuiltIn VertexId
- Decorate 22(gl_InstanceID) BuiltIn InstanceId
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeInt 32 1
- 7: TypePointer Function 6(int)
- 9: 6(int) Constant 0
- 14: 6(int) Constant 10
- 15: TypeBool
- 18: 6(int) Constant 1
- 20: TypePointer Input 6(int)
- 21(gl_VertexID): 20(ptr) Variable Input
-22(gl_InstanceID): 20(ptr) Variable Input
- 4(main): 2 Function None 3
- 5: Label
- 8(i): 7(ptr) Variable Function
- Store 8(i) 9
- Branch 10
- 10: Label
- 13: 6(int) Load 8(i)
- 16: 15(bool) SLessThan 13 14
- LoopMerge 11 10 None
- BranchConditional 16 12 11
- 12: Label
- 17: 6(int) Load 8(i)
- 19: 6(int) IAdd 17 18
- Store 8(i) 19
- Branch 10
- 11: Label
- Return
- FunctionEnd
+spv.while-simple.vert
+
+Linked vertex stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 23
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 21 22
+ Source ESSL 300
+ Name 4 "main"
+ Name 8 "i"
+ Name 21 "gl_VertexID"
+ Name 22 "gl_InstanceID"
+ Decorate 21(gl_VertexID) BuiltIn VertexId
+ Decorate 22(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 1
+ 7: TypePointer Function 6(int)
+ 9: 6(int) Constant 0
+ 14: 6(int) Constant 10
+ 15: TypeBool
+ 18: 6(int) Constant 1
+ 20: TypePointer Input 6(int)
+ 21(gl_VertexID): 20(ptr) Variable Input
+22(gl_InstanceID): 20(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(i): 7(ptr) Variable Function
+ Store 8(i) 9
+ Branch 10
+ 10: Label
+ 13: 6(int) Load 8(i)
+ 16: 15(bool) SLessThan 13 14
+ LoopMerge 11 10 None
+ BranchConditional 16 12 11
+ 12: Label
+ 17: 6(int) Load 8(i)
+ 19: 6(int) IAdd 17 18
+ Store 8(i) 19
+ Branch 10
+ 11: Label
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.whileLoop.frag.out b/Test/baseResults/spv.whileLoop.frag.out
index 591129c..c3b535b 100755
--- a/Test/baseResults/spv.whileLoop.frag.out
+++ b/Test/baseResults/spv.whileLoop.frag.out
@@ -1,62 +1,62 @@
-spv.whileLoop.frag
-
-Linked fragment stage:
-
-
-// Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 34
-
- Capability Shader
- 1: ExtInstImport "GLSL.std.450"
- MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 11
- ExecutionMode 4 OriginLowerLeft
- Source GLSL 110
- Name 4 "main"
- Name 9 "color"
- Name 11 "BaseColor"
- Name 22 "d"
- Name 27 "bigColor"
- Name 32 "gl_FragColor"
- 2: TypeVoid
- 3: TypeFunction 2
- 6: TypeFloat 32
- 7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
- 10: TypePointer Input 7(fvec4)
- 11(BaseColor): 10(ptr) Variable Input
- 16: TypeInt 32 0
- 17: 16(int) Constant 0
- 18: TypePointer Function 6(float)
- 21: TypePointer UniformConstant 6(float)
- 22(d): 21(ptr) Variable UniformConstant
- 24: TypeBool
- 26: TypePointer UniformConstant 7(fvec4)
- 27(bigColor): 26(ptr) Variable UniformConstant
- 31: TypePointer Output 7(fvec4)
-32(gl_FragColor): 31(ptr) Variable Output
- 4(main): 2 Function None 3
- 5: Label
- 9(color): 8(ptr) Variable Function
- 12: 7(fvec4) Load 11(BaseColor)
- Store 9(color) 12
- Branch 13
- 13: Label
- 19: 18(ptr) AccessChain 9(color) 17
- 20: 6(float) Load 19
- 23: 6(float) Load 22(d)
- 25: 24(bool) FOrdLessThan 20 23
- LoopMerge 14 13 None
- BranchConditional 25 15 14
- 15: Label
- 28: 7(fvec4) Load 27(bigColor)
- 29: 7(fvec4) Load 9(color)
- 30: 7(fvec4) FAdd 29 28
- Store 9(color) 30
- Branch 13
- 14: Label
- 33: 7(fvec4) Load 9(color)
- Store 32(gl_FragColor) 33
- Return
- FunctionEnd
+spv.whileLoop.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 34
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 11
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 110
+ Name 4 "main"
+ Name 9 "color"
+ Name 11 "BaseColor"
+ Name 22 "d"
+ Name 27 "bigColor"
+ Name 32 "gl_FragColor"
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypePointer Input 7(fvec4)
+ 11(BaseColor): 10(ptr) Variable Input
+ 16: TypeInt 32 0
+ 17: 16(int) Constant 0
+ 18: TypePointer Function 6(float)
+ 21: TypePointer UniformConstant 6(float)
+ 22(d): 21(ptr) Variable UniformConstant
+ 24: TypeBool
+ 26: TypePointer UniformConstant 7(fvec4)
+ 27(bigColor): 26(ptr) Variable UniformConstant
+ 31: TypePointer Output 7(fvec4)
+32(gl_FragColor): 31(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(color): 8(ptr) Variable Function
+ 12: 7(fvec4) Load 11(BaseColor)
+ Store 9(color) 12
+ Branch 13
+ 13: Label
+ 19: 18(ptr) AccessChain 9(color) 17
+ 20: 6(float) Load 19
+ 23: 6(float) Load 22(d)
+ 25: 24(bool) FOrdLessThan 20 23
+ LoopMerge 14 13 None
+ BranchConditional 25 15 14
+ 15: Label
+ 28: 7(fvec4) Load 27(bigColor)
+ 29: 7(fvec4) Load 9(color)
+ 30: 7(fvec4) FAdd 29 28
+ Store 9(color) 30
+ Branch 13
+ 14: Label
+ 33: 7(fvec4) Load 9(color)
+ Store 32(gl_FragColor) 33
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/structAssignment.frag.out b/Test/baseResults/structAssignment.frag.out
index 8a6b585..75cc44c 100644
--- a/Test/baseResults/structAssignment.frag.out
+++ b/Test/baseResults/structAssignment.frag.out
@@ -1,103 +1,103 @@
-structAssignment.frag
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-
-Shader version: 130
-0:? Sequence
-0:29 Function Definition: main( (global void)
-0:29 Function Parameters:
-0:? Sequence
-0:33 Test condition and select (temp void)
-0:33 Condition
-0:33 Compare Greater Than (temp bool)
-0:33 i: direct index for structure (global int)
-0:33 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:33 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:33 Constant:
-0:33 0 (const int)
-0:33 Constant:
-0:33 0 (const int)
-0:33 Constant:
-0:33 0 (const int)
-0:33 true case
-0:34 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:34 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:34 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:34 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:34 Constant:
-0:34 0 (const int)
-0:33 false case
-0:36 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:36 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:36 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:38 move second child to first child (temp 4-component vector of float)
-0:38 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:38 vector-scale (temp 4-component vector of float)
-0:38 f: direct index for structure (global float)
-0:38 s1_1: direct index for structure (global structure{global int i, global float f})
-0:38 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:38 Constant:
-0:38 2 (const int)
-0:38 Constant:
-0:38 1 (const int)
-0:38 texture (global 4-component vector of float)
-0:38 'sampler' (uniform sampler2D)
-0:38 'coord' (smooth in 2-component vector of float)
-0:? Linker Objects
-0:? 'sampler' (uniform sampler2D)
-0:? 'coord' (smooth in 2-component vector of float)
-0:? 'foo' (uniform structure{global int i, global float f})
-0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:? 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:29 Function Definition: main( (global void)
-0:29 Function Parameters:
-0:? Sequence
-0:33 Test condition and select (temp void)
-0:33 Condition
-0:33 Compare Greater Than (temp bool)
-0:33 i: direct index for structure (global int)
-0:33 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:33 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:33 Constant:
-0:33 0 (const int)
-0:33 Constant:
-0:33 0 (const int)
-0:33 Constant:
-0:33 0 (const int)
-0:33 true case
-0:34 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:34 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:34 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:34 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:34 Constant:
-0:34 0 (const int)
-0:33 false case
-0:36 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:36 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:36 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:38 move second child to first child (temp 4-component vector of float)
-0:38 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:38 vector-scale (temp 4-component vector of float)
-0:38 f: direct index for structure (global float)
-0:38 s1_1: direct index for structure (global structure{global int i, global float f})
-0:38 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:38 Constant:
-0:38 2 (const int)
-0:38 Constant:
-0:38 1 (const int)
-0:38 texture (global 4-component vector of float)
-0:38 'sampler' (uniform sampler2D)
-0:38 'coord' (smooth in 2-component vector of float)
-0:? Linker Objects
-0:? 'sampler' (uniform sampler2D)
-0:? 'coord' (smooth in 2-component vector of float)
-0:? 'foo' (uniform structure{global int i, global float f})
-0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:? 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-
+structAssignment.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:29 Function Definition: main( (global void)
+0:29 Function Parameters:
+0:? Sequence
+0:33 Test condition and select (temp void)
+0:33 Condition
+0:33 Compare Greater Than (temp bool)
+0:33 i: direct index for structure (global int)
+0:33 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:33 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:33 Constant:
+0:33 0 (const int)
+0:33 Constant:
+0:33 0 (const int)
+0:33 Constant:
+0:33 0 (const int)
+0:33 true case
+0:34 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 Constant:
+0:34 0 (const int)
+0:33 false case
+0:36 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:36 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:36 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:38 move second child to first child (temp 4-component vector of float)
+0:38 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:38 vector-scale (temp 4-component vector of float)
+0:38 f: direct index for structure (global float)
+0:38 s1_1: direct index for structure (global structure{global int i, global float f})
+0:38 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:38 Constant:
+0:38 2 (const int)
+0:38 Constant:
+0:38 1 (const int)
+0:38 texture (global 4-component vector of float)
+0:38 'sampler' (uniform sampler2D)
+0:38 'coord' (smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'foo' (uniform structure{global int i, global float f})
+0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:29 Function Definition: main( (global void)
+0:29 Function Parameters:
+0:? Sequence
+0:33 Test condition and select (temp void)
+0:33 Condition
+0:33 Compare Greater Than (temp bool)
+0:33 i: direct index for structure (global int)
+0:33 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:33 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:33 Constant:
+0:33 0 (const int)
+0:33 Constant:
+0:33 0 (const int)
+0:33 Constant:
+0:33 0 (const int)
+0:33 true case
+0:34 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 Constant:
+0:34 0 (const int)
+0:33 false case
+0:36 move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:36 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:36 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:38 move second child to first child (temp 4-component vector of float)
+0:38 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:38 vector-scale (temp 4-component vector of float)
+0:38 f: direct index for structure (global float)
+0:38 s1_1: direct index for structure (global structure{global int i, global float f})
+0:38 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:38 Constant:
+0:38 2 (const int)
+0:38 Constant:
+0:38 1 (const int)
+0:38 texture (global 4-component vector of float)
+0:38 'sampler' (uniform sampler2D)
+0:38 'coord' (smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'foo' (uniform structure{global int i, global float f})
+0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'foo3' (uniform structure{global structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+
diff --git a/Test/baseResults/structDeref.frag.out b/Test/baseResults/structDeref.frag.out
index ae52e25..fc9d377 100644
--- a/Test/baseResults/structDeref.frag.out
+++ b/Test/baseResults/structDeref.frag.out
@@ -1,345 +1,345 @@
-structDeref.frag
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-
-Shader version: 130
-0:? Sequence
-0:41 Function Definition: main( (global void)
-0:41 Function Parameters:
-0:? Sequence
-0:51 Test condition and select (temp void)
-0:51 Condition
-0:51 Compare Greater Than (temp bool)
-0:51 i: direct index for structure (global int)
-0:51 direct index (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:51 s2_1: direct index for structure (global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:51 'foo3' (uniform structure{global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:51 Constant:
-0:51 0 (const int)
-0:51 Constant:
-0:51 9 (const int)
-0:51 Constant:
-0:51 0 (const int)
-0:51 Constant:
-0:51 0 (const int)
-0:51 true case
-0:52 Sequence
-0:52 move second child to first child (temp float)
-0:52 f: direct index for structure (global float)
-0:52 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:52 Constant:
-0:52 1 (const int)
-0:52 Constant:
-0:52 1.000000
-0:53 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
-0:53 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
-0:53 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:53 Constant:
-0:53 2 (const int)
-0:53 Constant:
-0:53 0 (const int)
-0:53 1.000000
-0:53 0 (const int)
-0:54 move second child to first child (temp 6-element array of float)
-0:54 'fArray' (temp 6-element array of float)
-0:54 Constant:
-0:54 0.000000
-0:54 0.000000
-0:54 0.000000
-0:54 0.000000
-0:54 0.000000
-0:54 0.000000
-0:55 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
-0:55 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
-0:55 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
-0:55 Constant:
-0:55 6 (const int)
-0:55 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
-0:56 move second child to first child (temp structure{global int i})
-0:56 'locals0' (temp structure{global int i})
-0:56 Constant:
-0:56 0 (const int)
-0:57 move second child to first child (temp structure{global structure{global int i} s0_0})
-0:57 'locals00' (temp structure{global structure{global int i} s0_0})
-0:57 Constant:
-0:57 0 (const int)
-0:51 false case
-0:59 Sequence
-0:59 move second child to first child (temp float)
-0:59 f: direct index for structure (global float)
-0:59 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:59 Constant:
-0:59 1 (const int)
-0:59 direct index (temp float)
-0:59 'coord' (smooth in 2-component vector of float)
-0:59 Constant:
-0:59 0 (const int)
-0:60 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
-0:60 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
-0:60 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:60 Constant:
-0:60 2 (const int)
-0:60 Construct structure (temp structure{global int i, global float f, global structure{global int i} s0_1})
-0:60 Constant:
-0:60 1 (const int)
-0:60 direct index (temp float)
-0:60 'coord' (smooth in 2-component vector of float)
-0:60 Constant:
-0:60 1 (const int)
-0:60 'foo0' (uniform structure{global int i})
-0:61 move second child to first child (temp 6-element array of float)
-0:61 'fArray' (temp 6-element array of float)
-0:61 Constant:
-0:61 0.000000
-0:61 1.000000
-0:61 2.000000
-0:61 3.000000
-0:61 4.000000
-0:61 5.000000
-0:62 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
-0:62 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
-0:62 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
-0:62 Constant:
-0:62 6 (const int)
-0:62 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
-0:62 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:62 Constant:
-0:62 2 (const int)
-0:63 move second child to first child (temp structure{global int i})
-0:63 'locals0' (temp structure{global int i})
-0:63 s0_1: direct index for structure (global structure{global int i})
-0:63 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
-0:63 Constant:
-0:63 2 (const int)
-0:64 move second child to first child (temp structure{global structure{global int i} s0_0})
-0:64 'locals00' (temp structure{global structure{global int i} s0_0})
-0:64 'foo00' (uniform structure{global structure{global int i} s0_0})
-0:67 Test condition and select (temp void)
-0:67 Condition
-0:67 Compare Greater Than (temp bool)
-0:67 i: direct index for structure (global int)
-0:67 'locals0' (temp structure{global int i})
-0:67 Constant:
-0:67 0 (const int)
-0:67 Constant:
-0:67 5 (const int)
-0:67 true case
-0:68 move second child to first child (temp structure{global int i})
-0:68 'locals0' (temp structure{global int i})
-0:68 s0_0: direct index for structure (global structure{global int i})
-0:68 'locals00' (temp structure{global structure{global int i} s0_0})
-0:68 Constant:
-0:68 0 (const int)
-0:70 move second child to first child (temp 4-component vector of float)
-0:70 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:70 vector-scale (temp 4-component vector of float)
-0:70 add (temp float)
-0:70 add (temp float)
-0:70 add (temp float)
-0:70 Convert int to float (temp float)
-0:70 i: direct index for structure (global int)
-0:70 'locals0' (temp structure{global int i})
-0:70 Constant:
-0:70 0 (const int)
-0:70 f: direct index for structure (global float)
-0:70 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
-0:70 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
-0:70 Constant:
-0:70 6 (const int)
-0:70 Constant:
-0:70 1 (const int)
-0:70 direct index (temp float)
-0:70 'fArray' (temp 6-element array of float)
-0:70 Constant:
-0:70 3 (const int)
-0:70 f: direct index for structure (global float)
-0:70 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
-0:70 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:70 Constant:
-0:70 2 (const int)
-0:70 Constant:
-0:70 1 (const int)
-0:70 texture (global 4-component vector of float)
-0:70 'sampler' (uniform sampler2D)
-0:70 'coord' (smooth in 2-component vector of float)
-0:? Linker Objects
-0:? 'sampler' (uniform sampler2D)
-0:? 'coord' (smooth in 2-component vector of float)
-0:? 'foo0' (uniform structure{global int i})
-0:? 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
-0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:? 'foo3' (uniform structure{global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:? 'foo00' (uniform structure{global structure{global int i} s0_0})
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:41 Function Definition: main( (global void)
-0:41 Function Parameters:
-0:? Sequence
-0:51 Test condition and select (temp void)
-0:51 Condition
-0:51 Compare Greater Than (temp bool)
-0:51 i: direct index for structure (global int)
-0:51 direct index (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:51 s2_1: direct index for structure (global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:51 'foo3' (uniform structure{global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:51 Constant:
-0:51 0 (const int)
-0:51 Constant:
-0:51 9 (const int)
-0:51 Constant:
-0:51 0 (const int)
-0:51 Constant:
-0:51 0 (const int)
-0:51 true case
-0:52 Sequence
-0:52 move second child to first child (temp float)
-0:52 f: direct index for structure (global float)
-0:52 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:52 Constant:
-0:52 1 (const int)
-0:52 Constant:
-0:52 1.000000
-0:53 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
-0:53 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
-0:53 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:53 Constant:
-0:53 2 (const int)
-0:53 Constant:
-0:53 0 (const int)
-0:53 1.000000
-0:53 0 (const int)
-0:54 move second child to first child (temp 6-element array of float)
-0:54 'fArray' (temp 6-element array of float)
-0:54 Constant:
-0:54 0.000000
-0:54 0.000000
-0:54 0.000000
-0:54 0.000000
-0:54 0.000000
-0:54 0.000000
-0:55 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
-0:55 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
-0:55 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
-0:55 Constant:
-0:55 6 (const int)
-0:55 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
-0:56 move second child to first child (temp structure{global int i})
-0:56 'locals0' (temp structure{global int i})
-0:56 Constant:
-0:56 0 (const int)
-0:57 move second child to first child (temp structure{global structure{global int i} s0_0})
-0:57 'locals00' (temp structure{global structure{global int i} s0_0})
-0:57 Constant:
-0:57 0 (const int)
-0:51 false case
-0:59 Sequence
-0:59 move second child to first child (temp float)
-0:59 f: direct index for structure (global float)
-0:59 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:59 Constant:
-0:59 1 (const int)
-0:59 direct index (temp float)
-0:59 'coord' (smooth in 2-component vector of float)
-0:59 Constant:
-0:59 0 (const int)
-0:60 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
-0:60 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
-0:60 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:60 Constant:
-0:60 2 (const int)
-0:60 Construct structure (temp structure{global int i, global float f, global structure{global int i} s0_1})
-0:60 Constant:
-0:60 1 (const int)
-0:60 direct index (temp float)
-0:60 'coord' (smooth in 2-component vector of float)
-0:60 Constant:
-0:60 1 (const int)
-0:60 'foo0' (uniform structure{global int i})
-0:61 move second child to first child (temp 6-element array of float)
-0:61 'fArray' (temp 6-element array of float)
-0:61 Constant:
-0:61 0.000000
-0:61 1.000000
-0:61 2.000000
-0:61 3.000000
-0:61 4.000000
-0:61 5.000000
-0:62 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
-0:62 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
-0:62 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
-0:62 Constant:
-0:62 6 (const int)
-0:62 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
-0:62 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:62 Constant:
-0:62 2 (const int)
-0:63 move second child to first child (temp structure{global int i})
-0:63 'locals0' (temp structure{global int i})
-0:63 s0_1: direct index for structure (global structure{global int i})
-0:63 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
-0:63 Constant:
-0:63 2 (const int)
-0:64 move second child to first child (temp structure{global structure{global int i} s0_0})
-0:64 'locals00' (temp structure{global structure{global int i} s0_0})
-0:64 'foo00' (uniform structure{global structure{global int i} s0_0})
-0:67 Test condition and select (temp void)
-0:67 Condition
-0:67 Compare Greater Than (temp bool)
-0:67 i: direct index for structure (global int)
-0:67 'locals0' (temp structure{global int i})
-0:67 Constant:
-0:67 0 (const int)
-0:67 Constant:
-0:67 5 (const int)
-0:67 true case
-0:68 move second child to first child (temp structure{global int i})
-0:68 'locals0' (temp structure{global int i})
-0:68 s0_0: direct index for structure (global structure{global int i})
-0:68 'locals00' (temp structure{global structure{global int i} s0_0})
-0:68 Constant:
-0:68 0 (const int)
-0:70 move second child to first child (temp 4-component vector of float)
-0:70 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:70 vector-scale (temp 4-component vector of float)
-0:70 add (temp float)
-0:70 add (temp float)
-0:70 add (temp float)
-0:70 Convert int to float (temp float)
-0:70 i: direct index for structure (global int)
-0:70 'locals0' (temp structure{global int i})
-0:70 Constant:
-0:70 0 (const int)
-0:70 f: direct index for structure (global float)
-0:70 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
-0:70 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
-0:70 Constant:
-0:70 6 (const int)
-0:70 Constant:
-0:70 1 (const int)
-0:70 direct index (temp float)
-0:70 'fArray' (temp 6-element array of float)
-0:70 Constant:
-0:70 3 (const int)
-0:70 f: direct index for structure (global float)
-0:70 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
-0:70 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:70 Constant:
-0:70 2 (const int)
-0:70 Constant:
-0:70 1 (const int)
-0:70 texture (global 4-component vector of float)
-0:70 'sampler' (uniform sampler2D)
-0:70 'coord' (smooth in 2-component vector of float)
-0:? Linker Objects
-0:? 'sampler' (uniform sampler2D)
-0:? 'coord' (smooth in 2-component vector of float)
-0:? 'foo0' (uniform structure{global int i})
-0:? 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
-0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:? 'foo3' (uniform structure{global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
-0:? 'foo00' (uniform structure{global structure{global int i} s0_0})
-
+structDeref.frag
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:41 Function Definition: main( (global void)
+0:41 Function Parameters:
+0:? Sequence
+0:51 Test condition and select (temp void)
+0:51 Condition
+0:51 Compare Greater Than (temp bool)
+0:51 i: direct index for structure (global int)
+0:51 direct index (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:51 s2_1: direct index for structure (global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:51 'foo3' (uniform structure{global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:51 Constant:
+0:51 0 (const int)
+0:51 Constant:
+0:51 9 (const int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 true case
+0:52 Sequence
+0:52 move second child to first child (temp float)
+0:52 f: direct index for structure (global float)
+0:52 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:52 Constant:
+0:52 1 (const int)
+0:52 Constant:
+0:52 1.000000
+0:53 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:53 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
+0:53 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:53 Constant:
+0:53 2 (const int)
+0:53 Constant:
+0:53 0 (const int)
+0:53 1.000000
+0:53 0 (const int)
+0:54 move second child to first child (temp 6-element array of float)
+0:54 'fArray' (temp 6-element array of float)
+0:54 Constant:
+0:54 0.000000
+0:54 0.000000
+0:54 0.000000
+0:54 0.000000
+0:54 0.000000
+0:54 0.000000
+0:55 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:55 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:55 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
+0:55 Constant:
+0:55 6 (const int)
+0:55 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
+0:56 move second child to first child (temp structure{global int i})
+0:56 'locals0' (temp structure{global int i})
+0:56 Constant:
+0:56 0 (const int)
+0:57 move second child to first child (temp structure{global structure{global int i} s0_0})
+0:57 'locals00' (temp structure{global structure{global int i} s0_0})
+0:57 Constant:
+0:57 0 (const int)
+0:51 false case
+0:59 Sequence
+0:59 move second child to first child (temp float)
+0:59 f: direct index for structure (global float)
+0:59 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:59 Constant:
+0:59 1 (const int)
+0:59 direct index (temp float)
+0:59 'coord' (smooth in 2-component vector of float)
+0:59 Constant:
+0:59 0 (const int)
+0:60 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:60 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
+0:60 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:60 Constant:
+0:60 2 (const int)
+0:60 Construct structure (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:60 Constant:
+0:60 1 (const int)
+0:60 direct index (temp float)
+0:60 'coord' (smooth in 2-component vector of float)
+0:60 Constant:
+0:60 1 (const int)
+0:60 'foo0' (uniform structure{global int i})
+0:61 move second child to first child (temp 6-element array of float)
+0:61 'fArray' (temp 6-element array of float)
+0:61 Constant:
+0:61 0.000000
+0:61 1.000000
+0:61 2.000000
+0:61 3.000000
+0:61 4.000000
+0:61 5.000000
+0:62 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:62 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:62 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
+0:62 Constant:
+0:62 6 (const int)
+0:62 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
+0:62 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:62 Constant:
+0:62 2 (const int)
+0:63 move second child to first child (temp structure{global int i})
+0:63 'locals0' (temp structure{global int i})
+0:63 s0_1: direct index for structure (global structure{global int i})
+0:63 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
+0:63 Constant:
+0:63 2 (const int)
+0:64 move second child to first child (temp structure{global structure{global int i} s0_0})
+0:64 'locals00' (temp structure{global structure{global int i} s0_0})
+0:64 'foo00' (uniform structure{global structure{global int i} s0_0})
+0:67 Test condition and select (temp void)
+0:67 Condition
+0:67 Compare Greater Than (temp bool)
+0:67 i: direct index for structure (global int)
+0:67 'locals0' (temp structure{global int i})
+0:67 Constant:
+0:67 0 (const int)
+0:67 Constant:
+0:67 5 (const int)
+0:67 true case
+0:68 move second child to first child (temp structure{global int i})
+0:68 'locals0' (temp structure{global int i})
+0:68 s0_0: direct index for structure (global structure{global int i})
+0:68 'locals00' (temp structure{global structure{global int i} s0_0})
+0:68 Constant:
+0:68 0 (const int)
+0:70 move second child to first child (temp 4-component vector of float)
+0:70 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:70 vector-scale (temp 4-component vector of float)
+0:70 add (temp float)
+0:70 add (temp float)
+0:70 add (temp float)
+0:70 Convert int to float (temp float)
+0:70 i: direct index for structure (global int)
+0:70 'locals0' (temp structure{global int i})
+0:70 Constant:
+0:70 0 (const int)
+0:70 f: direct index for structure (global float)
+0:70 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:70 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
+0:70 Constant:
+0:70 6 (const int)
+0:70 Constant:
+0:70 1 (const int)
+0:70 direct index (temp float)
+0:70 'fArray' (temp 6-element array of float)
+0:70 Constant:
+0:70 3 (const int)
+0:70 f: direct index for structure (global float)
+0:70 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
+0:70 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:70 Constant:
+0:70 2 (const int)
+0:70 Constant:
+0:70 1 (const int)
+0:70 texture (global 4-component vector of float)
+0:70 'sampler' (uniform sampler2D)
+0:70 'coord' (smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'foo0' (uniform structure{global int i})
+0:? 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
+0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:? 'foo3' (uniform structure{global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:? 'foo00' (uniform structure{global structure{global int i} s0_0})
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:41 Function Definition: main( (global void)
+0:41 Function Parameters:
+0:? Sequence
+0:51 Test condition and select (temp void)
+0:51 Condition
+0:51 Compare Greater Than (temp bool)
+0:51 i: direct index for structure (global int)
+0:51 direct index (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:51 s2_1: direct index for structure (global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:51 'foo3' (uniform structure{global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:51 Constant:
+0:51 0 (const int)
+0:51 Constant:
+0:51 9 (const int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 Constant:
+0:51 0 (const int)
+0:51 true case
+0:52 Sequence
+0:52 move second child to first child (temp float)
+0:52 f: direct index for structure (global float)
+0:52 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:52 Constant:
+0:52 1 (const int)
+0:52 Constant:
+0:52 1.000000
+0:53 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:53 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
+0:53 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:53 Constant:
+0:53 2 (const int)
+0:53 Constant:
+0:53 0 (const int)
+0:53 1.000000
+0:53 0 (const int)
+0:54 move second child to first child (temp 6-element array of float)
+0:54 'fArray' (temp 6-element array of float)
+0:54 Constant:
+0:54 0.000000
+0:54 0.000000
+0:54 0.000000
+0:54 0.000000
+0:54 0.000000
+0:54 0.000000
+0:55 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:55 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:55 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
+0:55 Constant:
+0:55 6 (const int)
+0:55 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
+0:56 move second child to first child (temp structure{global int i})
+0:56 'locals0' (temp structure{global int i})
+0:56 Constant:
+0:56 0 (const int)
+0:57 move second child to first child (temp structure{global structure{global int i} s0_0})
+0:57 'locals00' (temp structure{global structure{global int i} s0_0})
+0:57 Constant:
+0:57 0 (const int)
+0:51 false case
+0:59 Sequence
+0:59 move second child to first child (temp float)
+0:59 f: direct index for structure (global float)
+0:59 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:59 Constant:
+0:59 1 (const int)
+0:59 direct index (temp float)
+0:59 'coord' (smooth in 2-component vector of float)
+0:59 Constant:
+0:59 0 (const int)
+0:60 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:60 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
+0:60 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:60 Constant:
+0:60 2 (const int)
+0:60 Construct structure (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:60 Constant:
+0:60 1 (const int)
+0:60 direct index (temp float)
+0:60 'coord' (smooth in 2-component vector of float)
+0:60 Constant:
+0:60 1 (const int)
+0:60 'foo0' (uniform structure{global int i})
+0:61 move second child to first child (temp 6-element array of float)
+0:61 'fArray' (temp 6-element array of float)
+0:61 Constant:
+0:61 0.000000
+0:61 1.000000
+0:61 2.000000
+0:61 3.000000
+0:61 4.000000
+0:61 5.000000
+0:62 move second child to first child (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:62 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:62 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
+0:62 Constant:
+0:62 6 (const int)
+0:62 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
+0:62 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:62 Constant:
+0:62 2 (const int)
+0:63 move second child to first child (temp structure{global int i})
+0:63 'locals0' (temp structure{global int i})
+0:63 s0_1: direct index for structure (global structure{global int i})
+0:63 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
+0:63 Constant:
+0:63 2 (const int)
+0:64 move second child to first child (temp structure{global structure{global int i} s0_0})
+0:64 'locals00' (temp structure{global structure{global int i} s0_0})
+0:64 'foo00' (uniform structure{global structure{global int i} s0_0})
+0:67 Test condition and select (temp void)
+0:67 Condition
+0:67 Compare Greater Than (temp bool)
+0:67 i: direct index for structure (global int)
+0:67 'locals0' (temp structure{global int i})
+0:67 Constant:
+0:67 0 (const int)
+0:67 Constant:
+0:67 5 (const int)
+0:67 true case
+0:68 move second child to first child (temp structure{global int i})
+0:68 'locals0' (temp structure{global int i})
+0:68 s0_0: direct index for structure (global structure{global int i})
+0:68 'locals00' (temp structure{global structure{global int i} s0_0})
+0:68 Constant:
+0:68 0 (const int)
+0:70 move second child to first child (temp 4-component vector of float)
+0:70 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:70 vector-scale (temp 4-component vector of float)
+0:70 add (temp float)
+0:70 add (temp float)
+0:70 add (temp float)
+0:70 Convert int to float (temp float)
+0:70 i: direct index for structure (global int)
+0:70 'locals0' (temp structure{global int i})
+0:70 Constant:
+0:70 0 (const int)
+0:70 f: direct index for structure (global float)
+0:70 direct index (temp structure{global int i, global float f, global structure{global int i} s0_1})
+0:70 'locals1Array' (temp 10-element array of structure{global int i, global float f, global structure{global int i} s0_1})
+0:70 Constant:
+0:70 6 (const int)
+0:70 Constant:
+0:70 1 (const int)
+0:70 direct index (temp float)
+0:70 'fArray' (temp 6-element array of float)
+0:70 Constant:
+0:70 3 (const int)
+0:70 f: direct index for structure (global float)
+0:70 s1_1: direct index for structure (global structure{global int i, global float f, global structure{global int i} s0_1})
+0:70 'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:70 Constant:
+0:70 2 (const int)
+0:70 Constant:
+0:70 1 (const int)
+0:70 texture (global 4-component vector of float)
+0:70 'sampler' (uniform sampler2D)
+0:70 'coord' (smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'foo0' (uniform structure{global int i})
+0:? 'foo1' (uniform structure{global int i, global float f, global structure{global int i} s0_1})
+0:? 'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:? 'foo3' (uniform structure{global 12-element array of structure{global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f, global structure{global int i} s0_1} s1_1})
+0:? 'foo00' (uniform structure{global structure{global int i} s0_0})
+
diff --git a/Test/baseResults/structure.frag.out b/Test/baseResults/structure.frag.out
index d061653..666b140 100644
--- a/Test/baseResults/structure.frag.out
+++ b/Test/baseResults/structure.frag.out
@@ -1,165 +1,165 @@
-structure.frag
-WARNING: 0:3: varying deprecated in version 130; may be removed in future release
-
-Shader version: 130
-0:? Sequence
-0:20 Function Definition: main( (global void)
-0:20 Function Parameters:
-0:22 Sequence
-0:22 Sequence
-0:22 move second child to first child (temp float)
-0:22 'scale' (temp float)
-0:22 Constant:
-0:22 0.000000
-0:24 Test condition and select (temp void)
-0:24 Condition
-0:24 Compare Greater Than (temp bool)
-0:24 direct index (temp int)
-0:24 i: direct index for structure (global 5-element array of int)
-0:24 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
-0:24 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
-0:24 Constant:
-0:24 3 (const int)
-0:24 Constant:
-0:24 0 (const int)
-0:24 Constant:
-0:24 4 (const int)
-0:24 Constant:
-0:24 0 (const int)
-0:24 true case
-0:25 move second child to first child (temp float)
-0:25 'scale' (temp float)
-0:25 direct index (temp float)
-0:25 direct index (temp 4-component vector of float)
-0:25 color: direct index for structure (global 5-element array of 4-component vector of float)
-0:25 direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
-0:25 s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
-0:25 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
-0:25 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
-0:25 Constant:
-0:25 3 (const int)
-0:25 Constant:
-0:25 2 (const int)
-0:25 Constant:
-0:25 2 (const int)
-0:25 Constant:
-0:25 2 (const int)
-0:25 Constant:
-0:25 3 (const int)
-0:25 Constant:
-0:25 0 (const int)
-0:24 false case
-0:27 move second child to first child (temp float)
-0:27 'scale' (temp float)
-0:27 direct index (temp float)
-0:27 f: direct index for structure (global 4-element array of float)
-0:27 direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
-0:27 s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
-0:27 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
-0:27 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
-0:27 Constant:
-0:27 3 (const int)
-0:27 Constant:
-0:27 2 (const int)
-0:27 Constant:
-0:27 2 (const int)
-0:27 Constant:
-0:27 1 (const int)
-0:27 Constant:
-0:27 3 (const int)
-0:29 move second child to first child (temp 4-component vector of float)
-0:29 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:29 vector-scale (temp 4-component vector of float)
-0:29 'scale' (temp float)
-0:29 texture (global 4-component vector of float)
-0:29 'sampler' (uniform sampler2D)
-0:29 'coord' (smooth in 2-component vector of float)
-0:? Linker Objects
-0:? 'sampler' (uniform sampler2D)
-0:? 'coord' (smooth in 2-component vector of float)
-0:? 'foo' (uniform structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
-0:? 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:20 Function Definition: main( (global void)
-0:20 Function Parameters:
-0:22 Sequence
-0:22 Sequence
-0:22 move second child to first child (temp float)
-0:22 'scale' (temp float)
-0:22 Constant:
-0:22 0.000000
-0:24 Test condition and select (temp void)
-0:24 Condition
-0:24 Compare Greater Than (temp bool)
-0:24 direct index (temp int)
-0:24 i: direct index for structure (global 5-element array of int)
-0:24 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
-0:24 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
-0:24 Constant:
-0:24 3 (const int)
-0:24 Constant:
-0:24 0 (const int)
-0:24 Constant:
-0:24 4 (const int)
-0:24 Constant:
-0:24 0 (const int)
-0:24 true case
-0:25 move second child to first child (temp float)
-0:25 'scale' (temp float)
-0:25 direct index (temp float)
-0:25 direct index (temp 4-component vector of float)
-0:25 color: direct index for structure (global 5-element array of 4-component vector of float)
-0:25 direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
-0:25 s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
-0:25 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
-0:25 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
-0:25 Constant:
-0:25 3 (const int)
-0:25 Constant:
-0:25 2 (const int)
-0:25 Constant:
-0:25 2 (const int)
-0:25 Constant:
-0:25 2 (const int)
-0:25 Constant:
-0:25 3 (const int)
-0:25 Constant:
-0:25 0 (const int)
-0:24 false case
-0:27 move second child to first child (temp float)
-0:27 'scale' (temp float)
-0:27 direct index (temp float)
-0:27 f: direct index for structure (global 4-element array of float)
-0:27 direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
-0:27 s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
-0:27 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
-0:27 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
-0:27 Constant:
-0:27 3 (const int)
-0:27 Constant:
-0:27 2 (const int)
-0:27 Constant:
-0:27 2 (const int)
-0:27 Constant:
-0:27 1 (const int)
-0:27 Constant:
-0:27 3 (const int)
-0:29 move second child to first child (temp 4-component vector of float)
-0:29 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:29 vector-scale (temp 4-component vector of float)
-0:29 'scale' (temp float)
-0:29 texture (global 4-component vector of float)
-0:29 'sampler' (uniform sampler2D)
-0:29 'coord' (smooth in 2-component vector of float)
-0:? Linker Objects
-0:? 'sampler' (uniform sampler2D)
-0:? 'coord' (smooth in 2-component vector of float)
-0:? 'foo' (uniform structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
-0:? 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
-
+structure.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:22 Sequence
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'scale' (temp float)
+0:22 Constant:
+0:22 0.000000
+0:24 Test condition and select (temp void)
+0:24 Condition
+0:24 Compare Greater Than (temp bool)
+0:24 direct index (temp int)
+0:24 i: direct index for structure (global 5-element array of int)
+0:24 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:24 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:24 Constant:
+0:24 3 (const int)
+0:24 Constant:
+0:24 0 (const int)
+0:24 Constant:
+0:24 4 (const int)
+0:24 Constant:
+0:24 0 (const int)
+0:24 true case
+0:25 move second child to first child (temp float)
+0:25 'scale' (temp float)
+0:25 direct index (temp float)
+0:25 direct index (temp 4-component vector of float)
+0:25 color: direct index for structure (global 5-element array of 4-component vector of float)
+0:25 direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:25 s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:25 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:25 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:25 Constant:
+0:25 3 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 3 (const int)
+0:25 Constant:
+0:25 0 (const int)
+0:24 false case
+0:27 move second child to first child (temp float)
+0:27 'scale' (temp float)
+0:27 direct index (temp float)
+0:27 f: direct index for structure (global 4-element array of float)
+0:27 direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:27 s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:27 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:27 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:27 Constant:
+0:27 3 (const int)
+0:27 Constant:
+0:27 2 (const int)
+0:27 Constant:
+0:27 2 (const int)
+0:27 Constant:
+0:27 1 (const int)
+0:27 Constant:
+0:27 3 (const int)
+0:29 move second child to first child (temp 4-component vector of float)
+0:29 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:29 vector-scale (temp 4-component vector of float)
+0:29 'scale' (temp float)
+0:29 texture (global 4-component vector of float)
+0:29 'sampler' (uniform sampler2D)
+0:29 'coord' (smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'foo' (uniform structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:? 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:20 Function Definition: main( (global void)
+0:20 Function Parameters:
+0:22 Sequence
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'scale' (temp float)
+0:22 Constant:
+0:22 0.000000
+0:24 Test condition and select (temp void)
+0:24 Condition
+0:24 Compare Greater Than (temp bool)
+0:24 direct index (temp int)
+0:24 i: direct index for structure (global 5-element array of int)
+0:24 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:24 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:24 Constant:
+0:24 3 (const int)
+0:24 Constant:
+0:24 0 (const int)
+0:24 Constant:
+0:24 4 (const int)
+0:24 Constant:
+0:24 0 (const int)
+0:24 true case
+0:25 move second child to first child (temp float)
+0:25 'scale' (temp float)
+0:25 direct index (temp float)
+0:25 direct index (temp 4-component vector of float)
+0:25 color: direct index for structure (global 5-element array of 4-component vector of float)
+0:25 direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:25 s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:25 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:25 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:25 Constant:
+0:25 3 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 2 (const int)
+0:25 Constant:
+0:25 3 (const int)
+0:25 Constant:
+0:25 0 (const int)
+0:24 false case
+0:27 move second child to first child (temp float)
+0:27 'scale' (temp float)
+0:27 direct index (temp float)
+0:27 f: direct index for structure (global 4-element array of float)
+0:27 direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:27 s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:27 direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:27 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+0:27 Constant:
+0:27 3 (const int)
+0:27 Constant:
+0:27 2 (const int)
+0:27 Constant:
+0:27 2 (const int)
+0:27 Constant:
+0:27 1 (const int)
+0:27 Constant:
+0:27 3 (const int)
+0:29 move second child to first child (temp 4-component vector of float)
+0:29 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:29 vector-scale (temp 4-component vector of float)
+0:29 'scale' (temp float)
+0:29 texture (global 4-component vector of float)
+0:29 'sampler' (uniform sampler2D)
+0:29 'coord' (smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'foo' (uniform structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
+0:? 'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
+
diff --git a/Test/baseResults/switch.frag.out b/Test/baseResults/switch.frag.out
index b3d3ce0c..f8b179c 100644
--- a/Test/baseResults/switch.frag.out
+++ b/Test/baseResults/switch.frag.out
@@ -1,691 +1,691 @@
-switch.frag
-ERROR: 0:11: 'switch' : condition must be a scalar integer expression
-ERROR: 0:14: 'switch' : condition must be a scalar integer expression
-ERROR: 0:21: 'switch' : last case/default label not followed by statements
-ERROR: 0:28: 'switch' : cannot have statements before first case/default label
-ERROR: 0:43: 'default' : duplicate label
-ERROR: 0:63: 'case' : duplicated value
-ERROR: 0:65: 'case' : scalar integer expression required
-ERROR: 0:67: 'case' : constant expression required
-ERROR: 0:89: '' : break statement only allowed in switch and loops
-ERROR: 0:99: 'case' : cannot be nested inside control flow
-ERROR: 0:104: 'case' : cannot be nested inside control flow
-ERROR: 0:108: 'case' : cannot be nested inside control flow
-ERROR: 0:115: 'default' : cannot be nested inside control flow
-ERROR: 0:119: 'case' : cannot appear outside switch statement
-ERROR: 0:120: 'default' : cannot appear outside switch statement
-ERROR: 0:126: 'onlyInSwitch' : undeclared identifier
-ERROR: 0:128: 'switch' : last case/default label not followed by statements
-ERROR: 0:140: 'nestedX' : undeclared identifier
-ERROR: 0:157: 'nestedZ' : undeclared identifier
-ERROR: 19 compilation errors. No code generated.
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:6 Function Definition: main( (global void)
-0:6 Function Parameters:
-0:? Sequence
-0:11 'f' (temp highp float)
-0:14 'a' (temp 2-element array of mediump int)
-0:17 'c' (uniform mediump int)
-0:21 switch
-0:21 condition
-0:21 'c' (uniform mediump int)
-0:21 body
-0:21 Sequence
-0:23 case: with expression
-0:23 Constant:
-0:23 2 (const int)
-0:21 Sequence
-0:21 Branch: Break
-0:26 switch
-0:26 condition
-0:26 'c' (uniform mediump int)
-0:26 body
-0:26 Sequence
-0:28 Sequence
-0:28 move second child to first child (temp highp float)
-0:28 'f' (temp highp float)
-0:28 sine (global highp float)
-0:28 'x' (smooth in highp float)
-0:29 case: with expression
-0:29 Constant:
-0:29 2 (const int)
-0:? Sequence
-0:30 move second child to first child (temp highp float)
-0:30 'f' (temp highp float)
-0:30 cosine (global highp float)
-0:30 'x' (smooth in highp float)
-0:31 Branch: Break
-0:34 switch
-0:34 condition
-0:34 'c' (uniform mediump int)
-0:34 body
-0:34 Sequence
-0:35 default:
-0:? Sequence
-0:36 Branch: Break
-0:37 case: with expression
-0:37 Constant:
-0:37 1 (const int)
-0:? Sequence
-0:38 move second child to first child (temp highp float)
-0:38 'f' (temp highp float)
-0:38 sine (global highp float)
-0:38 'x' (smooth in highp float)
-0:39 Branch: Break
-0:40 case: with expression
-0:40 Constant:
-0:40 2 (const int)
-0:? Sequence
-0:41 move second child to first child (temp highp float)
-0:41 'f' (temp highp float)
-0:41 cosine (global highp float)
-0:41 'x' (smooth in highp float)
-0:42 Branch: Break
-0:43 default:
-0:? Sequence
-0:44 move second child to first child (temp highp float)
-0:44 'f' (temp highp float)
-0:44 tangent (global highp float)
-0:44 'x' (smooth in highp float)
-0:47 switch
-0:47 condition
-0:47 'c' (uniform mediump int)
-0:47 body
-0:47 Sequence
-0:48 case: with expression
-0:48 Constant:
-0:48 1 (const int)
-0:? Sequence
-0:49 move second child to first child (temp highp float)
-0:49 'f' (temp highp float)
-0:49 sine (global highp float)
-0:49 'x' (smooth in highp float)
-0:50 Branch: Break
-0:51 case: with expression
-0:51 Constant:
-0:51 2 (const int)
-0:? Sequence
-0:52 switch
-0:52 condition
-0:52 'd' (uniform mediump int)
-0:52 body
-0:52 Sequence
-0:53 case: with expression
-0:53 Constant:
-0:53 1 (const int)
-0:? Sequence
-0:54 move second child to first child (temp highp float)
-0:54 'f' (temp highp float)
-0:54 component-wise multiply (temp highp float)
-0:54 component-wise multiply (temp highp float)
-0:54 'x' (smooth in highp float)
-0:54 'x' (smooth in highp float)
-0:54 'x' (smooth in highp float)
-0:55 Branch: Break
-0:56 case: with expression
-0:56 Constant:
-0:56 2 (const int)
-0:? Sequence
-0:57 move second child to first child (temp highp float)
-0:57 'f' (temp highp float)
-0:57 component-wise multiply (temp highp float)
-0:57 'x' (smooth in highp float)
-0:57 'x' (smooth in highp float)
-0:58 Branch: Break
-0:60 Branch: Break
-0:61 default:
-0:? Sequence
-0:62 move second child to first child (temp highp float)
-0:62 'f' (temp highp float)
-0:62 tangent (global highp float)
-0:62 'x' (smooth in highp float)
-0:63 case: with expression
-0:63 Constant:
-0:63 1 (const int)
-0:? Sequence
-0:64 Branch: Break
-0:65 case: with expression
-0:65 Constant:
-0:65 3.800000
-0:? Sequence
-0:66 Branch: Break
-0:67 case: with expression
-0:67 'c' (uniform mediump int)
-0:? Sequence
-0:68 Branch: Break
-0:71 switch
-0:71 condition
-0:71 'c' (uniform mediump int)
-0:71 body
-0:71 Sequence
-0:72 case: with expression
-0:72 Constant:
-0:72 1 (const int)
-0:? Sequence
-0:73 move second child to first child (temp highp float)
-0:73 'f' (temp highp float)
-0:73 sine (global highp float)
-0:73 'x' (smooth in highp float)
-0:74 Branch: Break
-0:75 case: with expression
-0:75 Constant:
-0:75 2 (const int)
-0:? Sequence
-0:76 switch
-0:76 condition
-0:76 'd' (uniform mediump int)
-0:76 body
-0:76 Sequence
-0:77 case: with expression
-0:77 Constant:
-0:77 1 (const int)
-0:? Sequence
-0:78 move second child to first child (temp highp float)
-0:78 'f' (temp highp float)
-0:78 component-wise multiply (temp highp float)
-0:78 component-wise multiply (temp highp float)
-0:78 'x' (smooth in highp float)
-0:78 'x' (smooth in highp float)
-0:78 'x' (smooth in highp float)
-0:79 Branch: Break
-0:80 case: with expression
-0:80 Constant:
-0:80 2 (const int)
-0:? Sequence
-0:81 move second child to first child (temp highp float)
-0:81 'f' (temp highp float)
-0:81 component-wise multiply (temp highp float)
-0:81 'x' (smooth in highp float)
-0:81 'x' (smooth in highp float)
-0:82 Branch: Break
-0:84 Branch: Break
-0:85 default:
-0:? Sequence
-0:86 move second child to first child (temp highp float)
-0:86 'f' (temp highp float)
-0:86 tangent (global highp float)
-0:86 'x' (smooth in highp float)
-0:89 Branch: Break
-0:91 switch
-0:91 condition
-0:91 'c' (uniform mediump int)
-0:91 body
-0:91 Sequence
-0:92 case: with expression
-0:92 Constant:
-0:92 1 (const int)
-0:? Sequence
-0:93 move second child to first child (temp highp float)
-0:93 'f' (temp highp float)
-0:93 sine (global highp float)
-0:93 'x' (smooth in highp float)
-0:94 Branch: Break
-0:95 case: with expression
-0:95 Constant:
-0:95 2 (const int)
-0:? Sequence
-0:96 switch
-0:96 condition
-0:96 'd' (uniform mediump int)
-0:96 body
-0:96 Sequence
-0:97 case: with expression
-0:97 Constant:
-0:97 1 (const int)
-0:? Sequence
-0:? Sequence
-0:100 Branch: Break
-0:102 move second child to first child (temp highp float)
-0:102 'f' (temp highp float)
-0:102 component-wise multiply (temp highp float)
-0:102 component-wise multiply (temp highp float)
-0:102 'x' (smooth in highp float)
-0:102 'x' (smooth in highp float)
-0:102 'x' (smooth in highp float)
-0:103 Test condition and select (temp void)
-0:103 Condition
-0:103 Compare Less Than (temp bool)
-0:103 'c' (uniform mediump int)
-0:103 'd' (uniform mediump int)
-0:103 true case
-0:? Sequence
-0:105 move second child to first child (temp highp float)
-0:105 'f' (temp highp float)
-0:105 component-wise multiply (temp highp float)
-0:105 'x' (smooth in highp float)
-0:105 'x' (smooth in highp float)
-0:107 Test condition and select (temp void)
-0:107 Condition
-0:107 Compare Less Than (temp bool)
-0:107 'd' (uniform mediump int)
-0:107 'c' (uniform mediump int)
-0:107 true case is null
-0:109 Branch: Break
-0:111 Branch: Break
-0:112 case: with expression
-0:112 Constant:
-0:112 4 (const int)
-0:? Sequence
-0:113 move second child to first child (temp highp float)
-0:113 'f' (temp highp float)
-0:113 tangent (global highp float)
-0:113 'x' (smooth in highp float)
-0:114 Test condition and select (temp void)
-0:114 Condition
-0:114 Compare Less Than (temp bool)
-0:114 'f' (temp highp float)
-0:114 Constant:
-0:114 0.000000
-0:114 true case is null
-0:116 Branch: Break
-0:122 switch
-0:122 condition
-0:122 Constant:
-0:122 0 (const int)
-0:122 body
-0:122 Sequence
-0:123 default:
-0:? Sequence
-0:124 Sequence
-0:124 move second child to first child (temp mediump int)
-0:124 'onlyInSwitch' (temp mediump int)
-0:124 Constant:
-0:124 0 (const int)
-0:126 'onlyInSwitch' (temp float)
-0:128 switch
-0:128 condition
-0:128 Constant:
-0:128 0 (const int)
-0:128 body
-0:128 Sequence
-0:129 default:
-0:128 Sequence
-0:128 Branch: Break
-0:133 switch
-0:133 condition
-0:133 'c' (uniform mediump int)
-0:133 body
-0:133 Sequence
-0:134 case: with expression
-0:134 Constant:
-0:134 1 (const int)
-0:? Sequence
-0:? Sequence
-0:137 Branch: Break
-0:139 case: with expression
-0:139 Constant:
-0:139 2 (const int)
-0:? Sequence
-0:140 'nestedX' (temp float)
-0:143 Branch: Break
-0:144 case: with expression
-0:144 Constant:
-0:144 3 (const int)
-0:? Sequence
-0:146 Branch: Break
-0:147 Branch: Break
-0:148 case: with expression
-0:148 Constant:
-0:148 4 (const int)
-0:? Sequence
-0:149 Sequence
-0:149 move second child to first child (temp mediump int)
-0:149 'linearY' (temp mediump int)
-0:149 'linearZ' (temp mediump int)
-0:150 Branch: Break
-0:151 case: with expression
-0:151 Constant:
-0:151 5 (const int)
-0:? Sequence
-0:153 Branch: Break
-0:154 case: with expression
-0:154 Constant:
-0:154 6 (const int)
-0:? Sequence
-0:155 Constant:
-0:155 4 (const int)
-0:157 'nestedZ' (temp float)
-0:? Linker Objects
-0:? 'c' (uniform mediump int)
-0:? 'd' (uniform mediump int)
-0:? 'x' (smooth in highp float)
-
-
-Linked fragment stage:
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:6 Function Definition: main( (global void)
-0:6 Function Parameters:
-0:? Sequence
-0:11 'f' (temp highp float)
-0:14 'a' (temp 2-element array of mediump int)
-0:17 'c' (uniform mediump int)
-0:21 switch
-0:21 condition
-0:21 'c' (uniform mediump int)
-0:21 body
-0:21 Sequence
-0:23 case: with expression
-0:23 Constant:
-0:23 2 (const int)
-0:21 Sequence
-0:21 Branch: Break
-0:26 switch
-0:26 condition
-0:26 'c' (uniform mediump int)
-0:26 body
-0:26 Sequence
-0:28 Sequence
-0:28 move second child to first child (temp highp float)
-0:28 'f' (temp highp float)
-0:28 sine (global highp float)
-0:28 'x' (smooth in highp float)
-0:29 case: with expression
-0:29 Constant:
-0:29 2 (const int)
-0:? Sequence
-0:30 move second child to first child (temp highp float)
-0:30 'f' (temp highp float)
-0:30 cosine (global highp float)
-0:30 'x' (smooth in highp float)
-0:31 Branch: Break
-0:34 switch
-0:34 condition
-0:34 'c' (uniform mediump int)
-0:34 body
-0:34 Sequence
-0:35 default:
-0:? Sequence
-0:36 Branch: Break
-0:37 case: with expression
-0:37 Constant:
-0:37 1 (const int)
-0:? Sequence
-0:38 move second child to first child (temp highp float)
-0:38 'f' (temp highp float)
-0:38 sine (global highp float)
-0:38 'x' (smooth in highp float)
-0:39 Branch: Break
-0:40 case: with expression
-0:40 Constant:
-0:40 2 (const int)
-0:? Sequence
-0:41 move second child to first child (temp highp float)
-0:41 'f' (temp highp float)
-0:41 cosine (global highp float)
-0:41 'x' (smooth in highp float)
-0:42 Branch: Break
-0:43 default:
-0:? Sequence
-0:44 move second child to first child (temp highp float)
-0:44 'f' (temp highp float)
-0:44 tangent (global highp float)
-0:44 'x' (smooth in highp float)
-0:47 switch
-0:47 condition
-0:47 'c' (uniform mediump int)
-0:47 body
-0:47 Sequence
-0:48 case: with expression
-0:48 Constant:
-0:48 1 (const int)
-0:? Sequence
-0:49 move second child to first child (temp highp float)
-0:49 'f' (temp highp float)
-0:49 sine (global highp float)
-0:49 'x' (smooth in highp float)
-0:50 Branch: Break
-0:51 case: with expression
-0:51 Constant:
-0:51 2 (const int)
-0:? Sequence
-0:52 switch
-0:52 condition
-0:52 'd' (uniform mediump int)
-0:52 body
-0:52 Sequence
-0:53 case: with expression
-0:53 Constant:
-0:53 1 (const int)
-0:? Sequence
-0:54 move second child to first child (temp highp float)
-0:54 'f' (temp highp float)
-0:54 component-wise multiply (temp highp float)
-0:54 component-wise multiply (temp highp float)
-0:54 'x' (smooth in highp float)
-0:54 'x' (smooth in highp float)
-0:54 'x' (smooth in highp float)
-0:55 Branch: Break
-0:56 case: with expression
-0:56 Constant:
-0:56 2 (const int)
-0:? Sequence
-0:57 move second child to first child (temp highp float)
-0:57 'f' (temp highp float)
-0:57 component-wise multiply (temp highp float)
-0:57 'x' (smooth in highp float)
-0:57 'x' (smooth in highp float)
-0:58 Branch: Break
-0:60 Branch: Break
-0:61 default:
-0:? Sequence
-0:62 move second child to first child (temp highp float)
-0:62 'f' (temp highp float)
-0:62 tangent (global highp float)
-0:62 'x' (smooth in highp float)
-0:63 case: with expression
-0:63 Constant:
-0:63 1 (const int)
-0:? Sequence
-0:64 Branch: Break
-0:65 case: with expression
-0:65 Constant:
-0:65 3.800000
-0:? Sequence
-0:66 Branch: Break
-0:67 case: with expression
-0:67 'c' (uniform mediump int)
-0:? Sequence
-0:68 Branch: Break
-0:71 switch
-0:71 condition
-0:71 'c' (uniform mediump int)
-0:71 body
-0:71 Sequence
-0:72 case: with expression
-0:72 Constant:
-0:72 1 (const int)
-0:? Sequence
-0:73 move second child to first child (temp highp float)
-0:73 'f' (temp highp float)
-0:73 sine (global highp float)
-0:73 'x' (smooth in highp float)
-0:74 Branch: Break
-0:75 case: with expression
-0:75 Constant:
-0:75 2 (const int)
-0:? Sequence
-0:76 switch
-0:76 condition
-0:76 'd' (uniform mediump int)
-0:76 body
-0:76 Sequence
-0:77 case: with expression
-0:77 Constant:
-0:77 1 (const int)
-0:? Sequence
-0:78 move second child to first child (temp highp float)
-0:78 'f' (temp highp float)
-0:78 component-wise multiply (temp highp float)
-0:78 component-wise multiply (temp highp float)
-0:78 'x' (smooth in highp float)
-0:78 'x' (smooth in highp float)
-0:78 'x' (smooth in highp float)
-0:79 Branch: Break
-0:80 case: with expression
-0:80 Constant:
-0:80 2 (const int)
-0:? Sequence
-0:81 move second child to first child (temp highp float)
-0:81 'f' (temp highp float)
-0:81 component-wise multiply (temp highp float)
-0:81 'x' (smooth in highp float)
-0:81 'x' (smooth in highp float)
-0:82 Branch: Break
-0:84 Branch: Break
-0:85 default:
-0:? Sequence
-0:86 move second child to first child (temp highp float)
-0:86 'f' (temp highp float)
-0:86 tangent (global highp float)
-0:86 'x' (smooth in highp float)
-0:89 Branch: Break
-0:91 switch
-0:91 condition
-0:91 'c' (uniform mediump int)
-0:91 body
-0:91 Sequence
-0:92 case: with expression
-0:92 Constant:
-0:92 1 (const int)
-0:? Sequence
-0:93 move second child to first child (temp highp float)
-0:93 'f' (temp highp float)
-0:93 sine (global highp float)
-0:93 'x' (smooth in highp float)
-0:94 Branch: Break
-0:95 case: with expression
-0:95 Constant:
-0:95 2 (const int)
-0:? Sequence
-0:96 switch
-0:96 condition
-0:96 'd' (uniform mediump int)
-0:96 body
-0:96 Sequence
-0:97 case: with expression
-0:97 Constant:
-0:97 1 (const int)
-0:? Sequence
-0:? Sequence
-0:100 Branch: Break
-0:102 move second child to first child (temp highp float)
-0:102 'f' (temp highp float)
-0:102 component-wise multiply (temp highp float)
-0:102 component-wise multiply (temp highp float)
-0:102 'x' (smooth in highp float)
-0:102 'x' (smooth in highp float)
-0:102 'x' (smooth in highp float)
-0:103 Test condition and select (temp void)
-0:103 Condition
-0:103 Compare Less Than (temp bool)
-0:103 'c' (uniform mediump int)
-0:103 'd' (uniform mediump int)
-0:103 true case
-0:? Sequence
-0:105 move second child to first child (temp highp float)
-0:105 'f' (temp highp float)
-0:105 component-wise multiply (temp highp float)
-0:105 'x' (smooth in highp float)
-0:105 'x' (smooth in highp float)
-0:107 Test condition and select (temp void)
-0:107 Condition
-0:107 Compare Less Than (temp bool)
-0:107 'd' (uniform mediump int)
-0:107 'c' (uniform mediump int)
-0:107 true case is null
-0:109 Branch: Break
-0:111 Branch: Break
-0:112 case: with expression
-0:112 Constant:
-0:112 4 (const int)
-0:? Sequence
-0:113 move second child to first child (temp highp float)
-0:113 'f' (temp highp float)
-0:113 tangent (global highp float)
-0:113 'x' (smooth in highp float)
-0:114 Test condition and select (temp void)
-0:114 Condition
-0:114 Compare Less Than (temp bool)
-0:114 'f' (temp highp float)
-0:114 Constant:
-0:114 0.000000
-0:114 true case is null
-0:116 Branch: Break
-0:122 switch
-0:122 condition
-0:122 Constant:
-0:122 0 (const int)
-0:122 body
-0:122 Sequence
-0:123 default:
-0:? Sequence
-0:124 Sequence
-0:124 move second child to first child (temp mediump int)
-0:124 'onlyInSwitch' (temp mediump int)
-0:124 Constant:
-0:124 0 (const int)
-0:126 'onlyInSwitch' (temp float)
-0:128 switch
-0:128 condition
-0:128 Constant:
-0:128 0 (const int)
-0:128 body
-0:128 Sequence
-0:129 default:
-0:128 Sequence
-0:128 Branch: Break
-0:133 switch
-0:133 condition
-0:133 'c' (uniform mediump int)
-0:133 body
-0:133 Sequence
-0:134 case: with expression
-0:134 Constant:
-0:134 1 (const int)
-0:? Sequence
-0:? Sequence
-0:137 Branch: Break
-0:139 case: with expression
-0:139 Constant:
-0:139 2 (const int)
-0:? Sequence
-0:140 'nestedX' (temp float)
-0:143 Branch: Break
-0:144 case: with expression
-0:144 Constant:
-0:144 3 (const int)
-0:? Sequence
-0:146 Branch: Break
-0:147 Branch: Break
-0:148 case: with expression
-0:148 Constant:
-0:148 4 (const int)
-0:? Sequence
-0:149 Sequence
-0:149 move second child to first child (temp mediump int)
-0:149 'linearY' (temp mediump int)
-0:149 'linearZ' (temp mediump int)
-0:150 Branch: Break
-0:151 case: with expression
-0:151 Constant:
-0:151 5 (const int)
-0:? Sequence
-0:153 Branch: Break
-0:154 case: with expression
-0:154 Constant:
-0:154 6 (const int)
-0:? Sequence
-0:155 Constant:
-0:155 4 (const int)
-0:157 'nestedZ' (temp float)
-0:? Linker Objects
-0:? 'c' (uniform mediump int)
-0:? 'd' (uniform mediump int)
-0:? 'x' (smooth in highp float)
-
+switch.frag
+ERROR: 0:11: 'switch' : condition must be a scalar integer expression
+ERROR: 0:14: 'switch' : condition must be a scalar integer expression
+ERROR: 0:21: 'switch' : last case/default label not followed by statements
+ERROR: 0:28: 'switch' : cannot have statements before first case/default label
+ERROR: 0:43: 'default' : duplicate label
+ERROR: 0:63: 'case' : duplicated value
+ERROR: 0:65: 'case' : scalar integer expression required
+ERROR: 0:67: 'case' : constant expression required
+ERROR: 0:89: '' : break statement only allowed in switch and loops
+ERROR: 0:99: 'case' : cannot be nested inside control flow
+ERROR: 0:104: 'case' : cannot be nested inside control flow
+ERROR: 0:108: 'case' : cannot be nested inside control flow
+ERROR: 0:115: 'default' : cannot be nested inside control flow
+ERROR: 0:119: 'case' : cannot appear outside switch statement
+ERROR: 0:120: 'default' : cannot appear outside switch statement
+ERROR: 0:126: 'onlyInSwitch' : undeclared identifier
+ERROR: 0:128: 'switch' : last case/default label not followed by statements
+ERROR: 0:140: 'nestedX' : undeclared identifier
+ERROR: 0:157: 'nestedZ' : undeclared identifier
+ERROR: 19 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:? Sequence
+0:11 'f' (temp highp float)
+0:14 'a' (temp 2-element array of mediump int)
+0:17 'c' (uniform mediump int)
+0:21 switch
+0:21 condition
+0:21 'c' (uniform mediump int)
+0:21 body
+0:21 Sequence
+0:23 case: with expression
+0:23 Constant:
+0:23 2 (const int)
+0:21 Sequence
+0:21 Branch: Break
+0:26 switch
+0:26 condition
+0:26 'c' (uniform mediump int)
+0:26 body
+0:26 Sequence
+0:28 Sequence
+0:28 move second child to first child (temp highp float)
+0:28 'f' (temp highp float)
+0:28 sine (global highp float)
+0:28 'x' (smooth in highp float)
+0:29 case: with expression
+0:29 Constant:
+0:29 2 (const int)
+0:? Sequence
+0:30 move second child to first child (temp highp float)
+0:30 'f' (temp highp float)
+0:30 cosine (global highp float)
+0:30 'x' (smooth in highp float)
+0:31 Branch: Break
+0:34 switch
+0:34 condition
+0:34 'c' (uniform mediump int)
+0:34 body
+0:34 Sequence
+0:35 default:
+0:? Sequence
+0:36 Branch: Break
+0:37 case: with expression
+0:37 Constant:
+0:37 1 (const int)
+0:? Sequence
+0:38 move second child to first child (temp highp float)
+0:38 'f' (temp highp float)
+0:38 sine (global highp float)
+0:38 'x' (smooth in highp float)
+0:39 Branch: Break
+0:40 case: with expression
+0:40 Constant:
+0:40 2 (const int)
+0:? Sequence
+0:41 move second child to first child (temp highp float)
+0:41 'f' (temp highp float)
+0:41 cosine (global highp float)
+0:41 'x' (smooth in highp float)
+0:42 Branch: Break
+0:43 default:
+0:? Sequence
+0:44 move second child to first child (temp highp float)
+0:44 'f' (temp highp float)
+0:44 tangent (global highp float)
+0:44 'x' (smooth in highp float)
+0:47 switch
+0:47 condition
+0:47 'c' (uniform mediump int)
+0:47 body
+0:47 Sequence
+0:48 case: with expression
+0:48 Constant:
+0:48 1 (const int)
+0:? Sequence
+0:49 move second child to first child (temp highp float)
+0:49 'f' (temp highp float)
+0:49 sine (global highp float)
+0:49 'x' (smooth in highp float)
+0:50 Branch: Break
+0:51 case: with expression
+0:51 Constant:
+0:51 2 (const int)
+0:? Sequence
+0:52 switch
+0:52 condition
+0:52 'd' (uniform mediump int)
+0:52 body
+0:52 Sequence
+0:53 case: with expression
+0:53 Constant:
+0:53 1 (const int)
+0:? Sequence
+0:54 move second child to first child (temp highp float)
+0:54 'f' (temp highp float)
+0:54 component-wise multiply (temp highp float)
+0:54 component-wise multiply (temp highp float)
+0:54 'x' (smooth in highp float)
+0:54 'x' (smooth in highp float)
+0:54 'x' (smooth in highp float)
+0:55 Branch: Break
+0:56 case: with expression
+0:56 Constant:
+0:56 2 (const int)
+0:? Sequence
+0:57 move second child to first child (temp highp float)
+0:57 'f' (temp highp float)
+0:57 component-wise multiply (temp highp float)
+0:57 'x' (smooth in highp float)
+0:57 'x' (smooth in highp float)
+0:58 Branch: Break
+0:60 Branch: Break
+0:61 default:
+0:? Sequence
+0:62 move second child to first child (temp highp float)
+0:62 'f' (temp highp float)
+0:62 tangent (global highp float)
+0:62 'x' (smooth in highp float)
+0:63 case: with expression
+0:63 Constant:
+0:63 1 (const int)
+0:? Sequence
+0:64 Branch: Break
+0:65 case: with expression
+0:65 Constant:
+0:65 3.800000
+0:? Sequence
+0:66 Branch: Break
+0:67 case: with expression
+0:67 'c' (uniform mediump int)
+0:? Sequence
+0:68 Branch: Break
+0:71 switch
+0:71 condition
+0:71 'c' (uniform mediump int)
+0:71 body
+0:71 Sequence
+0:72 case: with expression
+0:72 Constant:
+0:72 1 (const int)
+0:? Sequence
+0:73 move second child to first child (temp highp float)
+0:73 'f' (temp highp float)
+0:73 sine (global highp float)
+0:73 'x' (smooth in highp float)
+0:74 Branch: Break
+0:75 case: with expression
+0:75 Constant:
+0:75 2 (const int)
+0:? Sequence
+0:76 switch
+0:76 condition
+0:76 'd' (uniform mediump int)
+0:76 body
+0:76 Sequence
+0:77 case: with expression
+0:77 Constant:
+0:77 1 (const int)
+0:? Sequence
+0:78 move second child to first child (temp highp float)
+0:78 'f' (temp highp float)
+0:78 component-wise multiply (temp highp float)
+0:78 component-wise multiply (temp highp float)
+0:78 'x' (smooth in highp float)
+0:78 'x' (smooth in highp float)
+0:78 'x' (smooth in highp float)
+0:79 Branch: Break
+0:80 case: with expression
+0:80 Constant:
+0:80 2 (const int)
+0:? Sequence
+0:81 move second child to first child (temp highp float)
+0:81 'f' (temp highp float)
+0:81 component-wise multiply (temp highp float)
+0:81 'x' (smooth in highp float)
+0:81 'x' (smooth in highp float)
+0:82 Branch: Break
+0:84 Branch: Break
+0:85 default:
+0:? Sequence
+0:86 move second child to first child (temp highp float)
+0:86 'f' (temp highp float)
+0:86 tangent (global highp float)
+0:86 'x' (smooth in highp float)
+0:89 Branch: Break
+0:91 switch
+0:91 condition
+0:91 'c' (uniform mediump int)
+0:91 body
+0:91 Sequence
+0:92 case: with expression
+0:92 Constant:
+0:92 1 (const int)
+0:? Sequence
+0:93 move second child to first child (temp highp float)
+0:93 'f' (temp highp float)
+0:93 sine (global highp float)
+0:93 'x' (smooth in highp float)
+0:94 Branch: Break
+0:95 case: with expression
+0:95 Constant:
+0:95 2 (const int)
+0:? Sequence
+0:96 switch
+0:96 condition
+0:96 'd' (uniform mediump int)
+0:96 body
+0:96 Sequence
+0:97 case: with expression
+0:97 Constant:
+0:97 1 (const int)
+0:? Sequence
+0:? Sequence
+0:100 Branch: Break
+0:102 move second child to first child (temp highp float)
+0:102 'f' (temp highp float)
+0:102 component-wise multiply (temp highp float)
+0:102 component-wise multiply (temp highp float)
+0:102 'x' (smooth in highp float)
+0:102 'x' (smooth in highp float)
+0:102 'x' (smooth in highp float)
+0:103 Test condition and select (temp void)
+0:103 Condition
+0:103 Compare Less Than (temp bool)
+0:103 'c' (uniform mediump int)
+0:103 'd' (uniform mediump int)
+0:103 true case
+0:? Sequence
+0:105 move second child to first child (temp highp float)
+0:105 'f' (temp highp float)
+0:105 component-wise multiply (temp highp float)
+0:105 'x' (smooth in highp float)
+0:105 'x' (smooth in highp float)
+0:107 Test condition and select (temp void)
+0:107 Condition
+0:107 Compare Less Than (temp bool)
+0:107 'd' (uniform mediump int)
+0:107 'c' (uniform mediump int)
+0:107 true case is null
+0:109 Branch: Break
+0:111 Branch: Break
+0:112 case: with expression
+0:112 Constant:
+0:112 4 (const int)
+0:? Sequence
+0:113 move second child to first child (temp highp float)
+0:113 'f' (temp highp float)
+0:113 tangent (global highp float)
+0:113 'x' (smooth in highp float)
+0:114 Test condition and select (temp void)
+0:114 Condition
+0:114 Compare Less Than (temp bool)
+0:114 'f' (temp highp float)
+0:114 Constant:
+0:114 0.000000
+0:114 true case is null
+0:116 Branch: Break
+0:122 switch
+0:122 condition
+0:122 Constant:
+0:122 0 (const int)
+0:122 body
+0:122 Sequence
+0:123 default:
+0:? Sequence
+0:124 Sequence
+0:124 move second child to first child (temp mediump int)
+0:124 'onlyInSwitch' (temp mediump int)
+0:124 Constant:
+0:124 0 (const int)
+0:126 'onlyInSwitch' (temp float)
+0:128 switch
+0:128 condition
+0:128 Constant:
+0:128 0 (const int)
+0:128 body
+0:128 Sequence
+0:129 default:
+0:128 Sequence
+0:128 Branch: Break
+0:133 switch
+0:133 condition
+0:133 'c' (uniform mediump int)
+0:133 body
+0:133 Sequence
+0:134 case: with expression
+0:134 Constant:
+0:134 1 (const int)
+0:? Sequence
+0:? Sequence
+0:137 Branch: Break
+0:139 case: with expression
+0:139 Constant:
+0:139 2 (const int)
+0:? Sequence
+0:140 'nestedX' (temp float)
+0:143 Branch: Break
+0:144 case: with expression
+0:144 Constant:
+0:144 3 (const int)
+0:? Sequence
+0:146 Branch: Break
+0:147 Branch: Break
+0:148 case: with expression
+0:148 Constant:
+0:148 4 (const int)
+0:? Sequence
+0:149 Sequence
+0:149 move second child to first child (temp mediump int)
+0:149 'linearY' (temp mediump int)
+0:149 'linearZ' (temp mediump int)
+0:150 Branch: Break
+0:151 case: with expression
+0:151 Constant:
+0:151 5 (const int)
+0:? Sequence
+0:153 Branch: Break
+0:154 case: with expression
+0:154 Constant:
+0:154 6 (const int)
+0:? Sequence
+0:155 Constant:
+0:155 4 (const int)
+0:157 'nestedZ' (temp float)
+0:? Linker Objects
+0:? 'c' (uniform mediump int)
+0:? 'd' (uniform mediump int)
+0:? 'x' (smooth in highp float)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:6 Function Definition: main( (global void)
+0:6 Function Parameters:
+0:? Sequence
+0:11 'f' (temp highp float)
+0:14 'a' (temp 2-element array of mediump int)
+0:17 'c' (uniform mediump int)
+0:21 switch
+0:21 condition
+0:21 'c' (uniform mediump int)
+0:21 body
+0:21 Sequence
+0:23 case: with expression
+0:23 Constant:
+0:23 2 (const int)
+0:21 Sequence
+0:21 Branch: Break
+0:26 switch
+0:26 condition
+0:26 'c' (uniform mediump int)
+0:26 body
+0:26 Sequence
+0:28 Sequence
+0:28 move second child to first child (temp highp float)
+0:28 'f' (temp highp float)
+0:28 sine (global highp float)
+0:28 'x' (smooth in highp float)
+0:29 case: with expression
+0:29 Constant:
+0:29 2 (const int)
+0:? Sequence
+0:30 move second child to first child (temp highp float)
+0:30 'f' (temp highp float)
+0:30 cosine (global highp float)
+0:30 'x' (smooth in highp float)
+0:31 Branch: Break
+0:34 switch
+0:34 condition
+0:34 'c' (uniform mediump int)
+0:34 body
+0:34 Sequence
+0:35 default:
+0:? Sequence
+0:36 Branch: Break
+0:37 case: with expression
+0:37 Constant:
+0:37 1 (const int)
+0:? Sequence
+0:38 move second child to first child (temp highp float)
+0:38 'f' (temp highp float)
+0:38 sine (global highp float)
+0:38 'x' (smooth in highp float)
+0:39 Branch: Break
+0:40 case: with expression
+0:40 Constant:
+0:40 2 (const int)
+0:? Sequence
+0:41 move second child to first child (temp highp float)
+0:41 'f' (temp highp float)
+0:41 cosine (global highp float)
+0:41 'x' (smooth in highp float)
+0:42 Branch: Break
+0:43 default:
+0:? Sequence
+0:44 move second child to first child (temp highp float)
+0:44 'f' (temp highp float)
+0:44 tangent (global highp float)
+0:44 'x' (smooth in highp float)
+0:47 switch
+0:47 condition
+0:47 'c' (uniform mediump int)
+0:47 body
+0:47 Sequence
+0:48 case: with expression
+0:48 Constant:
+0:48 1 (const int)
+0:? Sequence
+0:49 move second child to first child (temp highp float)
+0:49 'f' (temp highp float)
+0:49 sine (global highp float)
+0:49 'x' (smooth in highp float)
+0:50 Branch: Break
+0:51 case: with expression
+0:51 Constant:
+0:51 2 (const int)
+0:? Sequence
+0:52 switch
+0:52 condition
+0:52 'd' (uniform mediump int)
+0:52 body
+0:52 Sequence
+0:53 case: with expression
+0:53 Constant:
+0:53 1 (const int)
+0:? Sequence
+0:54 move second child to first child (temp highp float)
+0:54 'f' (temp highp float)
+0:54 component-wise multiply (temp highp float)
+0:54 component-wise multiply (temp highp float)
+0:54 'x' (smooth in highp float)
+0:54 'x' (smooth in highp float)
+0:54 'x' (smooth in highp float)
+0:55 Branch: Break
+0:56 case: with expression
+0:56 Constant:
+0:56 2 (const int)
+0:? Sequence
+0:57 move second child to first child (temp highp float)
+0:57 'f' (temp highp float)
+0:57 component-wise multiply (temp highp float)
+0:57 'x' (smooth in highp float)
+0:57 'x' (smooth in highp float)
+0:58 Branch: Break
+0:60 Branch: Break
+0:61 default:
+0:? Sequence
+0:62 move second child to first child (temp highp float)
+0:62 'f' (temp highp float)
+0:62 tangent (global highp float)
+0:62 'x' (smooth in highp float)
+0:63 case: with expression
+0:63 Constant:
+0:63 1 (const int)
+0:? Sequence
+0:64 Branch: Break
+0:65 case: with expression
+0:65 Constant:
+0:65 3.800000
+0:? Sequence
+0:66 Branch: Break
+0:67 case: with expression
+0:67 'c' (uniform mediump int)
+0:? Sequence
+0:68 Branch: Break
+0:71 switch
+0:71 condition
+0:71 'c' (uniform mediump int)
+0:71 body
+0:71 Sequence
+0:72 case: with expression
+0:72 Constant:
+0:72 1 (const int)
+0:? Sequence
+0:73 move second child to first child (temp highp float)
+0:73 'f' (temp highp float)
+0:73 sine (global highp float)
+0:73 'x' (smooth in highp float)
+0:74 Branch: Break
+0:75 case: with expression
+0:75 Constant:
+0:75 2 (const int)
+0:? Sequence
+0:76 switch
+0:76 condition
+0:76 'd' (uniform mediump int)
+0:76 body
+0:76 Sequence
+0:77 case: with expression
+0:77 Constant:
+0:77 1 (const int)
+0:? Sequence
+0:78 move second child to first child (temp highp float)
+0:78 'f' (temp highp float)
+0:78 component-wise multiply (temp highp float)
+0:78 component-wise multiply (temp highp float)
+0:78 'x' (smooth in highp float)
+0:78 'x' (smooth in highp float)
+0:78 'x' (smooth in highp float)
+0:79 Branch: Break
+0:80 case: with expression
+0:80 Constant:
+0:80 2 (const int)
+0:? Sequence
+0:81 move second child to first child (temp highp float)
+0:81 'f' (temp highp float)
+0:81 component-wise multiply (temp highp float)
+0:81 'x' (smooth in highp float)
+0:81 'x' (smooth in highp float)
+0:82 Branch: Break
+0:84 Branch: Break
+0:85 default:
+0:? Sequence
+0:86 move second child to first child (temp highp float)
+0:86 'f' (temp highp float)
+0:86 tangent (global highp float)
+0:86 'x' (smooth in highp float)
+0:89 Branch: Break
+0:91 switch
+0:91 condition
+0:91 'c' (uniform mediump int)
+0:91 body
+0:91 Sequence
+0:92 case: with expression
+0:92 Constant:
+0:92 1 (const int)
+0:? Sequence
+0:93 move second child to first child (temp highp float)
+0:93 'f' (temp highp float)
+0:93 sine (global highp float)
+0:93 'x' (smooth in highp float)
+0:94 Branch: Break
+0:95 case: with expression
+0:95 Constant:
+0:95 2 (const int)
+0:? Sequence
+0:96 switch
+0:96 condition
+0:96 'd' (uniform mediump int)
+0:96 body
+0:96 Sequence
+0:97 case: with expression
+0:97 Constant:
+0:97 1 (const int)
+0:? Sequence
+0:? Sequence
+0:100 Branch: Break
+0:102 move second child to first child (temp highp float)
+0:102 'f' (temp highp float)
+0:102 component-wise multiply (temp highp float)
+0:102 component-wise multiply (temp highp float)
+0:102 'x' (smooth in highp float)
+0:102 'x' (smooth in highp float)
+0:102 'x' (smooth in highp float)
+0:103 Test condition and select (temp void)
+0:103 Condition
+0:103 Compare Less Than (temp bool)
+0:103 'c' (uniform mediump int)
+0:103 'd' (uniform mediump int)
+0:103 true case
+0:? Sequence
+0:105 move second child to first child (temp highp float)
+0:105 'f' (temp highp float)
+0:105 component-wise multiply (temp highp float)
+0:105 'x' (smooth in highp float)
+0:105 'x' (smooth in highp float)
+0:107 Test condition and select (temp void)
+0:107 Condition
+0:107 Compare Less Than (temp bool)
+0:107 'd' (uniform mediump int)
+0:107 'c' (uniform mediump int)
+0:107 true case is null
+0:109 Branch: Break
+0:111 Branch: Break
+0:112 case: with expression
+0:112 Constant:
+0:112 4 (const int)
+0:? Sequence
+0:113 move second child to first child (temp highp float)
+0:113 'f' (temp highp float)
+0:113 tangent (global highp float)
+0:113 'x' (smooth in highp float)
+0:114 Test condition and select (temp void)
+0:114 Condition
+0:114 Compare Less Than (temp bool)
+0:114 'f' (temp highp float)
+0:114 Constant:
+0:114 0.000000
+0:114 true case is null
+0:116 Branch: Break
+0:122 switch
+0:122 condition
+0:122 Constant:
+0:122 0 (const int)
+0:122 body
+0:122 Sequence
+0:123 default:
+0:? Sequence
+0:124 Sequence
+0:124 move second child to first child (temp mediump int)
+0:124 'onlyInSwitch' (temp mediump int)
+0:124 Constant:
+0:124 0 (const int)
+0:126 'onlyInSwitch' (temp float)
+0:128 switch
+0:128 condition
+0:128 Constant:
+0:128 0 (const int)
+0:128 body
+0:128 Sequence
+0:129 default:
+0:128 Sequence
+0:128 Branch: Break
+0:133 switch
+0:133 condition
+0:133 'c' (uniform mediump int)
+0:133 body
+0:133 Sequence
+0:134 case: with expression
+0:134 Constant:
+0:134 1 (const int)
+0:? Sequence
+0:? Sequence
+0:137 Branch: Break
+0:139 case: with expression
+0:139 Constant:
+0:139 2 (const int)
+0:? Sequence
+0:140 'nestedX' (temp float)
+0:143 Branch: Break
+0:144 case: with expression
+0:144 Constant:
+0:144 3 (const int)
+0:? Sequence
+0:146 Branch: Break
+0:147 Branch: Break
+0:148 case: with expression
+0:148 Constant:
+0:148 4 (const int)
+0:? Sequence
+0:149 Sequence
+0:149 move second child to first child (temp mediump int)
+0:149 'linearY' (temp mediump int)
+0:149 'linearZ' (temp mediump int)
+0:150 Branch: Break
+0:151 case: with expression
+0:151 Constant:
+0:151 5 (const int)
+0:? Sequence
+0:153 Branch: Break
+0:154 case: with expression
+0:154 Constant:
+0:154 6 (const int)
+0:? Sequence
+0:155 Constant:
+0:155 4 (const int)
+0:157 'nestedZ' (temp float)
+0:? Linker Objects
+0:? 'c' (uniform mediump int)
+0:? 'd' (uniform mediump int)
+0:? 'x' (smooth in highp float)
+
diff --git a/Test/baseResults/swizzle.frag.out b/Test/baseResults/swizzle.frag.out
index eddb2fb..8e1b759 100644
--- a/Test/baseResults/swizzle.frag.out
+++ b/Test/baseResults/swizzle.frag.out
@@ -1,423 +1,423 @@
-swizzle.frag
-Shader version: 110
-0:? Sequence
-0:9 Function Definition: main( (global void)
-0:9 Function Parameters:
-0:11 Sequence
-0:11 Sequence
-0:11 move second child to first child (temp float)
-0:11 'blendscale' (temp float)
-0:11 Constant:
-0:11 1.789000
-0:13 Sequence
-0:13 move second child to first child (temp 4-component vector of float)
-0:13 'w' (temp 4-component vector of float)
-0:13 'u' (uniform 4-component vector of float)
-0:15 Sequence
-0:15 move second child to first child (temp 4-component vector of float)
-0:15 'w_dep' (temp 4-component vector of float)
-0:15 'u' (uniform 4-component vector of float)
-0:16 Sequence
-0:16 move second child to first child (temp 4-component vector of float)
-0:16 'w_reorder' (temp 4-component vector of float)
-0:16 'u' (uniform 4-component vector of float)
-0:17 Sequence
-0:17 move second child to first child (temp 4-component vector of float)
-0:17 'w2' (temp 4-component vector of float)
-0:17 'u' (uniform 4-component vector of float)
-0:18 Sequence
-0:18 move second child to first child (temp 4-component vector of float)
-0:18 'w_flow' (temp 4-component vector of float)
-0:18 'u' (uniform 4-component vector of float)
-0:20 move second child to first child (temp float)
-0:20 direct index (temp float)
-0:20 'w_reorder' (temp 4-component vector of float)
-0:20 Constant:
-0:20 2 (const int)
-0:20 'blendscale' (temp float)
-0:22 move second child to first child (temp 2-component vector of float)
-0:22 vector swizzle (temp 2-component vector of float)
-0:22 'w' (temp 4-component vector of float)
-0:22 Sequence
-0:22 Constant:
-0:22 3 (const int)
-0:22 Constant:
-0:22 1 (const int)
-0:22 't' (smooth in 2-component vector of float)
-0:24 move second child to first child (temp float)
-0:24 direct index (temp float)
-0:24 'w_reorder' (temp 4-component vector of float)
-0:24 Constant:
-0:24 0 (const int)
-0:24 'blendscale' (temp float)
-0:26 move second child to first child (temp 4-component vector of float)
-0:26 vector swizzle (temp 4-component vector of float)
-0:26 'w2' (temp 4-component vector of float)
-0:26 Sequence
-0:26 Constant:
-0:26 0 (const int)
-0:26 Constant:
-0:26 1 (const int)
-0:26 Constant:
-0:26 2 (const int)
-0:26 Constant:
-0:26 3 (const int)
-0:26 vector swizzle (temp 4-component vector of float)
-0:26 'u' (uniform 4-component vector of float)
-0:26 Sequence
-0:26 Constant:
-0:26 2 (const int)
-0:26 Constant:
-0:26 3 (const int)
-0:26 Constant:
-0:26 0 (const int)
-0:26 Constant:
-0:26 1 (const int)
-0:28 move second child to first child (temp float)
-0:28 direct index (temp float)
-0:28 'w_reorder' (temp 4-component vector of float)
-0:28 Constant:
-0:28 1 (const int)
-0:28 'blendscale' (temp float)
-0:30 move second child to first child (temp 2-component vector of float)
-0:30 vector swizzle (temp 2-component vector of float)
-0:30 'w_dep' (temp 4-component vector of float)
-0:30 Sequence
-0:30 Constant:
-0:30 0 (const int)
-0:30 Constant:
-0:30 1 (const int)
-0:30 vector swizzle (temp 2-component vector of float)
-0:30 'w2' (temp 4-component vector of float)
-0:30 Sequence
-0:30 Constant:
-0:30 0 (const int)
-0:30 Constant:
-0:30 2 (const int)
-0:31 move second child to first child (temp 2-component vector of float)
-0:31 vector swizzle (temp 2-component vector of float)
-0:31 'w_dep' (temp 4-component vector of float)
-0:31 Sequence
-0:31 Constant:
-0:31 2 (const int)
-0:31 Constant:
-0:31 3 (const int)
-0:31 't' (smooth in 2-component vector of float)
-0:33 move second child to first child (temp 2-component vector of float)
-0:33 vector swizzle (temp 2-component vector of float)
-0:33 'w_undef' (temp 4-component vector of float)
-0:33 Sequence
-0:33 Constant:
-0:33 0 (const int)
-0:33 Constant:
-0:33 1 (const int)
-0:33 vector swizzle (temp 2-component vector of float)
-0:33 'u' (uniform 4-component vector of float)
-0:33 Sequence
-0:33 Constant:
-0:33 2 (const int)
-0:33 Constant:
-0:33 3 (const int)
-0:35 Test condition and select (temp void)
-0:35 Condition
-0:35 'p' (uniform bool)
-0:35 true case
-0:36 move second child to first child (temp float)
-0:36 direct index (temp float)
-0:36 'w_flow' (temp 4-component vector of float)
-0:36 Constant:
-0:36 0 (const int)
-0:36 direct index (temp float)
-0:36 't' (smooth in 2-component vector of float)
-0:36 Constant:
-0:36 0 (const int)
-0:35 false case
-0:38 move second child to first child (temp float)
-0:38 direct index (temp float)
-0:38 'w_flow' (temp 4-component vector of float)
-0:38 Constant:
-0:38 0 (const int)
-0:38 direct index (temp float)
-0:38 't' (smooth in 2-component vector of float)
-0:38 Constant:
-0:38 1 (const int)
-0:40 move second child to first child (temp 4-component vector of float)
-0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:40 mix (global 4-component vector of float)
-0:40 'w_reorder' (temp 4-component vector of float)
-0:40 'w_undef' (temp 4-component vector of float)
-0:40 component-wise multiply (temp 4-component vector of float)
-0:40 component-wise multiply (temp 4-component vector of float)
-0:40 component-wise multiply (temp 4-component vector of float)
-0:40 'w' (temp 4-component vector of float)
-0:40 'w2' (temp 4-component vector of float)
-0:40 'w_dep' (temp 4-component vector of float)
-0:40 'w_flow' (temp 4-component vector of float)
-0:42 Sequence
-0:42 move second child to first child (temp 2-component vector of float)
-0:42 'c' (temp 2-component vector of float)
-0:42 't' (smooth in 2-component vector of float)
-0:43 Sequence
-0:43 move second child to first child (temp 4-component vector of float)
-0:43 'rep' (temp 4-component vector of float)
-0:43 Constant:
-0:43 0.000000
-0:43 0.000000
-0:43 0.000000
-0:43 1.000000
-0:45 Test condition and select (temp void)
-0:45 Condition
-0:45 Compare Less Than (temp bool)
-0:45 direct index (temp float)
-0:45 'c' (temp 2-component vector of float)
-0:45 Constant:
-0:45 0 (const int)
-0:45 Constant:
-0:45 0.000000
-0:45 true case
-0:46 multiply second child into first child (temp float)
-0:46 direct index (temp float)
-0:46 'c' (temp 2-component vector of float)
-0:46 Constant:
-0:46 0 (const int)
-0:46 Constant:
-0:46 -1.000000
-0:48 Test condition and select (temp void)
-0:48 Condition
-0:48 Compare Less Than or Equal (temp bool)
-0:48 direct index (temp float)
-0:48 'c' (temp 2-component vector of float)
-0:48 Constant:
-0:48 0 (const int)
-0:48 Constant:
-0:48 1.000000
-0:48 true case
-0:49 move second child to first child (temp float)
-0:49 direct index (temp float)
-0:49 'rep' (temp 4-component vector of float)
-0:49 Constant:
-0:49 0 (const int)
-0:49 Constant:
-0:49 3.400000
-0:51 add second child into first child (temp 4-component vector of float)
-0:51 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:51 'rep' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'blend' (uniform float)
-0:? 'u' (uniform 4-component vector of float)
-0:? 'p' (uniform bool)
-0:? 't' (smooth in 2-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 110
-0:? Sequence
-0:9 Function Definition: main( (global void)
-0:9 Function Parameters:
-0:11 Sequence
-0:11 Sequence
-0:11 move second child to first child (temp float)
-0:11 'blendscale' (temp float)
-0:11 Constant:
-0:11 1.789000
-0:13 Sequence
-0:13 move second child to first child (temp 4-component vector of float)
-0:13 'w' (temp 4-component vector of float)
-0:13 'u' (uniform 4-component vector of float)
-0:15 Sequence
-0:15 move second child to first child (temp 4-component vector of float)
-0:15 'w_dep' (temp 4-component vector of float)
-0:15 'u' (uniform 4-component vector of float)
-0:16 Sequence
-0:16 move second child to first child (temp 4-component vector of float)
-0:16 'w_reorder' (temp 4-component vector of float)
-0:16 'u' (uniform 4-component vector of float)
-0:17 Sequence
-0:17 move second child to first child (temp 4-component vector of float)
-0:17 'w2' (temp 4-component vector of float)
-0:17 'u' (uniform 4-component vector of float)
-0:18 Sequence
-0:18 move second child to first child (temp 4-component vector of float)
-0:18 'w_flow' (temp 4-component vector of float)
-0:18 'u' (uniform 4-component vector of float)
-0:20 move second child to first child (temp float)
-0:20 direct index (temp float)
-0:20 'w_reorder' (temp 4-component vector of float)
-0:20 Constant:
-0:20 2 (const int)
-0:20 'blendscale' (temp float)
-0:22 move second child to first child (temp 2-component vector of float)
-0:22 vector swizzle (temp 2-component vector of float)
-0:22 'w' (temp 4-component vector of float)
-0:22 Sequence
-0:22 Constant:
-0:22 3 (const int)
-0:22 Constant:
-0:22 1 (const int)
-0:22 't' (smooth in 2-component vector of float)
-0:24 move second child to first child (temp float)
-0:24 direct index (temp float)
-0:24 'w_reorder' (temp 4-component vector of float)
-0:24 Constant:
-0:24 0 (const int)
-0:24 'blendscale' (temp float)
-0:26 move second child to first child (temp 4-component vector of float)
-0:26 vector swizzle (temp 4-component vector of float)
-0:26 'w2' (temp 4-component vector of float)
-0:26 Sequence
-0:26 Constant:
-0:26 0 (const int)
-0:26 Constant:
-0:26 1 (const int)
-0:26 Constant:
-0:26 2 (const int)
-0:26 Constant:
-0:26 3 (const int)
-0:26 vector swizzle (temp 4-component vector of float)
-0:26 'u' (uniform 4-component vector of float)
-0:26 Sequence
-0:26 Constant:
-0:26 2 (const int)
-0:26 Constant:
-0:26 3 (const int)
-0:26 Constant:
-0:26 0 (const int)
-0:26 Constant:
-0:26 1 (const int)
-0:28 move second child to first child (temp float)
-0:28 direct index (temp float)
-0:28 'w_reorder' (temp 4-component vector of float)
-0:28 Constant:
-0:28 1 (const int)
-0:28 'blendscale' (temp float)
-0:30 move second child to first child (temp 2-component vector of float)
-0:30 vector swizzle (temp 2-component vector of float)
-0:30 'w_dep' (temp 4-component vector of float)
-0:30 Sequence
-0:30 Constant:
-0:30 0 (const int)
-0:30 Constant:
-0:30 1 (const int)
-0:30 vector swizzle (temp 2-component vector of float)
-0:30 'w2' (temp 4-component vector of float)
-0:30 Sequence
-0:30 Constant:
-0:30 0 (const int)
-0:30 Constant:
-0:30 2 (const int)
-0:31 move second child to first child (temp 2-component vector of float)
-0:31 vector swizzle (temp 2-component vector of float)
-0:31 'w_dep' (temp 4-component vector of float)
-0:31 Sequence
-0:31 Constant:
-0:31 2 (const int)
-0:31 Constant:
-0:31 3 (const int)
-0:31 't' (smooth in 2-component vector of float)
-0:33 move second child to first child (temp 2-component vector of float)
-0:33 vector swizzle (temp 2-component vector of float)
-0:33 'w_undef' (temp 4-component vector of float)
-0:33 Sequence
-0:33 Constant:
-0:33 0 (const int)
-0:33 Constant:
-0:33 1 (const int)
-0:33 vector swizzle (temp 2-component vector of float)
-0:33 'u' (uniform 4-component vector of float)
-0:33 Sequence
-0:33 Constant:
-0:33 2 (const int)
-0:33 Constant:
-0:33 3 (const int)
-0:35 Test condition and select (temp void)
-0:35 Condition
-0:35 'p' (uniform bool)
-0:35 true case
-0:36 move second child to first child (temp float)
-0:36 direct index (temp float)
-0:36 'w_flow' (temp 4-component vector of float)
-0:36 Constant:
-0:36 0 (const int)
-0:36 direct index (temp float)
-0:36 't' (smooth in 2-component vector of float)
-0:36 Constant:
-0:36 0 (const int)
-0:35 false case
-0:38 move second child to first child (temp float)
-0:38 direct index (temp float)
-0:38 'w_flow' (temp 4-component vector of float)
-0:38 Constant:
-0:38 0 (const int)
-0:38 direct index (temp float)
-0:38 't' (smooth in 2-component vector of float)
-0:38 Constant:
-0:38 1 (const int)
-0:40 move second child to first child (temp 4-component vector of float)
-0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:40 mix (global 4-component vector of float)
-0:40 'w_reorder' (temp 4-component vector of float)
-0:40 'w_undef' (temp 4-component vector of float)
-0:40 component-wise multiply (temp 4-component vector of float)
-0:40 component-wise multiply (temp 4-component vector of float)
-0:40 component-wise multiply (temp 4-component vector of float)
-0:40 'w' (temp 4-component vector of float)
-0:40 'w2' (temp 4-component vector of float)
-0:40 'w_dep' (temp 4-component vector of float)
-0:40 'w_flow' (temp 4-component vector of float)
-0:42 Sequence
-0:42 move second child to first child (temp 2-component vector of float)
-0:42 'c' (temp 2-component vector of float)
-0:42 't' (smooth in 2-component vector of float)
-0:43 Sequence
-0:43 move second child to first child (temp 4-component vector of float)
-0:43 'rep' (temp 4-component vector of float)
-0:43 Constant:
-0:43 0.000000
-0:43 0.000000
-0:43 0.000000
-0:43 1.000000
-0:45 Test condition and select (temp void)
-0:45 Condition
-0:45 Compare Less Than (temp bool)
-0:45 direct index (temp float)
-0:45 'c' (temp 2-component vector of float)
-0:45 Constant:
-0:45 0 (const int)
-0:45 Constant:
-0:45 0.000000
-0:45 true case
-0:46 multiply second child into first child (temp float)
-0:46 direct index (temp float)
-0:46 'c' (temp 2-component vector of float)
-0:46 Constant:
-0:46 0 (const int)
-0:46 Constant:
-0:46 -1.000000
-0:48 Test condition and select (temp void)
-0:48 Condition
-0:48 Compare Less Than or Equal (temp bool)
-0:48 direct index (temp float)
-0:48 'c' (temp 2-component vector of float)
-0:48 Constant:
-0:48 0 (const int)
-0:48 Constant:
-0:48 1.000000
-0:48 true case
-0:49 move second child to first child (temp float)
-0:49 direct index (temp float)
-0:49 'rep' (temp 4-component vector of float)
-0:49 Constant:
-0:49 0 (const int)
-0:49 Constant:
-0:49 3.400000
-0:51 add second child into first child (temp 4-component vector of float)
-0:51 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:51 'rep' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'blend' (uniform float)
-0:? 'u' (uniform 4-component vector of float)
-0:? 'p' (uniform bool)
-0:? 't' (smooth in 2-component vector of float)
-
+swizzle.frag
+Shader version: 110
+0:? Sequence
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Sequence
+0:11 move second child to first child (temp float)
+0:11 'blendscale' (temp float)
+0:11 Constant:
+0:11 1.789000
+0:13 Sequence
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'w' (temp 4-component vector of float)
+0:13 'u' (uniform 4-component vector of float)
+0:15 Sequence
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'w_dep' (temp 4-component vector of float)
+0:15 'u' (uniform 4-component vector of float)
+0:16 Sequence
+0:16 move second child to first child (temp 4-component vector of float)
+0:16 'w_reorder' (temp 4-component vector of float)
+0:16 'u' (uniform 4-component vector of float)
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'w2' (temp 4-component vector of float)
+0:17 'u' (uniform 4-component vector of float)
+0:18 Sequence
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'w_flow' (temp 4-component vector of float)
+0:18 'u' (uniform 4-component vector of float)
+0:20 move second child to first child (temp float)
+0:20 direct index (temp float)
+0:20 'w_reorder' (temp 4-component vector of float)
+0:20 Constant:
+0:20 2 (const int)
+0:20 'blendscale' (temp float)
+0:22 move second child to first child (temp 2-component vector of float)
+0:22 vector swizzle (temp 2-component vector of float)
+0:22 'w' (temp 4-component vector of float)
+0:22 Sequence
+0:22 Constant:
+0:22 3 (const int)
+0:22 Constant:
+0:22 1 (const int)
+0:22 't' (smooth in 2-component vector of float)
+0:24 move second child to first child (temp float)
+0:24 direct index (temp float)
+0:24 'w_reorder' (temp 4-component vector of float)
+0:24 Constant:
+0:24 0 (const int)
+0:24 'blendscale' (temp float)
+0:26 move second child to first child (temp 4-component vector of float)
+0:26 vector swizzle (temp 4-component vector of float)
+0:26 'w2' (temp 4-component vector of float)
+0:26 Sequence
+0:26 Constant:
+0:26 0 (const int)
+0:26 Constant:
+0:26 1 (const int)
+0:26 Constant:
+0:26 2 (const int)
+0:26 Constant:
+0:26 3 (const int)
+0:26 vector swizzle (temp 4-component vector of float)
+0:26 'u' (uniform 4-component vector of float)
+0:26 Sequence
+0:26 Constant:
+0:26 2 (const int)
+0:26 Constant:
+0:26 3 (const int)
+0:26 Constant:
+0:26 0 (const int)
+0:26 Constant:
+0:26 1 (const int)
+0:28 move second child to first child (temp float)
+0:28 direct index (temp float)
+0:28 'w_reorder' (temp 4-component vector of float)
+0:28 Constant:
+0:28 1 (const int)
+0:28 'blendscale' (temp float)
+0:30 move second child to first child (temp 2-component vector of float)
+0:30 vector swizzle (temp 2-component vector of float)
+0:30 'w_dep' (temp 4-component vector of float)
+0:30 Sequence
+0:30 Constant:
+0:30 0 (const int)
+0:30 Constant:
+0:30 1 (const int)
+0:30 vector swizzle (temp 2-component vector of float)
+0:30 'w2' (temp 4-component vector of float)
+0:30 Sequence
+0:30 Constant:
+0:30 0 (const int)
+0:30 Constant:
+0:30 2 (const int)
+0:31 move second child to first child (temp 2-component vector of float)
+0:31 vector swizzle (temp 2-component vector of float)
+0:31 'w_dep' (temp 4-component vector of float)
+0:31 Sequence
+0:31 Constant:
+0:31 2 (const int)
+0:31 Constant:
+0:31 3 (const int)
+0:31 't' (smooth in 2-component vector of float)
+0:33 move second child to first child (temp 2-component vector of float)
+0:33 vector swizzle (temp 2-component vector of float)
+0:33 'w_undef' (temp 4-component vector of float)
+0:33 Sequence
+0:33 Constant:
+0:33 0 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:33 vector swizzle (temp 2-component vector of float)
+0:33 'u' (uniform 4-component vector of float)
+0:33 Sequence
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 3 (const int)
+0:35 Test condition and select (temp void)
+0:35 Condition
+0:35 'p' (uniform bool)
+0:35 true case
+0:36 move second child to first child (temp float)
+0:36 direct index (temp float)
+0:36 'w_flow' (temp 4-component vector of float)
+0:36 Constant:
+0:36 0 (const int)
+0:36 direct index (temp float)
+0:36 't' (smooth in 2-component vector of float)
+0:36 Constant:
+0:36 0 (const int)
+0:35 false case
+0:38 move second child to first child (temp float)
+0:38 direct index (temp float)
+0:38 'w_flow' (temp 4-component vector of float)
+0:38 Constant:
+0:38 0 (const int)
+0:38 direct index (temp float)
+0:38 't' (smooth in 2-component vector of float)
+0:38 Constant:
+0:38 1 (const int)
+0:40 move second child to first child (temp 4-component vector of float)
+0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:40 mix (global 4-component vector of float)
+0:40 'w_reorder' (temp 4-component vector of float)
+0:40 'w_undef' (temp 4-component vector of float)
+0:40 component-wise multiply (temp 4-component vector of float)
+0:40 component-wise multiply (temp 4-component vector of float)
+0:40 component-wise multiply (temp 4-component vector of float)
+0:40 'w' (temp 4-component vector of float)
+0:40 'w2' (temp 4-component vector of float)
+0:40 'w_dep' (temp 4-component vector of float)
+0:40 'w_flow' (temp 4-component vector of float)
+0:42 Sequence
+0:42 move second child to first child (temp 2-component vector of float)
+0:42 'c' (temp 2-component vector of float)
+0:42 't' (smooth in 2-component vector of float)
+0:43 Sequence
+0:43 move second child to first child (temp 4-component vector of float)
+0:43 'rep' (temp 4-component vector of float)
+0:43 Constant:
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 1.000000
+0:45 Test condition and select (temp void)
+0:45 Condition
+0:45 Compare Less Than (temp bool)
+0:45 direct index (temp float)
+0:45 'c' (temp 2-component vector of float)
+0:45 Constant:
+0:45 0 (const int)
+0:45 Constant:
+0:45 0.000000
+0:45 true case
+0:46 multiply second child into first child (temp float)
+0:46 direct index (temp float)
+0:46 'c' (temp 2-component vector of float)
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 -1.000000
+0:48 Test condition and select (temp void)
+0:48 Condition
+0:48 Compare Less Than or Equal (temp bool)
+0:48 direct index (temp float)
+0:48 'c' (temp 2-component vector of float)
+0:48 Constant:
+0:48 0 (const int)
+0:48 Constant:
+0:48 1.000000
+0:48 true case
+0:49 move second child to first child (temp float)
+0:49 direct index (temp float)
+0:49 'rep' (temp 4-component vector of float)
+0:49 Constant:
+0:49 0 (const int)
+0:49 Constant:
+0:49 3.400000
+0:51 add second child into first child (temp 4-component vector of float)
+0:51 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:51 'rep' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'blend' (uniform float)
+0:? 'u' (uniform 4-component vector of float)
+0:? 'p' (uniform bool)
+0:? 't' (smooth in 2-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:9 Function Definition: main( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Sequence
+0:11 move second child to first child (temp float)
+0:11 'blendscale' (temp float)
+0:11 Constant:
+0:11 1.789000
+0:13 Sequence
+0:13 move second child to first child (temp 4-component vector of float)
+0:13 'w' (temp 4-component vector of float)
+0:13 'u' (uniform 4-component vector of float)
+0:15 Sequence
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'w_dep' (temp 4-component vector of float)
+0:15 'u' (uniform 4-component vector of float)
+0:16 Sequence
+0:16 move second child to first child (temp 4-component vector of float)
+0:16 'w_reorder' (temp 4-component vector of float)
+0:16 'u' (uniform 4-component vector of float)
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'w2' (temp 4-component vector of float)
+0:17 'u' (uniform 4-component vector of float)
+0:18 Sequence
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'w_flow' (temp 4-component vector of float)
+0:18 'u' (uniform 4-component vector of float)
+0:20 move second child to first child (temp float)
+0:20 direct index (temp float)
+0:20 'w_reorder' (temp 4-component vector of float)
+0:20 Constant:
+0:20 2 (const int)
+0:20 'blendscale' (temp float)
+0:22 move second child to first child (temp 2-component vector of float)
+0:22 vector swizzle (temp 2-component vector of float)
+0:22 'w' (temp 4-component vector of float)
+0:22 Sequence
+0:22 Constant:
+0:22 3 (const int)
+0:22 Constant:
+0:22 1 (const int)
+0:22 't' (smooth in 2-component vector of float)
+0:24 move second child to first child (temp float)
+0:24 direct index (temp float)
+0:24 'w_reorder' (temp 4-component vector of float)
+0:24 Constant:
+0:24 0 (const int)
+0:24 'blendscale' (temp float)
+0:26 move second child to first child (temp 4-component vector of float)
+0:26 vector swizzle (temp 4-component vector of float)
+0:26 'w2' (temp 4-component vector of float)
+0:26 Sequence
+0:26 Constant:
+0:26 0 (const int)
+0:26 Constant:
+0:26 1 (const int)
+0:26 Constant:
+0:26 2 (const int)
+0:26 Constant:
+0:26 3 (const int)
+0:26 vector swizzle (temp 4-component vector of float)
+0:26 'u' (uniform 4-component vector of float)
+0:26 Sequence
+0:26 Constant:
+0:26 2 (const int)
+0:26 Constant:
+0:26 3 (const int)
+0:26 Constant:
+0:26 0 (const int)
+0:26 Constant:
+0:26 1 (const int)
+0:28 move second child to first child (temp float)
+0:28 direct index (temp float)
+0:28 'w_reorder' (temp 4-component vector of float)
+0:28 Constant:
+0:28 1 (const int)
+0:28 'blendscale' (temp float)
+0:30 move second child to first child (temp 2-component vector of float)
+0:30 vector swizzle (temp 2-component vector of float)
+0:30 'w_dep' (temp 4-component vector of float)
+0:30 Sequence
+0:30 Constant:
+0:30 0 (const int)
+0:30 Constant:
+0:30 1 (const int)
+0:30 vector swizzle (temp 2-component vector of float)
+0:30 'w2' (temp 4-component vector of float)
+0:30 Sequence
+0:30 Constant:
+0:30 0 (const int)
+0:30 Constant:
+0:30 2 (const int)
+0:31 move second child to first child (temp 2-component vector of float)
+0:31 vector swizzle (temp 2-component vector of float)
+0:31 'w_dep' (temp 4-component vector of float)
+0:31 Sequence
+0:31 Constant:
+0:31 2 (const int)
+0:31 Constant:
+0:31 3 (const int)
+0:31 't' (smooth in 2-component vector of float)
+0:33 move second child to first child (temp 2-component vector of float)
+0:33 vector swizzle (temp 2-component vector of float)
+0:33 'w_undef' (temp 4-component vector of float)
+0:33 Sequence
+0:33 Constant:
+0:33 0 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:33 vector swizzle (temp 2-component vector of float)
+0:33 'u' (uniform 4-component vector of float)
+0:33 Sequence
+0:33 Constant:
+0:33 2 (const int)
+0:33 Constant:
+0:33 3 (const int)
+0:35 Test condition and select (temp void)
+0:35 Condition
+0:35 'p' (uniform bool)
+0:35 true case
+0:36 move second child to first child (temp float)
+0:36 direct index (temp float)
+0:36 'w_flow' (temp 4-component vector of float)
+0:36 Constant:
+0:36 0 (const int)
+0:36 direct index (temp float)
+0:36 't' (smooth in 2-component vector of float)
+0:36 Constant:
+0:36 0 (const int)
+0:35 false case
+0:38 move second child to first child (temp float)
+0:38 direct index (temp float)
+0:38 'w_flow' (temp 4-component vector of float)
+0:38 Constant:
+0:38 0 (const int)
+0:38 direct index (temp float)
+0:38 't' (smooth in 2-component vector of float)
+0:38 Constant:
+0:38 1 (const int)
+0:40 move second child to first child (temp 4-component vector of float)
+0:40 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:40 mix (global 4-component vector of float)
+0:40 'w_reorder' (temp 4-component vector of float)
+0:40 'w_undef' (temp 4-component vector of float)
+0:40 component-wise multiply (temp 4-component vector of float)
+0:40 component-wise multiply (temp 4-component vector of float)
+0:40 component-wise multiply (temp 4-component vector of float)
+0:40 'w' (temp 4-component vector of float)
+0:40 'w2' (temp 4-component vector of float)
+0:40 'w_dep' (temp 4-component vector of float)
+0:40 'w_flow' (temp 4-component vector of float)
+0:42 Sequence
+0:42 move second child to first child (temp 2-component vector of float)
+0:42 'c' (temp 2-component vector of float)
+0:42 't' (smooth in 2-component vector of float)
+0:43 Sequence
+0:43 move second child to first child (temp 4-component vector of float)
+0:43 'rep' (temp 4-component vector of float)
+0:43 Constant:
+0:43 0.000000
+0:43 0.000000
+0:43 0.000000
+0:43 1.000000
+0:45 Test condition and select (temp void)
+0:45 Condition
+0:45 Compare Less Than (temp bool)
+0:45 direct index (temp float)
+0:45 'c' (temp 2-component vector of float)
+0:45 Constant:
+0:45 0 (const int)
+0:45 Constant:
+0:45 0.000000
+0:45 true case
+0:46 multiply second child into first child (temp float)
+0:46 direct index (temp float)
+0:46 'c' (temp 2-component vector of float)
+0:46 Constant:
+0:46 0 (const int)
+0:46 Constant:
+0:46 -1.000000
+0:48 Test condition and select (temp void)
+0:48 Condition
+0:48 Compare Less Than or Equal (temp bool)
+0:48 direct index (temp float)
+0:48 'c' (temp 2-component vector of float)
+0:48 Constant:
+0:48 0 (const int)
+0:48 Constant:
+0:48 1.000000
+0:48 true case
+0:49 move second child to first child (temp float)
+0:49 direct index (temp float)
+0:49 'rep' (temp 4-component vector of float)
+0:49 Constant:
+0:49 0 (const int)
+0:49 Constant:
+0:49 3.400000
+0:51 add second child into first child (temp 4-component vector of float)
+0:51 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:51 'rep' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'blend' (uniform float)
+0:? 'u' (uniform 4-component vector of float)
+0:? 'p' (uniform bool)
+0:? 't' (smooth in 2-component vector of float)
+
diff --git a/Test/baseResults/syntaxError.frag.out b/Test/baseResults/syntaxError.frag.out
index 2d9bc6a..af0e732 100644
--- a/Test/baseResults/syntaxError.frag.out
+++ b/Test/baseResults/syntaxError.frag.out
@@ -1,24 +1,24 @@
-syntaxError.frag
-ERROR: 0:9: 'vec5' : undeclared identifier
-ERROR: 0:9: '' : syntax error
-ERROR: 2 compilation errors. No code generated.
-
-
-Shader version: 120
-ERROR: node is still EOpNull!
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-
-
-Linked fragment stage:
-
-
-Shader version: 120
-ERROR: node is still EOpNull!
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-
+syntaxError.frag
+ERROR: 0:9: 'vec5' : undeclared identifier
+ERROR: 0:9: '' : syntax error
+ERROR: 2 compilation errors. No code generated.
+
+
+Shader version: 120
+ERROR: node is still EOpNull!
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
+
+Linked fragment stage:
+
+
+Shader version: 120
+ERROR: node is still EOpNull!
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
diff --git a/Test/baseResults/test.conf b/Test/baseResults/test.conf
index ae7da92..f156c5c 100644
--- a/Test/baseResults/test.conf
+++ b/Test/baseResults/test.conf
@@ -1,92 +1,92 @@
-MaxLights 32
-MaxClipPlanes 6
-MaxTextureUnits 32
-MaxTextureCoords 32
-MaxVertexAttribs 64
-MaxVertexUniformComponents 4096
-MaxVaryingFloats 64
-MaxVertexTextureImageUnits 32
-MaxCombinedTextureImageUnits 80
-MaxTextureImageUnits 32
-MaxFragmentUniformComponents 4096
-MaxDrawBuffers 32
-MaxVertexUniformVectors 128
-MaxVaryingVectors 8
-MaxFragmentUniformVectors 16
-MaxVertexOutputVectors 16
-MaxFragmentInputVectors 15
-MinProgramTexelOffset -8
-MaxProgramTexelOffset 7
-MaxClipDistances 8
-MaxComputeWorkGroupCountX 65535
-MaxComputeWorkGroupCountY 65535
-MaxComputeWorkGroupCountZ 65535
-MaxComputeWorkGroupSizeX 1024
-MaxComputeWorkGroupSizeY 1024
-MaxComputeWorkGroupSizeZ 64
-MaxComputeUniformComponents 1024
-MaxComputeTextureImageUnits 16
-MaxComputeImageUniforms 8
-MaxComputeAtomicCounters 8
-MaxComputeAtomicCounterBuffers 1
-MaxVaryingComponents 60
-MaxVertexOutputComponents 64
-MaxGeometryInputComponents 64
-MaxGeometryOutputComponents 128
-MaxFragmentInputComponents 128
-MaxImageUnits 8
-MaxCombinedImageUnitsAndFragmentOutputs 8
-MaxCombinedShaderOutputResources 8
-MaxImageSamples 0
-MaxVertexImageUniforms 0
-MaxTessControlImageUniforms 0
-MaxTessEvaluationImageUniforms 0
-MaxGeometryImageUniforms 0
-MaxFragmentImageUniforms 8
-MaxCombinedImageUniforms 8
-MaxGeometryTextureImageUnits 16
-MaxGeometryOutputVertices 256
-MaxGeometryTotalOutputComponents 1024
-MaxGeometryUniformComponents 1024
-MaxGeometryVaryingComponents 64
-MaxTessControlInputComponents 128
-MaxTessControlOutputComponents 128
-MaxTessControlTextureImageUnits 16
-MaxTessControlUniformComponents 1024
-MaxTessControlTotalOutputComponents 4096
-MaxTessEvaluationInputComponents 128
-MaxTessEvaluationOutputComponents 128
-MaxTessEvaluationTextureImageUnits 16
-MaxTessEvaluationUniformComponents 1024
-MaxTessPatchComponents 120
-MaxPatchVertices 32
-MaxTessGenLevel 64
-MaxViewports 16
-MaxVertexAtomicCounters 0
-MaxTessControlAtomicCounters 0
-MaxTessEvaluationAtomicCounters 0
-MaxGeometryAtomicCounters 0
-MaxFragmentAtomicCounters 8
-MaxCombinedAtomicCounters 8
-MaxAtomicCounterBindings 1
-MaxVertexAtomicCounterBuffers 0
-MaxTessControlAtomicCounterBuffers 0
-MaxTessEvaluationAtomicCounterBuffers 0
-MaxGeometryAtomicCounterBuffers 0
-MaxFragmentAtomicCounterBuffers 1
-MaxCombinedAtomicCounterBuffers 1
-MaxAtomicCounterBufferSize 16384
-MaxTransformFeedbackBuffers 4
-MaxTransformFeedbackInterleavedComponents 64
-MaxCullDistances 8
-MaxCombinedClipAndCullDistances 8
-MaxSamples 4
-nonInductiveForLoops 1
-whileLoops 1
-doWhileLoops 1
-generalUniformIndexing 1
-generalAttributeMatrixVectorIndexing 1
-generalVaryingIndexing 1
-generalSamplerIndexing 1
-generalVariableIndexing 1
-generalConstantMatrixVectorIndexing 1
+MaxLights 32
+MaxClipPlanes 6
+MaxTextureUnits 32
+MaxTextureCoords 32
+MaxVertexAttribs 64
+MaxVertexUniformComponents 4096
+MaxVaryingFloats 64
+MaxVertexTextureImageUnits 32
+MaxCombinedTextureImageUnits 80
+MaxTextureImageUnits 32
+MaxFragmentUniformComponents 4096
+MaxDrawBuffers 32
+MaxVertexUniformVectors 128
+MaxVaryingVectors 8
+MaxFragmentUniformVectors 16
+MaxVertexOutputVectors 16
+MaxFragmentInputVectors 15
+MinProgramTexelOffset -8
+MaxProgramTexelOffset 7
+MaxClipDistances 8
+MaxComputeWorkGroupCountX 65535
+MaxComputeWorkGroupCountY 65535
+MaxComputeWorkGroupCountZ 65535
+MaxComputeWorkGroupSizeX 1024
+MaxComputeWorkGroupSizeY 1024
+MaxComputeWorkGroupSizeZ 64
+MaxComputeUniformComponents 1024
+MaxComputeTextureImageUnits 16
+MaxComputeImageUniforms 8
+MaxComputeAtomicCounters 8
+MaxComputeAtomicCounterBuffers 1
+MaxVaryingComponents 60
+MaxVertexOutputComponents 64
+MaxGeometryInputComponents 64
+MaxGeometryOutputComponents 128
+MaxFragmentInputComponents 128
+MaxImageUnits 8
+MaxCombinedImageUnitsAndFragmentOutputs 8
+MaxCombinedShaderOutputResources 8
+MaxImageSamples 0
+MaxVertexImageUniforms 0
+MaxTessControlImageUniforms 0
+MaxTessEvaluationImageUniforms 0
+MaxGeometryImageUniforms 0
+MaxFragmentImageUniforms 8
+MaxCombinedImageUniforms 8
+MaxGeometryTextureImageUnits 16
+MaxGeometryOutputVertices 256
+MaxGeometryTotalOutputComponents 1024
+MaxGeometryUniformComponents 1024
+MaxGeometryVaryingComponents 64
+MaxTessControlInputComponents 128
+MaxTessControlOutputComponents 128
+MaxTessControlTextureImageUnits 16
+MaxTessControlUniformComponents 1024
+MaxTessControlTotalOutputComponents 4096
+MaxTessEvaluationInputComponents 128
+MaxTessEvaluationOutputComponents 128
+MaxTessEvaluationTextureImageUnits 16
+MaxTessEvaluationUniformComponents 1024
+MaxTessPatchComponents 120
+MaxPatchVertices 32
+MaxTessGenLevel 64
+MaxViewports 16
+MaxVertexAtomicCounters 0
+MaxTessControlAtomicCounters 0
+MaxTessEvaluationAtomicCounters 0
+MaxGeometryAtomicCounters 0
+MaxFragmentAtomicCounters 8
+MaxCombinedAtomicCounters 8
+MaxAtomicCounterBindings 1
+MaxVertexAtomicCounterBuffers 0
+MaxTessControlAtomicCounterBuffers 0
+MaxTessEvaluationAtomicCounterBuffers 0
+MaxGeometryAtomicCounterBuffers 0
+MaxFragmentAtomicCounterBuffers 1
+MaxCombinedAtomicCounterBuffers 1
+MaxAtomicCounterBufferSize 16384
+MaxTransformFeedbackBuffers 4
+MaxTransformFeedbackInterleavedComponents 64
+MaxCullDistances 8
+MaxCombinedClipAndCullDistances 8
+MaxSamples 4
+nonInductiveForLoops 1
+whileLoops 1
+doWhileLoops 1
+generalUniformIndexing 1
+generalAttributeMatrixVectorIndexing 1
+generalVaryingIndexing 1
+generalSamplerIndexing 1
+generalVariableIndexing 1
+generalConstantMatrixVectorIndexing 1
diff --git a/Test/baseResults/test.frag.out b/Test/baseResults/test.frag.out
index f98d0dc..e6b9876 100644
--- a/Test/baseResults/test.frag.out
+++ b/Test/baseResults/test.frag.out
@@ -1,115 +1,115 @@
-test.frag
-Shader version: 110
-0:? Sequence
-0:13 Function Definition: main( (global void)
-0:13 Function Parameters:
-0:15 Sequence
-0:15 Sequence
-0:15 move second child to first child (temp float)
-0:15 'blendscale' (temp float)
-0:15 Constant:
-0:15 1.789000
-0:17 Sequence
-0:17 move second child to first child (temp 4-component vector of float)
-0:17 'v' (temp 4-component vector of float)
-0:17 vector swizzle (temp 4-component vector of float)
-0:17 texture (global 4-component vector of float)
-0:17 'texSampler2D' (uniform sampler2D)
-0:17 divide (temp 2-component vector of float)
-0:17 add (temp 2-component vector of float)
-0:17 't' (smooth in 2-component vector of float)
-0:17 'scale' (uniform 2-component vector of float)
-0:17 'scale' (uniform 2-component vector of float)
-0:17 Sequence
-0:17 Constant:
-0:17 3 (const int)
-0:17 Constant:
-0:17 2 (const int)
-0:17 Constant:
-0:17 1 (const int)
-0:17 Constant:
-0:17 0 (const int)
-0:19 Sequence
-0:19 move second child to first child (temp 4-component vector of float)
-0:19 'w' (temp 4-component vector of float)
-0:19 add (temp 4-component vector of float)
-0:19 texture (global 4-component vector of float)
-0:19 'texSampler3D' (uniform sampler3D)
-0:19 'coords' (smooth in 3-component vector of float)
-0:19 'v' (temp 4-component vector of float)
-0:21 move second child to first child (temp 4-component vector of float)
-0:21 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:21 mix (global 4-component vector of float)
-0:21 'w' (temp 4-component vector of float)
-0:21 'u' (uniform 4-component vector of float)
-0:21 component-wise multiply (temp float)
-0:21 'blend' (uniform float)
-0:21 'blendscale' (temp float)
-0:? Linker Objects
-0:? 'texSampler2D' (uniform sampler2D)
-0:? 'texSampler3D' (uniform sampler3D)
-0:? 'blend' (uniform float)
-0:? 'scale' (uniform 2-component vector of float)
-0:? 'u' (uniform 4-component vector of float)
-0:? 't' (smooth in 2-component vector of float)
-0:? 'coords' (smooth in 3-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 110
-0:? Sequence
-0:13 Function Definition: main( (global void)
-0:13 Function Parameters:
-0:15 Sequence
-0:15 Sequence
-0:15 move second child to first child (temp float)
-0:15 'blendscale' (temp float)
-0:15 Constant:
-0:15 1.789000
-0:17 Sequence
-0:17 move second child to first child (temp 4-component vector of float)
-0:17 'v' (temp 4-component vector of float)
-0:17 vector swizzle (temp 4-component vector of float)
-0:17 texture (global 4-component vector of float)
-0:17 'texSampler2D' (uniform sampler2D)
-0:17 divide (temp 2-component vector of float)
-0:17 add (temp 2-component vector of float)
-0:17 't' (smooth in 2-component vector of float)
-0:17 'scale' (uniform 2-component vector of float)
-0:17 'scale' (uniform 2-component vector of float)
-0:17 Sequence
-0:17 Constant:
-0:17 3 (const int)
-0:17 Constant:
-0:17 2 (const int)
-0:17 Constant:
-0:17 1 (const int)
-0:17 Constant:
-0:17 0 (const int)
-0:19 Sequence
-0:19 move second child to first child (temp 4-component vector of float)
-0:19 'w' (temp 4-component vector of float)
-0:19 add (temp 4-component vector of float)
-0:19 texture (global 4-component vector of float)
-0:19 'texSampler3D' (uniform sampler3D)
-0:19 'coords' (smooth in 3-component vector of float)
-0:19 'v' (temp 4-component vector of float)
-0:21 move second child to first child (temp 4-component vector of float)
-0:21 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:21 mix (global 4-component vector of float)
-0:21 'w' (temp 4-component vector of float)
-0:21 'u' (uniform 4-component vector of float)
-0:21 component-wise multiply (temp float)
-0:21 'blend' (uniform float)
-0:21 'blendscale' (temp float)
-0:? Linker Objects
-0:? 'texSampler2D' (uniform sampler2D)
-0:? 'texSampler3D' (uniform sampler3D)
-0:? 'blend' (uniform float)
-0:? 'scale' (uniform 2-component vector of float)
-0:? 'u' (uniform 4-component vector of float)
-0:? 't' (smooth in 2-component vector of float)
-0:? 'coords' (smooth in 3-component vector of float)
-
+test.frag
+Shader version: 110
+0:? Sequence
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:15 Sequence
+0:15 Sequence
+0:15 move second child to first child (temp float)
+0:15 'blendscale' (temp float)
+0:15 Constant:
+0:15 1.789000
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'v' (temp 4-component vector of float)
+0:17 vector swizzle (temp 4-component vector of float)
+0:17 texture (global 4-component vector of float)
+0:17 'texSampler2D' (uniform sampler2D)
+0:17 divide (temp 2-component vector of float)
+0:17 add (temp 2-component vector of float)
+0:17 't' (smooth in 2-component vector of float)
+0:17 'scale' (uniform 2-component vector of float)
+0:17 'scale' (uniform 2-component vector of float)
+0:17 Sequence
+0:17 Constant:
+0:17 3 (const int)
+0:17 Constant:
+0:17 2 (const int)
+0:17 Constant:
+0:17 1 (const int)
+0:17 Constant:
+0:17 0 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp 4-component vector of float)
+0:19 'w' (temp 4-component vector of float)
+0:19 add (temp 4-component vector of float)
+0:19 texture (global 4-component vector of float)
+0:19 'texSampler3D' (uniform sampler3D)
+0:19 'coords' (smooth in 3-component vector of float)
+0:19 'v' (temp 4-component vector of float)
+0:21 move second child to first child (temp 4-component vector of float)
+0:21 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:21 mix (global 4-component vector of float)
+0:21 'w' (temp 4-component vector of float)
+0:21 'u' (uniform 4-component vector of float)
+0:21 component-wise multiply (temp float)
+0:21 'blend' (uniform float)
+0:21 'blendscale' (temp float)
+0:? Linker Objects
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'texSampler3D' (uniform sampler3D)
+0:? 'blend' (uniform float)
+0:? 'scale' (uniform 2-component vector of float)
+0:? 'u' (uniform 4-component vector of float)
+0:? 't' (smooth in 2-component vector of float)
+0:? 'coords' (smooth in 3-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:13 Function Definition: main( (global void)
+0:13 Function Parameters:
+0:15 Sequence
+0:15 Sequence
+0:15 move second child to first child (temp float)
+0:15 'blendscale' (temp float)
+0:15 Constant:
+0:15 1.789000
+0:17 Sequence
+0:17 move second child to first child (temp 4-component vector of float)
+0:17 'v' (temp 4-component vector of float)
+0:17 vector swizzle (temp 4-component vector of float)
+0:17 texture (global 4-component vector of float)
+0:17 'texSampler2D' (uniform sampler2D)
+0:17 divide (temp 2-component vector of float)
+0:17 add (temp 2-component vector of float)
+0:17 't' (smooth in 2-component vector of float)
+0:17 'scale' (uniform 2-component vector of float)
+0:17 'scale' (uniform 2-component vector of float)
+0:17 Sequence
+0:17 Constant:
+0:17 3 (const int)
+0:17 Constant:
+0:17 2 (const int)
+0:17 Constant:
+0:17 1 (const int)
+0:17 Constant:
+0:17 0 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp 4-component vector of float)
+0:19 'w' (temp 4-component vector of float)
+0:19 add (temp 4-component vector of float)
+0:19 texture (global 4-component vector of float)
+0:19 'texSampler3D' (uniform sampler3D)
+0:19 'coords' (smooth in 3-component vector of float)
+0:19 'v' (temp 4-component vector of float)
+0:21 move second child to first child (temp 4-component vector of float)
+0:21 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:21 mix (global 4-component vector of float)
+0:21 'w' (temp 4-component vector of float)
+0:21 'u' (uniform 4-component vector of float)
+0:21 component-wise multiply (temp float)
+0:21 'blend' (uniform float)
+0:21 'blendscale' (temp float)
+0:? Linker Objects
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'texSampler3D' (uniform sampler3D)
+0:? 'blend' (uniform float)
+0:? 'scale' (uniform 2-component vector of float)
+0:? 'u' (uniform 4-component vector of float)
+0:? 't' (smooth in 2-component vector of float)
+0:? 'coords' (smooth in 3-component vector of float)
+
diff --git a/Test/baseResults/texture.frag.out b/Test/baseResults/texture.frag.out
index d0062e9..5e88609 100644
--- a/Test/baseResults/texture.frag.out
+++ b/Test/baseResults/texture.frag.out
@@ -1,564 +1,564 @@
-texture.frag
-WARNING: 0:14: varying deprecated in version 130; may be removed in future release
-WARNING: 0:15: varying deprecated in version 130; may be removed in future release
-
-Shader version: 130
-0:? Sequence
-0:17 Function Definition: main( (global void)
-0:17 Function Parameters:
-0:19 Sequence
-0:19 Sequence
-0:19 move second child to first child (temp float)
-0:19 'blendscale' (temp float)
-0:19 Constant:
-0:19 1.789000
-0:20 Sequence
-0:20 move second child to first child (temp float)
-0:20 'bias' (temp float)
-0:20 Constant:
-0:20 2.000000
-0:21 Sequence
-0:21 move second child to first child (temp float)
-0:21 'lod' (temp float)
-0:21 Constant:
-0:21 3.000000
-0:22 Sequence
-0:22 move second child to first child (temp float)
-0:22 'proj' (temp float)
-0:22 Constant:
-0:22 2.000000
-0:23 Sequence
-0:23 move second child to first child (temp float)
-0:23 'coords1D' (temp float)
-0:23 Constant:
-0:23 1.789000
-0:24 Sequence
-0:24 move second child to first child (temp 3-component vector of float)
-0:24 'coords3D' (temp 3-component vector of float)
-0:24 Constant:
-0:24 1.789000
-0:24 2.718000
-0:24 3.453000
-0:25 Sequence
-0:25 move second child to first child (temp 4-component vector of float)
-0:25 'coords4D' (temp 4-component vector of float)
-0:25 Constant:
-0:25 1.789000
-0:25 2.718000
-0:25 3.453000
-0:25 2.000000
-0:26 Sequence
-0:26 move second child to first child (temp 4-component vector of float)
-0:26 'color' (temp 4-component vector of float)
-0:26 Constant:
-0:26 0.000000
-0:26 0.000000
-0:26 0.000000
-0:26 0.000000
-0:28 add second child into first child (temp 4-component vector of float)
-0:28 'color' (temp 4-component vector of float)
-0:28 texture (global 4-component vector of float)
-0:28 'texSampler1D' (uniform sampler1D)
-0:28 'coords1D' (temp float)
-0:29 add second child into first child (temp 4-component vector of float)
-0:29 'color' (temp 4-component vector of float)
-0:29 texture (global 4-component vector of float)
-0:29 'texSampler1D' (uniform sampler1D)
-0:29 'coords1D' (temp float)
-0:29 'bias' (temp float)
-0:30 add second child into first child (temp 4-component vector of float)
-0:30 'color' (temp 4-component vector of float)
-0:30 textureProj (global 4-component vector of float)
-0:30 'texSampler1D' (uniform sampler1D)
-0:30 'coords2D' (smooth in 2-component vector of float)
-0:31 add second child into first child (temp 4-component vector of float)
-0:31 'color' (temp 4-component vector of float)
-0:31 textureProj (global 4-component vector of float)
-0:31 'texSampler1D' (uniform sampler1D)
-0:31 'coords4D' (temp 4-component vector of float)
-0:32 add second child into first child (temp 4-component vector of float)
-0:32 'color' (temp 4-component vector of float)
-0:32 textureProj (global 4-component vector of float)
-0:32 'texSampler1D' (uniform sampler1D)
-0:32 'coords2D' (smooth in 2-component vector of float)
-0:32 'bias' (temp float)
-0:33 add second child into first child (temp 4-component vector of float)
-0:33 'color' (temp 4-component vector of float)
-0:33 textureProj (global 4-component vector of float)
-0:33 'texSampler1D' (uniform sampler1D)
-0:33 'coords4D' (temp 4-component vector of float)
-0:33 'bias' (temp float)
-0:35 add second child into first child (temp 4-component vector of float)
-0:35 'color' (temp 4-component vector of float)
-0:35 texture (global 4-component vector of float)
-0:35 'texSampler2D' (uniform sampler2D)
-0:35 'coords2D' (smooth in 2-component vector of float)
-0:36 add second child into first child (temp 4-component vector of float)
-0:36 'color' (temp 4-component vector of float)
-0:36 texture (global 4-component vector of float)
-0:36 'texSampler2D' (uniform sampler2D)
-0:36 'coords2D' (smooth in 2-component vector of float)
-0:36 'bias' (temp float)
-0:37 add second child into first child (temp 4-component vector of float)
-0:37 'color' (temp 4-component vector of float)
-0:37 textureProj (global 4-component vector of float)
-0:37 'texSampler2D' (uniform sampler2D)
-0:37 'coords3D' (temp 3-component vector of float)
-0:38 add second child into first child (temp 4-component vector of float)
-0:38 'color' (temp 4-component vector of float)
-0:38 textureProj (global 4-component vector of float)
-0:38 'texSampler2D' (uniform sampler2D)
-0:38 'coords4D' (temp 4-component vector of float)
-0:38 'bias' (temp float)
-0:40 add second child into first child (temp 4-component vector of float)
-0:40 'color' (temp 4-component vector of float)
-0:40 texture (global 4-component vector of float)
-0:40 'texSampler3D' (uniform sampler3D)
-0:40 'coords3D' (temp 3-component vector of float)
-0:41 add second child into first child (temp 4-component vector of float)
-0:41 'color' (temp 4-component vector of float)
-0:41 texture (global 4-component vector of float)
-0:41 'texSampler3D' (uniform sampler3D)
-0:41 'coords3D' (temp 3-component vector of float)
-0:41 'bias' (temp float)
-0:42 add second child into first child (temp 4-component vector of float)
-0:42 'color' (temp 4-component vector of float)
-0:42 textureProj (global 4-component vector of float)
-0:42 'texSampler3D' (uniform sampler3D)
-0:42 'coords4D' (temp 4-component vector of float)
-0:43 add second child into first child (temp 4-component vector of float)
-0:43 'color' (temp 4-component vector of float)
-0:43 textureProj (global 4-component vector of float)
-0:43 'texSampler3D' (uniform sampler3D)
-0:43 'coords4D' (temp 4-component vector of float)
-0:43 'bias' (temp float)
-0:45 add second child into first child (temp 4-component vector of float)
-0:45 'color' (temp 4-component vector of float)
-0:45 texture (global 4-component vector of float)
-0:45 'texSamplerCube' (uniform samplerCube)
-0:45 'coords3D' (temp 3-component vector of float)
-0:46 add second child into first child (temp 4-component vector of float)
-0:46 'color' (temp 4-component vector of float)
-0:46 texture (global 4-component vector of float)
-0:46 'texSamplerCube' (uniform samplerCube)
-0:46 'coords3D' (temp 3-component vector of float)
-0:46 'bias' (temp float)
-0:48 add second child into first child (temp 4-component vector of float)
-0:48 'color' (temp 4-component vector of float)
-0:48 texture (global 4-component vector of float)
-0:48 'shadowSampler1D' (uniform sampler1DShadow)
-0:48 'coords3D' (temp 3-component vector of float)
-0:49 add second child into first child (temp 4-component vector of float)
-0:49 'color' (temp 4-component vector of float)
-0:49 texture (global 4-component vector of float)
-0:49 'shadowSampler1D' (uniform sampler1DShadow)
-0:49 'coords3D' (temp 3-component vector of float)
-0:49 'bias' (temp float)
-0:50 add second child into first child (temp 4-component vector of float)
-0:50 'color' (temp 4-component vector of float)
-0:50 texture (global 4-component vector of float)
-0:50 'shadowSampler2D' (uniform sampler2DShadow)
-0:50 'coords3D' (temp 3-component vector of float)
-0:51 add second child into first child (temp 4-component vector of float)
-0:51 'color' (temp 4-component vector of float)
-0:51 texture (global 4-component vector of float)
-0:51 'shadowSampler2D' (uniform sampler2DShadow)
-0:51 'coords3D' (temp 3-component vector of float)
-0:51 'bias' (temp float)
-0:52 add second child into first child (temp 4-component vector of float)
-0:52 'color' (temp 4-component vector of float)
-0:52 textureProj (global 4-component vector of float)
-0:52 'shadowSampler1D' (uniform sampler1DShadow)
-0:52 'coords4D' (temp 4-component vector of float)
-0:53 add second child into first child (temp 4-component vector of float)
-0:53 'color' (temp 4-component vector of float)
-0:53 textureProj (global 4-component vector of float)
-0:53 'shadowSampler1D' (uniform sampler1DShadow)
-0:53 'coords4D' (temp 4-component vector of float)
-0:53 'bias' (temp float)
-0:54 add second child into first child (temp 4-component vector of float)
-0:54 'color' (temp 4-component vector of float)
-0:54 textureProj (global 4-component vector of float)
-0:54 'shadowSampler2D' (uniform sampler2DShadow)
-0:54 'coords4D' (temp 4-component vector of float)
-0:55 add second child into first child (temp 4-component vector of float)
-0:55 'color' (temp 4-component vector of float)
-0:55 textureProj (global 4-component vector of float)
-0:55 'shadowSampler2D' (uniform sampler2DShadow)
-0:55 'coords4D' (temp 4-component vector of float)
-0:55 'bias' (temp float)
-0:57 Sequence
-0:57 move second child to first child (temp 2-component vector of int)
-0:57 'iCoords2D' (temp 2-component vector of int)
-0:57 Constant:
-0:57 0 (const int)
-0:57 5 (const int)
-0:58 Sequence
-0:58 move second child to first child (temp int)
-0:58 'iLod' (temp int)
-0:58 Constant:
-0:58 1 (const int)
-0:60 add second child into first child (temp 4-component vector of float)
-0:60 'color' (temp 4-component vector of float)
-0:60 textureFetch (global 4-component vector of float)
-0:60 'texSampler2D' (uniform sampler2D)
-0:60 'iCoords2D' (temp 2-component vector of int)
-0:60 'iLod' (temp int)
-0:62 Sequence
-0:62 move second child to first child (temp 2-component vector of float)
-0:62 'gradX' (temp 2-component vector of float)
-0:62 dPdx (global 2-component vector of float)
-0:62 'coords2D' (smooth in 2-component vector of float)
-0:63 Sequence
-0:63 move second child to first child (temp 2-component vector of float)
-0:63 'gradY' (temp 2-component vector of float)
-0:63 dPdy (global 2-component vector of float)
-0:63 'coords2D' (smooth in 2-component vector of float)
-0:66 add second child into first child (temp 4-component vector of float)
-0:66 'color' (temp 4-component vector of float)
-0:66 textureGrad (global 4-component vector of float)
-0:66 'texSampler2D' (uniform sampler2D)
-0:66 'coords2D' (smooth in 2-component vector of float)
-0:66 'gradX' (temp 2-component vector of float)
-0:66 'gradY' (temp 2-component vector of float)
-0:67 add second child into first child (temp 4-component vector of float)
-0:67 'color' (temp 4-component vector of float)
-0:67 textureProjGrad (global 4-component vector of float)
-0:67 'texSampler2D' (uniform sampler2D)
-0:67 Construct vec3 (temp 3-component vector of float)
-0:67 'coords2D' (smooth in 2-component vector of float)
-0:67 'proj' (temp float)
-0:67 'gradX' (temp 2-component vector of float)
-0:67 'gradY' (temp 2-component vector of float)
-0:68 add second child into first child (temp 4-component vector of float)
-0:68 'color' (temp 4-component vector of float)
-0:68 textureGradOffset (global 4-component vector of float)
-0:68 'texSampler2D' (uniform sampler2D)
-0:68 'coords2D' (smooth in 2-component vector of float)
-0:68 'gradX' (temp 2-component vector of float)
-0:68 'gradY' (temp 2-component vector of float)
-0:68 Constant:
-0:68 3 (const int)
-0:68 -7 (const int)
-0:69 add second child into first child (temp 4-component vector of float)
-0:69 'color' (temp 4-component vector of float)
-0:69 textureProjGradOffset (global 4-component vector of float)
-0:69 'texSampler2D' (uniform sampler2D)
-0:69 'coords3D' (temp 3-component vector of float)
-0:69 'gradX' (temp 2-component vector of float)
-0:69 'gradY' (temp 2-component vector of float)
-0:69 Constant:
-0:69 3 (const int)
-0:69 -7 (const int)
-0:70 add second child into first child (temp 4-component vector of float)
-0:70 'color' (temp 4-component vector of float)
-0:70 textureGrad (global float)
-0:70 'shadowSampler2D' (uniform sampler2DShadow)
-0:70 Construct vec3 (temp 3-component vector of float)
-0:70 'coords2D' (smooth in 2-component vector of float)
-0:70 'lod' (temp float)
-0:70 'gradX' (temp 2-component vector of float)
-0:70 'gradY' (temp 2-component vector of float)
-0:72 move second child to first child (temp 4-component vector of float)
-0:72 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:72 mix (global 4-component vector of float)
-0:72 'color' (temp 4-component vector of float)
-0:72 'u' (uniform 4-component vector of float)
-0:72 component-wise multiply (temp float)
-0:72 'blend' (uniform float)
-0:72 'blendscale' (temp float)
-0:? Linker Objects
-0:? 'texSampler1D' (uniform sampler1D)
-0:? 'texSampler2D' (uniform sampler2D)
-0:? 'texSampler3D' (uniform sampler3D)
-0:? 'texSamplerCube' (uniform samplerCube)
-0:? 'shadowSampler1D' (uniform sampler1DShadow)
-0:? 'shadowSampler2D' (uniform sampler2DShadow)
-0:? 'blend' (uniform float)
-0:? 'scale' (uniform 2-component vector of float)
-0:? 'u' (uniform 4-component vector of float)
-0:? 't' (smooth in 2-component vector of float)
-0:? 'coords2D' (smooth in 2-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:17 Function Definition: main( (global void)
-0:17 Function Parameters:
-0:19 Sequence
-0:19 Sequence
-0:19 move second child to first child (temp float)
-0:19 'blendscale' (temp float)
-0:19 Constant:
-0:19 1.789000
-0:20 Sequence
-0:20 move second child to first child (temp float)
-0:20 'bias' (temp float)
-0:20 Constant:
-0:20 2.000000
-0:21 Sequence
-0:21 move second child to first child (temp float)
-0:21 'lod' (temp float)
-0:21 Constant:
-0:21 3.000000
-0:22 Sequence
-0:22 move second child to first child (temp float)
-0:22 'proj' (temp float)
-0:22 Constant:
-0:22 2.000000
-0:23 Sequence
-0:23 move second child to first child (temp float)
-0:23 'coords1D' (temp float)
-0:23 Constant:
-0:23 1.789000
-0:24 Sequence
-0:24 move second child to first child (temp 3-component vector of float)
-0:24 'coords3D' (temp 3-component vector of float)
-0:24 Constant:
-0:24 1.789000
-0:24 2.718000
-0:24 3.453000
-0:25 Sequence
-0:25 move second child to first child (temp 4-component vector of float)
-0:25 'coords4D' (temp 4-component vector of float)
-0:25 Constant:
-0:25 1.789000
-0:25 2.718000
-0:25 3.453000
-0:25 2.000000
-0:26 Sequence
-0:26 move second child to first child (temp 4-component vector of float)
-0:26 'color' (temp 4-component vector of float)
-0:26 Constant:
-0:26 0.000000
-0:26 0.000000
-0:26 0.000000
-0:26 0.000000
-0:28 add second child into first child (temp 4-component vector of float)
-0:28 'color' (temp 4-component vector of float)
-0:28 texture (global 4-component vector of float)
-0:28 'texSampler1D' (uniform sampler1D)
-0:28 'coords1D' (temp float)
-0:29 add second child into first child (temp 4-component vector of float)
-0:29 'color' (temp 4-component vector of float)
-0:29 texture (global 4-component vector of float)
-0:29 'texSampler1D' (uniform sampler1D)
-0:29 'coords1D' (temp float)
-0:29 'bias' (temp float)
-0:30 add second child into first child (temp 4-component vector of float)
-0:30 'color' (temp 4-component vector of float)
-0:30 textureProj (global 4-component vector of float)
-0:30 'texSampler1D' (uniform sampler1D)
-0:30 'coords2D' (smooth in 2-component vector of float)
-0:31 add second child into first child (temp 4-component vector of float)
-0:31 'color' (temp 4-component vector of float)
-0:31 textureProj (global 4-component vector of float)
-0:31 'texSampler1D' (uniform sampler1D)
-0:31 'coords4D' (temp 4-component vector of float)
-0:32 add second child into first child (temp 4-component vector of float)
-0:32 'color' (temp 4-component vector of float)
-0:32 textureProj (global 4-component vector of float)
-0:32 'texSampler1D' (uniform sampler1D)
-0:32 'coords2D' (smooth in 2-component vector of float)
-0:32 'bias' (temp float)
-0:33 add second child into first child (temp 4-component vector of float)
-0:33 'color' (temp 4-component vector of float)
-0:33 textureProj (global 4-component vector of float)
-0:33 'texSampler1D' (uniform sampler1D)
-0:33 'coords4D' (temp 4-component vector of float)
-0:33 'bias' (temp float)
-0:35 add second child into first child (temp 4-component vector of float)
-0:35 'color' (temp 4-component vector of float)
-0:35 texture (global 4-component vector of float)
-0:35 'texSampler2D' (uniform sampler2D)
-0:35 'coords2D' (smooth in 2-component vector of float)
-0:36 add second child into first child (temp 4-component vector of float)
-0:36 'color' (temp 4-component vector of float)
-0:36 texture (global 4-component vector of float)
-0:36 'texSampler2D' (uniform sampler2D)
-0:36 'coords2D' (smooth in 2-component vector of float)
-0:36 'bias' (temp float)
-0:37 add second child into first child (temp 4-component vector of float)
-0:37 'color' (temp 4-component vector of float)
-0:37 textureProj (global 4-component vector of float)
-0:37 'texSampler2D' (uniform sampler2D)
-0:37 'coords3D' (temp 3-component vector of float)
-0:38 add second child into first child (temp 4-component vector of float)
-0:38 'color' (temp 4-component vector of float)
-0:38 textureProj (global 4-component vector of float)
-0:38 'texSampler2D' (uniform sampler2D)
-0:38 'coords4D' (temp 4-component vector of float)
-0:38 'bias' (temp float)
-0:40 add second child into first child (temp 4-component vector of float)
-0:40 'color' (temp 4-component vector of float)
-0:40 texture (global 4-component vector of float)
-0:40 'texSampler3D' (uniform sampler3D)
-0:40 'coords3D' (temp 3-component vector of float)
-0:41 add second child into first child (temp 4-component vector of float)
-0:41 'color' (temp 4-component vector of float)
-0:41 texture (global 4-component vector of float)
-0:41 'texSampler3D' (uniform sampler3D)
-0:41 'coords3D' (temp 3-component vector of float)
-0:41 'bias' (temp float)
-0:42 add second child into first child (temp 4-component vector of float)
-0:42 'color' (temp 4-component vector of float)
-0:42 textureProj (global 4-component vector of float)
-0:42 'texSampler3D' (uniform sampler3D)
-0:42 'coords4D' (temp 4-component vector of float)
-0:43 add second child into first child (temp 4-component vector of float)
-0:43 'color' (temp 4-component vector of float)
-0:43 textureProj (global 4-component vector of float)
-0:43 'texSampler3D' (uniform sampler3D)
-0:43 'coords4D' (temp 4-component vector of float)
-0:43 'bias' (temp float)
-0:45 add second child into first child (temp 4-component vector of float)
-0:45 'color' (temp 4-component vector of float)
-0:45 texture (global 4-component vector of float)
-0:45 'texSamplerCube' (uniform samplerCube)
-0:45 'coords3D' (temp 3-component vector of float)
-0:46 add second child into first child (temp 4-component vector of float)
-0:46 'color' (temp 4-component vector of float)
-0:46 texture (global 4-component vector of float)
-0:46 'texSamplerCube' (uniform samplerCube)
-0:46 'coords3D' (temp 3-component vector of float)
-0:46 'bias' (temp float)
-0:48 add second child into first child (temp 4-component vector of float)
-0:48 'color' (temp 4-component vector of float)
-0:48 texture (global 4-component vector of float)
-0:48 'shadowSampler1D' (uniform sampler1DShadow)
-0:48 'coords3D' (temp 3-component vector of float)
-0:49 add second child into first child (temp 4-component vector of float)
-0:49 'color' (temp 4-component vector of float)
-0:49 texture (global 4-component vector of float)
-0:49 'shadowSampler1D' (uniform sampler1DShadow)
-0:49 'coords3D' (temp 3-component vector of float)
-0:49 'bias' (temp float)
-0:50 add second child into first child (temp 4-component vector of float)
-0:50 'color' (temp 4-component vector of float)
-0:50 texture (global 4-component vector of float)
-0:50 'shadowSampler2D' (uniform sampler2DShadow)
-0:50 'coords3D' (temp 3-component vector of float)
-0:51 add second child into first child (temp 4-component vector of float)
-0:51 'color' (temp 4-component vector of float)
-0:51 texture (global 4-component vector of float)
-0:51 'shadowSampler2D' (uniform sampler2DShadow)
-0:51 'coords3D' (temp 3-component vector of float)
-0:51 'bias' (temp float)
-0:52 add second child into first child (temp 4-component vector of float)
-0:52 'color' (temp 4-component vector of float)
-0:52 textureProj (global 4-component vector of float)
-0:52 'shadowSampler1D' (uniform sampler1DShadow)
-0:52 'coords4D' (temp 4-component vector of float)
-0:53 add second child into first child (temp 4-component vector of float)
-0:53 'color' (temp 4-component vector of float)
-0:53 textureProj (global 4-component vector of float)
-0:53 'shadowSampler1D' (uniform sampler1DShadow)
-0:53 'coords4D' (temp 4-component vector of float)
-0:53 'bias' (temp float)
-0:54 add second child into first child (temp 4-component vector of float)
-0:54 'color' (temp 4-component vector of float)
-0:54 textureProj (global 4-component vector of float)
-0:54 'shadowSampler2D' (uniform sampler2DShadow)
-0:54 'coords4D' (temp 4-component vector of float)
-0:55 add second child into first child (temp 4-component vector of float)
-0:55 'color' (temp 4-component vector of float)
-0:55 textureProj (global 4-component vector of float)
-0:55 'shadowSampler2D' (uniform sampler2DShadow)
-0:55 'coords4D' (temp 4-component vector of float)
-0:55 'bias' (temp float)
-0:57 Sequence
-0:57 move second child to first child (temp 2-component vector of int)
-0:57 'iCoords2D' (temp 2-component vector of int)
-0:57 Constant:
-0:57 0 (const int)
-0:57 5 (const int)
-0:58 Sequence
-0:58 move second child to first child (temp int)
-0:58 'iLod' (temp int)
-0:58 Constant:
-0:58 1 (const int)
-0:60 add second child into first child (temp 4-component vector of float)
-0:60 'color' (temp 4-component vector of float)
-0:60 textureFetch (global 4-component vector of float)
-0:60 'texSampler2D' (uniform sampler2D)
-0:60 'iCoords2D' (temp 2-component vector of int)
-0:60 'iLod' (temp int)
-0:62 Sequence
-0:62 move second child to first child (temp 2-component vector of float)
-0:62 'gradX' (temp 2-component vector of float)
-0:62 dPdx (global 2-component vector of float)
-0:62 'coords2D' (smooth in 2-component vector of float)
-0:63 Sequence
-0:63 move second child to first child (temp 2-component vector of float)
-0:63 'gradY' (temp 2-component vector of float)
-0:63 dPdy (global 2-component vector of float)
-0:63 'coords2D' (smooth in 2-component vector of float)
-0:66 add second child into first child (temp 4-component vector of float)
-0:66 'color' (temp 4-component vector of float)
-0:66 textureGrad (global 4-component vector of float)
-0:66 'texSampler2D' (uniform sampler2D)
-0:66 'coords2D' (smooth in 2-component vector of float)
-0:66 'gradX' (temp 2-component vector of float)
-0:66 'gradY' (temp 2-component vector of float)
-0:67 add second child into first child (temp 4-component vector of float)
-0:67 'color' (temp 4-component vector of float)
-0:67 textureProjGrad (global 4-component vector of float)
-0:67 'texSampler2D' (uniform sampler2D)
-0:67 Construct vec3 (temp 3-component vector of float)
-0:67 'coords2D' (smooth in 2-component vector of float)
-0:67 'proj' (temp float)
-0:67 'gradX' (temp 2-component vector of float)
-0:67 'gradY' (temp 2-component vector of float)
-0:68 add second child into first child (temp 4-component vector of float)
-0:68 'color' (temp 4-component vector of float)
-0:68 textureGradOffset (global 4-component vector of float)
-0:68 'texSampler2D' (uniform sampler2D)
-0:68 'coords2D' (smooth in 2-component vector of float)
-0:68 'gradX' (temp 2-component vector of float)
-0:68 'gradY' (temp 2-component vector of float)
-0:68 Constant:
-0:68 3 (const int)
-0:68 -7 (const int)
-0:69 add second child into first child (temp 4-component vector of float)
-0:69 'color' (temp 4-component vector of float)
-0:69 textureProjGradOffset (global 4-component vector of float)
-0:69 'texSampler2D' (uniform sampler2D)
-0:69 'coords3D' (temp 3-component vector of float)
-0:69 'gradX' (temp 2-component vector of float)
-0:69 'gradY' (temp 2-component vector of float)
-0:69 Constant:
-0:69 3 (const int)
-0:69 -7 (const int)
-0:70 add second child into first child (temp 4-component vector of float)
-0:70 'color' (temp 4-component vector of float)
-0:70 textureGrad (global float)
-0:70 'shadowSampler2D' (uniform sampler2DShadow)
-0:70 Construct vec3 (temp 3-component vector of float)
-0:70 'coords2D' (smooth in 2-component vector of float)
-0:70 'lod' (temp float)
-0:70 'gradX' (temp 2-component vector of float)
-0:70 'gradY' (temp 2-component vector of float)
-0:72 move second child to first child (temp 4-component vector of float)
-0:72 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:72 mix (global 4-component vector of float)
-0:72 'color' (temp 4-component vector of float)
-0:72 'u' (uniform 4-component vector of float)
-0:72 component-wise multiply (temp float)
-0:72 'blend' (uniform float)
-0:72 'blendscale' (temp float)
-0:? Linker Objects
-0:? 'texSampler1D' (uniform sampler1D)
-0:? 'texSampler2D' (uniform sampler2D)
-0:? 'texSampler3D' (uniform sampler3D)
-0:? 'texSamplerCube' (uniform samplerCube)
-0:? 'shadowSampler1D' (uniform sampler1DShadow)
-0:? 'shadowSampler2D' (uniform sampler2DShadow)
-0:? 'blend' (uniform float)
-0:? 'scale' (uniform 2-component vector of float)
-0:? 'u' (uniform 4-component vector of float)
-0:? 't' (smooth in 2-component vector of float)
-0:? 'coords2D' (smooth in 2-component vector of float)
-
+texture.frag
+WARNING: 0:14: varying deprecated in version 130; may be removed in future release
+WARNING: 0:15: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:17 Function Definition: main( (global void)
+0:17 Function Parameters:
+0:19 Sequence
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'blendscale' (temp float)
+0:19 Constant:
+0:19 1.789000
+0:20 Sequence
+0:20 move second child to first child (temp float)
+0:20 'bias' (temp float)
+0:20 Constant:
+0:20 2.000000
+0:21 Sequence
+0:21 move second child to first child (temp float)
+0:21 'lod' (temp float)
+0:21 Constant:
+0:21 3.000000
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'proj' (temp float)
+0:22 Constant:
+0:22 2.000000
+0:23 Sequence
+0:23 move second child to first child (temp float)
+0:23 'coords1D' (temp float)
+0:23 Constant:
+0:23 1.789000
+0:24 Sequence
+0:24 move second child to first child (temp 3-component vector of float)
+0:24 'coords3D' (temp 3-component vector of float)
+0:24 Constant:
+0:24 1.789000
+0:24 2.718000
+0:24 3.453000
+0:25 Sequence
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 'coords4D' (temp 4-component vector of float)
+0:25 Constant:
+0:25 1.789000
+0:25 2.718000
+0:25 3.453000
+0:25 2.000000
+0:26 Sequence
+0:26 move second child to first child (temp 4-component vector of float)
+0:26 'color' (temp 4-component vector of float)
+0:26 Constant:
+0:26 0.000000
+0:26 0.000000
+0:26 0.000000
+0:26 0.000000
+0:28 add second child into first child (temp 4-component vector of float)
+0:28 'color' (temp 4-component vector of float)
+0:28 texture (global 4-component vector of float)
+0:28 'texSampler1D' (uniform sampler1D)
+0:28 'coords1D' (temp float)
+0:29 add second child into first child (temp 4-component vector of float)
+0:29 'color' (temp 4-component vector of float)
+0:29 texture (global 4-component vector of float)
+0:29 'texSampler1D' (uniform sampler1D)
+0:29 'coords1D' (temp float)
+0:29 'bias' (temp float)
+0:30 add second child into first child (temp 4-component vector of float)
+0:30 'color' (temp 4-component vector of float)
+0:30 textureProj (global 4-component vector of float)
+0:30 'texSampler1D' (uniform sampler1D)
+0:30 'coords2D' (smooth in 2-component vector of float)
+0:31 add second child into first child (temp 4-component vector of float)
+0:31 'color' (temp 4-component vector of float)
+0:31 textureProj (global 4-component vector of float)
+0:31 'texSampler1D' (uniform sampler1D)
+0:31 'coords4D' (temp 4-component vector of float)
+0:32 add second child into first child (temp 4-component vector of float)
+0:32 'color' (temp 4-component vector of float)
+0:32 textureProj (global 4-component vector of float)
+0:32 'texSampler1D' (uniform sampler1D)
+0:32 'coords2D' (smooth in 2-component vector of float)
+0:32 'bias' (temp float)
+0:33 add second child into first child (temp 4-component vector of float)
+0:33 'color' (temp 4-component vector of float)
+0:33 textureProj (global 4-component vector of float)
+0:33 'texSampler1D' (uniform sampler1D)
+0:33 'coords4D' (temp 4-component vector of float)
+0:33 'bias' (temp float)
+0:35 add second child into first child (temp 4-component vector of float)
+0:35 'color' (temp 4-component vector of float)
+0:35 texture (global 4-component vector of float)
+0:35 'texSampler2D' (uniform sampler2D)
+0:35 'coords2D' (smooth in 2-component vector of float)
+0:36 add second child into first child (temp 4-component vector of float)
+0:36 'color' (temp 4-component vector of float)
+0:36 texture (global 4-component vector of float)
+0:36 'texSampler2D' (uniform sampler2D)
+0:36 'coords2D' (smooth in 2-component vector of float)
+0:36 'bias' (temp float)
+0:37 add second child into first child (temp 4-component vector of float)
+0:37 'color' (temp 4-component vector of float)
+0:37 textureProj (global 4-component vector of float)
+0:37 'texSampler2D' (uniform sampler2D)
+0:37 'coords3D' (temp 3-component vector of float)
+0:38 add second child into first child (temp 4-component vector of float)
+0:38 'color' (temp 4-component vector of float)
+0:38 textureProj (global 4-component vector of float)
+0:38 'texSampler2D' (uniform sampler2D)
+0:38 'coords4D' (temp 4-component vector of float)
+0:38 'bias' (temp float)
+0:40 add second child into first child (temp 4-component vector of float)
+0:40 'color' (temp 4-component vector of float)
+0:40 texture (global 4-component vector of float)
+0:40 'texSampler3D' (uniform sampler3D)
+0:40 'coords3D' (temp 3-component vector of float)
+0:41 add second child into first child (temp 4-component vector of float)
+0:41 'color' (temp 4-component vector of float)
+0:41 texture (global 4-component vector of float)
+0:41 'texSampler3D' (uniform sampler3D)
+0:41 'coords3D' (temp 3-component vector of float)
+0:41 'bias' (temp float)
+0:42 add second child into first child (temp 4-component vector of float)
+0:42 'color' (temp 4-component vector of float)
+0:42 textureProj (global 4-component vector of float)
+0:42 'texSampler3D' (uniform sampler3D)
+0:42 'coords4D' (temp 4-component vector of float)
+0:43 add second child into first child (temp 4-component vector of float)
+0:43 'color' (temp 4-component vector of float)
+0:43 textureProj (global 4-component vector of float)
+0:43 'texSampler3D' (uniform sampler3D)
+0:43 'coords4D' (temp 4-component vector of float)
+0:43 'bias' (temp float)
+0:45 add second child into first child (temp 4-component vector of float)
+0:45 'color' (temp 4-component vector of float)
+0:45 texture (global 4-component vector of float)
+0:45 'texSamplerCube' (uniform samplerCube)
+0:45 'coords3D' (temp 3-component vector of float)
+0:46 add second child into first child (temp 4-component vector of float)
+0:46 'color' (temp 4-component vector of float)
+0:46 texture (global 4-component vector of float)
+0:46 'texSamplerCube' (uniform samplerCube)
+0:46 'coords3D' (temp 3-component vector of float)
+0:46 'bias' (temp float)
+0:48 add second child into first child (temp 4-component vector of float)
+0:48 'color' (temp 4-component vector of float)
+0:48 texture (global 4-component vector of float)
+0:48 'shadowSampler1D' (uniform sampler1DShadow)
+0:48 'coords3D' (temp 3-component vector of float)
+0:49 add second child into first child (temp 4-component vector of float)
+0:49 'color' (temp 4-component vector of float)
+0:49 texture (global 4-component vector of float)
+0:49 'shadowSampler1D' (uniform sampler1DShadow)
+0:49 'coords3D' (temp 3-component vector of float)
+0:49 'bias' (temp float)
+0:50 add second child into first child (temp 4-component vector of float)
+0:50 'color' (temp 4-component vector of float)
+0:50 texture (global 4-component vector of float)
+0:50 'shadowSampler2D' (uniform sampler2DShadow)
+0:50 'coords3D' (temp 3-component vector of float)
+0:51 add second child into first child (temp 4-component vector of float)
+0:51 'color' (temp 4-component vector of float)
+0:51 texture (global 4-component vector of float)
+0:51 'shadowSampler2D' (uniform sampler2DShadow)
+0:51 'coords3D' (temp 3-component vector of float)
+0:51 'bias' (temp float)
+0:52 add second child into first child (temp 4-component vector of float)
+0:52 'color' (temp 4-component vector of float)
+0:52 textureProj (global 4-component vector of float)
+0:52 'shadowSampler1D' (uniform sampler1DShadow)
+0:52 'coords4D' (temp 4-component vector of float)
+0:53 add second child into first child (temp 4-component vector of float)
+0:53 'color' (temp 4-component vector of float)
+0:53 textureProj (global 4-component vector of float)
+0:53 'shadowSampler1D' (uniform sampler1DShadow)
+0:53 'coords4D' (temp 4-component vector of float)
+0:53 'bias' (temp float)
+0:54 add second child into first child (temp 4-component vector of float)
+0:54 'color' (temp 4-component vector of float)
+0:54 textureProj (global 4-component vector of float)
+0:54 'shadowSampler2D' (uniform sampler2DShadow)
+0:54 'coords4D' (temp 4-component vector of float)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'color' (temp 4-component vector of float)
+0:55 textureProj (global 4-component vector of float)
+0:55 'shadowSampler2D' (uniform sampler2DShadow)
+0:55 'coords4D' (temp 4-component vector of float)
+0:55 'bias' (temp float)
+0:57 Sequence
+0:57 move second child to first child (temp 2-component vector of int)
+0:57 'iCoords2D' (temp 2-component vector of int)
+0:57 Constant:
+0:57 0 (const int)
+0:57 5 (const int)
+0:58 Sequence
+0:58 move second child to first child (temp int)
+0:58 'iLod' (temp int)
+0:58 Constant:
+0:58 1 (const int)
+0:60 add second child into first child (temp 4-component vector of float)
+0:60 'color' (temp 4-component vector of float)
+0:60 textureFetch (global 4-component vector of float)
+0:60 'texSampler2D' (uniform sampler2D)
+0:60 'iCoords2D' (temp 2-component vector of int)
+0:60 'iLod' (temp int)
+0:62 Sequence
+0:62 move second child to first child (temp 2-component vector of float)
+0:62 'gradX' (temp 2-component vector of float)
+0:62 dPdx (global 2-component vector of float)
+0:62 'coords2D' (smooth in 2-component vector of float)
+0:63 Sequence
+0:63 move second child to first child (temp 2-component vector of float)
+0:63 'gradY' (temp 2-component vector of float)
+0:63 dPdy (global 2-component vector of float)
+0:63 'coords2D' (smooth in 2-component vector of float)
+0:66 add second child into first child (temp 4-component vector of float)
+0:66 'color' (temp 4-component vector of float)
+0:66 textureGrad (global 4-component vector of float)
+0:66 'texSampler2D' (uniform sampler2D)
+0:66 'coords2D' (smooth in 2-component vector of float)
+0:66 'gradX' (temp 2-component vector of float)
+0:66 'gradY' (temp 2-component vector of float)
+0:67 add second child into first child (temp 4-component vector of float)
+0:67 'color' (temp 4-component vector of float)
+0:67 textureProjGrad (global 4-component vector of float)
+0:67 'texSampler2D' (uniform sampler2D)
+0:67 Construct vec3 (temp 3-component vector of float)
+0:67 'coords2D' (smooth in 2-component vector of float)
+0:67 'proj' (temp float)
+0:67 'gradX' (temp 2-component vector of float)
+0:67 'gradY' (temp 2-component vector of float)
+0:68 add second child into first child (temp 4-component vector of float)
+0:68 'color' (temp 4-component vector of float)
+0:68 textureGradOffset (global 4-component vector of float)
+0:68 'texSampler2D' (uniform sampler2D)
+0:68 'coords2D' (smooth in 2-component vector of float)
+0:68 'gradX' (temp 2-component vector of float)
+0:68 'gradY' (temp 2-component vector of float)
+0:68 Constant:
+0:68 3 (const int)
+0:68 -7 (const int)
+0:69 add second child into first child (temp 4-component vector of float)
+0:69 'color' (temp 4-component vector of float)
+0:69 textureProjGradOffset (global 4-component vector of float)
+0:69 'texSampler2D' (uniform sampler2D)
+0:69 'coords3D' (temp 3-component vector of float)
+0:69 'gradX' (temp 2-component vector of float)
+0:69 'gradY' (temp 2-component vector of float)
+0:69 Constant:
+0:69 3 (const int)
+0:69 -7 (const int)
+0:70 add second child into first child (temp 4-component vector of float)
+0:70 'color' (temp 4-component vector of float)
+0:70 textureGrad (global float)
+0:70 'shadowSampler2D' (uniform sampler2DShadow)
+0:70 Construct vec3 (temp 3-component vector of float)
+0:70 'coords2D' (smooth in 2-component vector of float)
+0:70 'lod' (temp float)
+0:70 'gradX' (temp 2-component vector of float)
+0:70 'gradY' (temp 2-component vector of float)
+0:72 move second child to first child (temp 4-component vector of float)
+0:72 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:72 mix (global 4-component vector of float)
+0:72 'color' (temp 4-component vector of float)
+0:72 'u' (uniform 4-component vector of float)
+0:72 component-wise multiply (temp float)
+0:72 'blend' (uniform float)
+0:72 'blendscale' (temp float)
+0:? Linker Objects
+0:? 'texSampler1D' (uniform sampler1D)
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'texSampler3D' (uniform sampler3D)
+0:? 'texSamplerCube' (uniform samplerCube)
+0:? 'shadowSampler1D' (uniform sampler1DShadow)
+0:? 'shadowSampler2D' (uniform sampler2DShadow)
+0:? 'blend' (uniform float)
+0:? 'scale' (uniform 2-component vector of float)
+0:? 'u' (uniform 4-component vector of float)
+0:? 't' (smooth in 2-component vector of float)
+0:? 'coords2D' (smooth in 2-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:17 Function Definition: main( (global void)
+0:17 Function Parameters:
+0:19 Sequence
+0:19 Sequence
+0:19 move second child to first child (temp float)
+0:19 'blendscale' (temp float)
+0:19 Constant:
+0:19 1.789000
+0:20 Sequence
+0:20 move second child to first child (temp float)
+0:20 'bias' (temp float)
+0:20 Constant:
+0:20 2.000000
+0:21 Sequence
+0:21 move second child to first child (temp float)
+0:21 'lod' (temp float)
+0:21 Constant:
+0:21 3.000000
+0:22 Sequence
+0:22 move second child to first child (temp float)
+0:22 'proj' (temp float)
+0:22 Constant:
+0:22 2.000000
+0:23 Sequence
+0:23 move second child to first child (temp float)
+0:23 'coords1D' (temp float)
+0:23 Constant:
+0:23 1.789000
+0:24 Sequence
+0:24 move second child to first child (temp 3-component vector of float)
+0:24 'coords3D' (temp 3-component vector of float)
+0:24 Constant:
+0:24 1.789000
+0:24 2.718000
+0:24 3.453000
+0:25 Sequence
+0:25 move second child to first child (temp 4-component vector of float)
+0:25 'coords4D' (temp 4-component vector of float)
+0:25 Constant:
+0:25 1.789000
+0:25 2.718000
+0:25 3.453000
+0:25 2.000000
+0:26 Sequence
+0:26 move second child to first child (temp 4-component vector of float)
+0:26 'color' (temp 4-component vector of float)
+0:26 Constant:
+0:26 0.000000
+0:26 0.000000
+0:26 0.000000
+0:26 0.000000
+0:28 add second child into first child (temp 4-component vector of float)
+0:28 'color' (temp 4-component vector of float)
+0:28 texture (global 4-component vector of float)
+0:28 'texSampler1D' (uniform sampler1D)
+0:28 'coords1D' (temp float)
+0:29 add second child into first child (temp 4-component vector of float)
+0:29 'color' (temp 4-component vector of float)
+0:29 texture (global 4-component vector of float)
+0:29 'texSampler1D' (uniform sampler1D)
+0:29 'coords1D' (temp float)
+0:29 'bias' (temp float)
+0:30 add second child into first child (temp 4-component vector of float)
+0:30 'color' (temp 4-component vector of float)
+0:30 textureProj (global 4-component vector of float)
+0:30 'texSampler1D' (uniform sampler1D)
+0:30 'coords2D' (smooth in 2-component vector of float)
+0:31 add second child into first child (temp 4-component vector of float)
+0:31 'color' (temp 4-component vector of float)
+0:31 textureProj (global 4-component vector of float)
+0:31 'texSampler1D' (uniform sampler1D)
+0:31 'coords4D' (temp 4-component vector of float)
+0:32 add second child into first child (temp 4-component vector of float)
+0:32 'color' (temp 4-component vector of float)
+0:32 textureProj (global 4-component vector of float)
+0:32 'texSampler1D' (uniform sampler1D)
+0:32 'coords2D' (smooth in 2-component vector of float)
+0:32 'bias' (temp float)
+0:33 add second child into first child (temp 4-component vector of float)
+0:33 'color' (temp 4-component vector of float)
+0:33 textureProj (global 4-component vector of float)
+0:33 'texSampler1D' (uniform sampler1D)
+0:33 'coords4D' (temp 4-component vector of float)
+0:33 'bias' (temp float)
+0:35 add second child into first child (temp 4-component vector of float)
+0:35 'color' (temp 4-component vector of float)
+0:35 texture (global 4-component vector of float)
+0:35 'texSampler2D' (uniform sampler2D)
+0:35 'coords2D' (smooth in 2-component vector of float)
+0:36 add second child into first child (temp 4-component vector of float)
+0:36 'color' (temp 4-component vector of float)
+0:36 texture (global 4-component vector of float)
+0:36 'texSampler2D' (uniform sampler2D)
+0:36 'coords2D' (smooth in 2-component vector of float)
+0:36 'bias' (temp float)
+0:37 add second child into first child (temp 4-component vector of float)
+0:37 'color' (temp 4-component vector of float)
+0:37 textureProj (global 4-component vector of float)
+0:37 'texSampler2D' (uniform sampler2D)
+0:37 'coords3D' (temp 3-component vector of float)
+0:38 add second child into first child (temp 4-component vector of float)
+0:38 'color' (temp 4-component vector of float)
+0:38 textureProj (global 4-component vector of float)
+0:38 'texSampler2D' (uniform sampler2D)
+0:38 'coords4D' (temp 4-component vector of float)
+0:38 'bias' (temp float)
+0:40 add second child into first child (temp 4-component vector of float)
+0:40 'color' (temp 4-component vector of float)
+0:40 texture (global 4-component vector of float)
+0:40 'texSampler3D' (uniform sampler3D)
+0:40 'coords3D' (temp 3-component vector of float)
+0:41 add second child into first child (temp 4-component vector of float)
+0:41 'color' (temp 4-component vector of float)
+0:41 texture (global 4-component vector of float)
+0:41 'texSampler3D' (uniform sampler3D)
+0:41 'coords3D' (temp 3-component vector of float)
+0:41 'bias' (temp float)
+0:42 add second child into first child (temp 4-component vector of float)
+0:42 'color' (temp 4-component vector of float)
+0:42 textureProj (global 4-component vector of float)
+0:42 'texSampler3D' (uniform sampler3D)
+0:42 'coords4D' (temp 4-component vector of float)
+0:43 add second child into first child (temp 4-component vector of float)
+0:43 'color' (temp 4-component vector of float)
+0:43 textureProj (global 4-component vector of float)
+0:43 'texSampler3D' (uniform sampler3D)
+0:43 'coords4D' (temp 4-component vector of float)
+0:43 'bias' (temp float)
+0:45 add second child into first child (temp 4-component vector of float)
+0:45 'color' (temp 4-component vector of float)
+0:45 texture (global 4-component vector of float)
+0:45 'texSamplerCube' (uniform samplerCube)
+0:45 'coords3D' (temp 3-component vector of float)
+0:46 add second child into first child (temp 4-component vector of float)
+0:46 'color' (temp 4-component vector of float)
+0:46 texture (global 4-component vector of float)
+0:46 'texSamplerCube' (uniform samplerCube)
+0:46 'coords3D' (temp 3-component vector of float)
+0:46 'bias' (temp float)
+0:48 add second child into first child (temp 4-component vector of float)
+0:48 'color' (temp 4-component vector of float)
+0:48 texture (global 4-component vector of float)
+0:48 'shadowSampler1D' (uniform sampler1DShadow)
+0:48 'coords3D' (temp 3-component vector of float)
+0:49 add second child into first child (temp 4-component vector of float)
+0:49 'color' (temp 4-component vector of float)
+0:49 texture (global 4-component vector of float)
+0:49 'shadowSampler1D' (uniform sampler1DShadow)
+0:49 'coords3D' (temp 3-component vector of float)
+0:49 'bias' (temp float)
+0:50 add second child into first child (temp 4-component vector of float)
+0:50 'color' (temp 4-component vector of float)
+0:50 texture (global 4-component vector of float)
+0:50 'shadowSampler2D' (uniform sampler2DShadow)
+0:50 'coords3D' (temp 3-component vector of float)
+0:51 add second child into first child (temp 4-component vector of float)
+0:51 'color' (temp 4-component vector of float)
+0:51 texture (global 4-component vector of float)
+0:51 'shadowSampler2D' (uniform sampler2DShadow)
+0:51 'coords3D' (temp 3-component vector of float)
+0:51 'bias' (temp float)
+0:52 add second child into first child (temp 4-component vector of float)
+0:52 'color' (temp 4-component vector of float)
+0:52 textureProj (global 4-component vector of float)
+0:52 'shadowSampler1D' (uniform sampler1DShadow)
+0:52 'coords4D' (temp 4-component vector of float)
+0:53 add second child into first child (temp 4-component vector of float)
+0:53 'color' (temp 4-component vector of float)
+0:53 textureProj (global 4-component vector of float)
+0:53 'shadowSampler1D' (uniform sampler1DShadow)
+0:53 'coords4D' (temp 4-component vector of float)
+0:53 'bias' (temp float)
+0:54 add second child into first child (temp 4-component vector of float)
+0:54 'color' (temp 4-component vector of float)
+0:54 textureProj (global 4-component vector of float)
+0:54 'shadowSampler2D' (uniform sampler2DShadow)
+0:54 'coords4D' (temp 4-component vector of float)
+0:55 add second child into first child (temp 4-component vector of float)
+0:55 'color' (temp 4-component vector of float)
+0:55 textureProj (global 4-component vector of float)
+0:55 'shadowSampler2D' (uniform sampler2DShadow)
+0:55 'coords4D' (temp 4-component vector of float)
+0:55 'bias' (temp float)
+0:57 Sequence
+0:57 move second child to first child (temp 2-component vector of int)
+0:57 'iCoords2D' (temp 2-component vector of int)
+0:57 Constant:
+0:57 0 (const int)
+0:57 5 (const int)
+0:58 Sequence
+0:58 move second child to first child (temp int)
+0:58 'iLod' (temp int)
+0:58 Constant:
+0:58 1 (const int)
+0:60 add second child into first child (temp 4-component vector of float)
+0:60 'color' (temp 4-component vector of float)
+0:60 textureFetch (global 4-component vector of float)
+0:60 'texSampler2D' (uniform sampler2D)
+0:60 'iCoords2D' (temp 2-component vector of int)
+0:60 'iLod' (temp int)
+0:62 Sequence
+0:62 move second child to first child (temp 2-component vector of float)
+0:62 'gradX' (temp 2-component vector of float)
+0:62 dPdx (global 2-component vector of float)
+0:62 'coords2D' (smooth in 2-component vector of float)
+0:63 Sequence
+0:63 move second child to first child (temp 2-component vector of float)
+0:63 'gradY' (temp 2-component vector of float)
+0:63 dPdy (global 2-component vector of float)
+0:63 'coords2D' (smooth in 2-component vector of float)
+0:66 add second child into first child (temp 4-component vector of float)
+0:66 'color' (temp 4-component vector of float)
+0:66 textureGrad (global 4-component vector of float)
+0:66 'texSampler2D' (uniform sampler2D)
+0:66 'coords2D' (smooth in 2-component vector of float)
+0:66 'gradX' (temp 2-component vector of float)
+0:66 'gradY' (temp 2-component vector of float)
+0:67 add second child into first child (temp 4-component vector of float)
+0:67 'color' (temp 4-component vector of float)
+0:67 textureProjGrad (global 4-component vector of float)
+0:67 'texSampler2D' (uniform sampler2D)
+0:67 Construct vec3 (temp 3-component vector of float)
+0:67 'coords2D' (smooth in 2-component vector of float)
+0:67 'proj' (temp float)
+0:67 'gradX' (temp 2-component vector of float)
+0:67 'gradY' (temp 2-component vector of float)
+0:68 add second child into first child (temp 4-component vector of float)
+0:68 'color' (temp 4-component vector of float)
+0:68 textureGradOffset (global 4-component vector of float)
+0:68 'texSampler2D' (uniform sampler2D)
+0:68 'coords2D' (smooth in 2-component vector of float)
+0:68 'gradX' (temp 2-component vector of float)
+0:68 'gradY' (temp 2-component vector of float)
+0:68 Constant:
+0:68 3 (const int)
+0:68 -7 (const int)
+0:69 add second child into first child (temp 4-component vector of float)
+0:69 'color' (temp 4-component vector of float)
+0:69 textureProjGradOffset (global 4-component vector of float)
+0:69 'texSampler2D' (uniform sampler2D)
+0:69 'coords3D' (temp 3-component vector of float)
+0:69 'gradX' (temp 2-component vector of float)
+0:69 'gradY' (temp 2-component vector of float)
+0:69 Constant:
+0:69 3 (const int)
+0:69 -7 (const int)
+0:70 add second child into first child (temp 4-component vector of float)
+0:70 'color' (temp 4-component vector of float)
+0:70 textureGrad (global float)
+0:70 'shadowSampler2D' (uniform sampler2DShadow)
+0:70 Construct vec3 (temp 3-component vector of float)
+0:70 'coords2D' (smooth in 2-component vector of float)
+0:70 'lod' (temp float)
+0:70 'gradX' (temp 2-component vector of float)
+0:70 'gradY' (temp 2-component vector of float)
+0:72 move second child to first child (temp 4-component vector of float)
+0:72 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:72 mix (global 4-component vector of float)
+0:72 'color' (temp 4-component vector of float)
+0:72 'u' (uniform 4-component vector of float)
+0:72 component-wise multiply (temp float)
+0:72 'blend' (uniform float)
+0:72 'blendscale' (temp float)
+0:? Linker Objects
+0:? 'texSampler1D' (uniform sampler1D)
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'texSampler3D' (uniform sampler3D)
+0:? 'texSamplerCube' (uniform samplerCube)
+0:? 'shadowSampler1D' (uniform sampler1DShadow)
+0:? 'shadowSampler2D' (uniform sampler2DShadow)
+0:? 'blend' (uniform float)
+0:? 'scale' (uniform 2-component vector of float)
+0:? 'u' (uniform 4-component vector of float)
+0:? 't' (smooth in 2-component vector of float)
+0:? 'coords2D' (smooth in 2-component vector of float)
+
diff --git a/Test/baseResults/tokenLength.vert.out b/Test/baseResults/tokenLength.vert.out
index 95b755a..26dabf0 100644
--- a/Test/baseResults/tokenLength.vert.out
+++ b/Test/baseResults/tokenLength.vert.out
@@ -1,222 +1,222 @@
-tokenLength.vert
-ERROR: 0:9: '' : numeric literal too big
-ERROR: 0:10: '' : numeric literal too big
-ERROR: 0:13: '' : octal literal too big
-ERROR: 0:14: '' : hexidecimal literal too big
-ERROR: 0:23: '' : float literal too long
-ERROR: 0:32: '' : name too long
-ERROR: 0:33: '' : hexidecimal literal too big
-ERROR: 0:34: '' : numeric literal too long
-ERROR: 0:34: '' : octal literal too big
-ERROR: 0:35: '' : numeric literal too long
-ERROR: 0:35: '' : numeric literal too big
-ERROR: 0:36: '' : float literal too long
-ERROR: 0:36: '' : float literal too long
-ERROR: 0:36: '' : float literal too long
-WARNING: 0:39: '#extension' : extension not supported: a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhooooooooooooooooooooooooooooooohhhhhhhhhhhhhhhhh01234
-ERROR: 0:40: '' : name too long
-WARNING: 0:40: '#extension' : extension not supported: a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhooooooooooooooooooooooooooooooohhhhhhhhhhhhhhhhh01234
-ERROR: 0:43: '' : name too long
-ERROR: 0:44: '#extension' : ':' missing after extension name
-ERROR: 0:47: '#error' : in long non - zero # if
-ERROR: 0:50: '#error' : in long zero # if
-ERROR: 0:52: '' : numeric literal too long
-ERROR: 0:53: '#error' : in too long # if
-ERROR: 0:56: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
-ERROR: 0:59: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-ERROR: 0:62: '' : name too long
-ERROR: 0:62: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-ERROR: 0:67: '' : numeric literal too long
-ERROR: 0:70: '' : name too long
-ERROR: 0:70: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
-ERROR: 28 compilation errors. No code generated.
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:9 Sequence
-0:9 move second child to first child (temp highp int)
-0:9 'E1' (global highp int)
-0:9 Constant:
-0:9 -1 (const int)
-0:10 Sequence
-0:10 move second child to first child (temp highp int)
-0:10 'E2' (global highp int)
-0:10 Constant:
-0:10 -1 (const int)
-0:11 Sequence
-0:11 move second child to first child (temp highp int)
-0:11 'B' (global highp int)
-0:11 Constant:
-0:11 -1 (const int)
-0:13 Sequence
-0:13 move second child to first child (temp highp int)
-0:13 'OE' (global highp int)
-0:13 Constant:
-0:13 1073741823 (const int)
-0:14 Sequence
-0:14 move second child to first child (temp highp int)
-0:14 'HE' (global highp int)
-0:14 Constant:
-0:14 -1 (const int)
-0:17 Sequence
-0:17 move second child to first child (temp highp float)
-0:17 'F' (global highp float)
-0:17 Constant:
-0:17 1.012346
-0:20 Sequence
-0:20 move second child to first child (temp highp float)
-0:20 'G' (global highp float)
-0:20 Constant:
-0:20 1.012346
-0:23 Sequence
-0:23 move second child to first child (temp highp float)
-0:23 'E3' (global highp float)
-0:23 Constant:
-0:23 12.000000
-0:25 Function Definition: main( (global void)
-0:25 Function Parameters:
-0:27 Sequence
-0:27 move second child to first child (temp highp 4-component vector of float)
-0:27 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:28 Construct vec4 (temp highp 4-component vector of float)
-0:27 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
-0:28 Convert int to float (temp highp float)
-0:28 'B' (global highp int)
-0:28 'F' (global highp float)
-0:28 'G' (global highp float)
-0:33 Sequence
-0:33 move second child to first child (temp highp int)
-0:33 'superH' (global highp int)
-0:33 Constant:
-0:33 -1 (const int)
-0:34 Sequence
-0:34 move second child to first child (temp highp int)
-0:34 'superO' (global highp int)
-0:34 Constant:
-0:34 1073741823 (const int)
-0:35 Sequence
-0:35 move second child to first child (temp highp int)
-0:35 'superI' (global highp int)
-0:35 Constant:
-0:35 -1 (const int)
-0:36 Sequence
-0:36 move second child to first child (temp highp float)
-0:36 'superF' (global highp float)
-0:36 Constant:
-0:36 inf
-0:? Linker Objects
-0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
-0:? 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
-0:? 'E1' (global highp int)
-0:? 'E2' (global highp int)
-0:? 'B' (global highp int)
-0:? 'OE' (global highp int)
-0:? 'HE' (global highp int)
-0:? 'F' (global highp float)
-0:? 'G' (global highp float)
-0:? 'E3' (global highp float)
-0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789B' (global highp float)
-0:? 'superH' (global highp int)
-0:? 'superO' (global highp int)
-0:? 'superI' (global highp int)
-0:? 'superF' (global highp float)
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:9 Sequence
-0:9 move second child to first child (temp highp int)
-0:9 'E1' (global highp int)
-0:9 Constant:
-0:9 -1 (const int)
-0:10 Sequence
-0:10 move second child to first child (temp highp int)
-0:10 'E2' (global highp int)
-0:10 Constant:
-0:10 -1 (const int)
-0:11 Sequence
-0:11 move second child to first child (temp highp int)
-0:11 'B' (global highp int)
-0:11 Constant:
-0:11 -1 (const int)
-0:13 Sequence
-0:13 move second child to first child (temp highp int)
-0:13 'OE' (global highp int)
-0:13 Constant:
-0:13 1073741823 (const int)
-0:14 Sequence
-0:14 move second child to first child (temp highp int)
-0:14 'HE' (global highp int)
-0:14 Constant:
-0:14 -1 (const int)
-0:17 Sequence
-0:17 move second child to first child (temp highp float)
-0:17 'F' (global highp float)
-0:17 Constant:
-0:17 1.012346
-0:20 Sequence
-0:20 move second child to first child (temp highp float)
-0:20 'G' (global highp float)
-0:20 Constant:
-0:20 1.012346
-0:23 Sequence
-0:23 move second child to first child (temp highp float)
-0:23 'E3' (global highp float)
-0:23 Constant:
-0:23 12.000000
-0:25 Function Definition: main( (global void)
-0:25 Function Parameters:
-0:27 Sequence
-0:27 move second child to first child (temp highp 4-component vector of float)
-0:27 'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:28 Construct vec4 (temp highp 4-component vector of float)
-0:27 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
-0:28 Convert int to float (temp highp float)
-0:28 'B' (global highp int)
-0:28 'F' (global highp float)
-0:28 'G' (global highp float)
-0:33 Sequence
-0:33 move second child to first child (temp highp int)
-0:33 'superH' (global highp int)
-0:33 Constant:
-0:33 -1 (const int)
-0:34 Sequence
-0:34 move second child to first child (temp highp int)
-0:34 'superO' (global highp int)
-0:34 Constant:
-0:34 1073741823 (const int)
-0:35 Sequence
-0:35 move second child to first child (temp highp int)
-0:35 'superI' (global highp int)
-0:35 Constant:
-0:35 -1 (const int)
-0:36 Sequence
-0:36 move second child to first child (temp highp float)
-0:36 'superF' (global highp float)
-0:36 Constant:
-0:36 inf
-0:? Linker Objects
-0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
-0:? 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
-0:? 'E1' (global highp int)
-0:? 'E2' (global highp int)
-0:? 'B' (global highp int)
-0:? 'OE' (global highp int)
-0:? 'HE' (global highp int)
-0:? 'F' (global highp float)
-0:? 'G' (global highp float)
-0:? 'E3' (global highp float)
-0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789B' (global highp float)
-0:? 'superH' (global highp int)
-0:? 'superO' (global highp int)
-0:? 'superI' (global highp int)
-0:? 'superF' (global highp float)
-0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-
+tokenLength.vert
+ERROR: 0:9: '' : numeric literal too big
+ERROR: 0:10: '' : numeric literal too big
+ERROR: 0:13: '' : octal literal too big
+ERROR: 0:14: '' : hexidecimal literal too big
+ERROR: 0:23: '' : float literal too long
+ERROR: 0:32: '' : name too long
+ERROR: 0:33: '' : hexidecimal literal too big
+ERROR: 0:34: '' : numeric literal too long
+ERROR: 0:34: '' : octal literal too big
+ERROR: 0:35: '' : numeric literal too long
+ERROR: 0:35: '' : numeric literal too big
+ERROR: 0:36: '' : float literal too long
+ERROR: 0:36: '' : float literal too long
+ERROR: 0:36: '' : float literal too long
+WARNING: 0:39: '#extension' : extension not supported: a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhooooooooooooooooooooooooooooooohhhhhhhhhhhhhhhhh01234
+ERROR: 0:40: '' : name too long
+WARNING: 0:40: '#extension' : extension not supported: a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhooooooooooooooooooooooooooooooohhhhhhhhhhhhhhhhh01234
+ERROR: 0:43: '' : name too long
+ERROR: 0:44: '#extension' : ':' missing after extension name
+ERROR: 0:47: '#error' : in long non - zero # if
+ERROR: 0:50: '#error' : in long zero # if
+ERROR: 0:52: '' : numeric literal too long
+ERROR: 0:53: '#error' : in too long # if
+ERROR: 0:56: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
+ERROR: 0:59: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+ERROR: 0:62: '' : name too long
+ERROR: 0:62: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+ERROR: 0:67: '' : numeric literal too long
+ERROR: 0:70: '' : name too long
+ERROR: 0:70: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+ERROR: 28 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:9 Sequence
+0:9 move second child to first child (temp highp int)
+0:9 'E1' (global highp int)
+0:9 Constant:
+0:9 -1 (const int)
+0:10 Sequence
+0:10 move second child to first child (temp highp int)
+0:10 'E2' (global highp int)
+0:10 Constant:
+0:10 -1 (const int)
+0:11 Sequence
+0:11 move second child to first child (temp highp int)
+0:11 'B' (global highp int)
+0:11 Constant:
+0:11 -1 (const int)
+0:13 Sequence
+0:13 move second child to first child (temp highp int)
+0:13 'OE' (global highp int)
+0:13 Constant:
+0:13 1073741823 (const int)
+0:14 Sequence
+0:14 move second child to first child (temp highp int)
+0:14 'HE' (global highp int)
+0:14 Constant:
+0:14 -1 (const int)
+0:17 Sequence
+0:17 move second child to first child (temp highp float)
+0:17 'F' (global highp float)
+0:17 Constant:
+0:17 1.012346
+0:20 Sequence
+0:20 move second child to first child (temp highp float)
+0:20 'G' (global highp float)
+0:20 Constant:
+0:20 1.012346
+0:23 Sequence
+0:23 move second child to first child (temp highp float)
+0:23 'E3' (global highp float)
+0:23 Constant:
+0:23 12.000000
+0:25 Function Definition: main( (global void)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 move second child to first child (temp highp 4-component vector of float)
+0:27 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:28 Construct vec4 (temp highp 4-component vector of float)
+0:27 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
+0:28 Convert int to float (temp highp float)
+0:28 'B' (global highp int)
+0:28 'F' (global highp float)
+0:28 'G' (global highp float)
+0:33 Sequence
+0:33 move second child to first child (temp highp int)
+0:33 'superH' (global highp int)
+0:33 Constant:
+0:33 -1 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp highp int)
+0:34 'superO' (global highp int)
+0:34 Constant:
+0:34 1073741823 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp highp int)
+0:35 'superI' (global highp int)
+0:35 Constant:
+0:35 -1 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp highp float)
+0:36 'superF' (global highp float)
+0:36 Constant:
+0:36 inf
+0:? Linker Objects
+0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
+0:? 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
+0:? 'E1' (global highp int)
+0:? 'E2' (global highp int)
+0:? 'B' (global highp int)
+0:? 'OE' (global highp int)
+0:? 'HE' (global highp int)
+0:? 'F' (global highp float)
+0:? 'G' (global highp float)
+0:? 'E3' (global highp float)
+0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789B' (global highp float)
+0:? 'superH' (global highp int)
+0:? 'superO' (global highp int)
+0:? 'superI' (global highp int)
+0:? 'superF' (global highp float)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:9 Sequence
+0:9 move second child to first child (temp highp int)
+0:9 'E1' (global highp int)
+0:9 Constant:
+0:9 -1 (const int)
+0:10 Sequence
+0:10 move second child to first child (temp highp int)
+0:10 'E2' (global highp int)
+0:10 Constant:
+0:10 -1 (const int)
+0:11 Sequence
+0:11 move second child to first child (temp highp int)
+0:11 'B' (global highp int)
+0:11 Constant:
+0:11 -1 (const int)
+0:13 Sequence
+0:13 move second child to first child (temp highp int)
+0:13 'OE' (global highp int)
+0:13 Constant:
+0:13 1073741823 (const int)
+0:14 Sequence
+0:14 move second child to first child (temp highp int)
+0:14 'HE' (global highp int)
+0:14 Constant:
+0:14 -1 (const int)
+0:17 Sequence
+0:17 move second child to first child (temp highp float)
+0:17 'F' (global highp float)
+0:17 Constant:
+0:17 1.012346
+0:20 Sequence
+0:20 move second child to first child (temp highp float)
+0:20 'G' (global highp float)
+0:20 Constant:
+0:20 1.012346
+0:23 Sequence
+0:23 move second child to first child (temp highp float)
+0:23 'E3' (global highp float)
+0:23 Constant:
+0:23 12.000000
+0:25 Function Definition: main( (global void)
+0:25 Function Parameters:
+0:27 Sequence
+0:27 move second child to first child (temp highp 4-component vector of float)
+0:27 'gl_Position' (gl_Position highp 4-component vector of float Position)
+0:28 Construct vec4 (temp highp 4-component vector of float)
+0:27 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
+0:28 Convert int to float (temp highp float)
+0:28 'B' (global highp int)
+0:28 'F' (global highp float)
+0:28 'G' (global highp float)
+0:33 Sequence
+0:33 move second child to first child (temp highp int)
+0:33 'superH' (global highp int)
+0:33 Constant:
+0:33 -1 (const int)
+0:34 Sequence
+0:34 move second child to first child (temp highp int)
+0:34 'superO' (global highp int)
+0:34 Constant:
+0:34 1073741823 (const int)
+0:35 Sequence
+0:35 move second child to first child (temp highp int)
+0:35 'superI' (global highp int)
+0:35 Constant:
+0:35 -1 (const int)
+0:36 Sequence
+0:36 move second child to first child (temp highp float)
+0:36 'superF' (global highp float)
+0:36 Constant:
+0:36 inf
+0:? Linker Objects
+0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
+0:? 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
+0:? 'E1' (global highp int)
+0:? 'E2' (global highp int)
+0:? 'B' (global highp int)
+0:? 'OE' (global highp int)
+0:? 'HE' (global highp int)
+0:? 'F' (global highp float)
+0:? 'G' (global highp float)
+0:? 'E3' (global highp float)
+0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789B' (global highp float)
+0:? 'superH' (global highp int)
+0:? 'superO' (global highp int)
+0:? 'superI' (global highp int)
+0:? 'superF' (global highp float)
+0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
+
diff --git a/Test/baseResults/types.frag.out b/Test/baseResults/types.frag.out
index e55c591..475a989 100644
--- a/Test/baseResults/types.frag.out
+++ b/Test/baseResults/types.frag.out
@@ -1,677 +1,677 @@
-types.frag
-Shader version: 130
-0:? Sequence
-0:33 Function Definition: main( (global void)
-0:33 Function Parameters:
-0:35 Sequence
-0:35 Sequence
-0:35 move second child to first child (temp bool)
-0:35 'b' (temp bool)
-0:35 logical-and (temp bool)
-0:35 'u_b' (uniform bool)
-0:35 'i_b' (uniform bool)
-0:36 Sequence
-0:36 move second child to first child (temp 2-component vector of bool)
-0:36 'b2' (temp 2-component vector of bool)
-0:36 Construct bvec2 (temp 2-component vector of bool)
-0:36 logical-and (temp bool)
-0:36 logical-and (temp bool)
-0:36 logical-and (temp bool)
-0:36 direct index (temp bool)
-0:36 'u_b2' (uniform 2-component vector of bool)
-0:36 Constant:
-0:36 0 (const int)
-0:36 direct index (temp bool)
-0:36 'i_b2' (uniform 2-component vector of bool)
-0:36 Constant:
-0:36 0 (const int)
-0:36 direct index (temp bool)
-0:36 'u_b2' (uniform 2-component vector of bool)
-0:36 Constant:
-0:36 1 (const int)
-0:36 direct index (temp bool)
-0:36 'i_b2' (uniform 2-component vector of bool)
-0:36 Constant:
-0:36 1 (const int)
-0:37 Sequence
-0:37 move second child to first child (temp 3-component vector of bool)
-0:37 'b3' (temp 3-component vector of bool)
-0:37 Construct bvec3 (temp 3-component vector of bool)
-0:37 logical-and (temp bool)
-0:37 logical-and (temp bool)
-0:37 logical-and (temp bool)
-0:37 logical-and (temp bool)
-0:37 logical-and (temp bool)
-0:37 direct index (temp bool)
-0:37 'u_b3' (uniform 3-component vector of bool)
-0:37 Constant:
-0:37 0 (const int)
-0:37 direct index (temp bool)
-0:37 'i_b3' (uniform 3-component vector of bool)
-0:37 Constant:
-0:37 0 (const int)
-0:37 direct index (temp bool)
-0:37 'u_b3' (uniform 3-component vector of bool)
-0:37 Constant:
-0:37 1 (const int)
-0:37 direct index (temp bool)
-0:37 'i_b3' (uniform 3-component vector of bool)
-0:37 Constant:
-0:37 1 (const int)
-0:37 direct index (temp bool)
-0:37 'u_b3' (uniform 3-component vector of bool)
-0:37 Constant:
-0:37 2 (const int)
-0:37 direct index (temp bool)
-0:37 'i_b3' (uniform 3-component vector of bool)
-0:37 Constant:
-0:37 2 (const int)
-0:38 Sequence
-0:38 move second child to first child (temp 4-component vector of bool)
-0:38 'b4' (temp 4-component vector of bool)
-0:38 Construct bvec4 (temp 4-component vector of bool)
-0:38 logical-and (temp bool)
-0:38 logical-and (temp bool)
-0:38 logical-and (temp bool)
-0:38 logical-and (temp bool)
-0:38 logical-and (temp bool)
-0:38 logical-and (temp bool)
-0:38 logical-and (temp bool)
-0:38 direct index (temp bool)
-0:38 'u_b4' (uniform 4-component vector of bool)
-0:38 Constant:
-0:38 0 (const int)
-0:38 direct index (temp bool)
-0:38 'i_b4' (uniform 4-component vector of bool)
-0:38 Constant:
-0:38 0 (const int)
-0:38 direct index (temp bool)
-0:38 'u_b4' (uniform 4-component vector of bool)
-0:38 Constant:
-0:38 1 (const int)
-0:38 direct index (temp bool)
-0:38 'i_b4' (uniform 4-component vector of bool)
-0:38 Constant:
-0:38 1 (const int)
-0:38 direct index (temp bool)
-0:38 'u_b4' (uniform 4-component vector of bool)
-0:38 Constant:
-0:38 2 (const int)
-0:38 direct index (temp bool)
-0:38 'i_b4' (uniform 4-component vector of bool)
-0:38 Constant:
-0:38 2 (const int)
-0:38 direct index (temp bool)
-0:38 'u_b4' (uniform 4-component vector of bool)
-0:38 Constant:
-0:38 3 (const int)
-0:38 direct index (temp bool)
-0:38 'i_b4' (uniform 4-component vector of bool)
-0:38 Constant:
-0:38 3 (const int)
-0:40 Sequence
-0:40 move second child to first child (temp int)
-0:40 'i' (temp int)
-0:40 add (temp int)
-0:40 'u_i' (uniform int)
-0:40 'i_i' (flat in int)
-0:41 Sequence
-0:41 move second child to first child (temp 2-component vector of int)
-0:41 'i2' (temp 2-component vector of int)
-0:41 add (temp 2-component vector of int)
-0:41 'u_i2' (uniform 2-component vector of int)
-0:41 'i_i2' (flat in 2-component vector of int)
-0:42 Sequence
-0:42 move second child to first child (temp 3-component vector of int)
-0:42 'i3' (temp 3-component vector of int)
-0:42 add (temp 3-component vector of int)
-0:42 'u_i3' (uniform 3-component vector of int)
-0:42 'i_i3' (flat in 3-component vector of int)
-0:43 Sequence
-0:43 move second child to first child (temp 4-component vector of int)
-0:43 'i4' (temp 4-component vector of int)
-0:43 add (temp 4-component vector of int)
-0:43 'u_i4' (uniform 4-component vector of int)
-0:43 'i_i4' (flat in 4-component vector of int)
-0:45 Sequence
-0:45 move second child to first child (temp float)
-0:45 'f' (temp float)
-0:45 add (temp float)
-0:45 'u_f' (uniform float)
-0:45 'i_f' (smooth in float)
-0:46 Sequence
-0:46 move second child to first child (temp 2-component vector of float)
-0:46 'f2' (temp 2-component vector of float)
-0:46 add (temp 2-component vector of float)
-0:46 'u_f2' (uniform 2-component vector of float)
-0:46 'i_f2' (smooth in 2-component vector of float)
-0:47 Sequence
-0:47 move second child to first child (temp 3-component vector of float)
-0:47 'f3' (temp 3-component vector of float)
-0:47 add (temp 3-component vector of float)
-0:47 'u_f3' (uniform 3-component vector of float)
-0:47 'i_f3' (smooth in 3-component vector of float)
-0:48 Sequence
-0:48 move second child to first child (temp 4-component vector of float)
-0:48 'f4' (temp 4-component vector of float)
-0:48 add (temp 4-component vector of float)
-0:48 'u_f4' (uniform 4-component vector of float)
-0:48 'i_f4' (smooth in 4-component vector of float)
-0:50 move second child to first child (temp 4-component vector of float)
-0:50 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:60 Test condition and select (temp 4-component vector of float)
-0:60 Condition
-0:59 logical-or (temp bool)
-0:58 logical-or (temp bool)
-0:57 logical-or (temp bool)
-0:56 logical-or (temp bool)
-0:55 logical-or (temp bool)
-0:54 logical-or (temp bool)
-0:53 logical-or (temp bool)
-0:52 logical-or (temp bool)
-0:51 logical-or (temp bool)
-0:51 'b' (temp bool)
-0:52 direct index (temp bool)
-0:52 'b2' (temp 2-component vector of bool)
-0:52 Constant:
-0:52 0 (const int)
-0:53 direct index (temp bool)
-0:53 'b2' (temp 2-component vector of bool)
-0:53 Constant:
-0:53 1 (const int)
-0:54 direct index (temp bool)
-0:54 'b3' (temp 3-component vector of bool)
-0:54 Constant:
-0:54 0 (const int)
-0:55 direct index (temp bool)
-0:55 'b3' (temp 3-component vector of bool)
-0:55 Constant:
-0:55 1 (const int)
-0:56 direct index (temp bool)
-0:56 'b3' (temp 3-component vector of bool)
-0:56 Constant:
-0:56 2 (const int)
-0:57 direct index (temp bool)
-0:57 'b4' (temp 4-component vector of bool)
-0:57 Constant:
-0:57 0 (const int)
-0:58 direct index (temp bool)
-0:58 'b4' (temp 4-component vector of bool)
-0:58 Constant:
-0:58 1 (const int)
-0:59 direct index (temp bool)
-0:59 'b4' (temp 4-component vector of bool)
-0:59 Constant:
-0:59 2 (const int)
-0:60 direct index (temp bool)
-0:60 'b4' (temp 4-component vector of bool)
-0:60 Constant:
-0:60 3 (const int)
-0:60 true case
-0:79 Construct vec4 (temp 4-component vector of float)
-0:79 add (temp float)
-0:78 add (temp float)
-0:77 add (temp float)
-0:76 add (temp float)
-0:75 add (temp float)
-0:74 add (temp float)
-0:73 add (temp float)
-0:72 add (temp float)
-0:71 add (temp float)
-0:70 add (temp float)
-0:69 Convert int to float (temp float)
-0:69 add (temp int)
-0:68 add (temp int)
-0:67 add (temp int)
-0:66 add (temp int)
-0:65 add (temp int)
-0:64 add (temp int)
-0:63 add (temp int)
-0:62 add (temp int)
-0:61 add (temp int)
-0:61 'i' (temp int)
-0:62 direct index (temp int)
-0:62 'i2' (temp 2-component vector of int)
-0:62 Constant:
-0:62 0 (const int)
-0:63 direct index (temp int)
-0:63 'i2' (temp 2-component vector of int)
-0:63 Constant:
-0:63 1 (const int)
-0:64 direct index (temp int)
-0:64 'i3' (temp 3-component vector of int)
-0:64 Constant:
-0:64 0 (const int)
-0:65 direct index (temp int)
-0:65 'i3' (temp 3-component vector of int)
-0:65 Constant:
-0:65 1 (const int)
-0:66 direct index (temp int)
-0:66 'i3' (temp 3-component vector of int)
-0:66 Constant:
-0:66 2 (const int)
-0:67 direct index (temp int)
-0:67 'i4' (temp 4-component vector of int)
-0:67 Constant:
-0:67 0 (const int)
-0:68 direct index (temp int)
-0:68 'i4' (temp 4-component vector of int)
-0:68 Constant:
-0:68 1 (const int)
-0:69 direct index (temp int)
-0:69 'i4' (temp 4-component vector of int)
-0:69 Constant:
-0:69 2 (const int)
-0:70 direct index (temp int)
-0:70 'i4' (temp 4-component vector of int)
-0:70 Constant:
-0:70 3 (const int)
-0:71 'f' (temp float)
-0:72 direct index (temp float)
-0:72 'f2' (temp 2-component vector of float)
-0:72 Constant:
-0:72 0 (const int)
-0:73 direct index (temp float)
-0:73 'f2' (temp 2-component vector of float)
-0:73 Constant:
-0:73 1 (const int)
-0:74 direct index (temp float)
-0:74 'f3' (temp 3-component vector of float)
-0:74 Constant:
-0:74 0 (const int)
-0:75 direct index (temp float)
-0:75 'f3' (temp 3-component vector of float)
-0:75 Constant:
-0:75 1 (const int)
-0:76 direct index (temp float)
-0:76 'f3' (temp 3-component vector of float)
-0:76 Constant:
-0:76 2 (const int)
-0:77 direct index (temp float)
-0:77 'f4' (temp 4-component vector of float)
-0:77 Constant:
-0:77 0 (const int)
-0:78 direct index (temp float)
-0:78 'f4' (temp 4-component vector of float)
-0:78 Constant:
-0:78 1 (const int)
-0:79 direct index (temp float)
-0:79 'f4' (temp 4-component vector of float)
-0:79 Constant:
-0:79 2 (const int)
-0:80 direct index (temp float)
-0:80 'f4' (temp 4-component vector of float)
-0:80 Constant:
-0:80 3 (const int)
-0:60 false case
-0:80 Constant:
-0:80 1.000000
-0:80 1.000000
-0:80 1.000000
-0:80 1.000000
-0:? Linker Objects
-0:? 'u_b' (uniform bool)
-0:? 'u_b2' (uniform 2-component vector of bool)
-0:? 'u_b3' (uniform 3-component vector of bool)
-0:? 'u_b4' (uniform 4-component vector of bool)
-0:? 'u_i' (uniform int)
-0:? 'u_i2' (uniform 2-component vector of int)
-0:? 'u_i3' (uniform 3-component vector of int)
-0:? 'u_i4' (uniform 4-component vector of int)
-0:? 'u_f' (uniform float)
-0:? 'u_f2' (uniform 2-component vector of float)
-0:? 'u_f3' (uniform 3-component vector of float)
-0:? 'u_f4' (uniform 4-component vector of float)
-0:? 'i_b' (uniform bool)
-0:? 'i_b2' (uniform 2-component vector of bool)
-0:? 'i_b3' (uniform 3-component vector of bool)
-0:? 'i_b4' (uniform 4-component vector of bool)
-0:? 'i_i' (flat in int)
-0:? 'i_i2' (flat in 2-component vector of int)
-0:? 'i_i3' (flat in 3-component vector of int)
-0:? 'i_i4' (flat in 4-component vector of int)
-0:? 'i_f' (smooth in float)
-0:? 'i_f2' (smooth in 2-component vector of float)
-0:? 'i_f3' (smooth in 3-component vector of float)
-0:? 'i_f4' (smooth in 4-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:33 Function Definition: main( (global void)
-0:33 Function Parameters:
-0:35 Sequence
-0:35 Sequence
-0:35 move second child to first child (temp bool)
-0:35 'b' (temp bool)
-0:35 logical-and (temp bool)
-0:35 'u_b' (uniform bool)
-0:35 'i_b' (uniform bool)
-0:36 Sequence
-0:36 move second child to first child (temp 2-component vector of bool)
-0:36 'b2' (temp 2-component vector of bool)
-0:36 Construct bvec2 (temp 2-component vector of bool)
-0:36 logical-and (temp bool)
-0:36 logical-and (temp bool)
-0:36 logical-and (temp bool)
-0:36 direct index (temp bool)
-0:36 'u_b2' (uniform 2-component vector of bool)
-0:36 Constant:
-0:36 0 (const int)
-0:36 direct index (temp bool)
-0:36 'i_b2' (uniform 2-component vector of bool)
-0:36 Constant:
-0:36 0 (const int)
-0:36 direct index (temp bool)
-0:36 'u_b2' (uniform 2-component vector of bool)
-0:36 Constant:
-0:36 1 (const int)
-0:36 direct index (temp bool)
-0:36 'i_b2' (uniform 2-component vector of bool)
-0:36 Constant:
-0:36 1 (const int)
-0:37 Sequence
-0:37 move second child to first child (temp 3-component vector of bool)
-0:37 'b3' (temp 3-component vector of bool)
-0:37 Construct bvec3 (temp 3-component vector of bool)
-0:37 logical-and (temp bool)
-0:37 logical-and (temp bool)
-0:37 logical-and (temp bool)
-0:37 logical-and (temp bool)
-0:37 logical-and (temp bool)
-0:37 direct index (temp bool)
-0:37 'u_b3' (uniform 3-component vector of bool)
-0:37 Constant:
-0:37 0 (const int)
-0:37 direct index (temp bool)
-0:37 'i_b3' (uniform 3-component vector of bool)
-0:37 Constant:
-0:37 0 (const int)
-0:37 direct index (temp bool)
-0:37 'u_b3' (uniform 3-component vector of bool)
-0:37 Constant:
-0:37 1 (const int)
-0:37 direct index (temp bool)
-0:37 'i_b3' (uniform 3-component vector of bool)
-0:37 Constant:
-0:37 1 (const int)
-0:37 direct index (temp bool)
-0:37 'u_b3' (uniform 3-component vector of bool)
-0:37 Constant:
-0:37 2 (const int)
-0:37 direct index (temp bool)
-0:37 'i_b3' (uniform 3-component vector of bool)
-0:37 Constant:
-0:37 2 (const int)
-0:38 Sequence
-0:38 move second child to first child (temp 4-component vector of bool)
-0:38 'b4' (temp 4-component vector of bool)
-0:38 Construct bvec4 (temp 4-component vector of bool)
-0:38 logical-and (temp bool)
-0:38 logical-and (temp bool)
-0:38 logical-and (temp bool)
-0:38 logical-and (temp bool)
-0:38 logical-and (temp bool)
-0:38 logical-and (temp bool)
-0:38 logical-and (temp bool)
-0:38 direct index (temp bool)
-0:38 'u_b4' (uniform 4-component vector of bool)
-0:38 Constant:
-0:38 0 (const int)
-0:38 direct index (temp bool)
-0:38 'i_b4' (uniform 4-component vector of bool)
-0:38 Constant:
-0:38 0 (const int)
-0:38 direct index (temp bool)
-0:38 'u_b4' (uniform 4-component vector of bool)
-0:38 Constant:
-0:38 1 (const int)
-0:38 direct index (temp bool)
-0:38 'i_b4' (uniform 4-component vector of bool)
-0:38 Constant:
-0:38 1 (const int)
-0:38 direct index (temp bool)
-0:38 'u_b4' (uniform 4-component vector of bool)
-0:38 Constant:
-0:38 2 (const int)
-0:38 direct index (temp bool)
-0:38 'i_b4' (uniform 4-component vector of bool)
-0:38 Constant:
-0:38 2 (const int)
-0:38 direct index (temp bool)
-0:38 'u_b4' (uniform 4-component vector of bool)
-0:38 Constant:
-0:38 3 (const int)
-0:38 direct index (temp bool)
-0:38 'i_b4' (uniform 4-component vector of bool)
-0:38 Constant:
-0:38 3 (const int)
-0:40 Sequence
-0:40 move second child to first child (temp int)
-0:40 'i' (temp int)
-0:40 add (temp int)
-0:40 'u_i' (uniform int)
-0:40 'i_i' (flat in int)
-0:41 Sequence
-0:41 move second child to first child (temp 2-component vector of int)
-0:41 'i2' (temp 2-component vector of int)
-0:41 add (temp 2-component vector of int)
-0:41 'u_i2' (uniform 2-component vector of int)
-0:41 'i_i2' (flat in 2-component vector of int)
-0:42 Sequence
-0:42 move second child to first child (temp 3-component vector of int)
-0:42 'i3' (temp 3-component vector of int)
-0:42 add (temp 3-component vector of int)
-0:42 'u_i3' (uniform 3-component vector of int)
-0:42 'i_i3' (flat in 3-component vector of int)
-0:43 Sequence
-0:43 move second child to first child (temp 4-component vector of int)
-0:43 'i4' (temp 4-component vector of int)
-0:43 add (temp 4-component vector of int)
-0:43 'u_i4' (uniform 4-component vector of int)
-0:43 'i_i4' (flat in 4-component vector of int)
-0:45 Sequence
-0:45 move second child to first child (temp float)
-0:45 'f' (temp float)
-0:45 add (temp float)
-0:45 'u_f' (uniform float)
-0:45 'i_f' (smooth in float)
-0:46 Sequence
-0:46 move second child to first child (temp 2-component vector of float)
-0:46 'f2' (temp 2-component vector of float)
-0:46 add (temp 2-component vector of float)
-0:46 'u_f2' (uniform 2-component vector of float)
-0:46 'i_f2' (smooth in 2-component vector of float)
-0:47 Sequence
-0:47 move second child to first child (temp 3-component vector of float)
-0:47 'f3' (temp 3-component vector of float)
-0:47 add (temp 3-component vector of float)
-0:47 'u_f3' (uniform 3-component vector of float)
-0:47 'i_f3' (smooth in 3-component vector of float)
-0:48 Sequence
-0:48 move second child to first child (temp 4-component vector of float)
-0:48 'f4' (temp 4-component vector of float)
-0:48 add (temp 4-component vector of float)
-0:48 'u_f4' (uniform 4-component vector of float)
-0:48 'i_f4' (smooth in 4-component vector of float)
-0:50 move second child to first child (temp 4-component vector of float)
-0:50 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:60 Test condition and select (temp 4-component vector of float)
-0:60 Condition
-0:59 logical-or (temp bool)
-0:58 logical-or (temp bool)
-0:57 logical-or (temp bool)
-0:56 logical-or (temp bool)
-0:55 logical-or (temp bool)
-0:54 logical-or (temp bool)
-0:53 logical-or (temp bool)
-0:52 logical-or (temp bool)
-0:51 logical-or (temp bool)
-0:51 'b' (temp bool)
-0:52 direct index (temp bool)
-0:52 'b2' (temp 2-component vector of bool)
-0:52 Constant:
-0:52 0 (const int)
-0:53 direct index (temp bool)
-0:53 'b2' (temp 2-component vector of bool)
-0:53 Constant:
-0:53 1 (const int)
-0:54 direct index (temp bool)
-0:54 'b3' (temp 3-component vector of bool)
-0:54 Constant:
-0:54 0 (const int)
-0:55 direct index (temp bool)
-0:55 'b3' (temp 3-component vector of bool)
-0:55 Constant:
-0:55 1 (const int)
-0:56 direct index (temp bool)
-0:56 'b3' (temp 3-component vector of bool)
-0:56 Constant:
-0:56 2 (const int)
-0:57 direct index (temp bool)
-0:57 'b4' (temp 4-component vector of bool)
-0:57 Constant:
-0:57 0 (const int)
-0:58 direct index (temp bool)
-0:58 'b4' (temp 4-component vector of bool)
-0:58 Constant:
-0:58 1 (const int)
-0:59 direct index (temp bool)
-0:59 'b4' (temp 4-component vector of bool)
-0:59 Constant:
-0:59 2 (const int)
-0:60 direct index (temp bool)
-0:60 'b4' (temp 4-component vector of bool)
-0:60 Constant:
-0:60 3 (const int)
-0:60 true case
-0:79 Construct vec4 (temp 4-component vector of float)
-0:79 add (temp float)
-0:78 add (temp float)
-0:77 add (temp float)
-0:76 add (temp float)
-0:75 add (temp float)
-0:74 add (temp float)
-0:73 add (temp float)
-0:72 add (temp float)
-0:71 add (temp float)
-0:70 add (temp float)
-0:69 Convert int to float (temp float)
-0:69 add (temp int)
-0:68 add (temp int)
-0:67 add (temp int)
-0:66 add (temp int)
-0:65 add (temp int)
-0:64 add (temp int)
-0:63 add (temp int)
-0:62 add (temp int)
-0:61 add (temp int)
-0:61 'i' (temp int)
-0:62 direct index (temp int)
-0:62 'i2' (temp 2-component vector of int)
-0:62 Constant:
-0:62 0 (const int)
-0:63 direct index (temp int)
-0:63 'i2' (temp 2-component vector of int)
-0:63 Constant:
-0:63 1 (const int)
-0:64 direct index (temp int)
-0:64 'i3' (temp 3-component vector of int)
-0:64 Constant:
-0:64 0 (const int)
-0:65 direct index (temp int)
-0:65 'i3' (temp 3-component vector of int)
-0:65 Constant:
-0:65 1 (const int)
-0:66 direct index (temp int)
-0:66 'i3' (temp 3-component vector of int)
-0:66 Constant:
-0:66 2 (const int)
-0:67 direct index (temp int)
-0:67 'i4' (temp 4-component vector of int)
-0:67 Constant:
-0:67 0 (const int)
-0:68 direct index (temp int)
-0:68 'i4' (temp 4-component vector of int)
-0:68 Constant:
-0:68 1 (const int)
-0:69 direct index (temp int)
-0:69 'i4' (temp 4-component vector of int)
-0:69 Constant:
-0:69 2 (const int)
-0:70 direct index (temp int)
-0:70 'i4' (temp 4-component vector of int)
-0:70 Constant:
-0:70 3 (const int)
-0:71 'f' (temp float)
-0:72 direct index (temp float)
-0:72 'f2' (temp 2-component vector of float)
-0:72 Constant:
-0:72 0 (const int)
-0:73 direct index (temp float)
-0:73 'f2' (temp 2-component vector of float)
-0:73 Constant:
-0:73 1 (const int)
-0:74 direct index (temp float)
-0:74 'f3' (temp 3-component vector of float)
-0:74 Constant:
-0:74 0 (const int)
-0:75 direct index (temp float)
-0:75 'f3' (temp 3-component vector of float)
-0:75 Constant:
-0:75 1 (const int)
-0:76 direct index (temp float)
-0:76 'f3' (temp 3-component vector of float)
-0:76 Constant:
-0:76 2 (const int)
-0:77 direct index (temp float)
-0:77 'f4' (temp 4-component vector of float)
-0:77 Constant:
-0:77 0 (const int)
-0:78 direct index (temp float)
-0:78 'f4' (temp 4-component vector of float)
-0:78 Constant:
-0:78 1 (const int)
-0:79 direct index (temp float)
-0:79 'f4' (temp 4-component vector of float)
-0:79 Constant:
-0:79 2 (const int)
-0:80 direct index (temp float)
-0:80 'f4' (temp 4-component vector of float)
-0:80 Constant:
-0:80 3 (const int)
-0:60 false case
-0:80 Constant:
-0:80 1.000000
-0:80 1.000000
-0:80 1.000000
-0:80 1.000000
-0:? Linker Objects
-0:? 'u_b' (uniform bool)
-0:? 'u_b2' (uniform 2-component vector of bool)
-0:? 'u_b3' (uniform 3-component vector of bool)
-0:? 'u_b4' (uniform 4-component vector of bool)
-0:? 'u_i' (uniform int)
-0:? 'u_i2' (uniform 2-component vector of int)
-0:? 'u_i3' (uniform 3-component vector of int)
-0:? 'u_i4' (uniform 4-component vector of int)
-0:? 'u_f' (uniform float)
-0:? 'u_f2' (uniform 2-component vector of float)
-0:? 'u_f3' (uniform 3-component vector of float)
-0:? 'u_f4' (uniform 4-component vector of float)
-0:? 'i_b' (uniform bool)
-0:? 'i_b2' (uniform 2-component vector of bool)
-0:? 'i_b3' (uniform 3-component vector of bool)
-0:? 'i_b4' (uniform 4-component vector of bool)
-0:? 'i_i' (flat in int)
-0:? 'i_i2' (flat in 2-component vector of int)
-0:? 'i_i3' (flat in 3-component vector of int)
-0:? 'i_i4' (flat in 4-component vector of int)
-0:? 'i_f' (smooth in float)
-0:? 'i_f2' (smooth in 2-component vector of float)
-0:? 'i_f3' (smooth in 3-component vector of float)
-0:? 'i_f4' (smooth in 4-component vector of float)
-
+types.frag
+Shader version: 130
+0:? Sequence
+0:33 Function Definition: main( (global void)
+0:33 Function Parameters:
+0:35 Sequence
+0:35 Sequence
+0:35 move second child to first child (temp bool)
+0:35 'b' (temp bool)
+0:35 logical-and (temp bool)
+0:35 'u_b' (uniform bool)
+0:35 'i_b' (uniform bool)
+0:36 Sequence
+0:36 move second child to first child (temp 2-component vector of bool)
+0:36 'b2' (temp 2-component vector of bool)
+0:36 Construct bvec2 (temp 2-component vector of bool)
+0:36 logical-and (temp bool)
+0:36 logical-and (temp bool)
+0:36 logical-and (temp bool)
+0:36 direct index (temp bool)
+0:36 'u_b2' (uniform 2-component vector of bool)
+0:36 Constant:
+0:36 0 (const int)
+0:36 direct index (temp bool)
+0:36 'i_b2' (uniform 2-component vector of bool)
+0:36 Constant:
+0:36 0 (const int)
+0:36 direct index (temp bool)
+0:36 'u_b2' (uniform 2-component vector of bool)
+0:36 Constant:
+0:36 1 (const int)
+0:36 direct index (temp bool)
+0:36 'i_b2' (uniform 2-component vector of bool)
+0:36 Constant:
+0:36 1 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp 3-component vector of bool)
+0:37 'b3' (temp 3-component vector of bool)
+0:37 Construct bvec3 (temp 3-component vector of bool)
+0:37 logical-and (temp bool)
+0:37 logical-and (temp bool)
+0:37 logical-and (temp bool)
+0:37 logical-and (temp bool)
+0:37 logical-and (temp bool)
+0:37 direct index (temp bool)
+0:37 'u_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 0 (const int)
+0:37 direct index (temp bool)
+0:37 'i_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 0 (const int)
+0:37 direct index (temp bool)
+0:37 'u_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 1 (const int)
+0:37 direct index (temp bool)
+0:37 'i_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 1 (const int)
+0:37 direct index (temp bool)
+0:37 'u_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 2 (const int)
+0:37 direct index (temp bool)
+0:37 'i_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 2 (const int)
+0:38 Sequence
+0:38 move second child to first child (temp 4-component vector of bool)
+0:38 'b4' (temp 4-component vector of bool)
+0:38 Construct bvec4 (temp 4-component vector of bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 direct index (temp bool)
+0:38 'u_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 0 (const int)
+0:38 direct index (temp bool)
+0:38 'i_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 0 (const int)
+0:38 direct index (temp bool)
+0:38 'u_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 1 (const int)
+0:38 direct index (temp bool)
+0:38 'i_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 1 (const int)
+0:38 direct index (temp bool)
+0:38 'u_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 2 (const int)
+0:38 direct index (temp bool)
+0:38 'i_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 2 (const int)
+0:38 direct index (temp bool)
+0:38 'u_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 3 (const int)
+0:38 direct index (temp bool)
+0:38 'i_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 3 (const int)
+0:40 Sequence
+0:40 move second child to first child (temp int)
+0:40 'i' (temp int)
+0:40 add (temp int)
+0:40 'u_i' (uniform int)
+0:40 'i_i' (flat in int)
+0:41 Sequence
+0:41 move second child to first child (temp 2-component vector of int)
+0:41 'i2' (temp 2-component vector of int)
+0:41 add (temp 2-component vector of int)
+0:41 'u_i2' (uniform 2-component vector of int)
+0:41 'i_i2' (flat in 2-component vector of int)
+0:42 Sequence
+0:42 move second child to first child (temp 3-component vector of int)
+0:42 'i3' (temp 3-component vector of int)
+0:42 add (temp 3-component vector of int)
+0:42 'u_i3' (uniform 3-component vector of int)
+0:42 'i_i3' (flat in 3-component vector of int)
+0:43 Sequence
+0:43 move second child to first child (temp 4-component vector of int)
+0:43 'i4' (temp 4-component vector of int)
+0:43 add (temp 4-component vector of int)
+0:43 'u_i4' (uniform 4-component vector of int)
+0:43 'i_i4' (flat in 4-component vector of int)
+0:45 Sequence
+0:45 move second child to first child (temp float)
+0:45 'f' (temp float)
+0:45 add (temp float)
+0:45 'u_f' (uniform float)
+0:45 'i_f' (smooth in float)
+0:46 Sequence
+0:46 move second child to first child (temp 2-component vector of float)
+0:46 'f2' (temp 2-component vector of float)
+0:46 add (temp 2-component vector of float)
+0:46 'u_f2' (uniform 2-component vector of float)
+0:46 'i_f2' (smooth in 2-component vector of float)
+0:47 Sequence
+0:47 move second child to first child (temp 3-component vector of float)
+0:47 'f3' (temp 3-component vector of float)
+0:47 add (temp 3-component vector of float)
+0:47 'u_f3' (uniform 3-component vector of float)
+0:47 'i_f3' (smooth in 3-component vector of float)
+0:48 Sequence
+0:48 move second child to first child (temp 4-component vector of float)
+0:48 'f4' (temp 4-component vector of float)
+0:48 add (temp 4-component vector of float)
+0:48 'u_f4' (uniform 4-component vector of float)
+0:48 'i_f4' (smooth in 4-component vector of float)
+0:50 move second child to first child (temp 4-component vector of float)
+0:50 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:60 Test condition and select (temp 4-component vector of float)
+0:60 Condition
+0:59 logical-or (temp bool)
+0:58 logical-or (temp bool)
+0:57 logical-or (temp bool)
+0:56 logical-or (temp bool)
+0:55 logical-or (temp bool)
+0:54 logical-or (temp bool)
+0:53 logical-or (temp bool)
+0:52 logical-or (temp bool)
+0:51 logical-or (temp bool)
+0:51 'b' (temp bool)
+0:52 direct index (temp bool)
+0:52 'b2' (temp 2-component vector of bool)
+0:52 Constant:
+0:52 0 (const int)
+0:53 direct index (temp bool)
+0:53 'b2' (temp 2-component vector of bool)
+0:53 Constant:
+0:53 1 (const int)
+0:54 direct index (temp bool)
+0:54 'b3' (temp 3-component vector of bool)
+0:54 Constant:
+0:54 0 (const int)
+0:55 direct index (temp bool)
+0:55 'b3' (temp 3-component vector of bool)
+0:55 Constant:
+0:55 1 (const int)
+0:56 direct index (temp bool)
+0:56 'b3' (temp 3-component vector of bool)
+0:56 Constant:
+0:56 2 (const int)
+0:57 direct index (temp bool)
+0:57 'b4' (temp 4-component vector of bool)
+0:57 Constant:
+0:57 0 (const int)
+0:58 direct index (temp bool)
+0:58 'b4' (temp 4-component vector of bool)
+0:58 Constant:
+0:58 1 (const int)
+0:59 direct index (temp bool)
+0:59 'b4' (temp 4-component vector of bool)
+0:59 Constant:
+0:59 2 (const int)
+0:60 direct index (temp bool)
+0:60 'b4' (temp 4-component vector of bool)
+0:60 Constant:
+0:60 3 (const int)
+0:60 true case
+0:79 Construct vec4 (temp 4-component vector of float)
+0:79 add (temp float)
+0:78 add (temp float)
+0:77 add (temp float)
+0:76 add (temp float)
+0:75 add (temp float)
+0:74 add (temp float)
+0:73 add (temp float)
+0:72 add (temp float)
+0:71 add (temp float)
+0:70 add (temp float)
+0:69 Convert int to float (temp float)
+0:69 add (temp int)
+0:68 add (temp int)
+0:67 add (temp int)
+0:66 add (temp int)
+0:65 add (temp int)
+0:64 add (temp int)
+0:63 add (temp int)
+0:62 add (temp int)
+0:61 add (temp int)
+0:61 'i' (temp int)
+0:62 direct index (temp int)
+0:62 'i2' (temp 2-component vector of int)
+0:62 Constant:
+0:62 0 (const int)
+0:63 direct index (temp int)
+0:63 'i2' (temp 2-component vector of int)
+0:63 Constant:
+0:63 1 (const int)
+0:64 direct index (temp int)
+0:64 'i3' (temp 3-component vector of int)
+0:64 Constant:
+0:64 0 (const int)
+0:65 direct index (temp int)
+0:65 'i3' (temp 3-component vector of int)
+0:65 Constant:
+0:65 1 (const int)
+0:66 direct index (temp int)
+0:66 'i3' (temp 3-component vector of int)
+0:66 Constant:
+0:66 2 (const int)
+0:67 direct index (temp int)
+0:67 'i4' (temp 4-component vector of int)
+0:67 Constant:
+0:67 0 (const int)
+0:68 direct index (temp int)
+0:68 'i4' (temp 4-component vector of int)
+0:68 Constant:
+0:68 1 (const int)
+0:69 direct index (temp int)
+0:69 'i4' (temp 4-component vector of int)
+0:69 Constant:
+0:69 2 (const int)
+0:70 direct index (temp int)
+0:70 'i4' (temp 4-component vector of int)
+0:70 Constant:
+0:70 3 (const int)
+0:71 'f' (temp float)
+0:72 direct index (temp float)
+0:72 'f2' (temp 2-component vector of float)
+0:72 Constant:
+0:72 0 (const int)
+0:73 direct index (temp float)
+0:73 'f2' (temp 2-component vector of float)
+0:73 Constant:
+0:73 1 (const int)
+0:74 direct index (temp float)
+0:74 'f3' (temp 3-component vector of float)
+0:74 Constant:
+0:74 0 (const int)
+0:75 direct index (temp float)
+0:75 'f3' (temp 3-component vector of float)
+0:75 Constant:
+0:75 1 (const int)
+0:76 direct index (temp float)
+0:76 'f3' (temp 3-component vector of float)
+0:76 Constant:
+0:76 2 (const int)
+0:77 direct index (temp float)
+0:77 'f4' (temp 4-component vector of float)
+0:77 Constant:
+0:77 0 (const int)
+0:78 direct index (temp float)
+0:78 'f4' (temp 4-component vector of float)
+0:78 Constant:
+0:78 1 (const int)
+0:79 direct index (temp float)
+0:79 'f4' (temp 4-component vector of float)
+0:79 Constant:
+0:79 2 (const int)
+0:80 direct index (temp float)
+0:80 'f4' (temp 4-component vector of float)
+0:80 Constant:
+0:80 3 (const int)
+0:60 false case
+0:80 Constant:
+0:80 1.000000
+0:80 1.000000
+0:80 1.000000
+0:80 1.000000
+0:? Linker Objects
+0:? 'u_b' (uniform bool)
+0:? 'u_b2' (uniform 2-component vector of bool)
+0:? 'u_b3' (uniform 3-component vector of bool)
+0:? 'u_b4' (uniform 4-component vector of bool)
+0:? 'u_i' (uniform int)
+0:? 'u_i2' (uniform 2-component vector of int)
+0:? 'u_i3' (uniform 3-component vector of int)
+0:? 'u_i4' (uniform 4-component vector of int)
+0:? 'u_f' (uniform float)
+0:? 'u_f2' (uniform 2-component vector of float)
+0:? 'u_f3' (uniform 3-component vector of float)
+0:? 'u_f4' (uniform 4-component vector of float)
+0:? 'i_b' (uniform bool)
+0:? 'i_b2' (uniform 2-component vector of bool)
+0:? 'i_b3' (uniform 3-component vector of bool)
+0:? 'i_b4' (uniform 4-component vector of bool)
+0:? 'i_i' (flat in int)
+0:? 'i_i2' (flat in 2-component vector of int)
+0:? 'i_i3' (flat in 3-component vector of int)
+0:? 'i_i4' (flat in 4-component vector of int)
+0:? 'i_f' (smooth in float)
+0:? 'i_f2' (smooth in 2-component vector of float)
+0:? 'i_f3' (smooth in 3-component vector of float)
+0:? 'i_f4' (smooth in 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:33 Function Definition: main( (global void)
+0:33 Function Parameters:
+0:35 Sequence
+0:35 Sequence
+0:35 move second child to first child (temp bool)
+0:35 'b' (temp bool)
+0:35 logical-and (temp bool)
+0:35 'u_b' (uniform bool)
+0:35 'i_b' (uniform bool)
+0:36 Sequence
+0:36 move second child to first child (temp 2-component vector of bool)
+0:36 'b2' (temp 2-component vector of bool)
+0:36 Construct bvec2 (temp 2-component vector of bool)
+0:36 logical-and (temp bool)
+0:36 logical-and (temp bool)
+0:36 logical-and (temp bool)
+0:36 direct index (temp bool)
+0:36 'u_b2' (uniform 2-component vector of bool)
+0:36 Constant:
+0:36 0 (const int)
+0:36 direct index (temp bool)
+0:36 'i_b2' (uniform 2-component vector of bool)
+0:36 Constant:
+0:36 0 (const int)
+0:36 direct index (temp bool)
+0:36 'u_b2' (uniform 2-component vector of bool)
+0:36 Constant:
+0:36 1 (const int)
+0:36 direct index (temp bool)
+0:36 'i_b2' (uniform 2-component vector of bool)
+0:36 Constant:
+0:36 1 (const int)
+0:37 Sequence
+0:37 move second child to first child (temp 3-component vector of bool)
+0:37 'b3' (temp 3-component vector of bool)
+0:37 Construct bvec3 (temp 3-component vector of bool)
+0:37 logical-and (temp bool)
+0:37 logical-and (temp bool)
+0:37 logical-and (temp bool)
+0:37 logical-and (temp bool)
+0:37 logical-and (temp bool)
+0:37 direct index (temp bool)
+0:37 'u_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 0 (const int)
+0:37 direct index (temp bool)
+0:37 'i_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 0 (const int)
+0:37 direct index (temp bool)
+0:37 'u_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 1 (const int)
+0:37 direct index (temp bool)
+0:37 'i_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 1 (const int)
+0:37 direct index (temp bool)
+0:37 'u_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 2 (const int)
+0:37 direct index (temp bool)
+0:37 'i_b3' (uniform 3-component vector of bool)
+0:37 Constant:
+0:37 2 (const int)
+0:38 Sequence
+0:38 move second child to first child (temp 4-component vector of bool)
+0:38 'b4' (temp 4-component vector of bool)
+0:38 Construct bvec4 (temp 4-component vector of bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 logical-and (temp bool)
+0:38 direct index (temp bool)
+0:38 'u_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 0 (const int)
+0:38 direct index (temp bool)
+0:38 'i_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 0 (const int)
+0:38 direct index (temp bool)
+0:38 'u_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 1 (const int)
+0:38 direct index (temp bool)
+0:38 'i_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 1 (const int)
+0:38 direct index (temp bool)
+0:38 'u_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 2 (const int)
+0:38 direct index (temp bool)
+0:38 'i_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 2 (const int)
+0:38 direct index (temp bool)
+0:38 'u_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 3 (const int)
+0:38 direct index (temp bool)
+0:38 'i_b4' (uniform 4-component vector of bool)
+0:38 Constant:
+0:38 3 (const int)
+0:40 Sequence
+0:40 move second child to first child (temp int)
+0:40 'i' (temp int)
+0:40 add (temp int)
+0:40 'u_i' (uniform int)
+0:40 'i_i' (flat in int)
+0:41 Sequence
+0:41 move second child to first child (temp 2-component vector of int)
+0:41 'i2' (temp 2-component vector of int)
+0:41 add (temp 2-component vector of int)
+0:41 'u_i2' (uniform 2-component vector of int)
+0:41 'i_i2' (flat in 2-component vector of int)
+0:42 Sequence
+0:42 move second child to first child (temp 3-component vector of int)
+0:42 'i3' (temp 3-component vector of int)
+0:42 add (temp 3-component vector of int)
+0:42 'u_i3' (uniform 3-component vector of int)
+0:42 'i_i3' (flat in 3-component vector of int)
+0:43 Sequence
+0:43 move second child to first child (temp 4-component vector of int)
+0:43 'i4' (temp 4-component vector of int)
+0:43 add (temp 4-component vector of int)
+0:43 'u_i4' (uniform 4-component vector of int)
+0:43 'i_i4' (flat in 4-component vector of int)
+0:45 Sequence
+0:45 move second child to first child (temp float)
+0:45 'f' (temp float)
+0:45 add (temp float)
+0:45 'u_f' (uniform float)
+0:45 'i_f' (smooth in float)
+0:46 Sequence
+0:46 move second child to first child (temp 2-component vector of float)
+0:46 'f2' (temp 2-component vector of float)
+0:46 add (temp 2-component vector of float)
+0:46 'u_f2' (uniform 2-component vector of float)
+0:46 'i_f2' (smooth in 2-component vector of float)
+0:47 Sequence
+0:47 move second child to first child (temp 3-component vector of float)
+0:47 'f3' (temp 3-component vector of float)
+0:47 add (temp 3-component vector of float)
+0:47 'u_f3' (uniform 3-component vector of float)
+0:47 'i_f3' (smooth in 3-component vector of float)
+0:48 Sequence
+0:48 move second child to first child (temp 4-component vector of float)
+0:48 'f4' (temp 4-component vector of float)
+0:48 add (temp 4-component vector of float)
+0:48 'u_f4' (uniform 4-component vector of float)
+0:48 'i_f4' (smooth in 4-component vector of float)
+0:50 move second child to first child (temp 4-component vector of float)
+0:50 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:60 Test condition and select (temp 4-component vector of float)
+0:60 Condition
+0:59 logical-or (temp bool)
+0:58 logical-or (temp bool)
+0:57 logical-or (temp bool)
+0:56 logical-or (temp bool)
+0:55 logical-or (temp bool)
+0:54 logical-or (temp bool)
+0:53 logical-or (temp bool)
+0:52 logical-or (temp bool)
+0:51 logical-or (temp bool)
+0:51 'b' (temp bool)
+0:52 direct index (temp bool)
+0:52 'b2' (temp 2-component vector of bool)
+0:52 Constant:
+0:52 0 (const int)
+0:53 direct index (temp bool)
+0:53 'b2' (temp 2-component vector of bool)
+0:53 Constant:
+0:53 1 (const int)
+0:54 direct index (temp bool)
+0:54 'b3' (temp 3-component vector of bool)
+0:54 Constant:
+0:54 0 (const int)
+0:55 direct index (temp bool)
+0:55 'b3' (temp 3-component vector of bool)
+0:55 Constant:
+0:55 1 (const int)
+0:56 direct index (temp bool)
+0:56 'b3' (temp 3-component vector of bool)
+0:56 Constant:
+0:56 2 (const int)
+0:57 direct index (temp bool)
+0:57 'b4' (temp 4-component vector of bool)
+0:57 Constant:
+0:57 0 (const int)
+0:58 direct index (temp bool)
+0:58 'b4' (temp 4-component vector of bool)
+0:58 Constant:
+0:58 1 (const int)
+0:59 direct index (temp bool)
+0:59 'b4' (temp 4-component vector of bool)
+0:59 Constant:
+0:59 2 (const int)
+0:60 direct index (temp bool)
+0:60 'b4' (temp 4-component vector of bool)
+0:60 Constant:
+0:60 3 (const int)
+0:60 true case
+0:79 Construct vec4 (temp 4-component vector of float)
+0:79 add (temp float)
+0:78 add (temp float)
+0:77 add (temp float)
+0:76 add (temp float)
+0:75 add (temp float)
+0:74 add (temp float)
+0:73 add (temp float)
+0:72 add (temp float)
+0:71 add (temp float)
+0:70 add (temp float)
+0:69 Convert int to float (temp float)
+0:69 add (temp int)
+0:68 add (temp int)
+0:67 add (temp int)
+0:66 add (temp int)
+0:65 add (temp int)
+0:64 add (temp int)
+0:63 add (temp int)
+0:62 add (temp int)
+0:61 add (temp int)
+0:61 'i' (temp int)
+0:62 direct index (temp int)
+0:62 'i2' (temp 2-component vector of int)
+0:62 Constant:
+0:62 0 (const int)
+0:63 direct index (temp int)
+0:63 'i2' (temp 2-component vector of int)
+0:63 Constant:
+0:63 1 (const int)
+0:64 direct index (temp int)
+0:64 'i3' (temp 3-component vector of int)
+0:64 Constant:
+0:64 0 (const int)
+0:65 direct index (temp int)
+0:65 'i3' (temp 3-component vector of int)
+0:65 Constant:
+0:65 1 (const int)
+0:66 direct index (temp int)
+0:66 'i3' (temp 3-component vector of int)
+0:66 Constant:
+0:66 2 (const int)
+0:67 direct index (temp int)
+0:67 'i4' (temp 4-component vector of int)
+0:67 Constant:
+0:67 0 (const int)
+0:68 direct index (temp int)
+0:68 'i4' (temp 4-component vector of int)
+0:68 Constant:
+0:68 1 (const int)
+0:69 direct index (temp int)
+0:69 'i4' (temp 4-component vector of int)
+0:69 Constant:
+0:69 2 (const int)
+0:70 direct index (temp int)
+0:70 'i4' (temp 4-component vector of int)
+0:70 Constant:
+0:70 3 (const int)
+0:71 'f' (temp float)
+0:72 direct index (temp float)
+0:72 'f2' (temp 2-component vector of float)
+0:72 Constant:
+0:72 0 (const int)
+0:73 direct index (temp float)
+0:73 'f2' (temp 2-component vector of float)
+0:73 Constant:
+0:73 1 (const int)
+0:74 direct index (temp float)
+0:74 'f3' (temp 3-component vector of float)
+0:74 Constant:
+0:74 0 (const int)
+0:75 direct index (temp float)
+0:75 'f3' (temp 3-component vector of float)
+0:75 Constant:
+0:75 1 (const int)
+0:76 direct index (temp float)
+0:76 'f3' (temp 3-component vector of float)
+0:76 Constant:
+0:76 2 (const int)
+0:77 direct index (temp float)
+0:77 'f4' (temp 4-component vector of float)
+0:77 Constant:
+0:77 0 (const int)
+0:78 direct index (temp float)
+0:78 'f4' (temp 4-component vector of float)
+0:78 Constant:
+0:78 1 (const int)
+0:79 direct index (temp float)
+0:79 'f4' (temp 4-component vector of float)
+0:79 Constant:
+0:79 2 (const int)
+0:80 direct index (temp float)
+0:80 'f4' (temp 4-component vector of float)
+0:80 Constant:
+0:80 3 (const int)
+0:60 false case
+0:80 Constant:
+0:80 1.000000
+0:80 1.000000
+0:80 1.000000
+0:80 1.000000
+0:? Linker Objects
+0:? 'u_b' (uniform bool)
+0:? 'u_b2' (uniform 2-component vector of bool)
+0:? 'u_b3' (uniform 3-component vector of bool)
+0:? 'u_b4' (uniform 4-component vector of bool)
+0:? 'u_i' (uniform int)
+0:? 'u_i2' (uniform 2-component vector of int)
+0:? 'u_i3' (uniform 3-component vector of int)
+0:? 'u_i4' (uniform 4-component vector of int)
+0:? 'u_f' (uniform float)
+0:? 'u_f2' (uniform 2-component vector of float)
+0:? 'u_f3' (uniform 3-component vector of float)
+0:? 'u_f4' (uniform 4-component vector of float)
+0:? 'i_b' (uniform bool)
+0:? 'i_b2' (uniform 2-component vector of bool)
+0:? 'i_b3' (uniform 3-component vector of bool)
+0:? 'i_b4' (uniform 4-component vector of bool)
+0:? 'i_i' (flat in int)
+0:? 'i_i2' (flat in 2-component vector of int)
+0:? 'i_i3' (flat in 3-component vector of int)
+0:? 'i_i4' (flat in 4-component vector of int)
+0:? 'i_f' (smooth in float)
+0:? 'i_f2' (smooth in 2-component vector of float)
+0:? 'i_f3' (smooth in 3-component vector of float)
+0:? 'i_f4' (smooth in 4-component vector of float)
+
diff --git a/Test/baseResults/uint.frag.out b/Test/baseResults/uint.frag.out
index 4f4d589..c06ad84 100644
--- a/Test/baseResults/uint.frag.out
+++ b/Test/baseResults/uint.frag.out
@@ -1,607 +1,607 @@
-uint.frag
-ERROR: 0:2: 'uint' : must be qualified as flat in
-ERROR: 0:6: 'in' : cannot be bool
-ERROR: 0:20: 'const' : non-matching or non-convertible constant type for const initializer
-ERROR: 0:24: 'const' : non-matching or non-convertible constant type for const initializer
-ERROR: 0:34: 'const' : non-matching or non-convertible constant type for const initializer
-ERROR: 0:37: 'const' : non-matching or non-convertible constant type for const initializer
-ERROR: 0:48: '=' : cannot convert from 'const int' to 'temp mediump uint'
-ERROR: 0:51: '=' : cannot convert from 'const int' to 'temp mediump uint'
-ERROR: 0:63: 'float' : type requires declaration of default precision qualifier
-ERROR: 9 compilation errors. No code generated.
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:15 Function Definition: main( (global void)
-0:15 Function Parameters:
-0:17 Sequence
-0:17 Sequence
-0:17 move second child to first child (temp mediump int)
-0:17 'count' (temp mediump int)
-0:17 Constant:
-0:17 1 (const int)
-0:19 Sequence
-0:19 move second child to first child (temp mediump uint)
-0:19 'u' (temp mediump uint)
-0:19 add (temp mediump uint)
-0:19 direct index (temp mediump uint)
-0:19 't' (flat in mediump 2-component vector of uint)
-0:19 Constant:
-0:19 1 (const int)
-0:19 Constant:
-0:19 3 (const uint)
-0:27 Test condition and select (temp void)
-0:27 Condition
-0:27 Constant:
-0:27 true (const bool)
-0:27 true case
-0:28 multiply second child into first child (temp mediump int)
-0:28 'count' (temp mediump int)
-0:28 Constant:
-0:28 2 (const int)
-0:29 Test condition and select (temp void)
-0:29 Condition
-0:29 Constant:
-0:29 true (const bool)
-0:29 true case
-0:30 multiply second child into first child (temp mediump int)
-0:30 'count' (temp mediump int)
-0:30 Constant:
-0:30 3 (const int)
-0:31 Test condition and select (temp void)
-0:31 Condition
-0:31 Constant:
-0:31 false (const bool)
-0:31 true case
-0:32 multiply second child into first child (temp mediump int)
-0:32 'count' (temp mediump int)
-0:32 Constant:
-0:32 5 (const int)
-0:41 Test condition and select (temp void)
-0:41 Condition
-0:41 Constant:
-0:41 true (const bool)
-0:41 true case
-0:42 multiply second child into first child (temp mediump int)
-0:42 'count' (temp mediump int)
-0:42 Constant:
-0:42 7 (const int)
-0:43 Test condition and select (temp void)
-0:43 Condition
-0:43 Constant:
-0:43 true (const bool)
-0:43 true case
-0:44 multiply second child into first child (temp mediump int)
-0:44 'count' (temp mediump int)
-0:44 Constant:
-0:44 11 (const int)
-0:45 Test condition and select (temp void)
-0:45 Condition
-0:45 Constant:
-0:45 false (const bool)
-0:45 true case
-0:46 multiply second child into first child (temp mediump int)
-0:46 'count' (temp mediump int)
-0:46 Constant:
-0:46 13 (const int)
-0:49 Sequence
-0:49 move second child to first child (temp mediump int)
-0:49 'shiftedii' (temp mediump int)
-0:49 Constant:
-0:49 -1 (const int)
-0:50 Sequence
-0:50 move second child to first child (temp mediump uint)
-0:50 'shiftedui' (temp mediump uint)
-0:50 Constant:
-0:50 4194303 (const uint)
-0:52 Sequence
-0:52 move second child to first child (temp mediump int)
-0:52 'shiftediu' (temp mediump int)
-0:52 Constant:
-0:52 -1 (const int)
-0:53 Sequence
-0:53 move second child to first child (temp mediump uint)
-0:53 'shifteduu' (temp mediump uint)
-0:53 Constant:
-0:53 4194303 (const uint)
-0:55 Test condition and select (temp void)
-0:55 Condition
-0:55 Compare Equal (temp bool)
-0:55 'shiftedii' (temp mediump int)
-0:55 'shiftediu' (temp mediump int)
-0:55 true case
-0:56 move second child to first child (temp mediump 4-component vector of uint)
-0:56 'c' (out mediump 4-component vector of uint)
-0:56 texture (global mediump 4-component vector of uint)
-0:56 'usampler' (uniform lowp usampler2D)
-0:56 'tc' (smooth in highp 2-component vector of float)
-0:57 Test condition and select (temp void)
-0:57 Condition
-0:57 Compare Equal (temp bool)
-0:57 'shiftedui' (temp mediump uint)
-0:57 'shifteduu' (temp mediump uint)
-0:57 true case
-0:58 move second child to first child (temp mediump 4-component vector of uint)
-0:58 'c' (out mediump 4-component vector of uint)
-0:58 texture (global mediump 4-component vector of uint)
-0:58 'usampler' (uniform lowp usampler2D)
-0:58 add (temp highp 2-component vector of float)
-0:58 'tc' (smooth in highp 2-component vector of float)
-0:58 Constant:
-0:58 1.000000
-0:59 Test condition and select (temp void)
-0:59 Condition
-0:59 Compare Equal (temp bool)
-0:59 'shiftedii' (temp mediump int)
-0:59 Convert uint to int (temp int)
-0:59 'shiftedui' (temp mediump uint)
-0:59 true case
-0:60 move second child to first child (temp mediump 4-component vector of uint)
-0:60 'c' (out mediump 4-component vector of uint)
-0:60 texture (global mediump 4-component vector of uint)
-0:60 'usampler' (uniform lowp usampler2D)
-0:60 subtract (temp highp 2-component vector of float)
-0:60 'tc' (smooth in highp 2-component vector of float)
-0:60 Constant:
-0:60 2.000000
-0:60 2.000000
-0:62 Test condition and select (temp void)
-0:62 Condition
-0:62 Compare Greater Than (temp bool)
-0:62 direct index (temp mediump uint)
-0:62 't' (flat in mediump 2-component vector of uint)
-0:62 Constant:
-0:62 0 (const int)
-0:62 Constant:
-0:62 4 (const uint)
-0:62 true case
-0:63 Sequence
-0:63 Sequence
-0:63 move second child to first child (temp mediump float)
-0:63 'af' (temp mediump float)
-0:63 Convert uint to float (temp mediump float)
-0:63 'u' (temp mediump uint)
-0:64 Sequence
-0:64 move second child to first child (temp bool)
-0:64 'ab' (temp bool)
-0:64 Convert uint to bool (temp bool)
-0:64 'u' (temp mediump uint)
-0:65 Sequence
-0:65 move second child to first child (temp mediump int)
-0:65 'ai' (temp mediump int)
-0:65 Convert uint to int (temp mediump int)
-0:65 'u' (temp mediump uint)
-0:67 add second child into first child (temp mediump 4-component vector of uint)
-0:67 'c' (out mediump 4-component vector of uint)
-0:67 Construct uvec4 (temp mediump 4-component vector of uint)
-0:67 Convert float to uint (temp mediump uint)
-0:67 'af' (temp mediump float)
-0:67 Convert bool to uint (temp mediump uint)
-0:67 'ab' (temp bool)
-0:67 Convert int to uint (temp mediump uint)
-0:67 'ai' (temp mediump int)
-0:67 Convert int to uint (temp mediump uint)
-0:67 'count' (temp mediump int)
-0:75 Test condition and select (temp void)
-0:75 Condition
-0:75 Constant:
-0:75 true (const bool)
-0:75 true case
-0:76 multiply second child into first child (temp mediump int)
-0:76 'count' (temp mediump int)
-0:76 Constant:
-0:76 17 (const int)
-0:78 Test condition and select (temp void)
-0:78 Condition
-0:78 Constant:
-0:78 false (const bool)
-0:78 true case
-0:79 multiply second child into first child (temp mediump int)
-0:79 'count' (temp mediump int)
-0:79 Constant:
-0:79 19 (const int)
-0:81 Test condition and select (temp void)
-0:81 Condition
-0:81 Constant:
-0:81 true (const bool)
-0:81 true case
-0:82 multiply second child into first child (temp mediump int)
-0:82 'count' (temp mediump int)
-0:82 Constant:
-0:82 23 (const int)
-0:84 Test condition and select (temp void)
-0:84 Condition
-0:84 Constant:
-0:84 true (const bool)
-0:84 true case
-0:85 multiply second child into first child (temp mediump int)
-0:85 'count' (temp mediump int)
-0:85 Constant:
-0:85 27 (const int)
-0:87 Sequence
-0:87 move second child to first child (temp mediump uint)
-0:87 'mask1' (temp mediump uint)
-0:87 Constant:
-0:87 161 (const uint)
-0:88 Sequence
-0:88 move second child to first child (temp mediump uint)
-0:88 'mask2' (temp mediump uint)
-0:88 Constant:
-0:88 2576 (const uint)
-0:89 Sequence
-0:89 move second child to first child (temp mediump uint)
-0:89 'mask3' (temp mediump uint)
-0:89 left-shift (temp mediump uint)
-0:89 'mask1' (temp mediump uint)
-0:89 Constant:
-0:89 4 (const int)
-0:90 Sequence
-0:90 move second child to first child (temp mediump uint)
-0:90 'mask4' (temp mediump uint)
-0:90 Constant:
-0:90 2737 (const uint)
-0:92 Test condition and select (temp void)
-0:92 Condition
-0:92 Compare Equal (temp bool)
-0:92 'mask3' (temp mediump uint)
-0:92 'mask2' (temp mediump uint)
-0:92 true case
-0:93 multiply second child into first child (temp mediump int)
-0:93 'count' (temp mediump int)
-0:93 Constant:
-0:93 100 (const int)
-0:95 Test condition and select (temp void)
-0:95 Condition
-0:95 Compare Not Equal (temp bool)
-0:95 bitwise and (temp mediump uint)
-0:95 'mask3' (temp mediump uint)
-0:95 'mask1' (temp mediump uint)
-0:95 Constant:
-0:95 0 (const uint)
-0:95 true case
-0:96 multiply second child into first child (temp mediump int)
-0:96 'count' (temp mediump int)
-0:96 Constant:
-0:96 101 (const int)
-0:98 Test condition and select (temp void)
-0:98 Condition
-0:98 Compare Equal (temp bool)
-0:98 inclusive-or (temp mediump uint)
-0:98 'mask1' (temp mediump uint)
-0:98 'mask3' (temp mediump uint)
-0:98 'mask4' (temp mediump uint)
-0:98 true case
-0:99 multiply second child into first child (temp mediump int)
-0:99 'count' (temp mediump int)
-0:99 Constant:
-0:99 102 (const int)
-0:101 Test condition and select (temp void)
-0:101 Condition
-0:101 Compare Equal (temp bool)
-0:101 exclusive-or (temp mediump uint)
-0:101 'mask1' (temp mediump uint)
-0:101 'mask4' (temp mediump uint)
-0:101 Constant:
-0:101 2576 (const uint)
-0:101 true case
-0:102 multiply second child into first child (temp mediump int)
-0:102 'count' (temp mediump int)
-0:102 Constant:
-0:102 103 (const int)
-0:104 add second child into first child (temp mediump 4-component vector of uint)
-0:104 'c' (out mediump 4-component vector of uint)
-0:104 Construct uvec4 (temp mediump 4-component vector of uint)
-0:104 Convert int to uint (temp mediump uint)
-0:104 'count' (temp mediump int)
-0:? Linker Objects
-0:? 'badu' (smooth in mediump 2-component vector of uint)
-0:? 't' (flat in mediump 2-component vector of uint)
-0:? 'f' (smooth in highp float)
-0:? 'tc' (smooth in highp 2-component vector of float)
-0:? 'bad' (smooth in bool)
-0:? 'v' (uniform mediump 4-component vector of uint)
-0:? 'i' (uniform mediump int)
-0:? 'b' (uniform bool)
-0:? 'c' (out mediump 4-component vector of uint)
-0:? 'usampler' (uniform lowp usampler2D)
-
-
-Linked fragment stage:
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:15 Function Definition: main( (global void)
-0:15 Function Parameters:
-0:17 Sequence
-0:17 Sequence
-0:17 move second child to first child (temp mediump int)
-0:17 'count' (temp mediump int)
-0:17 Constant:
-0:17 1 (const int)
-0:19 Sequence
-0:19 move second child to first child (temp mediump uint)
-0:19 'u' (temp mediump uint)
-0:19 add (temp mediump uint)
-0:19 direct index (temp mediump uint)
-0:19 't' (flat in mediump 2-component vector of uint)
-0:19 Constant:
-0:19 1 (const int)
-0:19 Constant:
-0:19 3 (const uint)
-0:27 Test condition and select (temp void)
-0:27 Condition
-0:27 Constant:
-0:27 true (const bool)
-0:27 true case
-0:28 multiply second child into first child (temp mediump int)
-0:28 'count' (temp mediump int)
-0:28 Constant:
-0:28 2 (const int)
-0:29 Test condition and select (temp void)
-0:29 Condition
-0:29 Constant:
-0:29 true (const bool)
-0:29 true case
-0:30 multiply second child into first child (temp mediump int)
-0:30 'count' (temp mediump int)
-0:30 Constant:
-0:30 3 (const int)
-0:31 Test condition and select (temp void)
-0:31 Condition
-0:31 Constant:
-0:31 false (const bool)
-0:31 true case
-0:32 multiply second child into first child (temp mediump int)
-0:32 'count' (temp mediump int)
-0:32 Constant:
-0:32 5 (const int)
-0:41 Test condition and select (temp void)
-0:41 Condition
-0:41 Constant:
-0:41 true (const bool)
-0:41 true case
-0:42 multiply second child into first child (temp mediump int)
-0:42 'count' (temp mediump int)
-0:42 Constant:
-0:42 7 (const int)
-0:43 Test condition and select (temp void)
-0:43 Condition
-0:43 Constant:
-0:43 true (const bool)
-0:43 true case
-0:44 multiply second child into first child (temp mediump int)
-0:44 'count' (temp mediump int)
-0:44 Constant:
-0:44 11 (const int)
-0:45 Test condition and select (temp void)
-0:45 Condition
-0:45 Constant:
-0:45 false (const bool)
-0:45 true case
-0:46 multiply second child into first child (temp mediump int)
-0:46 'count' (temp mediump int)
-0:46 Constant:
-0:46 13 (const int)
-0:49 Sequence
-0:49 move second child to first child (temp mediump int)
-0:49 'shiftedii' (temp mediump int)
-0:49 Constant:
-0:49 -1 (const int)
-0:50 Sequence
-0:50 move second child to first child (temp mediump uint)
-0:50 'shiftedui' (temp mediump uint)
-0:50 Constant:
-0:50 4194303 (const uint)
-0:52 Sequence
-0:52 move second child to first child (temp mediump int)
-0:52 'shiftediu' (temp mediump int)
-0:52 Constant:
-0:52 -1 (const int)
-0:53 Sequence
-0:53 move second child to first child (temp mediump uint)
-0:53 'shifteduu' (temp mediump uint)
-0:53 Constant:
-0:53 4194303 (const uint)
-0:55 Test condition and select (temp void)
-0:55 Condition
-0:55 Compare Equal (temp bool)
-0:55 'shiftedii' (temp mediump int)
-0:55 'shiftediu' (temp mediump int)
-0:55 true case
-0:56 move second child to first child (temp mediump 4-component vector of uint)
-0:56 'c' (out mediump 4-component vector of uint)
-0:56 texture (global mediump 4-component vector of uint)
-0:56 'usampler' (uniform lowp usampler2D)
-0:56 'tc' (smooth in highp 2-component vector of float)
-0:57 Test condition and select (temp void)
-0:57 Condition
-0:57 Compare Equal (temp bool)
-0:57 'shiftedui' (temp mediump uint)
-0:57 'shifteduu' (temp mediump uint)
-0:57 true case
-0:58 move second child to first child (temp mediump 4-component vector of uint)
-0:58 'c' (out mediump 4-component vector of uint)
-0:58 texture (global mediump 4-component vector of uint)
-0:58 'usampler' (uniform lowp usampler2D)
-0:58 add (temp highp 2-component vector of float)
-0:58 'tc' (smooth in highp 2-component vector of float)
-0:58 Constant:
-0:58 1.000000
-0:59 Test condition and select (temp void)
-0:59 Condition
-0:59 Compare Equal (temp bool)
-0:59 'shiftedii' (temp mediump int)
-0:59 Convert uint to int (temp int)
-0:59 'shiftedui' (temp mediump uint)
-0:59 true case
-0:60 move second child to first child (temp mediump 4-component vector of uint)
-0:60 'c' (out mediump 4-component vector of uint)
-0:60 texture (global mediump 4-component vector of uint)
-0:60 'usampler' (uniform lowp usampler2D)
-0:60 subtract (temp highp 2-component vector of float)
-0:60 'tc' (smooth in highp 2-component vector of float)
-0:60 Constant:
-0:60 2.000000
-0:60 2.000000
-0:62 Test condition and select (temp void)
-0:62 Condition
-0:62 Compare Greater Than (temp bool)
-0:62 direct index (temp mediump uint)
-0:62 't' (flat in mediump 2-component vector of uint)
-0:62 Constant:
-0:62 0 (const int)
-0:62 Constant:
-0:62 4 (const uint)
-0:62 true case
-0:63 Sequence
-0:63 Sequence
-0:63 move second child to first child (temp mediump float)
-0:63 'af' (temp mediump float)
-0:63 Convert uint to float (temp mediump float)
-0:63 'u' (temp mediump uint)
-0:64 Sequence
-0:64 move second child to first child (temp bool)
-0:64 'ab' (temp bool)
-0:64 Convert uint to bool (temp bool)
-0:64 'u' (temp mediump uint)
-0:65 Sequence
-0:65 move second child to first child (temp mediump int)
-0:65 'ai' (temp mediump int)
-0:65 Convert uint to int (temp mediump int)
-0:65 'u' (temp mediump uint)
-0:67 add second child into first child (temp mediump 4-component vector of uint)
-0:67 'c' (out mediump 4-component vector of uint)
-0:67 Construct uvec4 (temp mediump 4-component vector of uint)
-0:67 Convert float to uint (temp mediump uint)
-0:67 'af' (temp mediump float)
-0:67 Convert bool to uint (temp mediump uint)
-0:67 'ab' (temp bool)
-0:67 Convert int to uint (temp mediump uint)
-0:67 'ai' (temp mediump int)
-0:67 Convert int to uint (temp mediump uint)
-0:67 'count' (temp mediump int)
-0:75 Test condition and select (temp void)
-0:75 Condition
-0:75 Constant:
-0:75 true (const bool)
-0:75 true case
-0:76 multiply second child into first child (temp mediump int)
-0:76 'count' (temp mediump int)
-0:76 Constant:
-0:76 17 (const int)
-0:78 Test condition and select (temp void)
-0:78 Condition
-0:78 Constant:
-0:78 false (const bool)
-0:78 true case
-0:79 multiply second child into first child (temp mediump int)
-0:79 'count' (temp mediump int)
-0:79 Constant:
-0:79 19 (const int)
-0:81 Test condition and select (temp void)
-0:81 Condition
-0:81 Constant:
-0:81 true (const bool)
-0:81 true case
-0:82 multiply second child into first child (temp mediump int)
-0:82 'count' (temp mediump int)
-0:82 Constant:
-0:82 23 (const int)
-0:84 Test condition and select (temp void)
-0:84 Condition
-0:84 Constant:
-0:84 true (const bool)
-0:84 true case
-0:85 multiply second child into first child (temp mediump int)
-0:85 'count' (temp mediump int)
-0:85 Constant:
-0:85 27 (const int)
-0:87 Sequence
-0:87 move second child to first child (temp mediump uint)
-0:87 'mask1' (temp mediump uint)
-0:87 Constant:
-0:87 161 (const uint)
-0:88 Sequence
-0:88 move second child to first child (temp mediump uint)
-0:88 'mask2' (temp mediump uint)
-0:88 Constant:
-0:88 2576 (const uint)
-0:89 Sequence
-0:89 move second child to first child (temp mediump uint)
-0:89 'mask3' (temp mediump uint)
-0:89 left-shift (temp mediump uint)
-0:89 'mask1' (temp mediump uint)
-0:89 Constant:
-0:89 4 (const int)
-0:90 Sequence
-0:90 move second child to first child (temp mediump uint)
-0:90 'mask4' (temp mediump uint)
-0:90 Constant:
-0:90 2737 (const uint)
-0:92 Test condition and select (temp void)
-0:92 Condition
-0:92 Compare Equal (temp bool)
-0:92 'mask3' (temp mediump uint)
-0:92 'mask2' (temp mediump uint)
-0:92 true case
-0:93 multiply second child into first child (temp mediump int)
-0:93 'count' (temp mediump int)
-0:93 Constant:
-0:93 100 (const int)
-0:95 Test condition and select (temp void)
-0:95 Condition
-0:95 Compare Not Equal (temp bool)
-0:95 bitwise and (temp mediump uint)
-0:95 'mask3' (temp mediump uint)
-0:95 'mask1' (temp mediump uint)
-0:95 Constant:
-0:95 0 (const uint)
-0:95 true case
-0:96 multiply second child into first child (temp mediump int)
-0:96 'count' (temp mediump int)
-0:96 Constant:
-0:96 101 (const int)
-0:98 Test condition and select (temp void)
-0:98 Condition
-0:98 Compare Equal (temp bool)
-0:98 inclusive-or (temp mediump uint)
-0:98 'mask1' (temp mediump uint)
-0:98 'mask3' (temp mediump uint)
-0:98 'mask4' (temp mediump uint)
-0:98 true case
-0:99 multiply second child into first child (temp mediump int)
-0:99 'count' (temp mediump int)
-0:99 Constant:
-0:99 102 (const int)
-0:101 Test condition and select (temp void)
-0:101 Condition
-0:101 Compare Equal (temp bool)
-0:101 exclusive-or (temp mediump uint)
-0:101 'mask1' (temp mediump uint)
-0:101 'mask4' (temp mediump uint)
-0:101 Constant:
-0:101 2576 (const uint)
-0:101 true case
-0:102 multiply second child into first child (temp mediump int)
-0:102 'count' (temp mediump int)
-0:102 Constant:
-0:102 103 (const int)
-0:104 add second child into first child (temp mediump 4-component vector of uint)
-0:104 'c' (out mediump 4-component vector of uint)
-0:104 Construct uvec4 (temp mediump 4-component vector of uint)
-0:104 Convert int to uint (temp mediump uint)
-0:104 'count' (temp mediump int)
-0:? Linker Objects
-0:? 'badu' (smooth in mediump 2-component vector of uint)
-0:? 't' (flat in mediump 2-component vector of uint)
-0:? 'f' (smooth in highp float)
-0:? 'tc' (smooth in highp 2-component vector of float)
-0:? 'bad' (smooth in bool)
-0:? 'v' (uniform mediump 4-component vector of uint)
-0:? 'i' (uniform mediump int)
-0:? 'b' (uniform bool)
-0:? 'c' (out mediump 4-component vector of uint)
-0:? 'usampler' (uniform lowp usampler2D)
-
+uint.frag
+ERROR: 0:2: 'uint' : must be qualified as flat in
+ERROR: 0:6: 'in' : cannot be bool
+ERROR: 0:20: 'const' : non-matching or non-convertible constant type for const initializer
+ERROR: 0:24: 'const' : non-matching or non-convertible constant type for const initializer
+ERROR: 0:34: 'const' : non-matching or non-convertible constant type for const initializer
+ERROR: 0:37: 'const' : non-matching or non-convertible constant type for const initializer
+ERROR: 0:48: '=' : cannot convert from 'const int' to 'temp mediump uint'
+ERROR: 0:51: '=' : cannot convert from 'const int' to 'temp mediump uint'
+ERROR: 0:63: 'float' : type requires declaration of default precision qualifier
+ERROR: 9 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child (temp mediump int)
+0:17 'count' (temp mediump int)
+0:17 Constant:
+0:17 1 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp mediump uint)
+0:19 'u' (temp mediump uint)
+0:19 add (temp mediump uint)
+0:19 direct index (temp mediump uint)
+0:19 't' (flat in mediump 2-component vector of uint)
+0:19 Constant:
+0:19 1 (const int)
+0:19 Constant:
+0:19 3 (const uint)
+0:27 Test condition and select (temp void)
+0:27 Condition
+0:27 Constant:
+0:27 true (const bool)
+0:27 true case
+0:28 multiply second child into first child (temp mediump int)
+0:28 'count' (temp mediump int)
+0:28 Constant:
+0:28 2 (const int)
+0:29 Test condition and select (temp void)
+0:29 Condition
+0:29 Constant:
+0:29 true (const bool)
+0:29 true case
+0:30 multiply second child into first child (temp mediump int)
+0:30 'count' (temp mediump int)
+0:30 Constant:
+0:30 3 (const int)
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Constant:
+0:31 false (const bool)
+0:31 true case
+0:32 multiply second child into first child (temp mediump int)
+0:32 'count' (temp mediump int)
+0:32 Constant:
+0:32 5 (const int)
+0:41 Test condition and select (temp void)
+0:41 Condition
+0:41 Constant:
+0:41 true (const bool)
+0:41 true case
+0:42 multiply second child into first child (temp mediump int)
+0:42 'count' (temp mediump int)
+0:42 Constant:
+0:42 7 (const int)
+0:43 Test condition and select (temp void)
+0:43 Condition
+0:43 Constant:
+0:43 true (const bool)
+0:43 true case
+0:44 multiply second child into first child (temp mediump int)
+0:44 'count' (temp mediump int)
+0:44 Constant:
+0:44 11 (const int)
+0:45 Test condition and select (temp void)
+0:45 Condition
+0:45 Constant:
+0:45 false (const bool)
+0:45 true case
+0:46 multiply second child into first child (temp mediump int)
+0:46 'count' (temp mediump int)
+0:46 Constant:
+0:46 13 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp mediump int)
+0:49 'shiftedii' (temp mediump int)
+0:49 Constant:
+0:49 -1 (const int)
+0:50 Sequence
+0:50 move second child to first child (temp mediump uint)
+0:50 'shiftedui' (temp mediump uint)
+0:50 Constant:
+0:50 4194303 (const uint)
+0:52 Sequence
+0:52 move second child to first child (temp mediump int)
+0:52 'shiftediu' (temp mediump int)
+0:52 Constant:
+0:52 -1 (const int)
+0:53 Sequence
+0:53 move second child to first child (temp mediump uint)
+0:53 'shifteduu' (temp mediump uint)
+0:53 Constant:
+0:53 4194303 (const uint)
+0:55 Test condition and select (temp void)
+0:55 Condition
+0:55 Compare Equal (temp bool)
+0:55 'shiftedii' (temp mediump int)
+0:55 'shiftediu' (temp mediump int)
+0:55 true case
+0:56 move second child to first child (temp mediump 4-component vector of uint)
+0:56 'c' (out mediump 4-component vector of uint)
+0:56 texture (global mediump 4-component vector of uint)
+0:56 'usampler' (uniform lowp usampler2D)
+0:56 'tc' (smooth in highp 2-component vector of float)
+0:57 Test condition and select (temp void)
+0:57 Condition
+0:57 Compare Equal (temp bool)
+0:57 'shiftedui' (temp mediump uint)
+0:57 'shifteduu' (temp mediump uint)
+0:57 true case
+0:58 move second child to first child (temp mediump 4-component vector of uint)
+0:58 'c' (out mediump 4-component vector of uint)
+0:58 texture (global mediump 4-component vector of uint)
+0:58 'usampler' (uniform lowp usampler2D)
+0:58 add (temp highp 2-component vector of float)
+0:58 'tc' (smooth in highp 2-component vector of float)
+0:58 Constant:
+0:58 1.000000
+0:59 Test condition and select (temp void)
+0:59 Condition
+0:59 Compare Equal (temp bool)
+0:59 'shiftedii' (temp mediump int)
+0:59 Convert uint to int (temp int)
+0:59 'shiftedui' (temp mediump uint)
+0:59 true case
+0:60 move second child to first child (temp mediump 4-component vector of uint)
+0:60 'c' (out mediump 4-component vector of uint)
+0:60 texture (global mediump 4-component vector of uint)
+0:60 'usampler' (uniform lowp usampler2D)
+0:60 subtract (temp highp 2-component vector of float)
+0:60 'tc' (smooth in highp 2-component vector of float)
+0:60 Constant:
+0:60 2.000000
+0:60 2.000000
+0:62 Test condition and select (temp void)
+0:62 Condition
+0:62 Compare Greater Than (temp bool)
+0:62 direct index (temp mediump uint)
+0:62 't' (flat in mediump 2-component vector of uint)
+0:62 Constant:
+0:62 0 (const int)
+0:62 Constant:
+0:62 4 (const uint)
+0:62 true case
+0:63 Sequence
+0:63 Sequence
+0:63 move second child to first child (temp mediump float)
+0:63 'af' (temp mediump float)
+0:63 Convert uint to float (temp mediump float)
+0:63 'u' (temp mediump uint)
+0:64 Sequence
+0:64 move second child to first child (temp bool)
+0:64 'ab' (temp bool)
+0:64 Convert uint to bool (temp bool)
+0:64 'u' (temp mediump uint)
+0:65 Sequence
+0:65 move second child to first child (temp mediump int)
+0:65 'ai' (temp mediump int)
+0:65 Convert uint to int (temp mediump int)
+0:65 'u' (temp mediump uint)
+0:67 add second child into first child (temp mediump 4-component vector of uint)
+0:67 'c' (out mediump 4-component vector of uint)
+0:67 Construct uvec4 (temp mediump 4-component vector of uint)
+0:67 Convert float to uint (temp mediump uint)
+0:67 'af' (temp mediump float)
+0:67 Convert bool to uint (temp mediump uint)
+0:67 'ab' (temp bool)
+0:67 Convert int to uint (temp mediump uint)
+0:67 'ai' (temp mediump int)
+0:67 Convert int to uint (temp mediump uint)
+0:67 'count' (temp mediump int)
+0:75 Test condition and select (temp void)
+0:75 Condition
+0:75 Constant:
+0:75 true (const bool)
+0:75 true case
+0:76 multiply second child into first child (temp mediump int)
+0:76 'count' (temp mediump int)
+0:76 Constant:
+0:76 17 (const int)
+0:78 Test condition and select (temp void)
+0:78 Condition
+0:78 Constant:
+0:78 false (const bool)
+0:78 true case
+0:79 multiply second child into first child (temp mediump int)
+0:79 'count' (temp mediump int)
+0:79 Constant:
+0:79 19 (const int)
+0:81 Test condition and select (temp void)
+0:81 Condition
+0:81 Constant:
+0:81 true (const bool)
+0:81 true case
+0:82 multiply second child into first child (temp mediump int)
+0:82 'count' (temp mediump int)
+0:82 Constant:
+0:82 23 (const int)
+0:84 Test condition and select (temp void)
+0:84 Condition
+0:84 Constant:
+0:84 true (const bool)
+0:84 true case
+0:85 multiply second child into first child (temp mediump int)
+0:85 'count' (temp mediump int)
+0:85 Constant:
+0:85 27 (const int)
+0:87 Sequence
+0:87 move second child to first child (temp mediump uint)
+0:87 'mask1' (temp mediump uint)
+0:87 Constant:
+0:87 161 (const uint)
+0:88 Sequence
+0:88 move second child to first child (temp mediump uint)
+0:88 'mask2' (temp mediump uint)
+0:88 Constant:
+0:88 2576 (const uint)
+0:89 Sequence
+0:89 move second child to first child (temp mediump uint)
+0:89 'mask3' (temp mediump uint)
+0:89 left-shift (temp mediump uint)
+0:89 'mask1' (temp mediump uint)
+0:89 Constant:
+0:89 4 (const int)
+0:90 Sequence
+0:90 move second child to first child (temp mediump uint)
+0:90 'mask4' (temp mediump uint)
+0:90 Constant:
+0:90 2737 (const uint)
+0:92 Test condition and select (temp void)
+0:92 Condition
+0:92 Compare Equal (temp bool)
+0:92 'mask3' (temp mediump uint)
+0:92 'mask2' (temp mediump uint)
+0:92 true case
+0:93 multiply second child into first child (temp mediump int)
+0:93 'count' (temp mediump int)
+0:93 Constant:
+0:93 100 (const int)
+0:95 Test condition and select (temp void)
+0:95 Condition
+0:95 Compare Not Equal (temp bool)
+0:95 bitwise and (temp mediump uint)
+0:95 'mask3' (temp mediump uint)
+0:95 'mask1' (temp mediump uint)
+0:95 Constant:
+0:95 0 (const uint)
+0:95 true case
+0:96 multiply second child into first child (temp mediump int)
+0:96 'count' (temp mediump int)
+0:96 Constant:
+0:96 101 (const int)
+0:98 Test condition and select (temp void)
+0:98 Condition
+0:98 Compare Equal (temp bool)
+0:98 inclusive-or (temp mediump uint)
+0:98 'mask1' (temp mediump uint)
+0:98 'mask3' (temp mediump uint)
+0:98 'mask4' (temp mediump uint)
+0:98 true case
+0:99 multiply second child into first child (temp mediump int)
+0:99 'count' (temp mediump int)
+0:99 Constant:
+0:99 102 (const int)
+0:101 Test condition and select (temp void)
+0:101 Condition
+0:101 Compare Equal (temp bool)
+0:101 exclusive-or (temp mediump uint)
+0:101 'mask1' (temp mediump uint)
+0:101 'mask4' (temp mediump uint)
+0:101 Constant:
+0:101 2576 (const uint)
+0:101 true case
+0:102 multiply second child into first child (temp mediump int)
+0:102 'count' (temp mediump int)
+0:102 Constant:
+0:102 103 (const int)
+0:104 add second child into first child (temp mediump 4-component vector of uint)
+0:104 'c' (out mediump 4-component vector of uint)
+0:104 Construct uvec4 (temp mediump 4-component vector of uint)
+0:104 Convert int to uint (temp mediump uint)
+0:104 'count' (temp mediump int)
+0:? Linker Objects
+0:? 'badu' (smooth in mediump 2-component vector of uint)
+0:? 't' (flat in mediump 2-component vector of uint)
+0:? 'f' (smooth in highp float)
+0:? 'tc' (smooth in highp 2-component vector of float)
+0:? 'bad' (smooth in bool)
+0:? 'v' (uniform mediump 4-component vector of uint)
+0:? 'i' (uniform mediump int)
+0:? 'b' (uniform bool)
+0:? 'c' (out mediump 4-component vector of uint)
+0:? 'usampler' (uniform lowp usampler2D)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( (global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child (temp mediump int)
+0:17 'count' (temp mediump int)
+0:17 Constant:
+0:17 1 (const int)
+0:19 Sequence
+0:19 move second child to first child (temp mediump uint)
+0:19 'u' (temp mediump uint)
+0:19 add (temp mediump uint)
+0:19 direct index (temp mediump uint)
+0:19 't' (flat in mediump 2-component vector of uint)
+0:19 Constant:
+0:19 1 (const int)
+0:19 Constant:
+0:19 3 (const uint)
+0:27 Test condition and select (temp void)
+0:27 Condition
+0:27 Constant:
+0:27 true (const bool)
+0:27 true case
+0:28 multiply second child into first child (temp mediump int)
+0:28 'count' (temp mediump int)
+0:28 Constant:
+0:28 2 (const int)
+0:29 Test condition and select (temp void)
+0:29 Condition
+0:29 Constant:
+0:29 true (const bool)
+0:29 true case
+0:30 multiply second child into first child (temp mediump int)
+0:30 'count' (temp mediump int)
+0:30 Constant:
+0:30 3 (const int)
+0:31 Test condition and select (temp void)
+0:31 Condition
+0:31 Constant:
+0:31 false (const bool)
+0:31 true case
+0:32 multiply second child into first child (temp mediump int)
+0:32 'count' (temp mediump int)
+0:32 Constant:
+0:32 5 (const int)
+0:41 Test condition and select (temp void)
+0:41 Condition
+0:41 Constant:
+0:41 true (const bool)
+0:41 true case
+0:42 multiply second child into first child (temp mediump int)
+0:42 'count' (temp mediump int)
+0:42 Constant:
+0:42 7 (const int)
+0:43 Test condition and select (temp void)
+0:43 Condition
+0:43 Constant:
+0:43 true (const bool)
+0:43 true case
+0:44 multiply second child into first child (temp mediump int)
+0:44 'count' (temp mediump int)
+0:44 Constant:
+0:44 11 (const int)
+0:45 Test condition and select (temp void)
+0:45 Condition
+0:45 Constant:
+0:45 false (const bool)
+0:45 true case
+0:46 multiply second child into first child (temp mediump int)
+0:46 'count' (temp mediump int)
+0:46 Constant:
+0:46 13 (const int)
+0:49 Sequence
+0:49 move second child to first child (temp mediump int)
+0:49 'shiftedii' (temp mediump int)
+0:49 Constant:
+0:49 -1 (const int)
+0:50 Sequence
+0:50 move second child to first child (temp mediump uint)
+0:50 'shiftedui' (temp mediump uint)
+0:50 Constant:
+0:50 4194303 (const uint)
+0:52 Sequence
+0:52 move second child to first child (temp mediump int)
+0:52 'shiftediu' (temp mediump int)
+0:52 Constant:
+0:52 -1 (const int)
+0:53 Sequence
+0:53 move second child to first child (temp mediump uint)
+0:53 'shifteduu' (temp mediump uint)
+0:53 Constant:
+0:53 4194303 (const uint)
+0:55 Test condition and select (temp void)
+0:55 Condition
+0:55 Compare Equal (temp bool)
+0:55 'shiftedii' (temp mediump int)
+0:55 'shiftediu' (temp mediump int)
+0:55 true case
+0:56 move second child to first child (temp mediump 4-component vector of uint)
+0:56 'c' (out mediump 4-component vector of uint)
+0:56 texture (global mediump 4-component vector of uint)
+0:56 'usampler' (uniform lowp usampler2D)
+0:56 'tc' (smooth in highp 2-component vector of float)
+0:57 Test condition and select (temp void)
+0:57 Condition
+0:57 Compare Equal (temp bool)
+0:57 'shiftedui' (temp mediump uint)
+0:57 'shifteduu' (temp mediump uint)
+0:57 true case
+0:58 move second child to first child (temp mediump 4-component vector of uint)
+0:58 'c' (out mediump 4-component vector of uint)
+0:58 texture (global mediump 4-component vector of uint)
+0:58 'usampler' (uniform lowp usampler2D)
+0:58 add (temp highp 2-component vector of float)
+0:58 'tc' (smooth in highp 2-component vector of float)
+0:58 Constant:
+0:58 1.000000
+0:59 Test condition and select (temp void)
+0:59 Condition
+0:59 Compare Equal (temp bool)
+0:59 'shiftedii' (temp mediump int)
+0:59 Convert uint to int (temp int)
+0:59 'shiftedui' (temp mediump uint)
+0:59 true case
+0:60 move second child to first child (temp mediump 4-component vector of uint)
+0:60 'c' (out mediump 4-component vector of uint)
+0:60 texture (global mediump 4-component vector of uint)
+0:60 'usampler' (uniform lowp usampler2D)
+0:60 subtract (temp highp 2-component vector of float)
+0:60 'tc' (smooth in highp 2-component vector of float)
+0:60 Constant:
+0:60 2.000000
+0:60 2.000000
+0:62 Test condition and select (temp void)
+0:62 Condition
+0:62 Compare Greater Than (temp bool)
+0:62 direct index (temp mediump uint)
+0:62 't' (flat in mediump 2-component vector of uint)
+0:62 Constant:
+0:62 0 (const int)
+0:62 Constant:
+0:62 4 (const uint)
+0:62 true case
+0:63 Sequence
+0:63 Sequence
+0:63 move second child to first child (temp mediump float)
+0:63 'af' (temp mediump float)
+0:63 Convert uint to float (temp mediump float)
+0:63 'u' (temp mediump uint)
+0:64 Sequence
+0:64 move second child to first child (temp bool)
+0:64 'ab' (temp bool)
+0:64 Convert uint to bool (temp bool)
+0:64 'u' (temp mediump uint)
+0:65 Sequence
+0:65 move second child to first child (temp mediump int)
+0:65 'ai' (temp mediump int)
+0:65 Convert uint to int (temp mediump int)
+0:65 'u' (temp mediump uint)
+0:67 add second child into first child (temp mediump 4-component vector of uint)
+0:67 'c' (out mediump 4-component vector of uint)
+0:67 Construct uvec4 (temp mediump 4-component vector of uint)
+0:67 Convert float to uint (temp mediump uint)
+0:67 'af' (temp mediump float)
+0:67 Convert bool to uint (temp mediump uint)
+0:67 'ab' (temp bool)
+0:67 Convert int to uint (temp mediump uint)
+0:67 'ai' (temp mediump int)
+0:67 Convert int to uint (temp mediump uint)
+0:67 'count' (temp mediump int)
+0:75 Test condition and select (temp void)
+0:75 Condition
+0:75 Constant:
+0:75 true (const bool)
+0:75 true case
+0:76 multiply second child into first child (temp mediump int)
+0:76 'count' (temp mediump int)
+0:76 Constant:
+0:76 17 (const int)
+0:78 Test condition and select (temp void)
+0:78 Condition
+0:78 Constant:
+0:78 false (const bool)
+0:78 true case
+0:79 multiply second child into first child (temp mediump int)
+0:79 'count' (temp mediump int)
+0:79 Constant:
+0:79 19 (const int)
+0:81 Test condition and select (temp void)
+0:81 Condition
+0:81 Constant:
+0:81 true (const bool)
+0:81 true case
+0:82 multiply second child into first child (temp mediump int)
+0:82 'count' (temp mediump int)
+0:82 Constant:
+0:82 23 (const int)
+0:84 Test condition and select (temp void)
+0:84 Condition
+0:84 Constant:
+0:84 true (const bool)
+0:84 true case
+0:85 multiply second child into first child (temp mediump int)
+0:85 'count' (temp mediump int)
+0:85 Constant:
+0:85 27 (const int)
+0:87 Sequence
+0:87 move second child to first child (temp mediump uint)
+0:87 'mask1' (temp mediump uint)
+0:87 Constant:
+0:87 161 (const uint)
+0:88 Sequence
+0:88 move second child to first child (temp mediump uint)
+0:88 'mask2' (temp mediump uint)
+0:88 Constant:
+0:88 2576 (const uint)
+0:89 Sequence
+0:89 move second child to first child (temp mediump uint)
+0:89 'mask3' (temp mediump uint)
+0:89 left-shift (temp mediump uint)
+0:89 'mask1' (temp mediump uint)
+0:89 Constant:
+0:89 4 (const int)
+0:90 Sequence
+0:90 move second child to first child (temp mediump uint)
+0:90 'mask4' (temp mediump uint)
+0:90 Constant:
+0:90 2737 (const uint)
+0:92 Test condition and select (temp void)
+0:92 Condition
+0:92 Compare Equal (temp bool)
+0:92 'mask3' (temp mediump uint)
+0:92 'mask2' (temp mediump uint)
+0:92 true case
+0:93 multiply second child into first child (temp mediump int)
+0:93 'count' (temp mediump int)
+0:93 Constant:
+0:93 100 (const int)
+0:95 Test condition and select (temp void)
+0:95 Condition
+0:95 Compare Not Equal (temp bool)
+0:95 bitwise and (temp mediump uint)
+0:95 'mask3' (temp mediump uint)
+0:95 'mask1' (temp mediump uint)
+0:95 Constant:
+0:95 0 (const uint)
+0:95 true case
+0:96 multiply second child into first child (temp mediump int)
+0:96 'count' (temp mediump int)
+0:96 Constant:
+0:96 101 (const int)
+0:98 Test condition and select (temp void)
+0:98 Condition
+0:98 Compare Equal (temp bool)
+0:98 inclusive-or (temp mediump uint)
+0:98 'mask1' (temp mediump uint)
+0:98 'mask3' (temp mediump uint)
+0:98 'mask4' (temp mediump uint)
+0:98 true case
+0:99 multiply second child into first child (temp mediump int)
+0:99 'count' (temp mediump int)
+0:99 Constant:
+0:99 102 (const int)
+0:101 Test condition and select (temp void)
+0:101 Condition
+0:101 Compare Equal (temp bool)
+0:101 exclusive-or (temp mediump uint)
+0:101 'mask1' (temp mediump uint)
+0:101 'mask4' (temp mediump uint)
+0:101 Constant:
+0:101 2576 (const uint)
+0:101 true case
+0:102 multiply second child into first child (temp mediump int)
+0:102 'count' (temp mediump int)
+0:102 Constant:
+0:102 103 (const int)
+0:104 add second child into first child (temp mediump 4-component vector of uint)
+0:104 'c' (out mediump 4-component vector of uint)
+0:104 Construct uvec4 (temp mediump 4-component vector of uint)
+0:104 Convert int to uint (temp mediump uint)
+0:104 'count' (temp mediump int)
+0:? Linker Objects
+0:? 'badu' (smooth in mediump 2-component vector of uint)
+0:? 't' (flat in mediump 2-component vector of uint)
+0:? 'f' (smooth in highp float)
+0:? 'tc' (smooth in highp 2-component vector of float)
+0:? 'bad' (smooth in bool)
+0:? 'v' (uniform mediump 4-component vector of uint)
+0:? 'i' (uniform mediump int)
+0:? 'b' (uniform bool)
+0:? 'c' (out mediump 4-component vector of uint)
+0:? 'usampler' (uniform lowp usampler2D)
+
diff --git a/Test/baseResults/uniformArray.frag.out b/Test/baseResults/uniformArray.frag.out
index f2f0901..4e8ace8 100644
--- a/Test/baseResults/uniformArray.frag.out
+++ b/Test/baseResults/uniformArray.frag.out
@@ -1,97 +1,97 @@
-uniformArray.frag
-Shader version: 130
-0:? Sequence
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:9 Sequence
-0:9 Sequence
-0:9 move second child to first child (temp 4-component vector of float)
-0:9 'texColor' (temp 4-component vector of float)
-0:9 add (temp 4-component vector of float)
-0:9 direct index (temp 4-component vector of float)
-0:9 'color' (uniform 6-element array of 4-component vector of float)
-0:9 Constant:
-0:9 1 (const int)
-0:9 direct index (temp 4-component vector of float)
-0:9 'color' (uniform 6-element array of 4-component vector of float)
-0:9 Constant:
-0:9 1 (const int)
-0:11 add second child into first child (temp 3-component vector of float)
-0:11 vector swizzle (temp 3-component vector of float)
-0:11 'texColor' (temp 4-component vector of float)
-0:11 Sequence
-0:11 Constant:
-0:11 0 (const int)
-0:11 Constant:
-0:11 1 (const int)
-0:11 Constant:
-0:11 2 (const int)
-0:11 'inColor' (uniform 3-component vector of float)
-0:13 add second child into first child (temp float)
-0:13 direct index (temp float)
-0:13 'texColor' (temp 4-component vector of float)
-0:13 Constant:
-0:13 3 (const int)
-0:13 direct index (temp float)
-0:13 'alpha' (uniform 16-element array of float)
-0:13 Constant:
-0:13 12 (const int)
-0:15 move second child to first child (temp 4-component vector of float)
-0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:15 'texColor' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'texSampler2D' (uniform sampler2D)
-0:? 'inColor' (uniform 3-component vector of float)
-0:? 'color' (uniform 6-element array of 4-component vector of float)
-0:? 'alpha' (uniform 16-element array of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:9 Sequence
-0:9 Sequence
-0:9 move second child to first child (temp 4-component vector of float)
-0:9 'texColor' (temp 4-component vector of float)
-0:9 add (temp 4-component vector of float)
-0:9 direct index (temp 4-component vector of float)
-0:9 'color' (uniform 6-element array of 4-component vector of float)
-0:9 Constant:
-0:9 1 (const int)
-0:9 direct index (temp 4-component vector of float)
-0:9 'color' (uniform 6-element array of 4-component vector of float)
-0:9 Constant:
-0:9 1 (const int)
-0:11 add second child into first child (temp 3-component vector of float)
-0:11 vector swizzle (temp 3-component vector of float)
-0:11 'texColor' (temp 4-component vector of float)
-0:11 Sequence
-0:11 Constant:
-0:11 0 (const int)
-0:11 Constant:
-0:11 1 (const int)
-0:11 Constant:
-0:11 2 (const int)
-0:11 'inColor' (uniform 3-component vector of float)
-0:13 add second child into first child (temp float)
-0:13 direct index (temp float)
-0:13 'texColor' (temp 4-component vector of float)
-0:13 Constant:
-0:13 3 (const int)
-0:13 direct index (temp float)
-0:13 'alpha' (uniform 16-element array of float)
-0:13 Constant:
-0:13 12 (const int)
-0:15 move second child to first child (temp 4-component vector of float)
-0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:15 'texColor' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'texSampler2D' (uniform sampler2D)
-0:? 'inColor' (uniform 3-component vector of float)
-0:? 'color' (uniform 6-element array of 4-component vector of float)
-0:? 'alpha' (uniform 16-element array of float)
-
+uniformArray.frag
+Shader version: 130
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'texColor' (temp 4-component vector of float)
+0:9 add (temp 4-component vector of float)
+0:9 direct index (temp 4-component vector of float)
+0:9 'color' (uniform 6-element array of 4-component vector of float)
+0:9 Constant:
+0:9 1 (const int)
+0:9 direct index (temp 4-component vector of float)
+0:9 'color' (uniform 6-element array of 4-component vector of float)
+0:9 Constant:
+0:9 1 (const int)
+0:11 add second child into first child (temp 3-component vector of float)
+0:11 vector swizzle (temp 3-component vector of float)
+0:11 'texColor' (temp 4-component vector of float)
+0:11 Sequence
+0:11 Constant:
+0:11 0 (const int)
+0:11 Constant:
+0:11 1 (const int)
+0:11 Constant:
+0:11 2 (const int)
+0:11 'inColor' (uniform 3-component vector of float)
+0:13 add second child into first child (temp float)
+0:13 direct index (temp float)
+0:13 'texColor' (temp 4-component vector of float)
+0:13 Constant:
+0:13 3 (const int)
+0:13 direct index (temp float)
+0:13 'alpha' (uniform 16-element array of float)
+0:13 Constant:
+0:13 12 (const int)
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:15 'texColor' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'inColor' (uniform 3-component vector of float)
+0:? 'color' (uniform 6-element array of 4-component vector of float)
+0:? 'alpha' (uniform 16-element array of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'texColor' (temp 4-component vector of float)
+0:9 add (temp 4-component vector of float)
+0:9 direct index (temp 4-component vector of float)
+0:9 'color' (uniform 6-element array of 4-component vector of float)
+0:9 Constant:
+0:9 1 (const int)
+0:9 direct index (temp 4-component vector of float)
+0:9 'color' (uniform 6-element array of 4-component vector of float)
+0:9 Constant:
+0:9 1 (const int)
+0:11 add second child into first child (temp 3-component vector of float)
+0:11 vector swizzle (temp 3-component vector of float)
+0:11 'texColor' (temp 4-component vector of float)
+0:11 Sequence
+0:11 Constant:
+0:11 0 (const int)
+0:11 Constant:
+0:11 1 (const int)
+0:11 Constant:
+0:11 2 (const int)
+0:11 'inColor' (uniform 3-component vector of float)
+0:13 add second child into first child (temp float)
+0:13 direct index (temp float)
+0:13 'texColor' (temp 4-component vector of float)
+0:13 Constant:
+0:13 3 (const int)
+0:13 direct index (temp float)
+0:13 'alpha' (uniform 16-element array of float)
+0:13 Constant:
+0:13 12 (const int)
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:15 'texColor' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'inColor' (uniform 3-component vector of float)
+0:? 'color' (uniform 6-element array of 4-component vector of float)
+0:? 'alpha' (uniform 16-element array of float)
+
diff --git a/Test/baseResults/variableArrayIndex.frag.out b/Test/baseResults/variableArrayIndex.frag.out
index 2624985..2a63d11 100644
--- a/Test/baseResults/variableArrayIndex.frag.out
+++ b/Test/baseResults/variableArrayIndex.frag.out
@@ -1,225 +1,225 @@
-variableArrayIndex.frag
-WARNING: 0:3: varying deprecated in version 130; may be removed in future release
-
-Shader version: 130
-0:? Sequence
-0:29 Function Definition: main( (global void)
-0:29 Function Parameters:
-0:? Sequence
-0:32 Sequence
-0:32 move second child to first child (temp int)
-0:32 'iLocal' (temp int)
-0:32 'Count' (uniform int)
-0:34 Test condition and select (temp void)
-0:34 Condition
-0:34 Compare Greater Than (temp bool)
-0:34 i: direct index for structure (global int)
-0:34 direct index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:34 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:34 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:34 Constant:
-0:34 0 (const int)
-0:34 Constant:
-0:34 1 (const int)
-0:34 Constant:
-0:34 0 (const int)
-0:34 Constant:
-0:34 0 (const int)
-0:34 true case
-0:35 move second child to first child (temp float)
-0:35 'scale' (temp float)
-0:35 f: direct index for structure (global float)
-0:35 s1_1: direct index for structure (global structure{global int i, global float f})
-0:35 indirect index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:35 'foo2' (uniform 5-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:35 add (temp int)
-0:35 add (temp int)
-0:35 i: direct index for structure (global int)
-0:35 indirect index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:35 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:35 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:35 Constant:
-0:35 0 (const int)
-0:35 i: direct index for structure (global int)
-0:35 'foo' (uniform structure{global int i, global float f})
-0:35 Constant:
-0:35 0 (const int)
-0:35 Constant:
-0:35 0 (const int)
-0:35 Constant:
-0:35 2 (const int)
-0:35 Pre-Increment (temp int)
-0:35 'iLocal' (temp int)
-0:35 Constant:
-0:35 2 (const int)
-0:35 Constant:
-0:35 1 (const int)
-0:34 false case
-0:37 move second child to first child (temp float)
-0:37 'scale' (temp float)
-0:37 f: direct index for structure (global float)
-0:37 s1_1: direct index for structure (global structure{global int i, global float f})
-0:37 direct index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:37 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:37 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:37 Constant:
-0:37 0 (const int)
-0:37 Constant:
-0:37 0 (const int)
-0:37 Constant:
-0:37 2 (const int)
-0:37 Constant:
-0:37 1 (const int)
-0:43 move second child to first child (temp 4-component vector of float)
-0:43 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:43 vector-scale (temp 4-component vector of float)
-0:43 'scale' (temp float)
-0:43 texture (global 4-component vector of float)
-0:43 'sampler' (uniform sampler2D)
-0:43 'coord' (smooth in 2-component vector of float)
-0:45 Sequence
-0:45 move second child to first child (temp 3-element array of 2-component vector of float)
-0:45 'constructed' (temp 3-element array of 2-component vector of float)
-0:45 Construct vec2 (temp 3-element array of 2-component vector of float)
-0:45 'coord' (smooth in 2-component vector of float)
-0:45 Construct vec2 (temp 2-component vector of float)
-0:45 'scale' (temp float)
-0:45 Constant:
-0:45 1.000000
-0:45 2.000000
-0:46 add second child into first child (temp 4-component vector of float)
-0:46 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:46 Construct vec4 (temp 4-component vector of float)
-0:46 indirect index (temp 2-component vector of float)
-0:46 'constructed' (temp 3-element array of 2-component vector of float)
-0:46 i: direct index for structure (global int)
-0:46 'foo' (uniform structure{global int i, global float f})
-0:46 Constant:
-0:46 0 (const int)
-0:46 indirect index (temp 2-component vector of float)
-0:46 'constructed' (temp 3-element array of 2-component vector of float)
-0:46 i: direct index for structure (global int)
-0:46 'foo' (uniform structure{global int i, global float f})
-0:46 Constant:
-0:46 0 (const int)
-0:? Linker Objects
-0:? 'sampler' (uniform sampler2D)
-0:? 'coord' (smooth in 2-component vector of float)
-0:? 'foo' (uniform structure{global int i, global float f})
-0:? 'foo2' (uniform 5-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:? 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:? 'Count' (uniform int)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:29 Function Definition: main( (global void)
-0:29 Function Parameters:
-0:? Sequence
-0:32 Sequence
-0:32 move second child to first child (temp int)
-0:32 'iLocal' (temp int)
-0:32 'Count' (uniform int)
-0:34 Test condition and select (temp void)
-0:34 Condition
-0:34 Compare Greater Than (temp bool)
-0:34 i: direct index for structure (global int)
-0:34 direct index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:34 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:34 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:34 Constant:
-0:34 0 (const int)
-0:34 Constant:
-0:34 1 (const int)
-0:34 Constant:
-0:34 0 (const int)
-0:34 Constant:
-0:34 0 (const int)
-0:34 true case
-0:35 move second child to first child (temp float)
-0:35 'scale' (temp float)
-0:35 f: direct index for structure (global float)
-0:35 s1_1: direct index for structure (global structure{global int i, global float f})
-0:35 indirect index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:35 'foo2' (uniform 5-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:35 add (temp int)
-0:35 add (temp int)
-0:35 i: direct index for structure (global int)
-0:35 indirect index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:35 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:35 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:35 Constant:
-0:35 0 (const int)
-0:35 i: direct index for structure (global int)
-0:35 'foo' (uniform structure{global int i, global float f})
-0:35 Constant:
-0:35 0 (const int)
-0:35 Constant:
-0:35 0 (const int)
-0:35 Constant:
-0:35 2 (const int)
-0:35 Pre-Increment (temp int)
-0:35 'iLocal' (temp int)
-0:35 Constant:
-0:35 2 (const int)
-0:35 Constant:
-0:35 1 (const int)
-0:34 false case
-0:37 move second child to first child (temp float)
-0:37 'scale' (temp float)
-0:37 f: direct index for structure (global float)
-0:37 s1_1: direct index for structure (global structure{global int i, global float f})
-0:37 direct index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:37 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:37 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:37 Constant:
-0:37 0 (const int)
-0:37 Constant:
-0:37 0 (const int)
-0:37 Constant:
-0:37 2 (const int)
-0:37 Constant:
-0:37 1 (const int)
-0:43 move second child to first child (temp 4-component vector of float)
-0:43 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:43 vector-scale (temp 4-component vector of float)
-0:43 'scale' (temp float)
-0:43 texture (global 4-component vector of float)
-0:43 'sampler' (uniform sampler2D)
-0:43 'coord' (smooth in 2-component vector of float)
-0:45 Sequence
-0:45 move second child to first child (temp 3-element array of 2-component vector of float)
-0:45 'constructed' (temp 3-element array of 2-component vector of float)
-0:45 Construct vec2 (temp 3-element array of 2-component vector of float)
-0:45 'coord' (smooth in 2-component vector of float)
-0:45 Construct vec2 (temp 2-component vector of float)
-0:45 'scale' (temp float)
-0:45 Constant:
-0:45 1.000000
-0:45 2.000000
-0:46 add second child into first child (temp 4-component vector of float)
-0:46 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:46 Construct vec4 (temp 4-component vector of float)
-0:46 indirect index (temp 2-component vector of float)
-0:46 'constructed' (temp 3-element array of 2-component vector of float)
-0:46 i: direct index for structure (global int)
-0:46 'foo' (uniform structure{global int i, global float f})
-0:46 Constant:
-0:46 0 (const int)
-0:46 indirect index (temp 2-component vector of float)
-0:46 'constructed' (temp 3-element array of 2-component vector of float)
-0:46 i: direct index for structure (global int)
-0:46 'foo' (uniform structure{global int i, global float f})
-0:46 Constant:
-0:46 0 (const int)
-0:? Linker Objects
-0:? 'sampler' (uniform sampler2D)
-0:? 'coord' (smooth in 2-component vector of float)
-0:? 'foo' (uniform structure{global int i, global float f})
-0:? 'foo2' (uniform 5-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
-0:? 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
-0:? 'Count' (uniform int)
-
+variableArrayIndex.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:29 Function Definition: main( (global void)
+0:29 Function Parameters:
+0:? Sequence
+0:32 Sequence
+0:32 move second child to first child (temp int)
+0:32 'iLocal' (temp int)
+0:32 'Count' (uniform int)
+0:34 Test condition and select (temp void)
+0:34 Condition
+0:34 Compare Greater Than (temp bool)
+0:34 i: direct index for structure (global int)
+0:34 direct index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 Constant:
+0:34 0 (const int)
+0:34 Constant:
+0:34 1 (const int)
+0:34 Constant:
+0:34 0 (const int)
+0:34 Constant:
+0:34 0 (const int)
+0:34 true case
+0:35 move second child to first child (temp float)
+0:35 'scale' (temp float)
+0:35 f: direct index for structure (global float)
+0:35 s1_1: direct index for structure (global structure{global int i, global float f})
+0:35 indirect index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 'foo2' (uniform 5-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 add (temp int)
+0:35 add (temp int)
+0:35 i: direct index for structure (global int)
+0:35 indirect index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 Constant:
+0:35 0 (const int)
+0:35 i: direct index for structure (global int)
+0:35 'foo' (uniform structure{global int i, global float f})
+0:35 Constant:
+0:35 0 (const int)
+0:35 Constant:
+0:35 0 (const int)
+0:35 Constant:
+0:35 2 (const int)
+0:35 Pre-Increment (temp int)
+0:35 'iLocal' (temp int)
+0:35 Constant:
+0:35 2 (const int)
+0:35 Constant:
+0:35 1 (const int)
+0:34 false case
+0:37 move second child to first child (temp float)
+0:37 'scale' (temp float)
+0:37 f: direct index for structure (global float)
+0:37 s1_1: direct index for structure (global structure{global int i, global float f})
+0:37 direct index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:37 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:37 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 2 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:43 move second child to first child (temp 4-component vector of float)
+0:43 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:43 vector-scale (temp 4-component vector of float)
+0:43 'scale' (temp float)
+0:43 texture (global 4-component vector of float)
+0:43 'sampler' (uniform sampler2D)
+0:43 'coord' (smooth in 2-component vector of float)
+0:45 Sequence
+0:45 move second child to first child (temp 3-element array of 2-component vector of float)
+0:45 'constructed' (temp 3-element array of 2-component vector of float)
+0:45 Construct vec2 (temp 3-element array of 2-component vector of float)
+0:45 'coord' (smooth in 2-component vector of float)
+0:45 Construct vec2 (temp 2-component vector of float)
+0:45 'scale' (temp float)
+0:45 Constant:
+0:45 1.000000
+0:45 2.000000
+0:46 add second child into first child (temp 4-component vector of float)
+0:46 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:46 Construct vec4 (temp 4-component vector of float)
+0:46 indirect index (temp 2-component vector of float)
+0:46 'constructed' (temp 3-element array of 2-component vector of float)
+0:46 i: direct index for structure (global int)
+0:46 'foo' (uniform structure{global int i, global float f})
+0:46 Constant:
+0:46 0 (const int)
+0:46 indirect index (temp 2-component vector of float)
+0:46 'constructed' (temp 3-element array of 2-component vector of float)
+0:46 i: direct index for structure (global int)
+0:46 'foo' (uniform structure{global int i, global float f})
+0:46 Constant:
+0:46 0 (const int)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'foo' (uniform structure{global int i, global float f})
+0:? 'foo2' (uniform 5-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'Count' (uniform int)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:29 Function Definition: main( (global void)
+0:29 Function Parameters:
+0:? Sequence
+0:32 Sequence
+0:32 move second child to first child (temp int)
+0:32 'iLocal' (temp int)
+0:32 'Count' (uniform int)
+0:34 Test condition and select (temp void)
+0:34 Condition
+0:34 Compare Greater Than (temp bool)
+0:34 i: direct index for structure (global int)
+0:34 direct index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:34 Constant:
+0:34 0 (const int)
+0:34 Constant:
+0:34 1 (const int)
+0:34 Constant:
+0:34 0 (const int)
+0:34 Constant:
+0:34 0 (const int)
+0:34 true case
+0:35 move second child to first child (temp float)
+0:35 'scale' (temp float)
+0:35 f: direct index for structure (global float)
+0:35 s1_1: direct index for structure (global structure{global int i, global float f})
+0:35 indirect index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 'foo2' (uniform 5-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 add (temp int)
+0:35 add (temp int)
+0:35 i: direct index for structure (global int)
+0:35 indirect index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:35 Constant:
+0:35 0 (const int)
+0:35 i: direct index for structure (global int)
+0:35 'foo' (uniform structure{global int i, global float f})
+0:35 Constant:
+0:35 0 (const int)
+0:35 Constant:
+0:35 0 (const int)
+0:35 Constant:
+0:35 2 (const int)
+0:35 Pre-Increment (temp int)
+0:35 'iLocal' (temp int)
+0:35 Constant:
+0:35 2 (const int)
+0:35 Constant:
+0:35 1 (const int)
+0:34 false case
+0:37 move second child to first child (temp float)
+0:37 'scale' (temp float)
+0:37 f: direct index for structure (global float)
+0:37 s1_1: direct index for structure (global structure{global int i, global float f})
+0:37 direct index (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:37 s2_1: direct index for structure (global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:37 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 2 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:43 move second child to first child (temp 4-component vector of float)
+0:43 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:43 vector-scale (temp 4-component vector of float)
+0:43 'scale' (temp float)
+0:43 texture (global 4-component vector of float)
+0:43 'sampler' (uniform sampler2D)
+0:43 'coord' (smooth in 2-component vector of float)
+0:45 Sequence
+0:45 move second child to first child (temp 3-element array of 2-component vector of float)
+0:45 'constructed' (temp 3-element array of 2-component vector of float)
+0:45 Construct vec2 (temp 3-element array of 2-component vector of float)
+0:45 'coord' (smooth in 2-component vector of float)
+0:45 Construct vec2 (temp 2-component vector of float)
+0:45 'scale' (temp float)
+0:45 Constant:
+0:45 1.000000
+0:45 2.000000
+0:46 add second child into first child (temp 4-component vector of float)
+0:46 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:46 Construct vec4 (temp 4-component vector of float)
+0:46 indirect index (temp 2-component vector of float)
+0:46 'constructed' (temp 3-element array of 2-component vector of float)
+0:46 i: direct index for structure (global int)
+0:46 'foo' (uniform structure{global int i, global float f})
+0:46 Constant:
+0:46 0 (const int)
+0:46 indirect index (temp 2-component vector of float)
+0:46 'constructed' (temp 3-element array of 2-component vector of float)
+0:46 i: direct index for structure (global int)
+0:46 'foo' (uniform structure{global int i, global float f})
+0:46 Constant:
+0:46 0 (const int)
+0:? Linker Objects
+0:? 'sampler' (uniform sampler2D)
+0:? 'coord' (smooth in 2-component vector of float)
+0:? 'foo' (uniform structure{global int i, global float f})
+0:? 'foo2' (uniform 5-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'foo3' (uniform structure{global 3-element array of structure{global int i, global float f, global structure{global int i, global float f} s1_1} s2_1, global int i, global float f, global structure{global int i, global float f} s1_1})
+0:? 'Count' (uniform int)
+
diff --git a/Test/baseResults/varyingArray.frag.out b/Test/baseResults/varyingArray.frag.out
index 70ac8ea..c6cf6ba 100644
--- a/Test/baseResults/varyingArray.frag.out
+++ b/Test/baseResults/varyingArray.frag.out
@@ -1,120 +1,120 @@
-varyingArray.frag
-WARNING: 0:3: varying deprecated in version 130; may be removed in future release
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-WARNING: 0:6: varying deprecated in version 130; may be removed in future release
-WARNING: 0:8: varying deprecated in version 130; may be removed in future release
-
-Shader version: 130
-0:? Sequence
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:12 Sequence
-0:12 Sequence
-0:12 move second child to first child (temp 4-component vector of float)
-0:12 'texColor' (temp 4-component vector of float)
-0:12 texture (global 4-component vector of float)
-0:12 'texSampler2D' (uniform sampler2D)
-0:12 Construct vec2 (temp 2-component vector of float)
-0:12 add (temp 4-component vector of float)
-0:12 direct index (smooth temp 4-component vector of float TexCoord)
-0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:12 Constant:
-0:12 4 (const int)
-0:12 direct index (smooth temp 4-component vector of float TexCoord)
-0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:12 Constant:
-0:12 5 (const int)
-0:14 add second child into first child (temp 4-component vector of float)
-0:14 'texColor' (temp 4-component vector of float)
-0:14 'color' (smooth in 4-component vector of float)
-0:16 move second child to first child (temp float)
-0:16 direct index (temp float)
-0:16 'texColor' (temp 4-component vector of float)
-0:16 Constant:
-0:16 3 (const int)
-0:16 'alpha' (smooth in float)
-0:18 move second child to first child (temp 4-component vector of float)
-0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:18 add (temp 4-component vector of float)
-0:18 add (temp 4-component vector of float)
-0:18 add (temp 4-component vector of float)
-0:18 direct index (smooth temp 4-component vector of float)
-0:18 'foo' (smooth in 3-element array of 4-component vector of float)
-0:18 Constant:
-0:18 1 (const int)
-0:18 direct index (smooth temp 4-component vector of float TexCoord)
-0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:18 Constant:
-0:18 0 (const int)
-0:18 direct index (smooth temp 4-component vector of float TexCoord)
-0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:18 Constant:
-0:18 4 (const int)
-0:18 'texColor' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'texSampler2D' (uniform sampler2D)
-0:? 'color' (smooth in 4-component vector of float)
-0:? 'alpha' (smooth in float)
-0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:? 'foo' (smooth in 3-element array of 4-component vector of float)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:10 Function Definition: main( (global void)
-0:10 Function Parameters:
-0:12 Sequence
-0:12 Sequence
-0:12 move second child to first child (temp 4-component vector of float)
-0:12 'texColor' (temp 4-component vector of float)
-0:12 texture (global 4-component vector of float)
-0:12 'texSampler2D' (uniform sampler2D)
-0:12 Construct vec2 (temp 2-component vector of float)
-0:12 add (temp 4-component vector of float)
-0:12 direct index (smooth temp 4-component vector of float TexCoord)
-0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:12 Constant:
-0:12 4 (const int)
-0:12 direct index (smooth temp 4-component vector of float TexCoord)
-0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:12 Constant:
-0:12 5 (const int)
-0:14 add second child into first child (temp 4-component vector of float)
-0:14 'texColor' (temp 4-component vector of float)
-0:14 'color' (smooth in 4-component vector of float)
-0:16 move second child to first child (temp float)
-0:16 direct index (temp float)
-0:16 'texColor' (temp 4-component vector of float)
-0:16 Constant:
-0:16 3 (const int)
-0:16 'alpha' (smooth in float)
-0:18 move second child to first child (temp 4-component vector of float)
-0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:18 add (temp 4-component vector of float)
-0:18 add (temp 4-component vector of float)
-0:18 add (temp 4-component vector of float)
-0:18 direct index (smooth temp 4-component vector of float)
-0:18 'foo' (smooth in 3-element array of 4-component vector of float)
-0:18 Constant:
-0:18 1 (const int)
-0:18 direct index (smooth temp 4-component vector of float TexCoord)
-0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:18 Constant:
-0:18 0 (const int)
-0:18 direct index (smooth temp 4-component vector of float TexCoord)
-0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:18 Constant:
-0:18 4 (const int)
-0:18 'texColor' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'texSampler2D' (uniform sampler2D)
-0:? 'color' (smooth in 4-component vector of float)
-0:? 'alpha' (smooth in float)
-0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:? 'foo' (smooth in 3-element array of 4-component vector of float)
-
+varyingArray.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+WARNING: 0:6: varying deprecated in version 130; may be removed in future release
+WARNING: 0:8: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp 4-component vector of float)
+0:12 'texColor' (temp 4-component vector of float)
+0:12 texture (global 4-component vector of float)
+0:12 'texSampler2D' (uniform sampler2D)
+0:12 Construct vec2 (temp 2-component vector of float)
+0:12 add (temp 4-component vector of float)
+0:12 direct index (smooth temp 4-component vector of float TexCoord)
+0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:12 Constant:
+0:12 4 (const int)
+0:12 direct index (smooth temp 4-component vector of float TexCoord)
+0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:12 Constant:
+0:12 5 (const int)
+0:14 add second child into first child (temp 4-component vector of float)
+0:14 'texColor' (temp 4-component vector of float)
+0:14 'color' (smooth in 4-component vector of float)
+0:16 move second child to first child (temp float)
+0:16 direct index (temp float)
+0:16 'texColor' (temp 4-component vector of float)
+0:16 Constant:
+0:16 3 (const int)
+0:16 'alpha' (smooth in float)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:18 add (temp 4-component vector of float)
+0:18 add (temp 4-component vector of float)
+0:18 add (temp 4-component vector of float)
+0:18 direct index (smooth temp 4-component vector of float)
+0:18 'foo' (smooth in 3-element array of 4-component vector of float)
+0:18 Constant:
+0:18 1 (const int)
+0:18 direct index (smooth temp 4-component vector of float TexCoord)
+0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:18 Constant:
+0:18 0 (const int)
+0:18 direct index (smooth temp 4-component vector of float TexCoord)
+0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:18 Constant:
+0:18 4 (const int)
+0:18 'texColor' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'color' (smooth in 4-component vector of float)
+0:? 'alpha' (smooth in float)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'foo' (smooth in 3-element array of 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:10 Function Definition: main( (global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child (temp 4-component vector of float)
+0:12 'texColor' (temp 4-component vector of float)
+0:12 texture (global 4-component vector of float)
+0:12 'texSampler2D' (uniform sampler2D)
+0:12 Construct vec2 (temp 2-component vector of float)
+0:12 add (temp 4-component vector of float)
+0:12 direct index (smooth temp 4-component vector of float TexCoord)
+0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:12 Constant:
+0:12 4 (const int)
+0:12 direct index (smooth temp 4-component vector of float TexCoord)
+0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:12 Constant:
+0:12 5 (const int)
+0:14 add second child into first child (temp 4-component vector of float)
+0:14 'texColor' (temp 4-component vector of float)
+0:14 'color' (smooth in 4-component vector of float)
+0:16 move second child to first child (temp float)
+0:16 direct index (temp float)
+0:16 'texColor' (temp 4-component vector of float)
+0:16 Constant:
+0:16 3 (const int)
+0:16 'alpha' (smooth in float)
+0:18 move second child to first child (temp 4-component vector of float)
+0:18 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:18 add (temp 4-component vector of float)
+0:18 add (temp 4-component vector of float)
+0:18 add (temp 4-component vector of float)
+0:18 direct index (smooth temp 4-component vector of float)
+0:18 'foo' (smooth in 3-element array of 4-component vector of float)
+0:18 Constant:
+0:18 1 (const int)
+0:18 direct index (smooth temp 4-component vector of float TexCoord)
+0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:18 Constant:
+0:18 0 (const int)
+0:18 direct index (smooth temp 4-component vector of float TexCoord)
+0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:18 Constant:
+0:18 4 (const int)
+0:18 'texColor' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'color' (smooth in 4-component vector of float)
+0:? 'alpha' (smooth in float)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'foo' (smooth in 3-element array of 4-component vector of float)
+
diff --git a/Test/baseResults/varyingArrayIndirect.frag.out b/Test/baseResults/varyingArrayIndirect.frag.out
index 51fa713..02a41f3 100644
--- a/Test/baseResults/varyingArrayIndirect.frag.out
+++ b/Test/baseResults/varyingArrayIndirect.frag.out
@@ -1,126 +1,126 @@
-varyingArrayIndirect.frag
-WARNING: 0:3: varying deprecated in version 130; may be removed in future release
-WARNING: 0:4: varying deprecated in version 130; may be removed in future release
-WARNING: 0:6: varying deprecated in version 130; may be removed in future release
-WARNING: 0:8: varying deprecated in version 130; may be removed in future release
-
-Shader version: 130
-0:? Sequence
-0:12 Function Definition: main( (global void)
-0:12 Function Parameters:
-0:14 Sequence
-0:14 Sequence
-0:14 move second child to first child (temp 4-component vector of float)
-0:14 'texColor' (temp 4-component vector of float)
-0:14 texture (global 4-component vector of float)
-0:14 'texSampler2D' (uniform sampler2D)
-0:14 Construct vec2 (temp 2-component vector of float)
-0:14 add (temp 4-component vector of float)
-0:14 add (temp 4-component vector of float)
-0:14 indirect index (smooth temp 4-component vector of float)
-0:14 'userIn' (smooth in 2-element array of 4-component vector of float)
-0:14 'b' (uniform int)
-0:14 indirect index (smooth temp 4-component vector of float TexCoord)
-0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:14 'a' (uniform int)
-0:14 direct index (smooth temp 4-component vector of float TexCoord)
-0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:14 Constant:
-0:14 5 (const int)
-0:16 add second child into first child (temp 4-component vector of float)
-0:16 'texColor' (temp 4-component vector of float)
-0:16 'color' (smooth in 4-component vector of float)
-0:18 move second child to first child (temp float)
-0:18 direct index (temp float)
-0:18 'texColor' (temp 4-component vector of float)
-0:18 Constant:
-0:18 3 (const int)
-0:18 'alpha' (smooth in float)
-0:20 move second child to first child (temp 4-component vector of float)
-0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:20 add (temp 4-component vector of float)
-0:20 add (temp 4-component vector of float)
-0:20 add (temp 4-component vector of float)
-0:20 direct index (smooth temp 4-component vector of float TexCoord)
-0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:20 Constant:
-0:20 0 (const int)
-0:20 indirect index (smooth temp 4-component vector of float TexCoord)
-0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:20 'b' (uniform int)
-0:20 'texColor' (temp 4-component vector of float)
-0:20 indirect index (smooth temp 4-component vector of float)
-0:20 'userIn' (smooth in 2-element array of 4-component vector of float)
-0:20 'a' (uniform int)
-0:? Linker Objects
-0:? 'texSampler2D' (uniform sampler2D)
-0:? 'color' (smooth in 4-component vector of float)
-0:? 'alpha' (smooth in float)
-0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:? 'userIn' (smooth in 2-element array of 4-component vector of float)
-0:? 'a' (uniform int)
-0:? 'b' (uniform int)
-
-
-Linked fragment stage:
-
-
-Shader version: 130
-0:? Sequence
-0:12 Function Definition: main( (global void)
-0:12 Function Parameters:
-0:14 Sequence
-0:14 Sequence
-0:14 move second child to first child (temp 4-component vector of float)
-0:14 'texColor' (temp 4-component vector of float)
-0:14 texture (global 4-component vector of float)
-0:14 'texSampler2D' (uniform sampler2D)
-0:14 Construct vec2 (temp 2-component vector of float)
-0:14 add (temp 4-component vector of float)
-0:14 add (temp 4-component vector of float)
-0:14 indirect index (smooth temp 4-component vector of float)
-0:14 'userIn' (smooth in 2-element array of 4-component vector of float)
-0:14 'b' (uniform int)
-0:14 indirect index (smooth temp 4-component vector of float TexCoord)
-0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:14 'a' (uniform int)
-0:14 direct index (smooth temp 4-component vector of float TexCoord)
-0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:14 Constant:
-0:14 5 (const int)
-0:16 add second child into first child (temp 4-component vector of float)
-0:16 'texColor' (temp 4-component vector of float)
-0:16 'color' (smooth in 4-component vector of float)
-0:18 move second child to first child (temp float)
-0:18 direct index (temp float)
-0:18 'texColor' (temp 4-component vector of float)
-0:18 Constant:
-0:18 3 (const int)
-0:18 'alpha' (smooth in float)
-0:20 move second child to first child (temp 4-component vector of float)
-0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:20 add (temp 4-component vector of float)
-0:20 add (temp 4-component vector of float)
-0:20 add (temp 4-component vector of float)
-0:20 direct index (smooth temp 4-component vector of float TexCoord)
-0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:20 Constant:
-0:20 0 (const int)
-0:20 indirect index (smooth temp 4-component vector of float TexCoord)
-0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:20 'b' (uniform int)
-0:20 'texColor' (temp 4-component vector of float)
-0:20 indirect index (smooth temp 4-component vector of float)
-0:20 'userIn' (smooth in 2-element array of 4-component vector of float)
-0:20 'a' (uniform int)
-0:? Linker Objects
-0:? 'texSampler2D' (uniform sampler2D)
-0:? 'color' (smooth in 4-component vector of float)
-0:? 'alpha' (smooth in float)
-0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:? 'userIn' (smooth in 2-element array of 4-component vector of float)
-0:? 'a' (uniform int)
-0:? 'b' (uniform int)
-
+varyingArrayIndirect.frag
+WARNING: 0:3: varying deprecated in version 130; may be removed in future release
+WARNING: 0:4: varying deprecated in version 130; may be removed in future release
+WARNING: 0:6: varying deprecated in version 130; may be removed in future release
+WARNING: 0:8: varying deprecated in version 130; may be removed in future release
+
+Shader version: 130
+0:? Sequence
+0:12 Function Definition: main( (global void)
+0:12 Function Parameters:
+0:14 Sequence
+0:14 Sequence
+0:14 move second child to first child (temp 4-component vector of float)
+0:14 'texColor' (temp 4-component vector of float)
+0:14 texture (global 4-component vector of float)
+0:14 'texSampler2D' (uniform sampler2D)
+0:14 Construct vec2 (temp 2-component vector of float)
+0:14 add (temp 4-component vector of float)
+0:14 add (temp 4-component vector of float)
+0:14 indirect index (smooth temp 4-component vector of float)
+0:14 'userIn' (smooth in 2-element array of 4-component vector of float)
+0:14 'b' (uniform int)
+0:14 indirect index (smooth temp 4-component vector of float TexCoord)
+0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:14 'a' (uniform int)
+0:14 direct index (smooth temp 4-component vector of float TexCoord)
+0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:14 Constant:
+0:14 5 (const int)
+0:16 add second child into first child (temp 4-component vector of float)
+0:16 'texColor' (temp 4-component vector of float)
+0:16 'color' (smooth in 4-component vector of float)
+0:18 move second child to first child (temp float)
+0:18 direct index (temp float)
+0:18 'texColor' (temp 4-component vector of float)
+0:18 Constant:
+0:18 3 (const int)
+0:18 'alpha' (smooth in float)
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:20 add (temp 4-component vector of float)
+0:20 add (temp 4-component vector of float)
+0:20 add (temp 4-component vector of float)
+0:20 direct index (smooth temp 4-component vector of float TexCoord)
+0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:20 Constant:
+0:20 0 (const int)
+0:20 indirect index (smooth temp 4-component vector of float TexCoord)
+0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:20 'b' (uniform int)
+0:20 'texColor' (temp 4-component vector of float)
+0:20 indirect index (smooth temp 4-component vector of float)
+0:20 'userIn' (smooth in 2-element array of 4-component vector of float)
+0:20 'a' (uniform int)
+0:? Linker Objects
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'color' (smooth in 4-component vector of float)
+0:? 'alpha' (smooth in float)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'userIn' (smooth in 2-element array of 4-component vector of float)
+0:? 'a' (uniform int)
+0:? 'b' (uniform int)
+
+
+Linked fragment stage:
+
+
+Shader version: 130
+0:? Sequence
+0:12 Function Definition: main( (global void)
+0:12 Function Parameters:
+0:14 Sequence
+0:14 Sequence
+0:14 move second child to first child (temp 4-component vector of float)
+0:14 'texColor' (temp 4-component vector of float)
+0:14 texture (global 4-component vector of float)
+0:14 'texSampler2D' (uniform sampler2D)
+0:14 Construct vec2 (temp 2-component vector of float)
+0:14 add (temp 4-component vector of float)
+0:14 add (temp 4-component vector of float)
+0:14 indirect index (smooth temp 4-component vector of float)
+0:14 'userIn' (smooth in 2-element array of 4-component vector of float)
+0:14 'b' (uniform int)
+0:14 indirect index (smooth temp 4-component vector of float TexCoord)
+0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:14 'a' (uniform int)
+0:14 direct index (smooth temp 4-component vector of float TexCoord)
+0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:14 Constant:
+0:14 5 (const int)
+0:16 add second child into first child (temp 4-component vector of float)
+0:16 'texColor' (temp 4-component vector of float)
+0:16 'color' (smooth in 4-component vector of float)
+0:18 move second child to first child (temp float)
+0:18 direct index (temp float)
+0:18 'texColor' (temp 4-component vector of float)
+0:18 Constant:
+0:18 3 (const int)
+0:18 'alpha' (smooth in float)
+0:20 move second child to first child (temp 4-component vector of float)
+0:20 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:20 add (temp 4-component vector of float)
+0:20 add (temp 4-component vector of float)
+0:20 add (temp 4-component vector of float)
+0:20 direct index (smooth temp 4-component vector of float TexCoord)
+0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:20 Constant:
+0:20 0 (const int)
+0:20 indirect index (smooth temp 4-component vector of float TexCoord)
+0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:20 'b' (uniform int)
+0:20 'texColor' (temp 4-component vector of float)
+0:20 indirect index (smooth temp 4-component vector of float)
+0:20 'userIn' (smooth in 2-element array of 4-component vector of float)
+0:20 'a' (uniform int)
+0:? Linker Objects
+0:? 'texSampler2D' (uniform sampler2D)
+0:? 'color' (smooth in 4-component vector of float)
+0:? 'alpha' (smooth in float)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
+0:? 'userIn' (smooth in 2-element array of 4-component vector of float)
+0:? 'a' (uniform int)
+0:? 'b' (uniform int)
+
diff --git a/Test/baseResults/versionsClean.frag.out b/Test/baseResults/versionsClean.frag.out
index a0b038a..44f04f6 100644
--- a/Test/baseResults/versionsClean.frag.out
+++ b/Test/baseResults/versionsClean.frag.out
@@ -1,44 +1,44 @@
-versionsClean.frag
-ERROR: #version: statement must appear first in es-profile shader; before comments or newlines
-ERROR: 0:34: '#version' : must occur first in shader
-ERROR: 2 compilation errors. No code generated.
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:41 Function Definition: main( (global void)
-0:41 Function Parameters:
-0:43 Sequence
-0:43 move second child to first child (temp highp 4-component vector of float)
-0:43 'foo' (out highp 4-component vector of float)
-0:43 Construct vec4 (temp highp 4-component vector of float)
-0:43 'color' (smooth in highp 3-component vector of float)
-0:43 Constant:
-0:43 142.000000
-0:44 Branch: Kill
-0:? Linker Objects
-0:? 'color' (smooth in highp 3-component vector of float)
-0:? 'foo' (out highp 4-component vector of float)
-0:? 'bar' (uniform highp sampler2DArrayShadow)
-
-
-Linked fragment stage:
-
-
-Shader version: 300
-ERROR: node is still EOpNull!
-0:41 Function Definition: main( (global void)
-0:41 Function Parameters:
-0:43 Sequence
-0:43 move second child to first child (temp highp 4-component vector of float)
-0:43 'foo' (out highp 4-component vector of float)
-0:43 Construct vec4 (temp highp 4-component vector of float)
-0:43 'color' (smooth in highp 3-component vector of float)
-0:43 Constant:
-0:43 142.000000
-0:44 Branch: Kill
-0:? Linker Objects
-0:? 'color' (smooth in highp 3-component vector of float)
-0:? 'foo' (out highp 4-component vector of float)
-0:? 'bar' (uniform highp sampler2DArrayShadow)
-
+versionsClean.frag
+ERROR: #version: statement must appear first in es-profile shader; before comments or newlines
+ERROR: 0:34: '#version' : must occur first in shader
+ERROR: 2 compilation errors. No code generated.
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:41 Function Definition: main( (global void)
+0:41 Function Parameters:
+0:43 Sequence
+0:43 move second child to first child (temp highp 4-component vector of float)
+0:43 'foo' (out highp 4-component vector of float)
+0:43 Construct vec4 (temp highp 4-component vector of float)
+0:43 'color' (smooth in highp 3-component vector of float)
+0:43 Constant:
+0:43 142.000000
+0:44 Branch: Kill
+0:? Linker Objects
+0:? 'color' (smooth in highp 3-component vector of float)
+0:? 'foo' (out highp 4-component vector of float)
+0:? 'bar' (uniform highp sampler2DArrayShadow)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+ERROR: node is still EOpNull!
+0:41 Function Definition: main( (global void)
+0:41 Function Parameters:
+0:43 Sequence
+0:43 move second child to first child (temp highp 4-component vector of float)
+0:43 'foo' (out highp 4-component vector of float)
+0:43 Construct vec4 (temp highp 4-component vector of float)
+0:43 'color' (smooth in highp 3-component vector of float)
+0:43 Constant:
+0:43 142.000000
+0:44 Branch: Kill
+0:? Linker Objects
+0:? 'color' (smooth in highp 3-component vector of float)
+0:? 'foo' (out highp 4-component vector of float)
+0:? 'bar' (uniform highp sampler2DArrayShadow)
+
diff --git a/Test/baseResults/versionsClean.vert.out b/Test/baseResults/versionsClean.vert.out
index 8f06e62..c5d05a7 100644
--- a/Test/baseResults/versionsClean.vert.out
+++ b/Test/baseResults/versionsClean.vert.out
@@ -1,49 +1,49 @@
-versionsClean.vert
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
-
-Shader version: 420
-0:? Sequence
-0:40 Function Definition: main( (global void)
-0:40 Function Parameters:
-0:42 Sequence
-0:42 move second child to first child (temp 4-component vector of float)
-0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
-0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:42 Constant:
-0:42 0 (const uint)
-0:42 Construct vec4 (temp 4-component vector of float)
-0:42 'color' (in 3-component vector of float)
-0:42 Constant:
-0:42 142.000000
-0:? Linker Objects
-0:? 'color' (in 3-component vector of float)
-0:? 'foo' (uniform sampler2DRect)
-0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 420
-0:? Sequence
-0:40 Function Definition: main( (global void)
-0:40 Function Parameters:
-0:42 Sequence
-0:42 move second child to first child (temp 4-component vector of float)
-0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
-0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:42 Constant:
-0:42 0 (const uint)
-0:42 Construct vec4 (temp 4-component vector of float)
-0:42 'color' (in 3-component vector of float)
-0:42 Constant:
-0:42 142.000000
-0:? Linker Objects
-0:? 'color' (in 3-component vector of float)
-0:? 'foo' (uniform sampler2DRect)
-0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
+versionsClean.vert
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 420
+0:? Sequence
+0:40 Function Definition: main( (global void)
+0:40 Function Parameters:
+0:42 Sequence
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:42 Constant:
+0:42 0 (const uint)
+0:42 Construct vec4 (temp 4-component vector of float)
+0:42 'color' (in 3-component vector of float)
+0:42 Constant:
+0:42 142.000000
+0:? Linker Objects
+0:? 'color' (in 3-component vector of float)
+0:? 'foo' (uniform sampler2DRect)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 420
+0:? Sequence
+0:40 Function Definition: main( (global void)
+0:40 Function Parameters:
+0:42 Sequence
+0:42 move second child to first child (temp 4-component vector of float)
+0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:42 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:42 Constant:
+0:42 0 (const uint)
+0:42 Construct vec4 (temp 4-component vector of float)
+0:42 'color' (in 3-component vector of float)
+0:42 Constant:
+0:42 142.000000
+0:? Linker Objects
+0:? 'color' (in 3-component vector of float)
+0:? 'foo' (uniform sampler2DRect)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/versionsErrors.frag.out b/Test/baseResults/versionsErrors.frag.out
index 29d6fa7..34182d0 100644
--- a/Test/baseResults/versionsErrors.frag.out
+++ b/Test/baseResults/versionsErrors.frag.out
@@ -1,44 +1,44 @@
-versionsErrors.frag
-ERROR: #version: versions before 150 do not allow a profile token
-ERROR: 0:38: 'attribute' : not supported in this stage: fragment
-ERROR: 0:40: 'sampler2DRect' : Reserved word.
-ERROR: 0:44: 'floating-point suffix' : not supported for this version or the enabled extensions
-ERROR: 4 compilation errors. No code generated.
-
-
-Shader version: 110
-ERROR: node is still EOpNull!
-0:42 Function Definition: main( (global void)
-0:42 Function Parameters:
-0:44 Sequence
-0:44 move second child to first child (temp 4-component vector of float)
-0:44 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:44 Construct vec4 (temp 4-component vector of float)
-0:44 'color' (smooth in 3-component vector of float)
-0:44 Constant:
-0:44 142.000000
-0:45 Branch: Kill
-0:? Linker Objects
-0:? 'color' (smooth in 3-component vector of float)
-0:? 'foo' (uniform sampler2DRect)
-
-
-Linked fragment stage:
-
-
-Shader version: 110
-ERROR: node is still EOpNull!
-0:42 Function Definition: main( (global void)
-0:42 Function Parameters:
-0:44 Sequence
-0:44 move second child to first child (temp 4-component vector of float)
-0:44 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:44 Construct vec4 (temp 4-component vector of float)
-0:44 'color' (smooth in 3-component vector of float)
-0:44 Constant:
-0:44 142.000000
-0:45 Branch: Kill
-0:? Linker Objects
-0:? 'color' (smooth in 3-component vector of float)
-0:? 'foo' (uniform sampler2DRect)
-
+versionsErrors.frag
+ERROR: #version: versions before 150 do not allow a profile token
+ERROR: 0:38: 'attribute' : not supported in this stage: fragment
+ERROR: 0:40: 'sampler2DRect' : Reserved word.
+ERROR: 0:44: 'floating-point suffix' : not supported for this version or the enabled extensions
+ERROR: 4 compilation errors. No code generated.
+
+
+Shader version: 110
+ERROR: node is still EOpNull!
+0:42 Function Definition: main( (global void)
+0:42 Function Parameters:
+0:44 Sequence
+0:44 move second child to first child (temp 4-component vector of float)
+0:44 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:44 Construct vec4 (temp 4-component vector of float)
+0:44 'color' (smooth in 3-component vector of float)
+0:44 Constant:
+0:44 142.000000
+0:45 Branch: Kill
+0:? Linker Objects
+0:? 'color' (smooth in 3-component vector of float)
+0:? 'foo' (uniform sampler2DRect)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+ERROR: node is still EOpNull!
+0:42 Function Definition: main( (global void)
+0:42 Function Parameters:
+0:44 Sequence
+0:44 move second child to first child (temp 4-component vector of float)
+0:44 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:44 Construct vec4 (temp 4-component vector of float)
+0:44 'color' (smooth in 3-component vector of float)
+0:44 Constant:
+0:44 142.000000
+0:45 Branch: Kill
+0:? Linker Objects
+0:? 'color' (smooth in 3-component vector of float)
+0:? 'foo' (uniform sampler2DRect)
+
diff --git a/Test/baseResults/versionsErrors.vert.out b/Test/baseResults/versionsErrors.vert.out
index 440afd8..0aeaea8 100644
--- a/Test/baseResults/versionsErrors.vert.out
+++ b/Test/baseResults/versionsErrors.vert.out
@@ -1,58 +1,58 @@
-versionsErrors.vert
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
-WARNING: 0:38: attribute deprecated in version 130; may be removed in future release
-ERROR: 0:38: 'attribute' : no longer supported in core profile; removed in version 420
-ERROR: 0:45: 'discard' : not supported in this stage: vertex
-ERROR: 2 compilation errors. No code generated.
-
-
-Shader version: 420
-Requested GL_ARB_texture_rectangle
-ERROR: node is still EOpNull!
-0:42 Function Definition: main( (global void)
-0:42 Function Parameters:
-0:44 Sequence
-0:44 move second child to first child (temp 4-component vector of float)
-0:44 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
-0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:44 Constant:
-0:44 0 (const uint)
-0:44 Construct vec4 (temp 4-component vector of float)
-0:44 'color' (in 3-component vector of float)
-0:44 Constant:
-0:44 142.000000
-0:45 Branch: Kill
-0:? Linker Objects
-0:? 'color' (in 3-component vector of float)
-0:? 'foo' (uniform sampler2DRect)
-0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
-
-Linked vertex stage:
-
-
-Shader version: 420
-Requested GL_ARB_texture_rectangle
-ERROR: node is still EOpNull!
-0:42 Function Definition: main( (global void)
-0:42 Function Parameters:
-0:44 Sequence
-0:44 move second child to first child (temp 4-component vector of float)
-0:44 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
-0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:44 Constant:
-0:44 0 (const uint)
-0:44 Construct vec4 (temp 4-component vector of float)
-0:44 'color' (in 3-component vector of float)
-0:44 Constant:
-0:44 142.000000
-0:45 Branch: Kill
-0:? Linker Objects
-0:? 'color' (in 3-component vector of float)
-0:? 'foo' (uniform sampler2DRect)
-0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-0:? 'gl_VertexID' (gl_VertexId int VertexId)
-0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
-
+versionsErrors.vert
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
+WARNING: 0:38: attribute deprecated in version 130; may be removed in future release
+ERROR: 0:38: 'attribute' : no longer supported in core profile; removed in version 420
+ERROR: 0:45: 'discard' : not supported in this stage: vertex
+ERROR: 2 compilation errors. No code generated.
+
+
+Shader version: 420
+Requested GL_ARB_texture_rectangle
+ERROR: node is still EOpNull!
+0:42 Function Definition: main( (global void)
+0:42 Function Parameters:
+0:44 Sequence
+0:44 move second child to first child (temp 4-component vector of float)
+0:44 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:44 Constant:
+0:44 0 (const uint)
+0:44 Construct vec4 (temp 4-component vector of float)
+0:44 'color' (in 3-component vector of float)
+0:44 Constant:
+0:44 142.000000
+0:45 Branch: Kill
+0:? Linker Objects
+0:? 'color' (in 3-component vector of float)
+0:? 'foo' (uniform sampler2DRect)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 420
+Requested GL_ARB_texture_rectangle
+ERROR: node is still EOpNull!
+0:42 Function Definition: main( (global void)
+0:42 Function Parameters:
+0:44 Sequence
+0:44 move second child to first child (temp 4-component vector of float)
+0:44 gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
+0:44 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:44 Constant:
+0:44 0 (const uint)
+0:44 Construct vec4 (temp 4-component vector of float)
+0:44 'color' (in 3-component vector of float)
+0:44 Constant:
+0:44 142.000000
+0:45 Branch: Kill
+0:? Linker Objects
+0:? 'color' (in 3-component vector of float)
+0:? 'foo' (uniform sampler2DRect)
+0:? 'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
+0:? 'gl_VertexID' (gl_VertexId int VertexId)
+0:? 'gl_InstanceID' (gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/voidFunction.frag.out b/Test/baseResults/voidFunction.frag.out
index 3124ab2..638cfbd 100644
--- a/Test/baseResults/voidFunction.frag.out
+++ b/Test/baseResults/voidFunction.frag.out
@@ -1,91 +1,91 @@
-voidFunction.frag
-Shader version: 120
-0:? Sequence
-0:7 Sequence
-0:7 move second child to first child (temp float)
-0:7 'bar' (global float)
-0:7 Constant:
-0:7 2.000000
-0:9 Function Definition: foo( (global void)
-0:9 Function Parameters:
-0:11 Sequence
-0:11 Post-Increment (temp float)
-0:11 'bar' (global float)
-0:13 Branch: Return
-0:16 Function Definition: foo2( (global void)
-0:16 Function Parameters:
-0:18 Sequence
-0:18 Post-Increment (temp float)
-0:18 'bar' (global float)
-0:21 Function Definition: main( (global void)
-0:21 Function Parameters:
-0:23 Sequence
-0:23 Sequence
-0:23 move second child to first child (temp 4-component vector of float)
-0:23 'outColor' (temp 4-component vector of float)
-0:23 'bigColor' (uniform 4-component vector of float)
-0:25 Function Call: foo( (global void)
-0:27 Function Call: foo2( (global void)
-0:29 add second child into first child (temp float)
-0:29 direct index (temp float)
-0:29 'outColor' (temp 4-component vector of float)
-0:29 Constant:
-0:29 0 (const int)
-0:29 'bar' (global float)
-0:31 move second child to first child (temp 4-component vector of float)
-0:31 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:31 'outColor' (temp 4-component vector of float)
-0:33 Branch: Return
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-0:? 'bar' (global float)
-
-
-Linked fragment stage:
-
-
-Shader version: 120
-0:? Sequence
-0:7 Sequence
-0:7 move second child to first child (temp float)
-0:7 'bar' (global float)
-0:7 Constant:
-0:7 2.000000
-0:9 Function Definition: foo( (global void)
-0:9 Function Parameters:
-0:11 Sequence
-0:11 Post-Increment (temp float)
-0:11 'bar' (global float)
-0:13 Branch: Return
-0:16 Function Definition: foo2( (global void)
-0:16 Function Parameters:
-0:18 Sequence
-0:18 Post-Increment (temp float)
-0:18 'bar' (global float)
-0:21 Function Definition: main( (global void)
-0:21 Function Parameters:
-0:23 Sequence
-0:23 Sequence
-0:23 move second child to first child (temp 4-component vector of float)
-0:23 'outColor' (temp 4-component vector of float)
-0:23 'bigColor' (uniform 4-component vector of float)
-0:25 Function Call: foo( (global void)
-0:27 Function Call: foo2( (global void)
-0:29 add second child into first child (temp float)
-0:29 direct index (temp float)
-0:29 'outColor' (temp 4-component vector of float)
-0:29 Constant:
-0:29 0 (const int)
-0:29 'bar' (global float)
-0:31 move second child to first child (temp 4-component vector of float)
-0:31 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:31 'outColor' (temp 4-component vector of float)
-0:33 Branch: Return
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-0:? 'bar' (global float)
-
+voidFunction.frag
+Shader version: 120
+0:? Sequence
+0:7 Sequence
+0:7 move second child to first child (temp float)
+0:7 'bar' (global float)
+0:7 Constant:
+0:7 2.000000
+0:9 Function Definition: foo( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Post-Increment (temp float)
+0:11 'bar' (global float)
+0:13 Branch: Return
+0:16 Function Definition: foo2( (global void)
+0:16 Function Parameters:
+0:18 Sequence
+0:18 Post-Increment (temp float)
+0:18 'bar' (global float)
+0:21 Function Definition: main( (global void)
+0:21 Function Parameters:
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'outColor' (temp 4-component vector of float)
+0:23 'bigColor' (uniform 4-component vector of float)
+0:25 Function Call: foo( (global void)
+0:27 Function Call: foo2( (global void)
+0:29 add second child into first child (temp float)
+0:29 direct index (temp float)
+0:29 'outColor' (temp 4-component vector of float)
+0:29 Constant:
+0:29 0 (const int)
+0:29 'bar' (global float)
+0:31 move second child to first child (temp 4-component vector of float)
+0:31 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:31 'outColor' (temp 4-component vector of float)
+0:33 Branch: Return
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+0:? 'bar' (global float)
+
+
+Linked fragment stage:
+
+
+Shader version: 120
+0:? Sequence
+0:7 Sequence
+0:7 move second child to first child (temp float)
+0:7 'bar' (global float)
+0:7 Constant:
+0:7 2.000000
+0:9 Function Definition: foo( (global void)
+0:9 Function Parameters:
+0:11 Sequence
+0:11 Post-Increment (temp float)
+0:11 'bar' (global float)
+0:13 Branch: Return
+0:16 Function Definition: foo2( (global void)
+0:16 Function Parameters:
+0:18 Sequence
+0:18 Post-Increment (temp float)
+0:18 'bar' (global float)
+0:21 Function Definition: main( (global void)
+0:21 Function Parameters:
+0:23 Sequence
+0:23 Sequence
+0:23 move second child to first child (temp 4-component vector of float)
+0:23 'outColor' (temp 4-component vector of float)
+0:23 'bigColor' (uniform 4-component vector of float)
+0:25 Function Call: foo( (global void)
+0:27 Function Call: foo2( (global void)
+0:29 add second child into first child (temp float)
+0:29 direct index (temp float)
+0:29 'outColor' (temp 4-component vector of float)
+0:29 Constant:
+0:29 0 (const int)
+0:29 'bar' (global float)
+0:31 move second child to first child (temp 4-component vector of float)
+0:31 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:31 'outColor' (temp 4-component vector of float)
+0:33 Branch: Return
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+0:? 'bar' (global float)
+
diff --git a/Test/baseResults/whileLoop.frag.out b/Test/baseResults/whileLoop.frag.out
index 87d3af7..ad30b36 100644
--- a/Test/baseResults/whileLoop.frag.out
+++ b/Test/baseResults/whileLoop.frag.out
@@ -1,65 +1,65 @@
-whileLoop.frag
-Shader version: 110
-0:? Sequence
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:9 Sequence
-0:9 Sequence
-0:9 move second child to first child (temp 4-component vector of float)
-0:9 'color' (temp 4-component vector of float)
-0:9 'BaseColor' (smooth in 4-component vector of float)
-0:11 Loop with condition tested first
-0:11 Loop Condition
-0:11 Compare Less Than (temp bool)
-0:11 direct index (temp float)
-0:11 'color' (temp 4-component vector of float)
-0:11 Constant:
-0:11 0 (const int)
-0:11 'd' (uniform float)
-0:11 Loop Body
-0:12 Sequence
-0:12 add second child into first child (temp 4-component vector of float)
-0:12 'color' (temp 4-component vector of float)
-0:12 'bigColor' (uniform 4-component vector of float)
-0:15 move second child to first child (temp 4-component vector of float)
-0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:15 'color' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-
-
-Linked fragment stage:
-
-
-Shader version: 110
-0:? Sequence
-0:7 Function Definition: main( (global void)
-0:7 Function Parameters:
-0:9 Sequence
-0:9 Sequence
-0:9 move second child to first child (temp 4-component vector of float)
-0:9 'color' (temp 4-component vector of float)
-0:9 'BaseColor' (smooth in 4-component vector of float)
-0:11 Loop with condition tested first
-0:11 Loop Condition
-0:11 Compare Less Than (temp bool)
-0:11 direct index (temp float)
-0:11 'color' (temp 4-component vector of float)
-0:11 Constant:
-0:11 0 (const int)
-0:11 'd' (uniform float)
-0:11 Loop Body
-0:12 Sequence
-0:12 add second child into first child (temp 4-component vector of float)
-0:12 'color' (temp 4-component vector of float)
-0:12 'bigColor' (uniform 4-component vector of float)
-0:15 move second child to first child (temp 4-component vector of float)
-0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:15 'color' (temp 4-component vector of float)
-0:? Linker Objects
-0:? 'bigColor' (uniform 4-component vector of float)
-0:? 'BaseColor' (smooth in 4-component vector of float)
-0:? 'd' (uniform float)
-
+whileLoop.frag
+Shader version: 110
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'color' (temp 4-component vector of float)
+0:9 'BaseColor' (smooth in 4-component vector of float)
+0:11 Loop with condition tested first
+0:11 Loop Condition
+0:11 Compare Less Than (temp bool)
+0:11 direct index (temp float)
+0:11 'color' (temp 4-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 'd' (uniform float)
+0:11 Loop Body
+0:12 Sequence
+0:12 add second child into first child (temp 4-component vector of float)
+0:12 'color' (temp 4-component vector of float)
+0:12 'bigColor' (uniform 4-component vector of float)
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:15 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+
+
+Linked fragment stage:
+
+
+Shader version: 110
+0:? Sequence
+0:7 Function Definition: main( (global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Sequence
+0:9 move second child to first child (temp 4-component vector of float)
+0:9 'color' (temp 4-component vector of float)
+0:9 'BaseColor' (smooth in 4-component vector of float)
+0:11 Loop with condition tested first
+0:11 Loop Condition
+0:11 Compare Less Than (temp bool)
+0:11 direct index (temp float)
+0:11 'color' (temp 4-component vector of float)
+0:11 Constant:
+0:11 0 (const int)
+0:11 'd' (uniform float)
+0:11 Loop Body
+0:12 Sequence
+0:12 add second child into first child (temp 4-component vector of float)
+0:12 'color' (temp 4-component vector of float)
+0:12 'bigColor' (uniform 4-component vector of float)
+0:15 move second child to first child (temp 4-component vector of float)
+0:15 'gl_FragColor' (fragColor 4-component vector of float FragColor)
+0:15 'color' (temp 4-component vector of float)
+0:? Linker Objects
+0:? 'bigColor' (uniform 4-component vector of float)
+0:? 'BaseColor' (smooth in 4-component vector of float)
+0:? 'd' (uniform float)
+