Backward incompatible: Turn on PureOperatorBuiltins: use only enum-based built-in functions in the AST.

If this breaks your AST consumer, best is to modify it to test
against the enum values instead of doing string comparisons on
built-in function names.  This is the reason the change was made.

If you need the old behavior, you should be able to get it back by changing
PureOperatorBuiltins to be false instead of true.  This path will work for
a while, but is marked deprecated.

Also, the old behavior is tagged as release 2.4.
This commit is contained in:
John Kessenich
2015-08-19 13:34:18 -06:00
parent a32d8f620d
commit fc51d284aa
41 changed files with 1092 additions and 967 deletions

View File

@@ -120,7 +120,7 @@ ERROR: node is still EOpNull!
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 Function Call: texture(s21;vf2; (global highp 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)
@@ -128,7 +128,7 @@ ERROR: node is still EOpNull!
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 Function Call: textureGather(s21;vf2; (global highp 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:
@@ -137,7 +137,7 @@ ERROR: node is still EOpNull!
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 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (global 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
@@ -150,7 +150,7 @@ ERROR: node is still EOpNull!
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 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (global 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
@@ -162,7 +162,7 @@ ERROR: node is still EOpNull!
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 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (global 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
@@ -175,7 +175,7 @@ ERROR: node is still EOpNull!
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 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (global 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
@@ -188,7 +188,7 @@ ERROR: node is still EOpNull!
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 Function Call: textureGatherOffset(isA21;vf3;vi2; (global 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
@@ -199,18 +199,18 @@ ERROR: node is still EOpNull!
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 Function Call: textureGatherOffset(isA21;vf3;vi2; (global 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 2-component vector of int)
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 Function Call: textureProjGradOffset(us21;vf4;vf2;vf2;vi2; (global mediump 4-component vector of uint)
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:
@@ -219,9 +219,9 @@ ERROR: node is still EOpNull!
0:42 Constant:
0:42 0.000000
0:42 0.000000
0:42 Convert float to int (temp 2-component vector of int)
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 Function Call: textureProjGradOffset(us21;vf4;vf2;vf2;vi2; (global mediump 4-component vector of uint)
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:
@@ -233,7 +233,7 @@ ERROR: node is still EOpNull!
0:43 Constant:
0:43 3 (const int)
0:43 4 (const int)
0:44 Function Call: textureProjGradOffset(us21;vf4;vf2;vf2;vi2; (global mediump 4-component vector of uint)
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:
@@ -245,7 +245,7 @@ ERROR: node is still EOpNull!
0:44 Constant:
0:44 15 (const int)
0:44 16 (const int)
0:45 Function Call: textureProjGradOffset(us21;vf4;vf2;vf2;vi2; (global mediump 4-component vector of uint)
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:
@@ -302,40 +302,40 @@ ERROR: node is still EOpNull!
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 Function Call: textureSize(s21;i1; (global 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 Function Call: textureSize(isA21;i1; (global 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 Function Call: textureSize(s2M1; (global 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 Function Call: imageSize(I21; (global 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 Function Call: imageSize(I31; (global 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 Function Call: imageSize(IC1; (global 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 Function Call: imageSize(IA21; (global 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 Function Call: imageSize(I21; (global 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:
@@ -402,7 +402,7 @@ ERROR: node is still EOpNull!
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 Function Call: textureGatherOffset(s21;vf2;vi2; (global highp 4-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:
@@ -410,9 +410,9 @@ ERROR: node is still EOpNull!
0:211 Constant:
0:211 0.100000
0:211 0.100000
0:211 Convert float to int (temp 2-component vector of int)
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 Function Call: textureGatherOffsets(s21;vf2;vi2[4]; (global highp 4-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:
@@ -438,7 +438,7 @@ ERROR: node is still EOpNull!
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 Function Call: textureGatherOffset(s21;vf2;vi2; (global highp 4-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:
@@ -446,9 +446,9 @@ ERROR: node is still EOpNull!
0:221 Constant:
0:221 0.100000
0:221 0.100000
0:221 Convert float to int (temp 2-component vector of int)
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 Function Call: textureGatherOffsets(s21;vf2;vi2[4]; (global highp 4-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:
@@ -465,7 +465,7 @@ ERROR: node is still EOpNull!
0:222 0 (const int)
0:222 0 (const int)
0:222 0 (const int)
0:223 Function Call: textureGatherOffsets(s21;vf2;vi2[4]; (global highp 4-component vector of float)
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:
@@ -480,7 +480,7 @@ ERROR: node is still EOpNull!
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 Function Call: texture(sAC1;vf4;f1; (global 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
@@ -492,7 +492,7 @@ ERROR: node is still EOpNull!
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 Function Call: texture(isAC1;vf4;f1; (global mediump 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
@@ -504,7 +504,7 @@ ERROR: node is still EOpNull!
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 Function Call: texture(usAC1;vf4;f1; (global mediump 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
@@ -577,73 +577,73 @@ ERROR: node is still EOpNull!
0:283 Function Definition: badImageAtom( (global void)
0:283 Function Parameters:
0:? Sequence
0:289 Function Call: imageAtomicAdd(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicAdd(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicMin(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicMin(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicMax(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicMax(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicAnd(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicAnd(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicOr(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicOr(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicXor(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicXor(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicExchange(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicExchange(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicExchange(I21;vi2;f1; (global highp float)
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 Function Call: imageAtomicCompSwap(iI21;vi2;i1;i1; (global mediump int)
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 Function Call: imageAtomicCompSwap(uI21;vi2;u1;u1; (global mediump uint)
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:
@@ -652,87 +652,87 @@ ERROR: node is still EOpNull!
0:316 Function Definition: goodImageAtom( (global void)
0:316 Function Parameters:
0:? Sequence
0:322 Function Call: imageAtomicAdd(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicAdd(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicMin(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicMin(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicMax(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicMax(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicAnd(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicAnd(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicOr(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicOr(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicXor(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicXor(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicExchange(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicExchange(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicExchange(I21;vi2;f1; (global highp float)
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 Function Call: imageAtomicCompSwap(iI21;vi2;i1;i1; (global mediump int)
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 Function Call: imageAtomicCompSwap(uI21;vi2;u1;u1; (global mediump uint)
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 Function Call: imageAtomicMax(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicMax(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicExchange(I21;vi2;f1; (global highp float)
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)
@@ -843,7 +843,7 @@ ERROR: node is still EOpNull!
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 Function Call: texture(s21;vf2; (global highp 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)
@@ -851,7 +851,7 @@ ERROR: node is still EOpNull!
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 Function Call: textureGather(s21;vf2; (global highp 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:
@@ -860,7 +860,7 @@ ERROR: node is still EOpNull!
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 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (global 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
@@ -873,7 +873,7 @@ ERROR: node is still EOpNull!
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 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (global 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
@@ -885,7 +885,7 @@ ERROR: node is still EOpNull!
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 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (global 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
@@ -898,7 +898,7 @@ ERROR: node is still EOpNull!
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 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (global 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
@@ -911,7 +911,7 @@ ERROR: node is still EOpNull!
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 Function Call: textureGatherOffset(isA21;vf3;vi2; (global 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
@@ -922,18 +922,18 @@ ERROR: node is still EOpNull!
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 Function Call: textureGatherOffset(isA21;vf3;vi2; (global 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 2-component vector of int)
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 Function Call: textureProjGradOffset(us21;vf4;vf2;vf2;vi2; (global mediump 4-component vector of uint)
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:
@@ -942,9 +942,9 @@ ERROR: node is still EOpNull!
0:42 Constant:
0:42 0.000000
0:42 0.000000
0:42 Convert float to int (temp 2-component vector of int)
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 Function Call: textureProjGradOffset(us21;vf4;vf2;vf2;vi2; (global mediump 4-component vector of uint)
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:
@@ -956,7 +956,7 @@ ERROR: node is still EOpNull!
0:43 Constant:
0:43 3 (const int)
0:43 4 (const int)
0:44 Function Call: textureProjGradOffset(us21;vf4;vf2;vf2;vi2; (global mediump 4-component vector of uint)
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:
@@ -968,7 +968,7 @@ ERROR: node is still EOpNull!
0:44 Constant:
0:44 15 (const int)
0:44 16 (const int)
0:45 Function Call: textureProjGradOffset(us21;vf4;vf2;vf2;vi2; (global mediump 4-component vector of uint)
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:
@@ -1025,40 +1025,40 @@ ERROR: node is still EOpNull!
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 Function Call: textureSize(s21;i1; (global 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 Function Call: textureSize(isA21;i1; (global 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 Function Call: textureSize(s2M1; (global 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 Function Call: imageSize(I21; (global 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 Function Call: imageSize(I31; (global 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 Function Call: imageSize(IC1; (global 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 Function Call: imageSize(IA21; (global 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 Function Call: imageSize(I21; (global 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:
@@ -1125,7 +1125,7 @@ ERROR: node is still EOpNull!
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 Function Call: textureGatherOffset(s21;vf2;vi2; (global highp 4-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:
@@ -1133,9 +1133,9 @@ ERROR: node is still EOpNull!
0:211 Constant:
0:211 0.100000
0:211 0.100000
0:211 Convert float to int (temp 2-component vector of int)
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 Function Call: textureGatherOffsets(s21;vf2;vi2[4]; (global highp 4-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:
@@ -1161,7 +1161,7 @@ ERROR: node is still EOpNull!
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 Function Call: textureGatherOffset(s21;vf2;vi2; (global highp 4-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:
@@ -1169,9 +1169,9 @@ ERROR: node is still EOpNull!
0:221 Constant:
0:221 0.100000
0:221 0.100000
0:221 Convert float to int (temp 2-component vector of int)
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 Function Call: textureGatherOffsets(s21;vf2;vi2[4]; (global highp 4-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:
@@ -1188,7 +1188,7 @@ ERROR: node is still EOpNull!
0:222 0 (const int)
0:222 0 (const int)
0:222 0 (const int)
0:223 Function Call: textureGatherOffsets(s21;vf2;vi2[4]; (global highp 4-component vector of float)
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:
@@ -1203,7 +1203,7 @@ ERROR: node is still EOpNull!
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 Function Call: texture(sAC1;vf4;f1; (global 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
@@ -1215,7 +1215,7 @@ ERROR: node is still EOpNull!
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 Function Call: texture(isAC1;vf4;f1; (global mediump 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
@@ -1227,7 +1227,7 @@ ERROR: node is still EOpNull!
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 Function Call: texture(usAC1;vf4;f1; (global mediump 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
@@ -1300,73 +1300,73 @@ ERROR: node is still EOpNull!
0:283 Function Definition: badImageAtom( (global void)
0:283 Function Parameters:
0:? Sequence
0:289 Function Call: imageAtomicAdd(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicAdd(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicMin(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicMin(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicMax(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicMax(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicAnd(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicAnd(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicOr(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicOr(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicXor(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicXor(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicExchange(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicExchange(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicExchange(I21;vi2;f1; (global highp float)
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 Function Call: imageAtomicCompSwap(iI21;vi2;i1;i1; (global mediump int)
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 Function Call: imageAtomicCompSwap(uI21;vi2;u1;u1; (global mediump uint)
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:
@@ -1375,87 +1375,87 @@ ERROR: node is still EOpNull!
0:316 Function Definition: goodImageAtom( (global void)
0:316 Function Parameters:
0:? Sequence
0:322 Function Call: imageAtomicAdd(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicAdd(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicMin(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicMin(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicMax(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicMax(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicAnd(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicAnd(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicOr(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicOr(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicXor(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicXor(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicExchange(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicExchange(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicExchange(I21;vi2;f1; (global highp float)
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 Function Call: imageAtomicCompSwap(iI21;vi2;i1;i1; (global mediump int)
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 Function Call: imageAtomicCompSwap(uI21;vi2;u1;u1; (global mediump uint)
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 Function Call: imageAtomicMax(iI21;vi2;i1; (global mediump int)
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 Function Call: imageAtomicMax(uI21;vi2;u1; (global mediump uint)
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 Function Call: imageAtomicExchange(I21;vi2;f1; (global highp float)
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)