--- /dev/null
+310.comp\r
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.\r
+ERROR: 0:4: 'local_size' : cannot change previously set size \r
+ERROR: 0:5: 'local_size' : too large; see gl_MaxComputeWorkGroupSize \r
+ERROR: 0:23: 'values' : only the last member of a buffer block can be run-time sized \r
+ERROR: 0:39: 'in' : global storage input qualifier cannot be used in a compute shader \r
+ERROR: 0:39: 'location qualifier on input' : not supported in this stage: compute\r
+ERROR: 0:40: 'in' : global storage input qualifier cannot be used in a compute shader \r
+ERROR: 0:41: 'out' : global storage output qualifier cannot be used in a compute shader \r
+ERROR: 0:44: 'shared' : cannot apply layout qualifiers to a shared variable \r
+ERROR: 0:44: 'location' : can only appy to uniform, buffer, in, or out storage qualifiers \r
+ERROR: 0:45: 'shared' : cannot initialize this type of qualifier \r
+ERROR: 0:47: 'local_size' : can only apply to 'in' \r
+ERROR: 0:47: 'local_size' : can only apply to 'in' \r
+ERROR: 0:47: 'local_size' : can only apply to 'in' \r
+ERROR: 0:61: 'assign' : l-value required "ro" (can't modify a readonly buffer)\r
+ERROR: 0:66: 'buffer' : buffers can be declared only as blocks \r
+ERROR: 0:68: 'sampler/image' : type requires declaration of default precision qualifier \r
+ERROR: 0:76: '' : image variables not declared 'writeonly' must have a format layout qualifier \r
+ERROR: 0:87: 'imageAtomicCompSwap' : no matching overloaded function found \r
+ERROR: 0:88: 'imageAtomicAdd' : no matching overloaded function found \r
+ERROR: 0:89: 'imageAtomicMin' : no matching overloaded function found \r
+ERROR: 0:90: 'imageAtomicMax' : no matching overloaded function found \r
+ERROR: 0:94: 'writeonly' : argument cannot drop memory qualifier when passed to formal parameter \r
+ERROR: 0:97: 'volatile' : Reserved word. \r
+ERROR: 0:97: '' : memory qualifiers cannot be used on this type \r
+ERROR: 0:98: '' : memory qualifiers cannot be used on this type \r
+ERROR: 0:110: 'restrict' : argument cannot drop memory qualifier when passed to formal parameter \r
+ERROR: 0:114: 'image load-store format' : not supported with this profile: es\r
+ERROR: 0:114: 'rg8i' : does not apply to unsigned integer images \r
+ERROR: 0:115: 'rgba32i' : does not apply to floating point images \r
+ERROR: 0:116: 'rgba32f' : does not apply to unsigned integer images \r
+ERROR: 0:117: 'image load-store format' : not supported with this profile: es\r
+ERROR: 0:117: 'r8_snorm' : does not apply to signed integer images \r
+ERROR: 0:118: 'rgba32ui' : does not apply to signed integer images \r
+ERROR: 0:119: 'image load-store format' : not supported with this profile: es\r
+ERROR: 0:119: 'r8ui' : does not apply to signed integer images \r
+ERROR: 0:128: 'atomic_uint' : samplers and atomic_uints cannot be output parameters \r
+ERROR: 0:130: 'return' : type does not match, or is not convertible to, the function's return type \r
+ERROR: 0:136: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: non_uniform_counter\r
+ERROR: 0:141: 'atomic_uint' : atomic counters can only be highp \r
+ERROR: 39 compilation errors. No code generated.\r
+\r
+\r
+Shader version: 310\r
+local_size = (2, 1, 4096)\r
+ERROR: node is still EOpNull!\r
+0:27 Function Definition: main( (void)\r
+0:27 Function Parameters: \r
+0:29 Sequence\r
+0:29 Barrier (void)\r
+0:30 MemoryBarrier (void)\r
+0:31 MemoryBarrierAtomicCounter (void)\r
+0:32 MemoryBarrierBuffer (void)\r
+0:33 MemoryBarrierShared (void)\r
+0:34 MemoryBarrierImage (void)\r
+0:35 GroupMemoryBarrier (void)\r
+0:36 move second child to first child (highp int)\r
+0:36 value: direct index for structure (layout(column_major shared ) buffer highp int)\r
+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})\r
+0:36 Constant:\r
+0:36 0 (const uint)\r
+0:36 Convert float to int (highp int)\r
+0:36 indirect index (layout(column_major shared ) highp float)\r
+0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)\r
+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})\r
+0:36 Constant:\r
+0:36 1 (const uint)\r
+0:36 'gl_LocalInvocationIndex' (in highp uint)\r
+0:59 Function Definition: foo( (void)\r
+0:59 Function Parameters: \r
+0:61 Sequence\r
+0:61 move second child to first child (highp float)\r
+0:61 direct index (layout(column_major shared ) highp float)\r
+0:61 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)\r
+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})\r
+0:61 Constant:\r
+0:61 1 (const int)\r
+0:61 Constant:\r
+0:61 2 (const int)\r
+0:61 Constant:\r
+0:61 4.700000\r
+0:62 array length (highp int)\r
+0:62 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)\r
+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})\r
+0:62 Constant:\r
+0:62 1 (const int)\r
+0:63 Pre-Increment (highp 4-component vector of float)\r
+0:63 's' (shared highp 4-component vector of float)\r
+0:84 Function Definition: qux( (void)\r
+0:84 Function Parameters: \r
+0:86 Sequence\r
+0:86 Sequence\r
+0:86 move second child to first child (highp int)\r
+0:86 'i' (highp int)\r
+0:86 Constant:\r
+0:86 4 (const int)\r
+0:87 Constant:\r
+0:87 0.000000\r
+0:88 Constant:\r
+0:88 0.000000\r
+0:89 Constant:\r
+0:89 0.000000\r
+0:90 Constant:\r
+0:90 0.000000\r
+0:91 Sequence\r
+0:91 move second child to first child (highp 4-component vector of int)\r
+0:91 'pos' (highp 4-component vector of int)\r
+0:91 Function Call: imageLoad(iI21;vi2; (highp 4-component vector of int)\r
+0:91 'iimg2D' (layout(r32i ) uniform highp iimage2D)\r
+0:91 Construct ivec2 (2-component vector of int)\r
+0:91 'i' (highp int)\r
+0:91 'i' (highp int)\r
+0:92 Function Call: imageStore(iIA21;vi3;vi4; (highp void)\r
+0:92 'ii2da' (writeonly uniform highp iimage2DArray)\r
+0:92 Construct ivec3 (3-component vector of int)\r
+0:92 'i' (highp int)\r
+0:92 'i' (highp int)\r
+0:92 'i' (highp int)\r
+0:92 Constant:\r
+0:92 0 (const int)\r
+0:92 0 (const int)\r
+0:92 0 (const int)\r
+0:92 0 (const int)\r
+0:93 Function Call: imageLoad(I21;vi2; (highp 4-component vector of float)\r
+0:93 'img2Drgba' (layout(rgba32f ) uniform lowp image2D)\r
+0:93 Construct ivec2 (2-component vector of int)\r
+0:93 'i' (highp int)\r
+0:93 'i' (highp int)\r
+0:94 Function Call: imageLoad(iIA21;vi3; (highp 4-component vector of int)\r
+0:94 'ii2da' (writeonly uniform highp iimage2DArray)\r
+0:94 Construct ivec3 (3-component vector of int)\r
+0:94 'i' (highp int)\r
+0:94 'i' (highp int)\r
+0:94 'i' (highp int)\r
+0:100 Function Definition: passr(iI21; (void)\r
+0:100 Function Parameters: \r
+0:100 'image' (coherent readonly in highp iimage2D)\r
+0:107 Function Definition: passrc( (void)\r
+0:107 Function Parameters: \r
+0:109 Sequence\r
+0:109 Function Call: passr(iI21; (void)\r
+0:109 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)\r
+0:110 Function Call: passr(iI21; (void)\r
+0:110 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)\r
+0:111 Function Call: passr(iI21; (void)\r
+0:111 'iimg2D' (layout(r32i ) uniform highp iimage2D)\r
+0:123 Function Definition: func(au1; (highp uint)\r
+0:123 Function Parameters: \r
+0:123 'c' (in highp atomic_uint)\r
+0:125 Sequence\r
+0:125 Branch: Return with expression\r
+0:125 Function Call: atomicCounterIncrement(au1; (highp uint)\r
+0:125 'c' (in highp atomic_uint)\r
+0:128 Function Definition: func2(au1; (highp uint)\r
+0:128 Function Parameters: \r
+0:128 'c' (out highp atomic_uint)\r
+0:130 Sequence\r
+0:130 Branch: Return with expression\r
+0:130 'counter' (layout(binding=0 ) uniform highp atomic_uint)\r
+0:131 Branch: Return with expression\r
+0:131 Function Call: atomicCounter(au1; (highp uint)\r
+0:131 'counter' (layout(binding=0 ) uniform highp atomic_uint)\r
+0:134 Function Definition: mainAC( (void)\r
+0:134 Function Parameters: \r
+0:? Sequence\r
+0:137 Sequence\r
+0:137 move second child to first child (highp uint)\r
+0:137 'val' (highp uint)\r
+0:137 Function Call: atomicCounter(au1; (highp uint)\r
+0:137 'counter' (layout(binding=0 ) uniform highp atomic_uint)\r
+0:138 Function Call: atomicCounterDecrement(au1; (highp uint)\r
+0:138 'counter' (layout(binding=0 ) uniform highp atomic_uint)\r
+0:? Linker Objects\r
+0:? 'gl_WorkGroupSize' (const highp 3-component vector of uint)\r
+0:? 2 (const uint)\r
+0:? 1 (const uint)\r
+0:? 4096 (const uint)\r
+0:? 'total' (const highp int)\r
+0:? 66592 (const int)\r
+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})\r
+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})\r
+0:? 'v3' (layout(location=2 ) in highp 3-component vector of float)\r
+0:? 'f' (in highp float)\r
+0:? 'fo' (out highp float)\r
+0:? 's' (shared highp 4-component vector of float)\r
+0:? 'sl' (layout(location=2 ) shared highp 4-component vector of float)\r
+0:? 'fs' (shared highp float)\r
+0:? 'arrX' (2-element array of highp int)\r
+0:? 'arrY' (1-element array of highp int)\r
+0:? 'arrZ' (4096-element array of highp int)\r
+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})\r
+0:? 'v' (buffer highp 4-component vector of float)\r
+0:? 'us2dbad' (uniform mediump usampler2D)\r
+0:? 'us2d' (uniform highp usampler2D)\r
+0:? 'ii2dabad' (uniform highp iimage2DArray)\r
+0:? 'ii2da' (writeonly uniform highp iimage2DArray)\r
+0:? 'iimg2D' (layout(r32i ) uniform highp iimage2D)\r
+0:? 'iimg2Drgba' (layout(rgba32i ) uniform highp iimage2D)\r
+0:? 'img2Drgba' (layout(rgba32f ) uniform lowp image2D)\r
+0:? 'uimg2D' (layout(r32ui ) uniform highp uimage2D)\r
+0:? 'vol' (volatile highp float)\r
+0:? 'vol2' (readonly highp int)\r
+0:? 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)\r
+0:? 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)\r
+0:? 'i1bad' (layout(rg8i ) uniform highp uimage2D)\r
+0:? 'i2bad' (layout(rgba32i ) uniform lowp image2D)\r
+0:? 'i3bad' (layout(rgba32f ) uniform highp uimage2D)\r
+0:? 'i4bad' (layout(r8_snorm ) uniform highp iimage2D)\r
+0:? 'i5bad' (layout(rgba32ui ) uniform highp iimage2D)\r
+0:? 'i6bad' (layout(r8ui ) uniform highp iimage2D)\r
+0:? 'counter' (layout(binding=0 ) uniform highp atomic_uint)\r
+0:? 'counterBad' (layout(binding=1 ) uniform mediump atomic_uint)\r
+\r
+\r
+Linked compute stage:\r
+\r
+\r
+Shader version: 310\r
+local_size = (2, 1, 4096)\r
+ERROR: node is still EOpNull!\r
+0:27 Function Definition: main( (void)\r
+0:27 Function Parameters: \r
+0:29 Sequence\r
+0:29 Barrier (void)\r
+0:30 MemoryBarrier (void)\r
+0:31 MemoryBarrierAtomicCounter (void)\r
+0:32 MemoryBarrierBuffer (void)\r
+0:33 MemoryBarrierShared (void)\r
+0:34 MemoryBarrierImage (void)\r
+0:35 GroupMemoryBarrier (void)\r
+0:36 move second child to first child (highp int)\r
+0:36 value: direct index for structure (layout(column_major shared ) buffer highp int)\r
+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})\r
+0:36 Constant:\r
+0:36 0 (const uint)\r
+0:36 Convert float to int (highp int)\r
+0:36 indirect index (layout(column_major shared ) highp float)\r
+0:36 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)\r
+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})\r
+0:36 Constant:\r
+0:36 1 (const uint)\r
+0:36 'gl_LocalInvocationIndex' (in highp uint)\r
+0:59 Function Definition: foo( (void)\r
+0:59 Function Parameters: \r
+0:61 Sequence\r
+0:61 move second child to first child (highp float)\r
+0:61 direct index (layout(column_major shared ) highp float)\r
+0:61 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)\r
+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})\r
+0:61 Constant:\r
+0:61 1 (const int)\r
+0:61 Constant:\r
+0:61 2 (const int)\r
+0:61 Constant:\r
+0:61 4.700000\r
+0:62 array length (highp int)\r
+0:62 values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)\r
+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})\r
+0:62 Constant:\r
+0:62 1 (const int)\r
+0:63 Pre-Increment (highp 4-component vector of float)\r
+0:63 's' (shared highp 4-component vector of float)\r
+0:84 Function Definition: qux( (void)\r
+0:84 Function Parameters: \r
+0:86 Sequence\r
+0:86 Sequence\r
+0:86 move second child to first child (highp int)\r
+0:86 'i' (highp int)\r
+0:86 Constant:\r
+0:86 4 (const int)\r
+0:87 Constant:\r
+0:87 0.000000\r
+0:88 Constant:\r
+0:88 0.000000\r
+0:89 Constant:\r
+0:89 0.000000\r
+0:90 Constant:\r
+0:90 0.000000\r
+0:91 Sequence\r
+0:91 move second child to first child (highp 4-component vector of int)\r
+0:91 'pos' (highp 4-component vector of int)\r
+0:91 Function Call: imageLoad(iI21;vi2; (highp 4-component vector of int)\r
+0:91 'iimg2D' (layout(r32i ) uniform highp iimage2D)\r
+0:91 Construct ivec2 (2-component vector of int)\r
+0:91 'i' (highp int)\r
+0:91 'i' (highp int)\r
+0:92 Function Call: imageStore(iIA21;vi3;vi4; (highp void)\r
+0:92 'ii2da' (writeonly uniform highp iimage2DArray)\r
+0:92 Construct ivec3 (3-component vector of int)\r
+0:92 'i' (highp int)\r
+0:92 'i' (highp int)\r
+0:92 'i' (highp int)\r
+0:92 Constant:\r
+0:92 0 (const int)\r
+0:92 0 (const int)\r
+0:92 0 (const int)\r
+0:92 0 (const int)\r
+0:93 Function Call: imageLoad(I21;vi2; (highp 4-component vector of float)\r
+0:93 'img2Drgba' (layout(rgba32f ) uniform lowp image2D)\r
+0:93 Construct ivec2 (2-component vector of int)\r
+0:93 'i' (highp int)\r
+0:93 'i' (highp int)\r
+0:94 Function Call: imageLoad(iIA21;vi3; (highp 4-component vector of int)\r
+0:94 'ii2da' (writeonly uniform highp iimage2DArray)\r
+0:94 Construct ivec3 (3-component vector of int)\r
+0:94 'i' (highp int)\r
+0:94 'i' (highp int)\r
+0:94 'i' (highp int)\r
+0:100 Function Definition: passr(iI21; (void)\r
+0:100 Function Parameters: \r
+0:100 'image' (coherent readonly in highp iimage2D)\r
+0:107 Function Definition: passrc( (void)\r
+0:107 Function Parameters: \r
+0:109 Sequence\r
+0:109 Function Call: passr(iI21; (void)\r
+0:109 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)\r
+0:110 Function Call: passr(iI21; (void)\r
+0:110 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)\r
+0:111 Function Call: passr(iI21; (void)\r
+0:111 'iimg2D' (layout(r32i ) uniform highp iimage2D)\r
+0:123 Function Definition: func(au1; (highp uint)\r
+0:123 Function Parameters: \r
+0:123 'c' (in highp atomic_uint)\r
+0:125 Sequence\r
+0:125 Branch: Return with expression\r
+0:125 Function Call: atomicCounterIncrement(au1; (highp uint)\r
+0:125 'c' (in highp atomic_uint)\r
+0:128 Function Definition: func2(au1; (highp uint)\r
+0:128 Function Parameters: \r
+0:128 'c' (out highp atomic_uint)\r
+0:130 Sequence\r
+0:130 Branch: Return with expression\r
+0:130 'counter' (layout(binding=0 ) uniform highp atomic_uint)\r
+0:131 Branch: Return with expression\r
+0:131 Function Call: atomicCounter(au1; (highp uint)\r
+0:131 'counter' (layout(binding=0 ) uniform highp atomic_uint)\r
+0:134 Function Definition: mainAC( (void)\r
+0:134 Function Parameters: \r
+0:? Sequence\r
+0:137 Sequence\r
+0:137 move second child to first child (highp uint)\r
+0:137 'val' (highp uint)\r
+0:137 Function Call: atomicCounter(au1; (highp uint)\r
+0:137 'counter' (layout(binding=0 ) uniform highp atomic_uint)\r
+0:138 Function Call: atomicCounterDecrement(au1; (highp uint)\r
+0:138 'counter' (layout(binding=0 ) uniform highp atomic_uint)\r
+0:? Linker Objects\r
+0:? 'gl_WorkGroupSize' (const highp 3-component vector of uint)\r
+0:? 2 (const uint)\r
+0:? 1 (const uint)\r
+0:? 4096 (const uint)\r
+0:? 'total' (const highp int)\r
+0:? 66592 (const int)\r
+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})\r
+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})\r
+0:? 'v3' (layout(location=2 ) in highp 3-component vector of float)\r
+0:? 'f' (in highp float)\r
+0:? 'fo' (out highp float)\r
+0:? 's' (shared highp 4-component vector of float)\r
+0:? 'sl' (layout(location=2 ) shared highp 4-component vector of float)\r
+0:? 'fs' (shared highp float)\r
+0:? 'arrX' (2-element array of highp int)\r
+0:? 'arrY' (1-element array of highp int)\r
+0:? 'arrZ' (4096-element array of highp int)\r
+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})\r
+0:? 'v' (buffer highp 4-component vector of float)\r
+0:? 'us2dbad' (uniform mediump usampler2D)\r
+0:? 'us2d' (uniform highp usampler2D)\r
+0:? 'ii2dabad' (uniform highp iimage2DArray)\r
+0:? 'ii2da' (writeonly uniform highp iimage2DArray)\r
+0:? 'iimg2D' (layout(r32i ) uniform highp iimage2D)\r
+0:? 'iimg2Drgba' (layout(rgba32i ) uniform highp iimage2D)\r
+0:? 'img2Drgba' (layout(rgba32f ) uniform lowp image2D)\r
+0:? 'uimg2D' (layout(r32ui ) uniform highp uimage2D)\r
+0:? 'vol' (volatile highp float)\r
+0:? 'vol2' (readonly highp int)\r
+0:? 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)\r
+0:? 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)\r
+0:? 'i1bad' (layout(rg8i ) uniform highp uimage2D)\r
+0:? 'i2bad' (layout(rgba32i ) uniform lowp image2D)\r
+0:? 'i3bad' (layout(rgba32f ) uniform highp uimage2D)\r
+0:? 'i4bad' (layout(r8_snorm ) uniform highp iimage2D)\r
+0:? 'i5bad' (layout(rgba32ui ) uniform highp iimage2D)\r
+0:? 'i6bad' (layout(r8ui ) uniform highp iimage2D)\r
+0:? 'counter' (layout(binding=0 ) uniform highp atomic_uint)\r
+0:? 'counterBad' (layout(binding=1 ) uniform mediump atomic_uint)\r
+\r
--- /dev/null
+310.frag\r
+Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.\r
+ERROR: 0:8: 'origin_upper_left' : not supported with this profile: es\r
+ERROR: 0:8: 'pixel_center_integer' : not supported with this profile: es\r
+ERROR: 0:8: 'gl_FragCoord' : identifiers starting with "gl_" are reserved \r
+ERROR: 0:11: 'location' : overlapping use of location 2\r
+ERROR: 0:15: 'usampler2DRect' : Reserved word. \r
+ERROR: 0:15: 'sampler/image' : type requires declaration of default precision qualifier \r
+ERROR: 0:23: 'variable indexing sampler array' : not supported with this profile: es\r
+ERROR: 0:27: 'textureGatherOffsets' : no matching overloaded function found \r
+ERROR: 0:27: '=' : cannot convert from 'const float' to 'mediump 4-component vector of uint'\r
+ERROR: 0:30: 'textureGatherOffset(...)' : must be a compile-time constant: component argument\r
+ERROR: 0:31: 'textureGatherOffset(...)' : must be 0, 1, 2, or 3: component argument\r
+ERROR: 0:42: 'texel offset' : argument must be compile-time constant \r
+ERROR: 0:44: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]\r
+ERROR: 0:44: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]\r
+ERROR: 0:45: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]\r
+ERROR: 0:45: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]\r
+ERROR: 16 compilation errors. No code generated.\r
+\r
+\r
+Shader version: 310\r
+ERROR: node is still EOpNull!\r
+0:21 Function Definition: main( (void)\r
+0:21 Function Parameters: \r
+0:23 Sequence\r
+0:23 Sequence\r
+0:23 move second child to first child (highp 4-component vector of float)\r
+0:23 'v' (mediump 4-component vector of float)\r
+0:23 Function Call: texture(s21;vf2; (highp 4-component vector of float)\r
+0:23 indirect index (highp sampler2D)\r
+0:23 'arrayedSampler' (uniform 5-element array of highp sampler2D)\r
+0:23 'i' (uniform mediump int)\r
+0:23 'c2D' (smooth in mediump 2-component vector of float)\r
+0:28 Sequence\r
+0:28 move second child to first child (highp 4-component vector of float)\r
+0:28 'v4' (mediump 4-component vector of float)\r
+0:28 Function Call: textureGather(s21;vf2; (highp 4-component vector of float)\r
+0:28 direct index (highp sampler2D)\r
+0:28 'arrayedSampler' (uniform 5-element array of highp sampler2D)\r
+0:28 Constant:\r
+0:28 0 (const int)\r
+0:28 'c2D' (smooth in mediump 2-component vector of float)\r
+0:29 Sequence\r
+0:29 move second child to first child (mediump 4-component vector of int)\r
+0:29 'iv4' (mediump 4-component vector of int)\r
+0:29 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (mediump 4-component vector of int)\r
+0:29 'isamp2DA' (uniform highp isampler2DArray)\r
+0:29 Constant:\r
+0:29 0.100000\r
+0:29 0.100000\r
+0:29 0.100000\r
+0:29 Constant:\r
+0:29 1 (const int)\r
+0:29 1 (const int)\r
+0:29 Constant:\r
+0:29 3 (const int)\r
+0:30 move second child to first child (mediump 4-component vector of int)\r
+0:30 'iv4' (mediump 4-component vector of int)\r
+0:30 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (mediump 4-component vector of int)\r
+0:30 'isamp2DA' (uniform highp isampler2DArray)\r
+0:30 Constant:\r
+0:30 0.100000\r
+0:30 0.100000\r
+0:30 0.100000\r
+0:30 Constant:\r
+0:30 1 (const int)\r
+0:30 1 (const int)\r
+0:30 'i' (uniform mediump int)\r
+0:31 move second child to first child (mediump 4-component vector of int)\r
+0:31 'iv4' (mediump 4-component vector of int)\r
+0:31 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (mediump 4-component vector of int)\r
+0:31 'isamp2DA' (uniform highp isampler2DArray)\r
+0:31 Constant:\r
+0:31 0.100000\r
+0:31 0.100000\r
+0:31 0.100000\r
+0:31 Constant:\r
+0:31 1 (const int)\r
+0:31 1 (const int)\r
+0:31 Constant:\r
+0:31 4 (const int)\r
+0:32 move second child to first child (mediump 4-component vector of int)\r
+0:32 'iv4' (mediump 4-component vector of int)\r
+0:32 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (mediump 4-component vector of int)\r
+0:32 'isamp2DA' (uniform highp isampler2DArray)\r
+0:32 Constant:\r
+0:32 0.100000\r
+0:32 0.100000\r
+0:32 0.100000\r
+0:32 Constant:\r
+0:32 1 (const int)\r
+0:32 1 (const int)\r
+0:32 Constant:\r
+0:32 3 (const int)\r
+0:33 move second child to first child (mediump 4-component vector of int)\r
+0:33 'iv4' (mediump 4-component vector of int)\r
+0:33 Function Call: textureGatherOffset(isA21;vf3;vi2; (mediump 4-component vector of int)\r
+0:33 'isamp2DA' (uniform highp isampler2DArray)\r
+0:33 Constant:\r
+0:33 0.100000\r
+0:33 0.100000\r
+0:33 0.100000\r
+0:33 Construct ivec2 (2-component vector of int)\r
+0:33 'i' (uniform mediump int)\r
+0:38 Function Definition: foo23( (void)\r
+0:38 Function Parameters: \r
+0:? Sequence\r
+0:42 Function Call: textureProjGradOffset(us21;vf4;vf2;vf2;vi2; (mediump 4-component vector of uint)\r
+0:42 'usamp2d' (uniform highp usampler2D)\r
+0:42 'outp' (out mediump 4-component vector of float)\r
+0:42 Constant:\r
+0:42 0.000000\r
+0:42 0.000000\r
+0:42 Constant:\r
+0:42 0.000000\r
+0:42 0.000000\r
+0:42 Convert float to int (2-component vector of int)\r
+0:42 'c2D' (smooth in mediump 2-component vector of float)\r
+0:43 Function Call: textureProjGradOffset(us21;vf4;vf2;vf2;vi2; (mediump 4-component vector of uint)\r
+0:43 'usamp2d' (uniform highp usampler2D)\r
+0:43 'outp' (out mediump 4-component vector of float)\r
+0:43 Constant:\r
+0:43 0.000000\r
+0:43 0.000000\r
+0:43 Constant:\r
+0:43 0.000000\r
+0:43 0.000000\r
+0:43 Constant:\r
+0:43 3 (const int)\r
+0:43 4 (const int)\r
+0:44 Function Call: textureProjGradOffset(us21;vf4;vf2;vf2;vi2; (mediump 4-component vector of uint)\r
+0:44 'usamp2d' (uniform highp usampler2D)\r
+0:44 'outp' (out mediump 4-component vector of float)\r
+0:44 Constant:\r
+0:44 0.000000\r
+0:44 0.000000\r
+0:44 Constant:\r
+0:44 0.000000\r
+0:44 0.000000\r
+0:44 Constant:\r
+0:44 15 (const int)\r
+0:44 16 (const int)\r
+0:45 Function Call: textureProjGradOffset(us21;vf4;vf2;vf2;vi2; (mediump 4-component vector of uint)\r
+0:45 'usamp2d' (uniform highp usampler2D)\r
+0:45 'outp' (out mediump 4-component vector of float)\r
+0:45 Constant:\r
+0:45 0.000000\r
+0:45 0.000000\r
+0:45 Constant:\r
+0:45 0.000000\r
+0:45 0.000000\r
+0:45 Constant:\r
+0:45 -10 (const int)\r
+0:45 20 (const int)\r
+0:? Linker Objects\r
+0:? 'gl_FragCoord' (smooth in mediump 4-component vector of float)\r
+0:? 'v3' (layout(location=2 ) smooth in mediump 3-component vector of float)\r
+0:? 'yi' (layout(location=2 ) smooth in mediump 4X4 matrix of float)\r
+0:? 'arrayedSampler' (uniform 5-element array of highp sampler2D)\r
+0:? 'usamp2d' (uniform highp usampler2D)\r
+0:? 'samp2dr' (uniform mediump usampler2DRect)\r
+0:? 'isamp2DA' (uniform highp isampler2DArray)\r
+0:? 'c2D' (smooth in mediump 2-component vector of float)\r
+0:? 'i' (uniform mediump int)\r
+0:? 'outp' (out mediump 4-component vector of float)\r
+\r
+\r
+Linked fragment stage:\r
+\r
+\r
+Shader version: 310\r
+ERROR: node is still EOpNull!\r
+0:21 Function Definition: main( (void)\r
+0:21 Function Parameters: \r
+0:23 Sequence\r
+0:23 Sequence\r
+0:23 move second child to first child (highp 4-component vector of float)\r
+0:23 'v' (mediump 4-component vector of float)\r
+0:23 Function Call: texture(s21;vf2; (highp 4-component vector of float)\r
+0:23 indirect index (highp sampler2D)\r
+0:23 'arrayedSampler' (uniform 5-element array of highp sampler2D)\r
+0:23 'i' (uniform mediump int)\r
+0:23 'c2D' (smooth in mediump 2-component vector of float)\r
+0:28 Sequence\r
+0:28 move second child to first child (highp 4-component vector of float)\r
+0:28 'v4' (mediump 4-component vector of float)\r
+0:28 Function Call: textureGather(s21;vf2; (highp 4-component vector of float)\r
+0:28 direct index (highp sampler2D)\r
+0:28 'arrayedSampler' (uniform 5-element array of highp sampler2D)\r
+0:28 Constant:\r
+0:28 0 (const int)\r
+0:28 'c2D' (smooth in mediump 2-component vector of float)\r
+0:29 Sequence\r
+0:29 move second child to first child (mediump 4-component vector of int)\r
+0:29 'iv4' (mediump 4-component vector of int)\r
+0:29 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (mediump 4-component vector of int)\r
+0:29 'isamp2DA' (uniform highp isampler2DArray)\r
+0:29 Constant:\r
+0:29 0.100000\r
+0:29 0.100000\r
+0:29 0.100000\r
+0:29 Constant:\r
+0:29 1 (const int)\r
+0:29 1 (const int)\r
+0:29 Constant:\r
+0:29 3 (const int)\r
+0:30 move second child to first child (mediump 4-component vector of int)\r
+0:30 'iv4' (mediump 4-component vector of int)\r
+0:30 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (mediump 4-component vector of int)\r
+0:30 'isamp2DA' (uniform highp isampler2DArray)\r
+0:30 Constant:\r
+0:30 0.100000\r
+0:30 0.100000\r
+0:30 0.100000\r
+0:30 Constant:\r
+0:30 1 (const int)\r
+0:30 1 (const int)\r
+0:30 'i' (uniform mediump int)\r
+0:31 move second child to first child (mediump 4-component vector of int)\r
+0:31 'iv4' (mediump 4-component vector of int)\r
+0:31 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (mediump 4-component vector of int)\r
+0:31 'isamp2DA' (uniform highp isampler2DArray)\r
+0:31 Constant:\r
+0:31 0.100000\r
+0:31 0.100000\r
+0:31 0.100000\r
+0:31 Constant:\r
+0:31 1 (const int)\r
+0:31 1 (const int)\r
+0:31 Constant:\r
+0:31 4 (const int)\r
+0:32 move second child to first child (mediump 4-component vector of int)\r
+0:32 'iv4' (mediump 4-component vector of int)\r
+0:32 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (mediump 4-component vector of int)\r
+0:32 'isamp2DA' (uniform highp isampler2DArray)\r
+0:32 Constant:\r
+0:32 0.100000\r
+0:32 0.100000\r
+0:32 0.100000\r
+0:32 Constant:\r
+0:32 1 (const int)\r
+0:32 1 (const int)\r
+0:32 Constant:\r
+0:32 3 (const int)\r
+0:33 move second child to first child (mediump 4-component vector of int)\r
+0:33 'iv4' (mediump 4-component vector of int)\r
+0:33 Function Call: textureGatherOffset(isA21;vf3;vi2; (mediump 4-component vector of int)\r
+0:33 'isamp2DA' (uniform highp isampler2DArray)\r
+0:33 Constant:\r
+0:33 0.100000\r
+0:33 0.100000\r
+0:33 0.100000\r
+0:33 Construct ivec2 (2-component vector of int)\r
+0:33 'i' (uniform mediump int)\r
+0:38 Function Definition: foo23( (void)\r
+0:38 Function Parameters: \r
+0:? Sequence\r
+0:42 Function Call: textureProjGradOffset(us21;vf4;vf2;vf2;vi2; (mediump 4-component vector of uint)\r
+0:42 'usamp2d' (uniform highp usampler2D)\r
+0:42 'outp' (out mediump 4-component vector of float)\r
+0:42 Constant:\r
+0:42 0.000000\r
+0:42 0.000000\r
+0:42 Constant:\r
+0:42 0.000000\r
+0:42 0.000000\r
+0:42 Convert float to int (2-component vector of int)\r
+0:42 'c2D' (smooth in mediump 2-component vector of float)\r
+0:43 Function Call: textureProjGradOffset(us21;vf4;vf2;vf2;vi2; (mediump 4-component vector of uint)\r
+0:43 'usamp2d' (uniform highp usampler2D)\r
+0:43 'outp' (out mediump 4-component vector of float)\r
+0:43 Constant:\r
+0:43 0.000000\r
+0:43 0.000000\r
+0:43 Constant:\r
+0:43 0.000000\r
+0:43 0.000000\r
+0:43 Constant:\r
+0:43 3 (const int)\r
+0:43 4 (const int)\r
+0:44 Function Call: textureProjGradOffset(us21;vf4;vf2;vf2;vi2; (mediump 4-component vector of uint)\r
+0:44 'usamp2d' (uniform highp usampler2D)\r
+0:44 'outp' (out mediump 4-component vector of float)\r
+0:44 Constant:\r
+0:44 0.000000\r
+0:44 0.000000\r
+0:44 Constant:\r
+0:44 0.000000\r
+0:44 0.000000\r
+0:44 Constant:\r
+0:44 15 (const int)\r
+0:44 16 (const int)\r
+0:45 Function Call: textureProjGradOffset(us21;vf4;vf2;vf2;vi2; (mediump 4-component vector of uint)\r
+0:45 'usamp2d' (uniform highp usampler2D)\r
+0:45 'outp' (out mediump 4-component vector of float)\r
+0:45 Constant:\r
+0:45 0.000000\r
+0:45 0.000000\r
+0:45 Constant:\r
+0:45 0.000000\r
+0:45 0.000000\r
+0:45 Constant:\r
+0:45 -10 (const int)\r
+0:45 20 (const int)\r
+0:? Linker Objects\r
+0:? 'gl_FragCoord' (smooth in mediump 4-component vector of float)\r
+0:? 'v3' (layout(location=2 ) smooth in mediump 3-component vector of float)\r
+0:? 'yi' (layout(location=2 ) smooth in mediump 4X4 matrix of float)\r
+0:? 'arrayedSampler' (uniform 5-element array of highp sampler2D)\r
+0:? 'usamp2d' (uniform highp usampler2D)\r
+0:? 'samp2dr' (uniform mediump usampler2DRect)\r
+0:? 'isamp2DA' (uniform highp isampler2DArray)\r
+0:? 'c2D' (smooth in mediump 2-component vector of float)\r
+0:? 'i' (uniform mediump int)\r
+0:? 'outp' (out mediump 4-component vector of float)\r
+\r