HLSL: phase 3a: Add sub-vec4 rwtexture formats (qualifier.layoutFormat)
authorsteve-lunarg <steve_gh@khasekhemwy.net>
Mon, 10 Oct 2016 21:24:57 +0000 (15:24 -0600)
committersteve-lunarg <steve_gh@khasekhemwy.net>
Sat, 15 Oct 2016 00:44:32 +0000 (18:44 -0600)
This PR sets the TQualifier layoutFormat according to the HLSL image type.
For instance:

  RWTexture1D <float2> g_tTex1df2;

becomes ElfRg32f.  Similar on Buffers, e.g, Buffer<float4> mybuffer;

The return type for image and buffer loads is now taken from the storage format.
Also, the qualifier for the return type is now (properly) a temp, not a global.

22 files changed:
Test/baseResults/hlsl.load.2dms.dx10.frag.out
Test/baseResults/hlsl.load.array.dx10.frag.out
Test/baseResults/hlsl.load.basic.dx10.frag.out
Test/baseResults/hlsl.load.basic.dx10.vert.out
Test/baseResults/hlsl.load.buffer.dx10.frag.out
Test/baseResults/hlsl.load.buffer.float.dx10.frag.out [new file with mode: 0644]
Test/baseResults/hlsl.load.offset.dx10.frag.out
Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
Test/baseResults/hlsl.multiEntry.vert.out
Test/baseResults/hlsl.rw.scalar.bracket.frag.out [new file with mode: 0644]
Test/baseResults/hlsl.rw.vec2.bracket.frag.out [new file with mode: 0644]
Test/hlsl.load.buffer.float.dx10.frag [new file with mode: 0644]
Test/hlsl.rw.scalar.bracket.frag [new file with mode: 0644]
Test/hlsl.rw.vec2.bracket.frag [new file with mode: 0644]
glslang/Include/Types.h
gtests/Hlsl.FromFile.cpp
hlsl/hlslGrammar.cpp
hlsl/hlslParseHelper.cpp
hlsl/hlslParseHelper.h

index 77f4fe8..9c1b4ad 100644 (file)
@@ -5,7 +5,7 @@ gl_FragCoord origin is upper left
 0:28  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
 0:28    Function Parameters: 
 0:?     Sequence
-0:32      textureFetch (global 4-component vector of float)
+0:32      textureFetch (temp 4-component vector of float)
 0:32        'g_tTex2dmsf4' (uniform texture2DMS)
 0:32        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:32          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -13,7 +13,7 @@ gl_FragCoord origin is upper left
 0:32            1 (const uint)
 0:32        Constant:
 0:32          3 (const int)
-0:33      textureFetch (global 4-component vector of int)
+0:33      textureFetch (temp 4-component vector of int)
 0:33        'g_tTex2dmsi4' (uniform itexture2DMS)
 0:33        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:33          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -21,7 +21,7 @@ gl_FragCoord origin is upper left
 0:33            1 (const uint)
 0:33        Constant:
 0:33          3 (const int)
-0:34      textureFetch (global 4-component vector of uint)
+0:34      textureFetch (temp 4-component vector of uint)
 0:34        'g_tTex2dmsu4' (uniform utexture2DMS)
 0:34        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:34          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -29,7 +29,7 @@ gl_FragCoord origin is upper left
 0:34            1 (const uint)
 0:34        Constant:
 0:34          3 (const int)
-0:37      textureFetchOffset (global 4-component vector of float)
+0:37      textureFetchOffset (temp 4-component vector of float)
 0:37        'g_tTex2dmsf4' (uniform texture2DMS)
 0:37        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:37          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -41,7 +41,7 @@ gl_FragCoord origin is upper left
 0:37          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:37          Constant:
 0:37            5 (const uint)
-0:38      textureFetchOffset (global 4-component vector of int)
+0:38      textureFetchOffset (temp 4-component vector of int)
 0:38        'g_tTex2dmsi4' (uniform itexture2DMS)
 0:38        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:38          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -53,7 +53,7 @@ gl_FragCoord origin is upper left
 0:38          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:38          Constant:
 0:38            5 (const uint)
-0:39      textureFetchOffset (global 4-component vector of uint)
+0:39      textureFetchOffset (temp 4-component vector of uint)
 0:39        'g_tTex2dmsu4' (uniform utexture2DMS)
 0:39        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:39          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -65,7 +65,7 @@ gl_FragCoord origin is upper left
 0:39          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:39          Constant:
 0:39            5 (const uint)
-0:42      textureFetch (global 4-component vector of float)
+0:42      textureFetch (temp 4-component vector of float)
 0:42        'g_tTex2dmsf4a' (uniform texture2DMSArray)
 0:42        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:42          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -73,7 +73,7 @@ gl_FragCoord origin is upper left
 0:42            2 (const uint)
 0:42        Constant:
 0:42          3 (const int)
-0:43      textureFetch (global 4-component vector of int)
+0:43      textureFetch (temp 4-component vector of int)
 0:43        'g_tTex2dmsi4a' (uniform itexture2DMSArray)
 0:43        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:43          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -81,7 +81,7 @@ gl_FragCoord origin is upper left
 0:43            2 (const uint)
 0:43        Constant:
 0:43          3 (const int)
-0:44      textureFetch (global 4-component vector of uint)
+0:44      textureFetch (temp 4-component vector of uint)
 0:44        'g_tTex2dmsu4a' (uniform utexture2DMSArray)
 0:44        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:44          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -89,7 +89,7 @@ gl_FragCoord origin is upper left
 0:44            2 (const uint)
 0:44        Constant:
 0:44          3 (const int)
-0:47      textureFetchOffset (global 4-component vector of float)
+0:47      textureFetchOffset (temp 4-component vector of float)
 0:47        'g_tTex2dmsf4a' (uniform texture2DMSArray)
 0:47        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:47          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -101,7 +101,7 @@ gl_FragCoord origin is upper left
 0:47          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:47          Constant:
 0:47            5 (const uint)
-0:48      textureFetchOffset (global 4-component vector of int)
+0:48      textureFetchOffset (temp 4-component vector of int)
 0:48        'g_tTex2dmsi4a' (uniform itexture2DMSArray)
 0:48        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:48          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -113,7 +113,7 @@ gl_FragCoord origin is upper left
 0:48          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:48          Constant:
 0:48            5 (const uint)
-0:49      textureFetchOffset (global 4-component vector of uint)
+0:49      textureFetchOffset (temp 4-component vector of uint)
 0:49        'g_tTex2dmsu4a' (uniform utexture2DMSArray)
 0:49        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:49          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -179,7 +179,7 @@ gl_FragCoord origin is upper left
 0:28  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
 0:28    Function Parameters: 
 0:?     Sequence
-0:32      textureFetch (global 4-component vector of float)
+0:32      textureFetch (temp 4-component vector of float)
 0:32        'g_tTex2dmsf4' (uniform texture2DMS)
 0:32        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:32          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -187,7 +187,7 @@ gl_FragCoord origin is upper left
 0:32            1 (const uint)
 0:32        Constant:
 0:32          3 (const int)
-0:33      textureFetch (global 4-component vector of int)
+0:33      textureFetch (temp 4-component vector of int)
 0:33        'g_tTex2dmsi4' (uniform itexture2DMS)
 0:33        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:33          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -195,7 +195,7 @@ gl_FragCoord origin is upper left
 0:33            1 (const uint)
 0:33        Constant:
 0:33          3 (const int)
-0:34      textureFetch (global 4-component vector of uint)
+0:34      textureFetch (temp 4-component vector of uint)
 0:34        'g_tTex2dmsu4' (uniform utexture2DMS)
 0:34        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:34          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -203,7 +203,7 @@ gl_FragCoord origin is upper left
 0:34            1 (const uint)
 0:34        Constant:
 0:34          3 (const int)
-0:37      textureFetchOffset (global 4-component vector of float)
+0:37      textureFetchOffset (temp 4-component vector of float)
 0:37        'g_tTex2dmsf4' (uniform texture2DMS)
 0:37        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:37          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -215,7 +215,7 @@ gl_FragCoord origin is upper left
 0:37          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:37          Constant:
 0:37            5 (const uint)
-0:38      textureFetchOffset (global 4-component vector of int)
+0:38      textureFetchOffset (temp 4-component vector of int)
 0:38        'g_tTex2dmsi4' (uniform itexture2DMS)
 0:38        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:38          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -227,7 +227,7 @@ gl_FragCoord origin is upper left
 0:38          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:38          Constant:
 0:38            5 (const uint)
-0:39      textureFetchOffset (global 4-component vector of uint)
+0:39      textureFetchOffset (temp 4-component vector of uint)
 0:39        'g_tTex2dmsu4' (uniform utexture2DMS)
 0:39        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:39          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -239,7 +239,7 @@ gl_FragCoord origin is upper left
 0:39          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:39          Constant:
 0:39            5 (const uint)
-0:42      textureFetch (global 4-component vector of float)
+0:42      textureFetch (temp 4-component vector of float)
 0:42        'g_tTex2dmsf4a' (uniform texture2DMSArray)
 0:42        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:42          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -247,7 +247,7 @@ gl_FragCoord origin is upper left
 0:42            2 (const uint)
 0:42        Constant:
 0:42          3 (const int)
-0:43      textureFetch (global 4-component vector of int)
+0:43      textureFetch (temp 4-component vector of int)
 0:43        'g_tTex2dmsi4a' (uniform itexture2DMSArray)
 0:43        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:43          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -255,7 +255,7 @@ gl_FragCoord origin is upper left
 0:43            2 (const uint)
 0:43        Constant:
 0:43          3 (const int)
-0:44      textureFetch (global 4-component vector of uint)
+0:44      textureFetch (temp 4-component vector of uint)
 0:44        'g_tTex2dmsu4a' (uniform utexture2DMSArray)
 0:44        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:44          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -263,7 +263,7 @@ gl_FragCoord origin is upper left
 0:44            2 (const uint)
 0:44        Constant:
 0:44          3 (const int)
-0:47      textureFetchOffset (global 4-component vector of float)
+0:47      textureFetchOffset (temp 4-component vector of float)
 0:47        'g_tTex2dmsf4a' (uniform texture2DMSArray)
 0:47        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:47          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -275,7 +275,7 @@ gl_FragCoord origin is upper left
 0:47          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:47          Constant:
 0:47            5 (const uint)
-0:48      textureFetchOffset (global 4-component vector of int)
+0:48      textureFetchOffset (temp 4-component vector of int)
 0:48        'g_tTex2dmsi4a' (uniform itexture2DMSArray)
 0:48        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:48          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -287,7 +287,7 @@ gl_FragCoord origin is upper left
 0:48          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:48          Constant:
 0:48            5 (const uint)
-0:49      textureFetchOffset (global 4-component vector of uint)
+0:49      textureFetchOffset (temp 4-component vector of uint)
 0:49        'g_tTex2dmsu4a' (uniform utexture2DMSArray)
 0:49        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:49          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
index 57e479a..ed2951f 100644 (file)
@@ -5,7 +5,7 @@ gl_FragCoord origin is upper left
 0:48  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
 0:48    Function Parameters: 
 0:?     Sequence
-0:52      textureFetch (global 4-component vector of float)
+0:52      textureFetch (temp 4-component vector of float)
 0:52        'g_tTex1df4a' (uniform texture1DArray)
 0:52        vector swizzle (temp 2-component vector of int)
 0:52          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -24,7 +24,7 @@ gl_FragCoord origin is upper left
 0:52              2 (const uint)
 0:52          Constant:
 0:52            2 (const int)
-0:53      textureFetch (global 4-component vector of int)
+0:53      textureFetch (temp 4-component vector of int)
 0:53        'g_tTex1di4a' (uniform itexture1DArray)
 0:53        vector swizzle (temp 2-component vector of int)
 0:53          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -43,7 +43,7 @@ gl_FragCoord origin is upper left
 0:53              2 (const uint)
 0:53          Constant:
 0:53            2 (const int)
-0:54      textureFetch (global 4-component vector of uint)
+0:54      textureFetch (temp 4-component vector of uint)
 0:54        'g_tTex1du4a' (uniform utexture1DArray)
 0:54        vector swizzle (temp 2-component vector of int)
 0:54          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -62,7 +62,7 @@ gl_FragCoord origin is upper left
 0:54              2 (const uint)
 0:54          Constant:
 0:54            2 (const int)
-0:57      textureFetch (global 4-component vector of float)
+0:57      textureFetch (temp 4-component vector of float)
 0:57        'g_tTex2df4a' (uniform texture2DArray)
 0:57        vector swizzle (temp 3-component vector of int)
 0:57          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -83,7 +83,7 @@ gl_FragCoord origin is upper left
 0:57              3 (const uint)
 0:57          Constant:
 0:57            3 (const int)
-0:58      textureFetch (global 4-component vector of int)
+0:58      textureFetch (temp 4-component vector of int)
 0:58        'g_tTex2di4a' (uniform itexture2DArray)
 0:58        vector swizzle (temp 3-component vector of int)
 0:58          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -104,7 +104,7 @@ gl_FragCoord origin is upper left
 0:58              3 (const uint)
 0:58          Constant:
 0:58            3 (const int)
-0:59      textureFetch (global 4-component vector of uint)
+0:59      textureFetch (temp 4-component vector of uint)
 0:59        'g_tTex2du4a' (uniform utexture2DArray)
 0:59        vector swizzle (temp 3-component vector of int)
 0:59          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -194,7 +194,7 @@ gl_FragCoord origin is upper left
 0:48  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
 0:48    Function Parameters: 
 0:?     Sequence
-0:52      textureFetch (global 4-component vector of float)
+0:52      textureFetch (temp 4-component vector of float)
 0:52        'g_tTex1df4a' (uniform texture1DArray)
 0:52        vector swizzle (temp 2-component vector of int)
 0:52          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -213,7 +213,7 @@ gl_FragCoord origin is upper left
 0:52              2 (const uint)
 0:52          Constant:
 0:52            2 (const int)
-0:53      textureFetch (global 4-component vector of int)
+0:53      textureFetch (temp 4-component vector of int)
 0:53        'g_tTex1di4a' (uniform itexture1DArray)
 0:53        vector swizzle (temp 2-component vector of int)
 0:53          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -232,7 +232,7 @@ gl_FragCoord origin is upper left
 0:53              2 (const uint)
 0:53          Constant:
 0:53            2 (const int)
-0:54      textureFetch (global 4-component vector of uint)
+0:54      textureFetch (temp 4-component vector of uint)
 0:54        'g_tTex1du4a' (uniform utexture1DArray)
 0:54        vector swizzle (temp 2-component vector of int)
 0:54          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -251,7 +251,7 @@ gl_FragCoord origin is upper left
 0:54              2 (const uint)
 0:54          Constant:
 0:54            2 (const int)
-0:57      textureFetch (global 4-component vector of float)
+0:57      textureFetch (temp 4-component vector of float)
 0:57        'g_tTex2df4a' (uniform texture2DArray)
 0:57        vector swizzle (temp 3-component vector of int)
 0:57          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -272,7 +272,7 @@ gl_FragCoord origin is upper left
 0:57              3 (const uint)
 0:57          Constant:
 0:57            3 (const int)
-0:58      textureFetch (global 4-component vector of int)
+0:58      textureFetch (temp 4-component vector of int)
 0:58        'g_tTex2di4a' (uniform itexture2DArray)
 0:58        vector swizzle (temp 3-component vector of int)
 0:58          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -293,7 +293,7 @@ gl_FragCoord origin is upper left
 0:58              3 (const uint)
 0:58          Constant:
 0:58            3 (const int)
-0:59      textureFetch (global 4-component vector of uint)
+0:59      textureFetch (temp 4-component vector of uint)
 0:59        'g_tTex2du4a' (uniform utexture2DArray)
 0:59        vector swizzle (temp 3-component vector of int)
 0:59          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
index 90f7e49..3a4b3fc 100644 (file)
@@ -5,7 +5,7 @@ gl_FragCoord origin is upper left
 0:48  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
 0:48    Function Parameters: 
 0:?     Sequence
-0:52      textureFetch (global 4-component vector of float)
+0:52      textureFetch (temp 4-component vector of float)
 0:52        'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:52        vector swizzle (temp int)
 0:52          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -22,7 +22,7 @@ gl_FragCoord origin is upper left
 0:52              1 (const uint)
 0:52          Constant:
 0:52            1 (const int)
-0:53      textureFetch (global 4-component vector of int)
+0:53      textureFetch (temp 4-component vector of int)
 0:53        'g_tTex1di4' (uniform itexture1D)
 0:53        vector swizzle (temp int)
 0:53          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -39,7 +39,7 @@ gl_FragCoord origin is upper left
 0:53              1 (const uint)
 0:53          Constant:
 0:53            1 (const int)
-0:54      textureFetch (global 4-component vector of uint)
+0:54      textureFetch (temp 4-component vector of uint)
 0:54        'g_tTex1du4' (uniform utexture1D)
 0:54        vector swizzle (temp int)
 0:54          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -56,7 +56,7 @@ gl_FragCoord origin is upper left
 0:54              1 (const uint)
 0:54          Constant:
 0:54            1 (const int)
-0:57      textureFetch (global 4-component vector of float)
+0:57      textureFetch (temp 4-component vector of float)
 0:57        'g_tTex2df4' (uniform texture2D)
 0:57        vector swizzle (temp 2-component vector of int)
 0:57          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -75,7 +75,7 @@ gl_FragCoord origin is upper left
 0:57              2 (const uint)
 0:57          Constant:
 0:57            2 (const int)
-0:58      textureFetch (global 4-component vector of int)
+0:58      textureFetch (temp 4-component vector of int)
 0:58        'g_tTex2di4' (uniform itexture2D)
 0:58        vector swizzle (temp 2-component vector of int)
 0:58          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -94,7 +94,7 @@ gl_FragCoord origin is upper left
 0:58              2 (const uint)
 0:58          Constant:
 0:58            2 (const int)
-0:59      textureFetch (global 4-component vector of uint)
+0:59      textureFetch (temp 4-component vector of uint)
 0:59        'g_tTex2du4' (uniform utexture2D)
 0:59        vector swizzle (temp 2-component vector of int)
 0:59          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -113,7 +113,7 @@ gl_FragCoord origin is upper left
 0:59              2 (const uint)
 0:59          Constant:
 0:59            2 (const int)
-0:62      textureFetch (global 4-component vector of float)
+0:62      textureFetch (temp 4-component vector of float)
 0:62        'g_tTex3df4' (uniform texture3D)
 0:62        vector swizzle (temp 3-component vector of int)
 0:62          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -134,7 +134,7 @@ gl_FragCoord origin is upper left
 0:62              3 (const uint)
 0:62          Constant:
 0:62            3 (const int)
-0:63      textureFetch (global 4-component vector of int)
+0:63      textureFetch (temp 4-component vector of int)
 0:63        'g_tTex3di4' (uniform itexture3D)
 0:63        vector swizzle (temp 3-component vector of int)
 0:63          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -155,7 +155,7 @@ gl_FragCoord origin is upper left
 0:63              3 (const uint)
 0:63          Constant:
 0:63            3 (const int)
-0:64      textureFetch (global 4-component vector of uint)
+0:64      textureFetch (temp 4-component vector of uint)
 0:64        'g_tTex3du4' (uniform utexture3D)
 0:64        vector swizzle (temp 3-component vector of int)
 0:64          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -245,7 +245,7 @@ gl_FragCoord origin is upper left
 0:48  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
 0:48    Function Parameters: 
 0:?     Sequence
-0:52      textureFetch (global 4-component vector of float)
+0:52      textureFetch (temp 4-component vector of float)
 0:52        'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:52        vector swizzle (temp int)
 0:52          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -262,7 +262,7 @@ gl_FragCoord origin is upper left
 0:52              1 (const uint)
 0:52          Constant:
 0:52            1 (const int)
-0:53      textureFetch (global 4-component vector of int)
+0:53      textureFetch (temp 4-component vector of int)
 0:53        'g_tTex1di4' (uniform itexture1D)
 0:53        vector swizzle (temp int)
 0:53          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -279,7 +279,7 @@ gl_FragCoord origin is upper left
 0:53              1 (const uint)
 0:53          Constant:
 0:53            1 (const int)
-0:54      textureFetch (global 4-component vector of uint)
+0:54      textureFetch (temp 4-component vector of uint)
 0:54        'g_tTex1du4' (uniform utexture1D)
 0:54        vector swizzle (temp int)
 0:54          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -296,7 +296,7 @@ gl_FragCoord origin is upper left
 0:54              1 (const uint)
 0:54          Constant:
 0:54            1 (const int)
-0:57      textureFetch (global 4-component vector of float)
+0:57      textureFetch (temp 4-component vector of float)
 0:57        'g_tTex2df4' (uniform texture2D)
 0:57        vector swizzle (temp 2-component vector of int)
 0:57          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -315,7 +315,7 @@ gl_FragCoord origin is upper left
 0:57              2 (const uint)
 0:57          Constant:
 0:57            2 (const int)
-0:58      textureFetch (global 4-component vector of int)
+0:58      textureFetch (temp 4-component vector of int)
 0:58        'g_tTex2di4' (uniform itexture2D)
 0:58        vector swizzle (temp 2-component vector of int)
 0:58          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -334,7 +334,7 @@ gl_FragCoord origin is upper left
 0:58              2 (const uint)
 0:58          Constant:
 0:58            2 (const int)
-0:59      textureFetch (global 4-component vector of uint)
+0:59      textureFetch (temp 4-component vector of uint)
 0:59        'g_tTex2du4' (uniform utexture2D)
 0:59        vector swizzle (temp 2-component vector of int)
 0:59          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -353,7 +353,7 @@ gl_FragCoord origin is upper left
 0:59              2 (const uint)
 0:59          Constant:
 0:59            2 (const int)
-0:62      textureFetch (global 4-component vector of float)
+0:62      textureFetch (temp 4-component vector of float)
 0:62        'g_tTex3df4' (uniform texture3D)
 0:62        vector swizzle (temp 3-component vector of int)
 0:62          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -374,7 +374,7 @@ gl_FragCoord origin is upper left
 0:62              3 (const uint)
 0:62          Constant:
 0:62            3 (const int)
-0:63      textureFetch (global 4-component vector of int)
+0:63      textureFetch (temp 4-component vector of int)
 0:63        'g_tTex3di4' (uniform itexture3D)
 0:63        vector swizzle (temp 3-component vector of int)
 0:63          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -395,7 +395,7 @@ gl_FragCoord origin is upper left
 0:63              3 (const uint)
 0:63          Constant:
 0:63            3 (const int)
-0:64      textureFetch (global 4-component vector of uint)
+0:64      textureFetch (temp 4-component vector of uint)
 0:64        'g_tTex3du4' (uniform utexture3D)
 0:64        vector swizzle (temp 3-component vector of int)
 0:64          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
index 4649f29..9495c60 100644 (file)
@@ -4,7 +4,7 @@ Shader version: 450
 0:47  Function Definition: main( (temp structure{temp 4-component vector of float Pos})
 0:47    Function Parameters: 
 0:?     Sequence
-0:51      textureFetch (global 4-component vector of float)
+0:51      textureFetch (temp 4-component vector of float)
 0:51        'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:51        vector swizzle (temp int)
 0:51          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -21,7 +21,7 @@ Shader version: 450
 0:51              1 (const uint)
 0:51          Constant:
 0:51            1 (const int)
-0:52      textureFetch (global 4-component vector of int)
+0:52      textureFetch (temp 4-component vector of int)
 0:52        'g_tTex1di4' (uniform itexture1D)
 0:52        vector swizzle (temp int)
 0:52          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -38,7 +38,7 @@ Shader version: 450
 0:52              1 (const uint)
 0:52          Constant:
 0:52            1 (const int)
-0:53      textureFetch (global 4-component vector of uint)
+0:53      textureFetch (temp 4-component vector of uint)
 0:53        'g_tTex1du4' (uniform utexture1D)
 0:53        vector swizzle (temp int)
 0:53          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -55,7 +55,7 @@ Shader version: 450
 0:53              1 (const uint)
 0:53          Constant:
 0:53            1 (const int)
-0:56      textureFetch (global 4-component vector of float)
+0:56      textureFetch (temp 4-component vector of float)
 0:56        'g_tTex2df4' (uniform texture2D)
 0:56        vector swizzle (temp 2-component vector of int)
 0:56          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -74,7 +74,7 @@ Shader version: 450
 0:56              2 (const uint)
 0:56          Constant:
 0:56            2 (const int)
-0:57      textureFetch (global 4-component vector of int)
+0:57      textureFetch (temp 4-component vector of int)
 0:57        'g_tTex2di4' (uniform itexture2D)
 0:57        vector swizzle (temp 2-component vector of int)
 0:57          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -93,7 +93,7 @@ Shader version: 450
 0:57              2 (const uint)
 0:57          Constant:
 0:57            2 (const int)
-0:58      textureFetch (global 4-component vector of uint)
+0:58      textureFetch (temp 4-component vector of uint)
 0:58        'g_tTex2du4' (uniform utexture2D)
 0:58        vector swizzle (temp 2-component vector of int)
 0:58          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -112,7 +112,7 @@ Shader version: 450
 0:58              2 (const uint)
 0:58          Constant:
 0:58            2 (const int)
-0:61      textureFetch (global 4-component vector of float)
+0:61      textureFetch (temp 4-component vector of float)
 0:61        'g_tTex3df4' (uniform texture3D)
 0:61        vector swizzle (temp 3-component vector of int)
 0:61          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -133,7 +133,7 @@ Shader version: 450
 0:61              3 (const uint)
 0:61          Constant:
 0:61            3 (const int)
-0:62      textureFetch (global 4-component vector of int)
+0:62      textureFetch (temp 4-component vector of int)
 0:62        'g_tTex3di4' (uniform itexture3D)
 0:62        vector swizzle (temp 3-component vector of int)
 0:62          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -154,7 +154,7 @@ Shader version: 450
 0:62              3 (const uint)
 0:62          Constant:
 0:62            3 (const int)
-0:63      textureFetch (global 4-component vector of uint)
+0:63      textureFetch (temp 4-component vector of uint)
 0:63        'g_tTex3du4' (uniform utexture3D)
 0:63        vector swizzle (temp 3-component vector of int)
 0:63          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -229,7 +229,7 @@ Shader version: 450
 0:47  Function Definition: main( (temp structure{temp 4-component vector of float Pos})
 0:47    Function Parameters: 
 0:?     Sequence
-0:51      textureFetch (global 4-component vector of float)
+0:51      textureFetch (temp 4-component vector of float)
 0:51        'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:51        vector swizzle (temp int)
 0:51          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -246,7 +246,7 @@ Shader version: 450
 0:51              1 (const uint)
 0:51          Constant:
 0:51            1 (const int)
-0:52      textureFetch (global 4-component vector of int)
+0:52      textureFetch (temp 4-component vector of int)
 0:52        'g_tTex1di4' (uniform itexture1D)
 0:52        vector swizzle (temp int)
 0:52          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -263,7 +263,7 @@ Shader version: 450
 0:52              1 (const uint)
 0:52          Constant:
 0:52            1 (const int)
-0:53      textureFetch (global 4-component vector of uint)
+0:53      textureFetch (temp 4-component vector of uint)
 0:53        'g_tTex1du4' (uniform utexture1D)
 0:53        vector swizzle (temp int)
 0:53          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -280,7 +280,7 @@ Shader version: 450
 0:53              1 (const uint)
 0:53          Constant:
 0:53            1 (const int)
-0:56      textureFetch (global 4-component vector of float)
+0:56      textureFetch (temp 4-component vector of float)
 0:56        'g_tTex2df4' (uniform texture2D)
 0:56        vector swizzle (temp 2-component vector of int)
 0:56          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -299,7 +299,7 @@ Shader version: 450
 0:56              2 (const uint)
 0:56          Constant:
 0:56            2 (const int)
-0:57      textureFetch (global 4-component vector of int)
+0:57      textureFetch (temp 4-component vector of int)
 0:57        'g_tTex2di4' (uniform itexture2D)
 0:57        vector swizzle (temp 2-component vector of int)
 0:57          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -318,7 +318,7 @@ Shader version: 450
 0:57              2 (const uint)
 0:57          Constant:
 0:57            2 (const int)
-0:58      textureFetch (global 4-component vector of uint)
+0:58      textureFetch (temp 4-component vector of uint)
 0:58        'g_tTex2du4' (uniform utexture2D)
 0:58        vector swizzle (temp 2-component vector of int)
 0:58          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -337,7 +337,7 @@ Shader version: 450
 0:58              2 (const uint)
 0:58          Constant:
 0:58            2 (const int)
-0:61      textureFetch (global 4-component vector of float)
+0:61      textureFetch (temp 4-component vector of float)
 0:61        'g_tTex3df4' (uniform texture3D)
 0:61        vector swizzle (temp 3-component vector of int)
 0:61          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -358,7 +358,7 @@ Shader version: 450
 0:61              3 (const uint)
 0:61          Constant:
 0:61            3 (const int)
-0:62      textureFetch (global 4-component vector of int)
+0:62      textureFetch (temp 4-component vector of int)
 0:62        'g_tTex3di4' (uniform itexture3D)
 0:62        vector swizzle (temp 3-component vector of int)
 0:62          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -379,7 +379,7 @@ Shader version: 450
 0:62              3 (const uint)
 0:62          Constant:
 0:62            3 (const int)
-0:63      textureFetch (global 4-component vector of uint)
+0:63      textureFetch (temp 4-component vector of uint)
 0:63        'g_tTex3du4' (uniform utexture3D)
 0:63        vector swizzle (temp 3-component vector of int)
 0:63          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
index ded9382..560d8f5 100644 (file)
@@ -8,8 +8,8 @@ gl_FragCoord origin is upper left
 0:28      Sequence
 0:28        move second child to first child (temp 4-component vector of float)
 0:28          'r00' (temp 4-component vector of float)
-0:28          textureFetch (global 4-component vector of float)
-0:28            'g_tTexbf4' (uniform samplerBuffer)
+0:28          textureFetch (temp 4-component vector of float)
+0:28            'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer)
 0:28            c1: direct index for structure (layout(offset=0 ) uniform int)
 0:28              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:28              Constant:
@@ -17,8 +17,8 @@ gl_FragCoord origin is upper left
 0:29      Sequence
 0:29        move second child to first child (temp 4-component vector of int)
 0:29          'r01' (temp 4-component vector of int)
-0:29          textureFetch (global 4-component vector of int)
-0:29            'g_tTexbi4' (uniform isamplerBuffer)
+0:29          textureFetch (temp 4-component vector of int)
+0:29            'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer)
 0:29            c1: direct index for structure (layout(offset=0 ) uniform int)
 0:29              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:29              Constant:
@@ -26,8 +26,8 @@ gl_FragCoord origin is upper left
 0:30      Sequence
 0:30        move second child to first child (temp 4-component vector of uint)
 0:30          'r02' (temp 4-component vector of uint)
-0:30          textureFetch (global 4-component vector of uint)
-0:30            'g_tTexbu4' (uniform usamplerBuffer)
+0:30          textureFetch (temp 4-component vector of uint)
+0:30            'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer)
 0:30            c1: direct index for structure (layout(offset=0 ) uniform int)
 0:30              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:30              Constant:
@@ -65,10 +65,10 @@ gl_FragCoord origin is upper left
 0:37                1 (const int)
 0:37        Branch: Return
 0:?   Linker Objects
-0:?     'g_tTexbf4_test' (layout(binding=0 ) uniform samplerBuffer)
-0:?     'g_tTexbf4' (uniform samplerBuffer)
-0:?     'g_tTexbi4' (uniform isamplerBuffer)
-0:?     'g_tTexbu4' (uniform usamplerBuffer)
+0:?     'g_tTexbf4_test' (layout(binding=0 rgba32f ) uniform samplerBuffer)
+0:?     'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer)
+0:?     'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer)
+0:?     'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer)
 0:?     'Color' (layout(location=0 ) out 4-component vector of float)
 0:?     'Depth' (out float FragDepth)
 0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -86,8 +86,8 @@ gl_FragCoord origin is upper left
 0:28      Sequence
 0:28        move second child to first child (temp 4-component vector of float)
 0:28          'r00' (temp 4-component vector of float)
-0:28          textureFetch (global 4-component vector of float)
-0:28            'g_tTexbf4' (uniform samplerBuffer)
+0:28          textureFetch (temp 4-component vector of float)
+0:28            'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer)
 0:28            c1: direct index for structure (layout(offset=0 ) uniform int)
 0:28              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:28              Constant:
@@ -95,8 +95,8 @@ gl_FragCoord origin is upper left
 0:29      Sequence
 0:29        move second child to first child (temp 4-component vector of int)
 0:29          'r01' (temp 4-component vector of int)
-0:29          textureFetch (global 4-component vector of int)
-0:29            'g_tTexbi4' (uniform isamplerBuffer)
+0:29          textureFetch (temp 4-component vector of int)
+0:29            'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer)
 0:29            c1: direct index for structure (layout(offset=0 ) uniform int)
 0:29              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:29              Constant:
@@ -104,8 +104,8 @@ gl_FragCoord origin is upper left
 0:30      Sequence
 0:30        move second child to first child (temp 4-component vector of uint)
 0:30          'r02' (temp 4-component vector of uint)
-0:30          textureFetch (global 4-component vector of uint)
-0:30            'g_tTexbu4' (uniform usamplerBuffer)
+0:30          textureFetch (temp 4-component vector of uint)
+0:30            'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer)
 0:30            c1: direct index for structure (layout(offset=0 ) uniform int)
 0:30              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:30              Constant:
@@ -143,10 +143,10 @@ gl_FragCoord origin is upper left
 0:37                1 (const int)
 0:37        Branch: Return
 0:?   Linker Objects
-0:?     'g_tTexbf4_test' (layout(binding=0 ) uniform samplerBuffer)
-0:?     'g_tTexbf4' (uniform samplerBuffer)
-0:?     'g_tTexbi4' (uniform isamplerBuffer)
-0:?     'g_tTexbu4' (uniform usamplerBuffer)
+0:?     'g_tTexbf4_test' (layout(binding=0 rgba32f ) uniform samplerBuffer)
+0:?     'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer)
+0:?     'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer)
+0:?     'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer)
 0:?     'Color' (layout(location=0 ) out 4-component vector of float)
 0:?     'Depth' (out float FragDepth)
 0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -207,7 +207,7 @@ gl_FragCoord origin is upper left
                6:             TypeFloat 32
                7:             TypeVector 6(float) 4
                8:             TypePointer Function 7(fvec4)
-              10:             TypeImage 6(float) Buffer sampled format:Unknown
+              10:             TypeImage 6(float) Buffer sampled format:Rgba32f
               11:             TypeSampledImage 10
               12:             TypePointer UniformConstant 11
    13(g_tTexbf4):     12(ptr) Variable UniformConstant
@@ -221,14 +221,14 @@ gl_FragCoord origin is upper left
               22:     15(int) Constant 0
               23:             TypePointer Uniform 15(int)
               28:             TypePointer Function 18(ivec4)
-              30:             TypeImage 15(int) Buffer sampled format:Unknown
+              30:             TypeImage 15(int) Buffer sampled format:Rgba32i
               31:             TypeSampledImage 30
               32:             TypePointer UniformConstant 31
    33(g_tTexbi4):     32(ptr) Variable UniformConstant
               39:             TypeInt 32 0
               40:             TypeVector 39(int) 4
               41:             TypePointer Function 40(ivec4)
-              43:             TypeImage 39(int) Buffer sampled format:Unknown
+              43:             TypeImage 39(int) Buffer sampled format:Rgba32ui
               44:             TypeSampledImage 43
               45:             TypePointer UniformConstant 44
    46(g_tTexbu4):     45(ptr) Variable UniformConstant
diff --git a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
new file mode 100644 (file)
index 0000000..87e9680
--- /dev/null
@@ -0,0 +1,280 @@
+hlsl.load.buffer.float.dx10.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:24  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:24    Function Parameters: 
+0:?     Sequence
+0:28      Sequence
+0:28        move second child to first child (temp float)
+0:28          'r00' (temp float)
+0:28          textureFetch (temp float)
+0:28            'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
+0:28            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:28              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:28              Constant:
+0:28                0 (const uint)
+0:29      Sequence
+0:29        move second child to first child (temp int)
+0:29          'r01' (temp int)
+0:29          textureFetch (temp int)
+0:29            'g_tTexbis' (layout(r32i ) uniform isamplerBuffer)
+0:29            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:29              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:29              Constant:
+0:29                0 (const uint)
+0:30      Sequence
+0:30        move second child to first child (temp uint)
+0:30          'r02' (temp uint)
+0:30          textureFetch (temp uint)
+0:30            'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer)
+0:30            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:30              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:30              Constant:
+0:30                0 (const uint)
+0:34      move second child to first child (temp 4-component vector of float)
+0:34        Color: direct index for structure (temp 4-component vector of float)
+0:34          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:34          Constant:
+0:34            0 (const int)
+0:34        Constant:
+0:34          1.000000
+0:34          1.000000
+0:34          1.000000
+0:34          1.000000
+0:35      move second child to first child (temp float)
+0:35        Depth: direct index for structure (temp float)
+0:35          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:35          Constant:
+0:35            1 (const int)
+0:35        Constant:
+0:35          1.000000
+0:37      Sequence
+0:37        Sequence
+0:37          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:37            Color: direct index for structure (temp 4-component vector of float)
+0:37              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:37              Constant:
+0:37                0 (const int)
+0:37          move second child to first child (temp float)
+0:?             'Depth' (out float FragDepth)
+0:37            Depth: direct index for structure (temp float)
+0:37              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:37              Constant:
+0:37                1 (const int)
+0:37        Branch: Return
+0:?   Linker Objects
+0:?     'g_tTexbfs_test' (layout(binding=0 r32f ) uniform samplerBuffer)
+0:?     'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
+0:?     'g_tTexbis' (layout(r32i ) uniform isamplerBuffer)
+0:?     'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer)
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
+0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:24  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:24    Function Parameters: 
+0:?     Sequence
+0:28      Sequence
+0:28        move second child to first child (temp float)
+0:28          'r00' (temp float)
+0:28          textureFetch (temp float)
+0:28            'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
+0:28            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:28              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:28              Constant:
+0:28                0 (const uint)
+0:29      Sequence
+0:29        move second child to first child (temp int)
+0:29          'r01' (temp int)
+0:29          textureFetch (temp int)
+0:29            'g_tTexbis' (layout(r32i ) uniform isamplerBuffer)
+0:29            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:29              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:29              Constant:
+0:29                0 (const uint)
+0:30      Sequence
+0:30        move second child to first child (temp uint)
+0:30          'r02' (temp uint)
+0:30          textureFetch (temp uint)
+0:30            'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer)
+0:30            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:30              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:30              Constant:
+0:30                0 (const uint)
+0:34      move second child to first child (temp 4-component vector of float)
+0:34        Color: direct index for structure (temp 4-component vector of float)
+0:34          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:34          Constant:
+0:34            0 (const int)
+0:34        Constant:
+0:34          1.000000
+0:34          1.000000
+0:34          1.000000
+0:34          1.000000
+0:35      move second child to first child (temp float)
+0:35        Depth: direct index for structure (temp float)
+0:35          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:35          Constant:
+0:35            1 (const int)
+0:35        Constant:
+0:35          1.000000
+0:37      Sequence
+0:37        Sequence
+0:37          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:37            Color: direct index for structure (temp 4-component vector of float)
+0:37              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:37              Constant:
+0:37                0 (const int)
+0:37          move second child to first child (temp float)
+0:?             'Depth' (out float FragDepth)
+0:37            Depth: direct index for structure (temp float)
+0:37              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
+0:37              Constant:
+0:37                1 (const int)
+0:37        Branch: Return
+0:?   Linker Objects
+0:?     'g_tTexbfs_test' (layout(binding=0 r32f ) uniform samplerBuffer)
+0:?     'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
+0:?     'g_tTexbis' (layout(r32i ) uniform isamplerBuffer)
+0:?     'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer)
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
+0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 70
+
+                              Capability Shader
+                              Capability SampledBuffer
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 61 65
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 8  "r00"
+                              Name 12  "g_tTexbfs"
+                              Name 18  "$Global"
+                              MemberName 18($Global) 0  "c1"
+                              MemberName 18($Global) 1  "c2"
+                              MemberName 18($Global) 2  "c3"
+                              MemberName 18($Global) 3  "c4"
+                              MemberName 18($Global) 4  "o1"
+                              MemberName 18($Global) 5  "o2"
+                              MemberName 18($Global) 6  "o3"
+                              MemberName 18($Global) 7  "o4"
+                              Name 20  ""
+                              Name 28  "r01"
+                              Name 32  "g_tTexbis"
+                              Name 40  "r02"
+                              Name 44  "g_tTexbus"
+                              Name 51  "PS_OUTPUT"
+                              MemberName 51(PS_OUTPUT) 0  "Color"
+                              MemberName 51(PS_OUTPUT) 1  "Depth"
+                              Name 53  "psout"
+                              Name 61  "Color"
+                              Name 65  "Depth"
+                              Name 69  "g_tTexbfs_test"
+                              Decorate 12(g_tTexbfs) DescriptorSet 0
+                              MemberDecorate 18($Global) 0 Offset 0
+                              MemberDecorate 18($Global) 1 Offset 8
+                              MemberDecorate 18($Global) 2 Offset 16
+                              MemberDecorate 18($Global) 3 Offset 32
+                              MemberDecorate 18($Global) 4 Offset 48
+                              MemberDecorate 18($Global) 5 Offset 56
+                              MemberDecorate 18($Global) 6 Offset 64
+                              MemberDecorate 18($Global) 7 Offset 80
+                              Decorate 18($Global) Block
+                              Decorate 20 DescriptorSet 0
+                              Decorate 32(g_tTexbis) DescriptorSet 0
+                              Decorate 44(g_tTexbus) DescriptorSet 0
+                              Decorate 61(Color) Location 0
+                              Decorate 65(Depth) BuiltIn FragDepth
+                              Decorate 69(g_tTexbfs_test) DescriptorSet 0
+                              Decorate 69(g_tTexbfs_test) Binding 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypePointer Function 6(float)
+               9:             TypeImage 6(float) Buffer sampled format:R32f
+              10:             TypeSampledImage 9
+              11:             TypePointer UniformConstant 10
+   12(g_tTexbfs):     11(ptr) Variable UniformConstant
+              14:             TypeInt 32 1
+              15:             TypeVector 14(int) 2
+              16:             TypeVector 14(int) 3
+              17:             TypeVector 14(int) 4
+     18($Global):             TypeStruct 14(int) 15(ivec2) 16(ivec3) 17(ivec4) 14(int) 15(ivec2) 16(ivec3) 17(ivec4)
+              19:             TypePointer Uniform 18($Global)
+              20:     19(ptr) Variable Uniform
+              21:     14(int) Constant 0
+              22:             TypePointer Uniform 14(int)
+              27:             TypePointer Function 14(int)
+              29:             TypeImage 14(int) Buffer sampled format:R32i
+              30:             TypeSampledImage 29
+              31:             TypePointer UniformConstant 30
+   32(g_tTexbis):     31(ptr) Variable UniformConstant
+              38:             TypeInt 32 0
+              39:             TypePointer Function 38(int)
+              41:             TypeImage 38(int) Buffer sampled format:R32ui
+              42:             TypeSampledImage 41
+              43:             TypePointer UniformConstant 42
+   44(g_tTexbus):     43(ptr) Variable UniformConstant
+              50:             TypeVector 6(float) 4
+   51(PS_OUTPUT):             TypeStruct 50(fvec4) 6(float)
+              52:             TypePointer Function 51(PS_OUTPUT)
+              54:    6(float) Constant 1065353216
+              55:   50(fvec4) ConstantComposite 54 54 54 54
+              56:             TypePointer Function 50(fvec4)
+              58:     14(int) Constant 1
+              60:             TypePointer Output 50(fvec4)
+       61(Color):     60(ptr) Variable Output
+              64:             TypePointer Output 6(float)
+       65(Depth):     64(ptr) Variable Output
+69(g_tTexbfs_test):     11(ptr) Variable UniformConstant
+         4(main):           2 Function None 3
+               5:             Label
+          8(r00):      7(ptr) Variable Function
+         28(r01):     27(ptr) Variable Function
+         40(r02):     39(ptr) Variable Function
+       53(psout):     52(ptr) Variable Function
+              13:          10 Load 12(g_tTexbfs)
+              23:     22(ptr) AccessChain 20 21
+              24:     14(int) Load 23
+              25:           9 Image 13
+              26:    6(float) ImageFetch 25 24
+                              Store 8(r00) 26
+              33:          30 Load 32(g_tTexbis)
+              34:     22(ptr) AccessChain 20 21
+              35:     14(int) Load 34
+              36:          29 Image 33
+              37:     14(int) ImageFetch 36 35
+                              Store 28(r01) 37
+              45:          42 Load 44(g_tTexbus)
+              46:     22(ptr) AccessChain 20 21
+              47:     14(int) Load 46
+              48:          41 Image 45
+              49:     38(int) ImageFetch 48 47
+                              Store 40(r02) 49
+              57:     56(ptr) AccessChain 53(psout) 21
+                              Store 57 55
+              59:      7(ptr) AccessChain 53(psout) 58
+                              Store 59 54
+              62:     56(ptr) AccessChain 53(psout) 21
+              63:   50(fvec4) Load 62
+                              Store 61(Color) 63
+              66:      7(ptr) AccessChain 53(psout) 58
+              67:    6(float) Load 66
+                              Store 65(Depth) 67
+                              Return
+                              FunctionEnd
index 6eaa6f7..069e05d 100644 (file)
@@ -5,7 +5,7 @@ gl_FragCoord origin is upper left
 0:48  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
 0:48    Function Parameters: 
 0:?     Sequence
-0:52      textureFetchOffset (global 4-component vector of float)
+0:52      textureFetchOffset (temp 4-component vector of float)
 0:52        'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:52        vector swizzle (temp int)
 0:52          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -26,7 +26,7 @@ gl_FragCoord origin is upper left
 0:52          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:52          Constant:
 0:52            4 (const uint)
-0:53      textureFetchOffset (global 4-component vector of int)
+0:53      textureFetchOffset (temp 4-component vector of int)
 0:53        'g_tTex1di4' (uniform itexture1D)
 0:53        vector swizzle (temp int)
 0:53          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -47,7 +47,7 @@ gl_FragCoord origin is upper left
 0:53          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:53          Constant:
 0:53            4 (const uint)
-0:54      textureFetchOffset (global 4-component vector of uint)
+0:54      textureFetchOffset (temp 4-component vector of uint)
 0:54        'g_tTex1du4' (uniform utexture1D)
 0:54        vector swizzle (temp int)
 0:54          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -68,7 +68,7 @@ gl_FragCoord origin is upper left
 0:54          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:54          Constant:
 0:54            4 (const uint)
-0:57      textureFetchOffset (global 4-component vector of float)
+0:57      textureFetchOffset (temp 4-component vector of float)
 0:57        'g_tTex2df4' (uniform texture2D)
 0:57        vector swizzle (temp 2-component vector of int)
 0:57          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -91,7 +91,7 @@ gl_FragCoord origin is upper left
 0:57          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:57          Constant:
 0:57            5 (const uint)
-0:58      textureFetchOffset (global 4-component vector of int)
+0:58      textureFetchOffset (temp 4-component vector of int)
 0:58        'g_tTex2di4' (uniform itexture2D)
 0:58        vector swizzle (temp 2-component vector of int)
 0:58          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -114,7 +114,7 @@ gl_FragCoord origin is upper left
 0:58          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:58          Constant:
 0:58            5 (const uint)
-0:59      textureFetchOffset (global 4-component vector of uint)
+0:59      textureFetchOffset (temp 4-component vector of uint)
 0:59        'g_tTex2du4' (uniform utexture2D)
 0:59        vector swizzle (temp 2-component vector of int)
 0:59          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -137,7 +137,7 @@ gl_FragCoord origin is upper left
 0:59          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:59          Constant:
 0:59            5 (const uint)
-0:62      textureFetchOffset (global 4-component vector of float)
+0:62      textureFetchOffset (temp 4-component vector of float)
 0:62        'g_tTex3df4' (uniform texture3D)
 0:62        vector swizzle (temp 3-component vector of int)
 0:62          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -162,7 +162,7 @@ gl_FragCoord origin is upper left
 0:62          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:62          Constant:
 0:62            6 (const uint)
-0:63      textureFetchOffset (global 4-component vector of int)
+0:63      textureFetchOffset (temp 4-component vector of int)
 0:63        'g_tTex3di4' (uniform itexture3D)
 0:63        vector swizzle (temp 3-component vector of int)
 0:63          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -187,7 +187,7 @@ gl_FragCoord origin is upper left
 0:63          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:63          Constant:
 0:63            6 (const uint)
-0:64      textureFetchOffset (global 4-component vector of uint)
+0:64      textureFetchOffset (temp 4-component vector of uint)
 0:64        'g_tTex3du4' (uniform utexture3D)
 0:64        vector swizzle (temp 3-component vector of int)
 0:64          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -281,7 +281,7 @@ gl_FragCoord origin is upper left
 0:48  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
 0:48    Function Parameters: 
 0:?     Sequence
-0:52      textureFetchOffset (global 4-component vector of float)
+0:52      textureFetchOffset (temp 4-component vector of float)
 0:52        'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:52        vector swizzle (temp int)
 0:52          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -302,7 +302,7 @@ gl_FragCoord origin is upper left
 0:52          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:52          Constant:
 0:52            4 (const uint)
-0:53      textureFetchOffset (global 4-component vector of int)
+0:53      textureFetchOffset (temp 4-component vector of int)
 0:53        'g_tTex1di4' (uniform itexture1D)
 0:53        vector swizzle (temp int)
 0:53          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -323,7 +323,7 @@ gl_FragCoord origin is upper left
 0:53          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:53          Constant:
 0:53            4 (const uint)
-0:54      textureFetchOffset (global 4-component vector of uint)
+0:54      textureFetchOffset (temp 4-component vector of uint)
 0:54        'g_tTex1du4' (uniform utexture1D)
 0:54        vector swizzle (temp int)
 0:54          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
@@ -344,7 +344,7 @@ gl_FragCoord origin is upper left
 0:54          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:54          Constant:
 0:54            4 (const uint)
-0:57      textureFetchOffset (global 4-component vector of float)
+0:57      textureFetchOffset (temp 4-component vector of float)
 0:57        'g_tTex2df4' (uniform texture2D)
 0:57        vector swizzle (temp 2-component vector of int)
 0:57          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -367,7 +367,7 @@ gl_FragCoord origin is upper left
 0:57          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:57          Constant:
 0:57            5 (const uint)
-0:58      textureFetchOffset (global 4-component vector of int)
+0:58      textureFetchOffset (temp 4-component vector of int)
 0:58        'g_tTex2di4' (uniform itexture2D)
 0:58        vector swizzle (temp 2-component vector of int)
 0:58          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -390,7 +390,7 @@ gl_FragCoord origin is upper left
 0:58          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:58          Constant:
 0:58            5 (const uint)
-0:59      textureFetchOffset (global 4-component vector of uint)
+0:59      textureFetchOffset (temp 4-component vector of uint)
 0:59        'g_tTex2du4' (uniform utexture2D)
 0:59        vector swizzle (temp 2-component vector of int)
 0:59          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -413,7 +413,7 @@ gl_FragCoord origin is upper left
 0:59          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:59          Constant:
 0:59            5 (const uint)
-0:62      textureFetchOffset (global 4-component vector of float)
+0:62      textureFetchOffset (temp 4-component vector of float)
 0:62        'g_tTex3df4' (uniform texture3D)
 0:62        vector swizzle (temp 3-component vector of int)
 0:62          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -438,7 +438,7 @@ gl_FragCoord origin is upper left
 0:62          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:62          Constant:
 0:62            6 (const uint)
-0:63      textureFetchOffset (global 4-component vector of int)
+0:63      textureFetchOffset (temp 4-component vector of int)
 0:63        'g_tTex3di4' (uniform itexture3D)
 0:63        vector swizzle (temp 3-component vector of int)
 0:63          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -463,7 +463,7 @@ gl_FragCoord origin is upper left
 0:63          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:63          Constant:
 0:63            6 (const uint)
-0:64      textureFetchOffset (global 4-component vector of uint)
+0:64      textureFetchOffset (temp 4-component vector of uint)
 0:64        'g_tTex3du4' (uniform utexture3D)
 0:64        vector swizzle (temp 3-component vector of int)
 0:64          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
index 776cd83..ed89ee8 100644 (file)
@@ -5,7 +5,7 @@ gl_FragCoord origin is upper left
 0:48  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
 0:48    Function Parameters: 
 0:?     Sequence
-0:52      textureFetchOffset (global 4-component vector of float)
+0:52      textureFetchOffset (temp 4-component vector of float)
 0:52        'g_tTex1df4a' (uniform texture1DArray)
 0:52        vector swizzle (temp 2-component vector of int)
 0:52          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -28,7 +28,7 @@ gl_FragCoord origin is upper left
 0:52          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:52          Constant:
 0:52            4 (const uint)
-0:53      textureFetchOffset (global 4-component vector of int)
+0:53      textureFetchOffset (temp 4-component vector of int)
 0:53        'g_tTex1di4a' (uniform itexture1DArray)
 0:53        vector swizzle (temp 2-component vector of int)
 0:53          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -51,7 +51,7 @@ gl_FragCoord origin is upper left
 0:53          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:53          Constant:
 0:53            4 (const uint)
-0:54      textureFetchOffset (global 4-component vector of uint)
+0:54      textureFetchOffset (temp 4-component vector of uint)
 0:54        'g_tTex1du4a' (uniform utexture1DArray)
 0:54        vector swizzle (temp 2-component vector of int)
 0:54          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -74,7 +74,7 @@ gl_FragCoord origin is upper left
 0:54          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:54          Constant:
 0:54            4 (const uint)
-0:57      textureFetchOffset (global 4-component vector of float)
+0:57      textureFetchOffset (temp 4-component vector of float)
 0:57        'g_tTex2df4a' (uniform texture2DArray)
 0:57        vector swizzle (temp 3-component vector of int)
 0:57          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -99,7 +99,7 @@ gl_FragCoord origin is upper left
 0:57          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:57          Constant:
 0:57            5 (const uint)
-0:58      textureFetchOffset (global 4-component vector of int)
+0:58      textureFetchOffset (temp 4-component vector of int)
 0:58        'g_tTex2di4a' (uniform itexture2DArray)
 0:58        vector swizzle (temp 3-component vector of int)
 0:58          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -124,7 +124,7 @@ gl_FragCoord origin is upper left
 0:58          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:58          Constant:
 0:58            5 (const uint)
-0:59      textureFetchOffset (global 4-component vector of uint)
+0:59      textureFetchOffset (temp 4-component vector of uint)
 0:59        'g_tTex2du4a' (uniform utexture2DArray)
 0:59        vector swizzle (temp 3-component vector of int)
 0:59          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -218,7 +218,7 @@ gl_FragCoord origin is upper left
 0:48  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
 0:48    Function Parameters: 
 0:?     Sequence
-0:52      textureFetchOffset (global 4-component vector of float)
+0:52      textureFetchOffset (temp 4-component vector of float)
 0:52        'g_tTex1df4a' (uniform texture1DArray)
 0:52        vector swizzle (temp 2-component vector of int)
 0:52          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -241,7 +241,7 @@ gl_FragCoord origin is upper left
 0:52          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:52          Constant:
 0:52            4 (const uint)
-0:53      textureFetchOffset (global 4-component vector of int)
+0:53      textureFetchOffset (temp 4-component vector of int)
 0:53        'g_tTex1di4a' (uniform itexture1DArray)
 0:53        vector swizzle (temp 2-component vector of int)
 0:53          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -264,7 +264,7 @@ gl_FragCoord origin is upper left
 0:53          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:53          Constant:
 0:53            4 (const uint)
-0:54      textureFetchOffset (global 4-component vector of uint)
+0:54      textureFetchOffset (temp 4-component vector of uint)
 0:54        'g_tTex1du4a' (uniform utexture1DArray)
 0:54        vector swizzle (temp 2-component vector of int)
 0:54          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
@@ -287,7 +287,7 @@ gl_FragCoord origin is upper left
 0:54          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:54          Constant:
 0:54            4 (const uint)
-0:57      textureFetchOffset (global 4-component vector of float)
+0:57      textureFetchOffset (temp 4-component vector of float)
 0:57        'g_tTex2df4a' (uniform texture2DArray)
 0:57        vector swizzle (temp 3-component vector of int)
 0:57          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -312,7 +312,7 @@ gl_FragCoord origin is upper left
 0:57          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:57          Constant:
 0:57            5 (const uint)
-0:58      textureFetchOffset (global 4-component vector of int)
+0:58      textureFetchOffset (temp 4-component vector of int)
 0:58        'g_tTex2di4a' (uniform itexture2DArray)
 0:58        vector swizzle (temp 3-component vector of int)
 0:58          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
@@ -337,7 +337,7 @@ gl_FragCoord origin is upper left
 0:58          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:58          Constant:
 0:58            5 (const uint)
-0:59      textureFetchOffset (global 4-component vector of uint)
+0:59      textureFetchOffset (temp 4-component vector of uint)
 0:59        'g_tTex2du4a' (uniform utexture2DArray)
 0:59        vector swizzle (temp 3-component vector of int)
 0:59          c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of int)
index 78b4804..7b26372 100644 (file)
@@ -5,19 +5,19 @@ gl_FragCoord origin is upper left
 0:22  Function Definition: main( (temp structure{temp 4-component vector of float Color})
 0:22    Function Parameters: 
 0:?     Sequence
-0:25      imageLoad (global 4-component vector of float)
+0:25      imageLoad (temp 4-component vector of float)
 0:25        'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
 0:25        c1: direct index for structure (layout(offset=0 ) uniform int)
 0:25          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:25          Constant:
 0:25            0 (const uint)
-0:26      imageLoad (global 4-component vector of uint)
+0:26      imageLoad (temp 4-component vector of uint)
 0:26        'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer)
 0:26        c1: direct index for structure (layout(offset=0 ) uniform int)
 0:26          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:26          Constant:
 0:26            0 (const uint)
-0:27      imageLoad (global 4-component vector of int)
+0:27      imageLoad (temp 4-component vector of int)
 0:27        'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
 0:27        c1: direct index for structure (layout(offset=0 ) uniform int)
 0:27          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -59,19 +59,19 @@ gl_FragCoord origin is upper left
 0:22  Function Definition: main( (temp structure{temp 4-component vector of float Color})
 0:22    Function Parameters: 
 0:?     Sequence
-0:25      imageLoad (global 4-component vector of float)
+0:25      imageLoad (temp 4-component vector of float)
 0:25        'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
 0:25        c1: direct index for structure (layout(offset=0 ) uniform int)
 0:25          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:25          Constant:
 0:25            0 (const uint)
-0:26      imageLoad (global 4-component vector of uint)
+0:26      imageLoad (temp 4-component vector of uint)
 0:26        'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer)
 0:26        c1: direct index for structure (layout(offset=0 ) uniform int)
 0:26          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:26          Constant:
 0:26            0 (const uint)
-0:27      imageLoad (global 4-component vector of int)
+0:27      imageLoad (temp 4-component vector of int)
 0:27        'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
 0:27        c1: direct index for structure (layout(offset=0 ) uniform int)
 0:27          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
index 353f769..8ac94d0 100644 (file)
@@ -5,37 +5,37 @@ gl_FragCoord origin is upper left
 0:40  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
 0:40    Function Parameters: 
 0:?     Sequence
-0:44      imageLoad (global 4-component vector of float)
+0:44      imageLoad (temp 4-component vector of float)
 0:44        'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray)
 0:44        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:44          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:44          Constant:
 0:44            1 (const uint)
-0:45      imageLoad (global 4-component vector of int)
+0:45      imageLoad (temp 4-component vector of int)
 0:45        'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray)
 0:45        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:45          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:45          Constant:
 0:45            1 (const uint)
-0:46      imageLoad (global 4-component vector of uint)
+0:46      imageLoad (temp 4-component vector of uint)
 0:46        'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray)
 0:46        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:46          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:46          Constant:
 0:46            1 (const uint)
-0:49      imageLoad (global 4-component vector of float)
+0:49      imageLoad (temp 4-component vector of float)
 0:49        'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
 0:49        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:49          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:49          Constant:
 0:49            2 (const uint)
-0:50      imageLoad (global 4-component vector of int)
+0:50      imageLoad (temp 4-component vector of int)
 0:50        'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
 0:50        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:50          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:50          Constant:
 0:50            2 (const uint)
-0:51      imageLoad (global 4-component vector of uint)
+0:51      imageLoad (temp 4-component vector of uint)
 0:51        'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
 0:51        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:51          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -104,37 +104,37 @@ gl_FragCoord origin is upper left
 0:40  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
 0:40    Function Parameters: 
 0:?     Sequence
-0:44      imageLoad (global 4-component vector of float)
+0:44      imageLoad (temp 4-component vector of float)
 0:44        'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray)
 0:44        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:44          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:44          Constant:
 0:44            1 (const uint)
-0:45      imageLoad (global 4-component vector of int)
+0:45      imageLoad (temp 4-component vector of int)
 0:45        'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray)
 0:45        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:45          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:45          Constant:
 0:45            1 (const uint)
-0:46      imageLoad (global 4-component vector of uint)
+0:46      imageLoad (temp 4-component vector of uint)
 0:46        'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray)
 0:46        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:46          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:46          Constant:
 0:46            1 (const uint)
-0:49      imageLoad (global 4-component vector of float)
+0:49      imageLoad (temp 4-component vector of float)
 0:49        'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
 0:49        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:49          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:49          Constant:
 0:49            2 (const uint)
-0:50      imageLoad (global 4-component vector of int)
+0:50      imageLoad (temp 4-component vector of int)
 0:50        'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
 0:50        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:50          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:50          Constant:
 0:50            2 (const uint)
-0:51      imageLoad (global 4-component vector of uint)
+0:51      imageLoad (temp 4-component vector of uint)
 0:51        'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
 0:51        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:51          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
index 60c5400..ca59015 100644 (file)
@@ -5,55 +5,55 @@ gl_FragCoord origin is upper left
 0:40  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
 0:40    Function Parameters: 
 0:?     Sequence
-0:44      imageLoad (global 4-component vector of float)
+0:44      imageLoad (temp 4-component vector of float)
 0:44        'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
 0:44        c1: direct index for structure (layout(offset=0 ) uniform int)
 0:44          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:44          Constant:
 0:44            0 (const uint)
-0:45      imageLoad (global 4-component vector of int)
+0:45      imageLoad (temp 4-component vector of int)
 0:45        'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
 0:45        c1: direct index for structure (layout(offset=0 ) uniform int)
 0:45          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:45          Constant:
 0:45            0 (const uint)
-0:46      imageLoad (global 4-component vector of uint)
+0:46      imageLoad (temp 4-component vector of uint)
 0:46        'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
 0:46        c1: direct index for structure (layout(offset=0 ) uniform int)
 0:46          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:46          Constant:
 0:46            0 (const uint)
-0:49      imageLoad (global 4-component vector of float)
+0:49      imageLoad (temp 4-component vector of float)
 0:49        'g_tTex2df4' (layout(rgba32f ) uniform image2D)
 0:49        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:49          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:49          Constant:
 0:49            1 (const uint)
-0:50      imageLoad (global 4-component vector of int)
+0:50      imageLoad (temp 4-component vector of int)
 0:50        'g_tTex2di4' (layout(rgba32i ) uniform iimage2D)
 0:50        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:50          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:50          Constant:
 0:50            1 (const uint)
-0:51      imageLoad (global 4-component vector of uint)
+0:51      imageLoad (temp 4-component vector of uint)
 0:51        'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D)
 0:51        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:51          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:51          Constant:
 0:51            1 (const uint)
-0:54      imageLoad (global 4-component vector of float)
+0:54      imageLoad (temp 4-component vector of float)
 0:54        'g_tTex3df4' (layout(rgba32f ) uniform image3D)
 0:54        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:54          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:54          Constant:
 0:54            2 (const uint)
-0:55      imageLoad (global 4-component vector of int)
+0:55      imageLoad (temp 4-component vector of int)
 0:55        'g_tTex3di4' (layout(rgba32i ) uniform iimage3D)
 0:55        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:55          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:55          Constant:
 0:55            2 (const uint)
-0:56      imageLoad (global 4-component vector of uint)
+0:56      imageLoad (temp 4-component vector of uint)
 0:56        'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D)
 0:56        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:56          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
@@ -122,55 +122,55 @@ gl_FragCoord origin is upper left
 0:40  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
 0:40    Function Parameters: 
 0:?     Sequence
-0:44      imageLoad (global 4-component vector of float)
+0:44      imageLoad (temp 4-component vector of float)
 0:44        'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
 0:44        c1: direct index for structure (layout(offset=0 ) uniform int)
 0:44          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:44          Constant:
 0:44            0 (const uint)
-0:45      imageLoad (global 4-component vector of int)
+0:45      imageLoad (temp 4-component vector of int)
 0:45        'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
 0:45        c1: direct index for structure (layout(offset=0 ) uniform int)
 0:45          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:45          Constant:
 0:45            0 (const uint)
-0:46      imageLoad (global 4-component vector of uint)
+0:46      imageLoad (temp 4-component vector of uint)
 0:46        'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
 0:46        c1: direct index for structure (layout(offset=0 ) uniform int)
 0:46          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:46          Constant:
 0:46            0 (const uint)
-0:49      imageLoad (global 4-component vector of float)
+0:49      imageLoad (temp 4-component vector of float)
 0:49        'g_tTex2df4' (layout(rgba32f ) uniform image2D)
 0:49        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:49          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:49          Constant:
 0:49            1 (const uint)
-0:50      imageLoad (global 4-component vector of int)
+0:50      imageLoad (temp 4-component vector of int)
 0:50        'g_tTex2di4' (layout(rgba32i ) uniform iimage2D)
 0:50        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:50          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:50          Constant:
 0:50            1 (const uint)
-0:51      imageLoad (global 4-component vector of uint)
+0:51      imageLoad (temp 4-component vector of uint)
 0:51        'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D)
 0:51        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
 0:51          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:51          Constant:
 0:51            1 (const uint)
-0:54      imageLoad (global 4-component vector of float)
+0:54      imageLoad (temp 4-component vector of float)
 0:54        'g_tTex3df4' (layout(rgba32f ) uniform image3D)
 0:54        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:54          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:54          Constant:
 0:54            2 (const uint)
-0:55      imageLoad (global 4-component vector of int)
+0:55      imageLoad (temp 4-component vector of int)
 0:55        'g_tTex3di4' (layout(rgba32i ) uniform iimage3D)
 0:55        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:55          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 0:55          Constant:
 0:55            2 (const uint)
-0:56      imageLoad (global 4-component vector of uint)
+0:56      imageLoad (temp 4-component vector of uint)
 0:56        'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D)
 0:56        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
 0:56          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
index cec7898..8f8c42a 100755 (executable)
@@ -6,8 +6,8 @@ Shader version: 450
 0:4      'Index' (in uint)
 0:?     Sequence
 0:5      Branch: Return with expression
-0:5        textureFetch (global 4-component vector of float)
-0:5          'Position' (uniform samplerBuffer)
+0:5        textureFetch (temp 4-component vector of float)
+0:5          'Position' (layout(rgba32f ) uniform samplerBuffer)
 0:5          Convert uint to int (temp int)
 0:5            'Index' (in uint)
 0:9  Function Definition: RealEntrypoint(u1; (temp 4-component vector of float Position)
@@ -21,7 +21,7 @@ Shader version: 450
 0:10            'Index' (in uint VertexIndex)
 0:10        Branch: Return
 0:?   Linker Objects
-0:?     'Position' (uniform samplerBuffer)
+0:?     'Position' (layout(rgba32f ) uniform samplerBuffer)
 0:?     '@entryPointOutput' (out 4-component vector of float Position)
 0:?     'Index' (in uint VertexIndex)
 
@@ -36,8 +36,8 @@ Shader version: 450
 0:4      'Index' (in uint)
 0:?     Sequence
 0:5      Branch: Return with expression
-0:5        textureFetch (global 4-component vector of float)
-0:5          'Position' (uniform samplerBuffer)
+0:5        textureFetch (temp 4-component vector of float)
+0:5          'Position' (layout(rgba32f ) uniform samplerBuffer)
 0:5          Convert uint to int (temp int)
 0:5            'Index' (in uint)
 0:9  Function Definition: RealEntrypoint(u1; (temp 4-component vector of float Position)
@@ -51,7 +51,7 @@ Shader version: 450
 0:10            'Index' (in uint VertexIndex)
 0:10        Branch: Return
 0:?   Linker Objects
-0:?     'Position' (uniform samplerBuffer)
+0:?     'Position' (layout(rgba32f ) uniform samplerBuffer)
 0:?     '@entryPointOutput' (out 4-component vector of float Position)
 0:?     'Index' (in uint VertexIndex)
 
@@ -81,7 +81,7 @@ Shader version: 450
                8:             TypeFloat 32
                9:             TypeVector 8(float) 4
               10:             TypeFunction 9(fvec4) 7(ptr)
-              14:             TypeImage 8(float) Buffer sampled format:Unknown
+              14:             TypeImage 8(float) Buffer sampled format:Rgba32f
               15:             TypeSampledImage 14
               16:             TypePointer UniformConstant 15
     17(Position):     16(ptr) Variable UniformConstant
diff --git a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
new file mode 100644 (file)
index 0000000..904c2da
--- /dev/null
@@ -0,0 +1,2560 @@
+hlsl.rw.scalar.bracket.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:42  Function Definition: Fn1(i1; (temp int)
+0:42    Function Parameters: 
+0:42      'x' (in int)
+0:?     Sequence
+0:42      Branch: Return with expression
+0:42        'x' (in int)
+0:43  Function Definition: Fn1(u1; (temp uint)
+0:43    Function Parameters: 
+0:43      'x' (in uint)
+0:?     Sequence
+0:43      Branch: Return with expression
+0:43        'x' (in uint)
+0:44  Function Definition: Fn1(f1; (temp float)
+0:44    Function Parameters: 
+0:44      'x' (in float)
+0:?     Sequence
+0:44      Branch: Return with expression
+0:44        'x' (in float)
+0:46  Function Definition: Fn2(i1; (temp void)
+0:46    Function Parameters: 
+0:46      'x' (out int)
+0:?     Sequence
+0:46      move second child to first child (temp int)
+0:46        'x' (out int)
+0:46        Constant:
+0:46          0 (const int)
+0:47  Function Definition: Fn2(u1; (temp void)
+0:47    Function Parameters: 
+0:47      'x' (out uint)
+0:?     Sequence
+0:47      move second child to first child (temp uint)
+0:47        'x' (out uint)
+0:47        Constant:
+0:47          0 (const uint)
+0:48  Function Definition: Fn2(f1; (temp void)
+0:48    Function Parameters: 
+0:48      'x' (out float)
+0:?     Sequence
+0:48      move second child to first child (temp float)
+0:48        'x' (out float)
+0:48        Constant:
+0:48          0.000000
+0:50  Function Definition: SomeValue( (temp float)
+0:50    Function Parameters: 
+0:?     Sequence
+0:50      Branch: Return with expression
+0:50        Convert int to float (temp float)
+0:50          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:50            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:50            Constant:
+0:50              0 (const uint)
+0:53  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:53    Function Parameters: 
+0:?     Sequence
+0:57      imageLoad (temp float)
+0:57        'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:57        c1: direct index for structure (layout(offset=0 ) uniform int)
+0:57          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:57          Constant:
+0:57            0 (const uint)
+0:59      Sequence
+0:59        move second child to first child (temp float)
+0:59          'r00' (temp float)
+0:59          imageLoad (temp float)
+0:59            'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:59            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:59              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:59              Constant:
+0:59                0 (const uint)
+0:60      Sequence
+0:60        move second child to first child (temp int)
+0:60          'r01' (temp int)
+0:60          imageLoad (temp int)
+0:60            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:60            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:60              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:60              Constant:
+0:60                0 (const uint)
+0:61      Sequence
+0:61        move second child to first child (temp uint)
+0:61          'r02' (temp uint)
+0:61          imageLoad (temp uint)
+0:61            'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:61            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:61              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:61              Constant:
+0:61                0 (const uint)
+0:64      Sequence
+0:64        move second child to first child (temp float)
+0:64          'r10' (temp float)
+0:64          imageLoad (temp float)
+0:64            'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:64            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:64              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:64              Constant:
+0:64                1 (const uint)
+0:65      Sequence
+0:65        move second child to first child (temp int)
+0:65          'r11' (temp int)
+0:65          imageLoad (temp int)
+0:65            'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:65            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:65              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:65              Constant:
+0:65                1 (const uint)
+0:66      Sequence
+0:66        move second child to first child (temp uint)
+0:66          'r12' (temp uint)
+0:66          imageLoad (temp uint)
+0:66            'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:66            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:66              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:66              Constant:
+0:66                1 (const uint)
+0:69      Sequence
+0:69        move second child to first child (temp float)
+0:69          'r20' (temp float)
+0:69          imageLoad (temp float)
+0:69            'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:69            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:69              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:69              Constant:
+0:69                2 (const uint)
+0:70      Sequence
+0:70        move second child to first child (temp int)
+0:70          'r21' (temp int)
+0:70          imageLoad (temp int)
+0:70            'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:70            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:70              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:70              Constant:
+0:70                2 (const uint)
+0:71      Sequence
+0:71        move second child to first child (temp uint)
+0:71          'r22' (temp uint)
+0:71          imageLoad (temp uint)
+0:71            'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:71            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:71              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:71              Constant:
+0:71                2 (const uint)
+0:73      Sequence
+0:73        move second child to first child (temp float)
+0:73          'lf1' (temp float)
+0:73          uf1: direct index for structure (layout(offset=96 ) uniform float)
+0:73            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:73            Constant:
+0:73              8 (const uint)
+0:77      Sequence
+0:77        move second child to first child (temp float)
+0:77          'storeTemp' (temp float)
+0:77          Function Call: SomeValue( (temp float)
+0:77        imageStore (temp void)
+0:77          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:77          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:77            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:77            Constant:
+0:77              0 (const uint)
+0:77          'storeTemp' (temp float)
+0:77        'storeTemp' (temp float)
+0:78      Sequence
+0:78        imageStore (temp void)
+0:78          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:78          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:78            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:78            Constant:
+0:78              0 (const uint)
+0:78          'lf1' (temp float)
+0:78        'lf1' (temp float)
+0:79      Sequence
+0:79        move second child to first child (temp int)
+0:79          'storeTemp' (temp int)
+0:79          Constant:
+0:79            2 (const int)
+0:79        imageStore (temp void)
+0:79          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:79          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:79            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:79            Constant:
+0:79              0 (const uint)
+0:79          'storeTemp' (temp int)
+0:79        'storeTemp' (temp int)
+0:80      Sequence
+0:80        move second child to first child (temp uint)
+0:80          'storeTemp' (temp uint)
+0:80          Constant:
+0:80            3 (const uint)
+0:80        imageStore (temp void)
+0:80          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:80          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:80            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:80            Constant:
+0:80              0 (const uint)
+0:80          'storeTemp' (temp uint)
+0:80        'storeTemp' (temp uint)
+0:83      Sequence
+0:83        move second child to first child (temp float)
+0:83          'val1' (temp float)
+0:83          Sequence
+0:83            move second child to first child (temp int)
+0:83              'coordTemp' (temp int)
+0:83              c1: direct index for structure (layout(offset=0 ) uniform int)
+0:83                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:83                Constant:
+0:83                  0 (const uint)
+0:83            move second child to first child (temp float)
+0:83              'storeTemp' (temp float)
+0:83              imageLoad (temp float)
+0:83                'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:83                'coordTemp' (temp int)
+0:83            multiply second child into first child (temp float)
+0:83              'storeTemp' (temp float)
+0:83              Constant:
+0:83                2.000000
+0:83            imageStore (temp void)
+0:83              'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:83              'coordTemp' (temp int)
+0:83              'storeTemp' (temp float)
+0:83            'storeTemp' (temp float)
+0:84      Sequence
+0:84        move second child to first child (temp int)
+0:84          'coordTemp' (temp int)
+0:84          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:84            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:84            Constant:
+0:84              0 (const uint)
+0:84        move second child to first child (temp float)
+0:84          'storeTemp' (temp float)
+0:84          imageLoad (temp float)
+0:84            'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:84            'coordTemp' (temp int)
+0:84        subtract second child into first child (temp float)
+0:84          'storeTemp' (temp float)
+0:84          Constant:
+0:84            3.000000
+0:84        imageStore (temp void)
+0:84          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:84          'coordTemp' (temp int)
+0:84          'storeTemp' (temp float)
+0:84        'storeTemp' (temp float)
+0:85      Sequence
+0:85        move second child to first child (temp int)
+0:85          'coordTemp' (temp int)
+0:85          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:85            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:85            Constant:
+0:85              0 (const uint)
+0:85        move second child to first child (temp float)
+0:85          'storeTemp' (temp float)
+0:85          imageLoad (temp float)
+0:85            'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:85            'coordTemp' (temp int)
+0:85        add second child into first child (temp float)
+0:85          'storeTemp' (temp float)
+0:85          Constant:
+0:85            4.000000
+0:85        imageStore (temp void)
+0:85          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:85          'coordTemp' (temp int)
+0:85          'storeTemp' (temp float)
+0:85        'storeTemp' (temp float)
+0:87      Sequence
+0:87        move second child to first child (temp int)
+0:87          'coordTemp' (temp int)
+0:87          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:87            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:87            Constant:
+0:87              0 (const uint)
+0:87        move second child to first child (temp int)
+0:87          'storeTemp' (temp int)
+0:87          imageLoad (temp int)
+0:87            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:87            'coordTemp' (temp int)
+0:87        divide second child into first child (temp int)
+0:87          'storeTemp' (temp int)
+0:87          Constant:
+0:87            2 (const int)
+0:87        imageStore (temp void)
+0:87          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:87          'coordTemp' (temp int)
+0:87          'storeTemp' (temp int)
+0:87        'storeTemp' (temp int)
+0:88      Sequence
+0:88        move second child to first child (temp int)
+0:88          'coordTemp' (temp int)
+0:88          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:88            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:88            Constant:
+0:88              0 (const uint)
+0:88        move second child to first child (temp int)
+0:88          'storeTemp' (temp int)
+0:88          imageLoad (temp int)
+0:88            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:88            'coordTemp' (temp int)
+0:88        mod second child into first child (temp int)
+0:88          'storeTemp' (temp int)
+0:88          Constant:
+0:88            2 (const int)
+0:88        imageStore (temp void)
+0:88          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:88          'coordTemp' (temp int)
+0:88          'storeTemp' (temp int)
+0:88        'storeTemp' (temp int)
+0:89      Sequence
+0:89        move second child to first child (temp int)
+0:89          'coordTemp' (temp int)
+0:89          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:89            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:89            Constant:
+0:89              0 (const uint)
+0:89        move second child to first child (temp int)
+0:89          'storeTemp' (temp int)
+0:89          imageLoad (temp int)
+0:89            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:89            'coordTemp' (temp int)
+0:89        and second child into first child (temp int)
+0:89          'storeTemp' (temp int)
+0:89          Constant:
+0:89            65535 (const int)
+0:89        imageStore (temp void)
+0:89          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:89          'coordTemp' (temp int)
+0:89          'storeTemp' (temp int)
+0:89        'storeTemp' (temp int)
+0:90      Sequence
+0:90        move second child to first child (temp int)
+0:90          'coordTemp' (temp int)
+0:90          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:90            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:90            Constant:
+0:90              0 (const uint)
+0:90        move second child to first child (temp int)
+0:90          'storeTemp' (temp int)
+0:90          imageLoad (temp int)
+0:90            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:90            'coordTemp' (temp int)
+0:90        or second child into first child (temp int)
+0:90          'storeTemp' (temp int)
+0:90          Constant:
+0:90            61680 (const int)
+0:90        imageStore (temp void)
+0:90          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:90          'coordTemp' (temp int)
+0:90          'storeTemp' (temp int)
+0:90        'storeTemp' (temp int)
+0:91      Sequence
+0:91        move second child to first child (temp int)
+0:91          'coordTemp' (temp int)
+0:91          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:91            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:91            Constant:
+0:91              0 (const uint)
+0:91        move second child to first child (temp int)
+0:91          'storeTemp' (temp int)
+0:91          imageLoad (temp int)
+0:91            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:91            'coordTemp' (temp int)
+0:91        left shift second child into first child (temp int)
+0:91          'storeTemp' (temp int)
+0:91          Constant:
+0:91            2 (const int)
+0:91        imageStore (temp void)
+0:91          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:91          'coordTemp' (temp int)
+0:91          'storeTemp' (temp int)
+0:91        'storeTemp' (temp int)
+0:92      Sequence
+0:92        move second child to first child (temp int)
+0:92          'coordTemp' (temp int)
+0:92          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:92            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:92            Constant:
+0:92              0 (const uint)
+0:92        move second child to first child (temp int)
+0:92          'storeTemp' (temp int)
+0:92          imageLoad (temp int)
+0:92            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:92            'coordTemp' (temp int)
+0:92        right shift second child into first child (temp int)
+0:92          'storeTemp' (temp int)
+0:92          Constant:
+0:92            2 (const int)
+0:92        imageStore (temp void)
+0:92          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:92          'coordTemp' (temp int)
+0:92          'storeTemp' (temp int)
+0:92        'storeTemp' (temp int)
+0:95      Sequence
+0:95        move second child to first child (temp float)
+0:95          'storeTemp' (temp float)
+0:95          Function Call: SomeValue( (temp float)
+0:95        imageStore (temp void)
+0:95          'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:95          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:95            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:95            Constant:
+0:95              1 (const uint)
+0:95          'storeTemp' (temp float)
+0:95        'storeTemp' (temp float)
+0:96      Sequence
+0:96        imageStore (temp void)
+0:96          'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:96          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:96            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:96            Constant:
+0:96              1 (const uint)
+0:96          'lf1' (temp float)
+0:96        'lf1' (temp float)
+0:97      Sequence
+0:97        move second child to first child (temp int)
+0:97          'storeTemp' (temp int)
+0:97          Constant:
+0:97            5 (const int)
+0:97        imageStore (temp void)
+0:97          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:97          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:97            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:97            Constant:
+0:97              1 (const uint)
+0:97          'storeTemp' (temp int)
+0:97        'storeTemp' (temp int)
+0:98      Sequence
+0:98        move second child to first child (temp uint)
+0:98          'storeTemp' (temp uint)
+0:98          Constant:
+0:98            6 (const uint)
+0:98        imageStore (temp void)
+0:98          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:98          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:98            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:98            Constant:
+0:98              1 (const uint)
+0:98          'storeTemp' (temp uint)
+0:98        'storeTemp' (temp uint)
+0:101      Sequence
+0:101        move second child to first child (temp float)
+0:101          'storeTemp' (temp float)
+0:101          Function Call: SomeValue( (temp float)
+0:101        imageStore (temp void)
+0:101          'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:101          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:101            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:101            Constant:
+0:101              2 (const uint)
+0:101          'storeTemp' (temp float)
+0:101        'storeTemp' (temp float)
+0:102      Sequence
+0:102        imageStore (temp void)
+0:102          'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:102          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:102            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:102            Constant:
+0:102              2 (const uint)
+0:102          'lf1' (temp float)
+0:102        'lf1' (temp float)
+0:103      Sequence
+0:103        move second child to first child (temp int)
+0:103          'storeTemp' (temp int)
+0:103          Constant:
+0:103            8 (const int)
+0:103        imageStore (temp void)
+0:103          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:103          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:103            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:103            Constant:
+0:103              2 (const uint)
+0:103          'storeTemp' (temp int)
+0:103        'storeTemp' (temp int)
+0:104      Sequence
+0:104        move second child to first child (temp uint)
+0:104          'storeTemp' (temp uint)
+0:104          Constant:
+0:104            9 (const uint)
+0:104        imageStore (temp void)
+0:104          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:104          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:104            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:104            Constant:
+0:104              2 (const uint)
+0:104          'storeTemp' (temp uint)
+0:104        'storeTemp' (temp uint)
+0:107      Function Call: Fn1(f1; (temp float)
+0:107        imageLoad (temp float)
+0:107          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:107          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:107            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:107            Constant:
+0:107              0 (const uint)
+0:108      Function Call: Fn1(i1; (temp int)
+0:108        imageLoad (temp int)
+0:108          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:108          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:108            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:108            Constant:
+0:108              0 (const uint)
+0:109      Function Call: Fn1(u1; (temp uint)
+0:109        imageLoad (temp uint)
+0:109          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:109          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:109            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:109            Constant:
+0:109              0 (const uint)
+0:111      Comma (temp void)
+0:111        Function Call: Fn2(f1; (temp void)
+0:111          'tempArg' (temp float)
+0:111        Sequence
+0:111          imageStore (temp void)
+0:111            'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:111            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:111              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:111              Constant:
+0:111                0 (const uint)
+0:111            'tempArg' (temp float)
+0:111          'tempArg' (temp float)
+0:112      Comma (temp void)
+0:112        Function Call: Fn2(i1; (temp void)
+0:112          'tempArg' (temp int)
+0:112        Sequence
+0:112          imageStore (temp void)
+0:112            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:112            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:112              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:112              Constant:
+0:112                0 (const uint)
+0:112            'tempArg' (temp int)
+0:112          'tempArg' (temp int)
+0:113      Comma (temp void)
+0:113        Function Call: Fn2(u1; (temp void)
+0:113          'tempArg' (temp uint)
+0:113        Sequence
+0:113          imageStore (temp void)
+0:113            'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:113            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:113              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:113              Constant:
+0:113                0 (const uint)
+0:113            'tempArg' (temp uint)
+0:113          'tempArg' (temp uint)
+0:117      Sequence
+0:117        move second child to first child (temp int)
+0:117          'coordTemp' (temp int)
+0:117          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:117            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:117            Constant:
+0:117              0 (const uint)
+0:117        move second child to first child (temp float)
+0:117          'storeTemp' (temp float)
+0:117          imageLoad (temp float)
+0:117            'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:117            'coordTemp' (temp int)
+0:117        Pre-Increment (temp float)
+0:117          'storeTemp' (temp float)
+0:117        imageStore (temp void)
+0:117          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:117          'coordTemp' (temp int)
+0:117          'storeTemp' (temp float)
+0:117        'storeTemp' (temp float)
+0:118      Sequence
+0:118        move second child to first child (temp int)
+0:118          'coordTemp' (temp int)
+0:118          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:118            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:118            Constant:
+0:118              0 (const uint)
+0:118        move second child to first child (temp int)
+0:118          'storeTemp' (temp int)
+0:118          imageLoad (temp int)
+0:118            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:118            'coordTemp' (temp int)
+0:118        Pre-Increment (temp int)
+0:118          'storeTemp' (temp int)
+0:118        imageStore (temp void)
+0:118          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:118          'coordTemp' (temp int)
+0:118          'storeTemp' (temp int)
+0:118        'storeTemp' (temp int)
+0:119      Sequence
+0:119        move second child to first child (temp int)
+0:119          'coordTemp' (temp int)
+0:119          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:119            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:119            Constant:
+0:119              0 (const uint)
+0:119        move second child to first child (temp uint)
+0:119          'storeTemp' (temp uint)
+0:119          imageLoad (temp uint)
+0:119            'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:119            'coordTemp' (temp int)
+0:119        Pre-Increment (temp uint)
+0:119          'storeTemp' (temp uint)
+0:119        imageStore (temp void)
+0:119          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:119          'coordTemp' (temp int)
+0:119          'storeTemp' (temp uint)
+0:119        'storeTemp' (temp uint)
+0:121      Sequence
+0:121        move second child to first child (temp int)
+0:121          'coordTemp' (temp int)
+0:121          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:121            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:121            Constant:
+0:121              0 (const uint)
+0:121        move second child to first child (temp float)
+0:121          'storeTemp' (temp float)
+0:121          imageLoad (temp float)
+0:121            'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:121            'coordTemp' (temp int)
+0:121        Pre-Decrement (temp float)
+0:121          'storeTemp' (temp float)
+0:121        imageStore (temp void)
+0:121          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:121          'coordTemp' (temp int)
+0:121          'storeTemp' (temp float)
+0:121        'storeTemp' (temp float)
+0:122      Sequence
+0:122        move second child to first child (temp int)
+0:122          'coordTemp' (temp int)
+0:122          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:122            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:122            Constant:
+0:122              0 (const uint)
+0:122        move second child to first child (temp int)
+0:122          'storeTemp' (temp int)
+0:122          imageLoad (temp int)
+0:122            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:122            'coordTemp' (temp int)
+0:122        Pre-Decrement (temp int)
+0:122          'storeTemp' (temp int)
+0:122        imageStore (temp void)
+0:122          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:122          'coordTemp' (temp int)
+0:122          'storeTemp' (temp int)
+0:122        'storeTemp' (temp int)
+0:123      Sequence
+0:123        move second child to first child (temp int)
+0:123          'coordTemp' (temp int)
+0:123          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:123            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:123            Constant:
+0:123              0 (const uint)
+0:123        move second child to first child (temp uint)
+0:123          'storeTemp' (temp uint)
+0:123          imageLoad (temp uint)
+0:123            'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:123            'coordTemp' (temp int)
+0:123        Pre-Decrement (temp uint)
+0:123          'storeTemp' (temp uint)
+0:123        imageStore (temp void)
+0:123          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:123          'coordTemp' (temp int)
+0:123          'storeTemp' (temp uint)
+0:123        'storeTemp' (temp uint)
+0:126      Sequence
+0:126        move second child to first child (temp int)
+0:126          'coordTemp' (temp int)
+0:126          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:126            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:126            Constant:
+0:126              0 (const uint)
+0:126        move second child to first child (temp float)
+0:126          'storeTempPre' (temp float)
+0:126          imageLoad (temp float)
+0:126            'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:126            'coordTemp' (temp int)
+0:126        move second child to first child (temp float)
+0:126          'storeTempPost' (temp float)
+0:126          'storeTempPre' (temp float)
+0:126        Post-Increment (temp float)
+0:126          'storeTempPost' (temp float)
+0:126        imageStore (temp void)
+0:126          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:126          'coordTemp' (temp int)
+0:126          'storeTempPost' (temp float)
+0:126        'storeTempPre' (temp float)
+0:127      Sequence
+0:127        move second child to first child (temp int)
+0:127          'coordTemp' (temp int)
+0:127          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:127            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:127            Constant:
+0:127              0 (const uint)
+0:127        move second child to first child (temp uint)
+0:127          'storeTempPre' (temp uint)
+0:127          imageLoad (temp uint)
+0:127            'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:127            'coordTemp' (temp int)
+0:127        move second child to first child (temp uint)
+0:127          'storeTempPost' (temp uint)
+0:127          'storeTempPre' (temp uint)
+0:127        Post-Decrement (temp uint)
+0:127          'storeTempPost' (temp uint)
+0:127        imageStore (temp void)
+0:127          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:127          'coordTemp' (temp int)
+0:127          'storeTempPost' (temp uint)
+0:127        'storeTempPre' (temp uint)
+0:128      Sequence
+0:128        move second child to first child (temp int)
+0:128          'coordTemp' (temp int)
+0:128          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:128            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:128            Constant:
+0:128              0 (const uint)
+0:128        move second child to first child (temp int)
+0:128          'storeTempPre' (temp int)
+0:128          imageLoad (temp int)
+0:128            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:128            'coordTemp' (temp int)
+0:128        move second child to first child (temp int)
+0:128          'storeTempPost' (temp int)
+0:128          'storeTempPre' (temp int)
+0:128        Post-Increment (temp int)
+0:128          'storeTempPost' (temp int)
+0:128        imageStore (temp void)
+0:128          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:128          'coordTemp' (temp int)
+0:128          'storeTempPost' (temp int)
+0:128        'storeTempPre' (temp int)
+0:130      Sequence
+0:130        move second child to first child (temp int)
+0:130          'coordTemp' (temp int)
+0:130          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:130            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:130            Constant:
+0:130              0 (const uint)
+0:130        move second child to first child (temp float)
+0:130          'storeTempPre' (temp float)
+0:130          imageLoad (temp float)
+0:130            'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:130            'coordTemp' (temp int)
+0:130        move second child to first child (temp float)
+0:130          'storeTempPost' (temp float)
+0:130          'storeTempPre' (temp float)
+0:130        Post-Decrement (temp float)
+0:130          'storeTempPost' (temp float)
+0:130        imageStore (temp void)
+0:130          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:130          'coordTemp' (temp int)
+0:130          'storeTempPost' (temp float)
+0:130        'storeTempPre' (temp float)
+0:131      Sequence
+0:131        move second child to first child (temp int)
+0:131          'coordTemp' (temp int)
+0:131          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:131            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:131            Constant:
+0:131              0 (const uint)
+0:131        move second child to first child (temp int)
+0:131          'storeTempPre' (temp int)
+0:131          imageLoad (temp int)
+0:131            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:131            'coordTemp' (temp int)
+0:131        move second child to first child (temp int)
+0:131          'storeTempPost' (temp int)
+0:131          'storeTempPre' (temp int)
+0:131        Post-Increment (temp int)
+0:131          'storeTempPost' (temp int)
+0:131        imageStore (temp void)
+0:131          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:131          'coordTemp' (temp int)
+0:131          'storeTempPost' (temp int)
+0:131        'storeTempPre' (temp int)
+0:132      Sequence
+0:132        move second child to first child (temp int)
+0:132          'coordTemp' (temp int)
+0:132          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:132            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:132            Constant:
+0:132              0 (const uint)
+0:132        move second child to first child (temp uint)
+0:132          'storeTempPre' (temp uint)
+0:132          imageLoad (temp uint)
+0:132            'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:132            'coordTemp' (temp int)
+0:132        move second child to first child (temp uint)
+0:132          'storeTempPost' (temp uint)
+0:132          'storeTempPre' (temp uint)
+0:132        Post-Decrement (temp uint)
+0:132          'storeTempPost' (temp uint)
+0:132        imageStore (temp void)
+0:132          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:132          'coordTemp' (temp int)
+0:132          'storeTempPost' (temp uint)
+0:132        'storeTempPre' (temp uint)
+0:135      Sequence
+0:135        move second child to first child (temp float)
+0:135          'storeTemp' (temp float)
+0:?           imageLoad (temp float)
+0:135            'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:?             Constant:
+0:?               2 (const int)
+0:?               3 (const int)
+0:135        imageStore (temp void)
+0:135          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:135          Constant:
+0:135            1 (const int)
+0:135          'storeTemp' (temp float)
+0:135        'storeTemp' (temp float)
+0:137      move second child to first child (temp 4-component vector of float)
+0:137        Color: direct index for structure (temp 4-component vector of float)
+0:137          'psout' (temp structure{temp 4-component vector of float Color})
+0:137          Constant:
+0:137            0 (const int)
+0:137        Constant:
+0:137          1.000000
+0:137          1.000000
+0:137          1.000000
+0:137          1.000000
+0:139      Sequence
+0:139        Sequence
+0:139          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:139            Color: direct index for structure (temp 4-component vector of float)
+0:139              'psout' (temp structure{temp 4-component vector of float Color})
+0:139              Constant:
+0:139                0 (const int)
+0:139        Branch: Return
+0:?   Linker Objects
+0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:?     'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:?     'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:?     'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:?     'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:?     'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:?     'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:?     'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:?     'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:?     'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:?     'g_tTex1df1a' (layout(r32f ) uniform image1DArray)
+0:?     'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:?     'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:?     'g_tTex2df1a' (layout(r32f ) uniform image2DArray)
+0:?     'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray)
+0:?     'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray)
+0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:42  Function Definition: Fn1(i1; (temp int)
+0:42    Function Parameters: 
+0:42      'x' (in int)
+0:?     Sequence
+0:42      Branch: Return with expression
+0:42        'x' (in int)
+0:43  Function Definition: Fn1(u1; (temp uint)
+0:43    Function Parameters: 
+0:43      'x' (in uint)
+0:?     Sequence
+0:43      Branch: Return with expression
+0:43        'x' (in uint)
+0:44  Function Definition: Fn1(f1; (temp float)
+0:44    Function Parameters: 
+0:44      'x' (in float)
+0:?     Sequence
+0:44      Branch: Return with expression
+0:44        'x' (in float)
+0:46  Function Definition: Fn2(i1; (temp void)
+0:46    Function Parameters: 
+0:46      'x' (out int)
+0:?     Sequence
+0:46      move second child to first child (temp int)
+0:46        'x' (out int)
+0:46        Constant:
+0:46          0 (const int)
+0:47  Function Definition: Fn2(u1; (temp void)
+0:47    Function Parameters: 
+0:47      'x' (out uint)
+0:?     Sequence
+0:47      move second child to first child (temp uint)
+0:47        'x' (out uint)
+0:47        Constant:
+0:47          0 (const uint)
+0:48  Function Definition: Fn2(f1; (temp void)
+0:48    Function Parameters: 
+0:48      'x' (out float)
+0:?     Sequence
+0:48      move second child to first child (temp float)
+0:48        'x' (out float)
+0:48        Constant:
+0:48          0.000000
+0:50  Function Definition: SomeValue( (temp float)
+0:50    Function Parameters: 
+0:?     Sequence
+0:50      Branch: Return with expression
+0:50        Convert int to float (temp float)
+0:50          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:50            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:50            Constant:
+0:50              0 (const uint)
+0:53  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:53    Function Parameters: 
+0:?     Sequence
+0:57      imageLoad (temp float)
+0:57        'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:57        c1: direct index for structure (layout(offset=0 ) uniform int)
+0:57          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:57          Constant:
+0:57            0 (const uint)
+0:59      Sequence
+0:59        move second child to first child (temp float)
+0:59          'r00' (temp float)
+0:59          imageLoad (temp float)
+0:59            'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:59            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:59              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:59              Constant:
+0:59                0 (const uint)
+0:60      Sequence
+0:60        move second child to first child (temp int)
+0:60          'r01' (temp int)
+0:60          imageLoad (temp int)
+0:60            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:60            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:60              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:60              Constant:
+0:60                0 (const uint)
+0:61      Sequence
+0:61        move second child to first child (temp uint)
+0:61          'r02' (temp uint)
+0:61          imageLoad (temp uint)
+0:61            'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:61            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:61              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:61              Constant:
+0:61                0 (const uint)
+0:64      Sequence
+0:64        move second child to first child (temp float)
+0:64          'r10' (temp float)
+0:64          imageLoad (temp float)
+0:64            'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:64            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:64              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:64              Constant:
+0:64                1 (const uint)
+0:65      Sequence
+0:65        move second child to first child (temp int)
+0:65          'r11' (temp int)
+0:65          imageLoad (temp int)
+0:65            'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:65            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:65              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:65              Constant:
+0:65                1 (const uint)
+0:66      Sequence
+0:66        move second child to first child (temp uint)
+0:66          'r12' (temp uint)
+0:66          imageLoad (temp uint)
+0:66            'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:66            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:66              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:66              Constant:
+0:66                1 (const uint)
+0:69      Sequence
+0:69        move second child to first child (temp float)
+0:69          'r20' (temp float)
+0:69          imageLoad (temp float)
+0:69            'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:69            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:69              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:69              Constant:
+0:69                2 (const uint)
+0:70      Sequence
+0:70        move second child to first child (temp int)
+0:70          'r21' (temp int)
+0:70          imageLoad (temp int)
+0:70            'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:70            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:70              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:70              Constant:
+0:70                2 (const uint)
+0:71      Sequence
+0:71        move second child to first child (temp uint)
+0:71          'r22' (temp uint)
+0:71          imageLoad (temp uint)
+0:71            'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:71            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:71              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:71              Constant:
+0:71                2 (const uint)
+0:73      Sequence
+0:73        move second child to first child (temp float)
+0:73          'lf1' (temp float)
+0:73          uf1: direct index for structure (layout(offset=96 ) uniform float)
+0:73            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:73            Constant:
+0:73              8 (const uint)
+0:77      Sequence
+0:77        move second child to first child (temp float)
+0:77          'storeTemp' (temp float)
+0:77          Function Call: SomeValue( (temp float)
+0:77        imageStore (temp void)
+0:77          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:77          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:77            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:77            Constant:
+0:77              0 (const uint)
+0:77          'storeTemp' (temp float)
+0:77        'storeTemp' (temp float)
+0:78      Sequence
+0:78        imageStore (temp void)
+0:78          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:78          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:78            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:78            Constant:
+0:78              0 (const uint)
+0:78          'lf1' (temp float)
+0:78        'lf1' (temp float)
+0:79      Sequence
+0:79        move second child to first child (temp int)
+0:79          'storeTemp' (temp int)
+0:79          Constant:
+0:79            2 (const int)
+0:79        imageStore (temp void)
+0:79          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:79          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:79            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:79            Constant:
+0:79              0 (const uint)
+0:79          'storeTemp' (temp int)
+0:79        'storeTemp' (temp int)
+0:80      Sequence
+0:80        move second child to first child (temp uint)
+0:80          'storeTemp' (temp uint)
+0:80          Constant:
+0:80            3 (const uint)
+0:80        imageStore (temp void)
+0:80          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:80          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:80            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:80            Constant:
+0:80              0 (const uint)
+0:80          'storeTemp' (temp uint)
+0:80        'storeTemp' (temp uint)
+0:83      Sequence
+0:83        move second child to first child (temp float)
+0:83          'val1' (temp float)
+0:83          Sequence
+0:83            move second child to first child (temp int)
+0:83              'coordTemp' (temp int)
+0:83              c1: direct index for structure (layout(offset=0 ) uniform int)
+0:83                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:83                Constant:
+0:83                  0 (const uint)
+0:83            move second child to first child (temp float)
+0:83              'storeTemp' (temp float)
+0:83              imageLoad (temp float)
+0:83                'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:83                'coordTemp' (temp int)
+0:83            multiply second child into first child (temp float)
+0:83              'storeTemp' (temp float)
+0:83              Constant:
+0:83                2.000000
+0:83            imageStore (temp void)
+0:83              'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:83              'coordTemp' (temp int)
+0:83              'storeTemp' (temp float)
+0:83            'storeTemp' (temp float)
+0:84      Sequence
+0:84        move second child to first child (temp int)
+0:84          'coordTemp' (temp int)
+0:84          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:84            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:84            Constant:
+0:84              0 (const uint)
+0:84        move second child to first child (temp float)
+0:84          'storeTemp' (temp float)
+0:84          imageLoad (temp float)
+0:84            'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:84            'coordTemp' (temp int)
+0:84        subtract second child into first child (temp float)
+0:84          'storeTemp' (temp float)
+0:84          Constant:
+0:84            3.000000
+0:84        imageStore (temp void)
+0:84          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:84          'coordTemp' (temp int)
+0:84          'storeTemp' (temp float)
+0:84        'storeTemp' (temp float)
+0:85      Sequence
+0:85        move second child to first child (temp int)
+0:85          'coordTemp' (temp int)
+0:85          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:85            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:85            Constant:
+0:85              0 (const uint)
+0:85        move second child to first child (temp float)
+0:85          'storeTemp' (temp float)
+0:85          imageLoad (temp float)
+0:85            'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:85            'coordTemp' (temp int)
+0:85        add second child into first child (temp float)
+0:85          'storeTemp' (temp float)
+0:85          Constant:
+0:85            4.000000
+0:85        imageStore (temp void)
+0:85          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:85          'coordTemp' (temp int)
+0:85          'storeTemp' (temp float)
+0:85        'storeTemp' (temp float)
+0:87      Sequence
+0:87        move second child to first child (temp int)
+0:87          'coordTemp' (temp int)
+0:87          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:87            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:87            Constant:
+0:87              0 (const uint)
+0:87        move second child to first child (temp int)
+0:87          'storeTemp' (temp int)
+0:87          imageLoad (temp int)
+0:87            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:87            'coordTemp' (temp int)
+0:87        divide second child into first child (temp int)
+0:87          'storeTemp' (temp int)
+0:87          Constant:
+0:87            2 (const int)
+0:87        imageStore (temp void)
+0:87          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:87          'coordTemp' (temp int)
+0:87          'storeTemp' (temp int)
+0:87        'storeTemp' (temp int)
+0:88      Sequence
+0:88        move second child to first child (temp int)
+0:88          'coordTemp' (temp int)
+0:88          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:88            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:88            Constant:
+0:88              0 (const uint)
+0:88        move second child to first child (temp int)
+0:88          'storeTemp' (temp int)
+0:88          imageLoad (temp int)
+0:88            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:88            'coordTemp' (temp int)
+0:88        mod second child into first child (temp int)
+0:88          'storeTemp' (temp int)
+0:88          Constant:
+0:88            2 (const int)
+0:88        imageStore (temp void)
+0:88          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:88          'coordTemp' (temp int)
+0:88          'storeTemp' (temp int)
+0:88        'storeTemp' (temp int)
+0:89      Sequence
+0:89        move second child to first child (temp int)
+0:89          'coordTemp' (temp int)
+0:89          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:89            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:89            Constant:
+0:89              0 (const uint)
+0:89        move second child to first child (temp int)
+0:89          'storeTemp' (temp int)
+0:89          imageLoad (temp int)
+0:89            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:89            'coordTemp' (temp int)
+0:89        and second child into first child (temp int)
+0:89          'storeTemp' (temp int)
+0:89          Constant:
+0:89            65535 (const int)
+0:89        imageStore (temp void)
+0:89          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:89          'coordTemp' (temp int)
+0:89          'storeTemp' (temp int)
+0:89        'storeTemp' (temp int)
+0:90      Sequence
+0:90        move second child to first child (temp int)
+0:90          'coordTemp' (temp int)
+0:90          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:90            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:90            Constant:
+0:90              0 (const uint)
+0:90        move second child to first child (temp int)
+0:90          'storeTemp' (temp int)
+0:90          imageLoad (temp int)
+0:90            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:90            'coordTemp' (temp int)
+0:90        or second child into first child (temp int)
+0:90          'storeTemp' (temp int)
+0:90          Constant:
+0:90            61680 (const int)
+0:90        imageStore (temp void)
+0:90          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:90          'coordTemp' (temp int)
+0:90          'storeTemp' (temp int)
+0:90        'storeTemp' (temp int)
+0:91      Sequence
+0:91        move second child to first child (temp int)
+0:91          'coordTemp' (temp int)
+0:91          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:91            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:91            Constant:
+0:91              0 (const uint)
+0:91        move second child to first child (temp int)
+0:91          'storeTemp' (temp int)
+0:91          imageLoad (temp int)
+0:91            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:91            'coordTemp' (temp int)
+0:91        left shift second child into first child (temp int)
+0:91          'storeTemp' (temp int)
+0:91          Constant:
+0:91            2 (const int)
+0:91        imageStore (temp void)
+0:91          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:91          'coordTemp' (temp int)
+0:91          'storeTemp' (temp int)
+0:91        'storeTemp' (temp int)
+0:92      Sequence
+0:92        move second child to first child (temp int)
+0:92          'coordTemp' (temp int)
+0:92          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:92            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:92            Constant:
+0:92              0 (const uint)
+0:92        move second child to first child (temp int)
+0:92          'storeTemp' (temp int)
+0:92          imageLoad (temp int)
+0:92            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:92            'coordTemp' (temp int)
+0:92        right shift second child into first child (temp int)
+0:92          'storeTemp' (temp int)
+0:92          Constant:
+0:92            2 (const int)
+0:92        imageStore (temp void)
+0:92          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:92          'coordTemp' (temp int)
+0:92          'storeTemp' (temp int)
+0:92        'storeTemp' (temp int)
+0:95      Sequence
+0:95        move second child to first child (temp float)
+0:95          'storeTemp' (temp float)
+0:95          Function Call: SomeValue( (temp float)
+0:95        imageStore (temp void)
+0:95          'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:95          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:95            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:95            Constant:
+0:95              1 (const uint)
+0:95          'storeTemp' (temp float)
+0:95        'storeTemp' (temp float)
+0:96      Sequence
+0:96        imageStore (temp void)
+0:96          'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:96          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:96            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:96            Constant:
+0:96              1 (const uint)
+0:96          'lf1' (temp float)
+0:96        'lf1' (temp float)
+0:97      Sequence
+0:97        move second child to first child (temp int)
+0:97          'storeTemp' (temp int)
+0:97          Constant:
+0:97            5 (const int)
+0:97        imageStore (temp void)
+0:97          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:97          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:97            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:97            Constant:
+0:97              1 (const uint)
+0:97          'storeTemp' (temp int)
+0:97        'storeTemp' (temp int)
+0:98      Sequence
+0:98        move second child to first child (temp uint)
+0:98          'storeTemp' (temp uint)
+0:98          Constant:
+0:98            6 (const uint)
+0:98        imageStore (temp void)
+0:98          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:98          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:98            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:98            Constant:
+0:98              1 (const uint)
+0:98          'storeTemp' (temp uint)
+0:98        'storeTemp' (temp uint)
+0:101      Sequence
+0:101        move second child to first child (temp float)
+0:101          'storeTemp' (temp float)
+0:101          Function Call: SomeValue( (temp float)
+0:101        imageStore (temp void)
+0:101          'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:101          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:101            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:101            Constant:
+0:101              2 (const uint)
+0:101          'storeTemp' (temp float)
+0:101        'storeTemp' (temp float)
+0:102      Sequence
+0:102        imageStore (temp void)
+0:102          'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:102          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:102            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:102            Constant:
+0:102              2 (const uint)
+0:102          'lf1' (temp float)
+0:102        'lf1' (temp float)
+0:103      Sequence
+0:103        move second child to first child (temp int)
+0:103          'storeTemp' (temp int)
+0:103          Constant:
+0:103            8 (const int)
+0:103        imageStore (temp void)
+0:103          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:103          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:103            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:103            Constant:
+0:103              2 (const uint)
+0:103          'storeTemp' (temp int)
+0:103        'storeTemp' (temp int)
+0:104      Sequence
+0:104        move second child to first child (temp uint)
+0:104          'storeTemp' (temp uint)
+0:104          Constant:
+0:104            9 (const uint)
+0:104        imageStore (temp void)
+0:104          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:104          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:104            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:104            Constant:
+0:104              2 (const uint)
+0:104          'storeTemp' (temp uint)
+0:104        'storeTemp' (temp uint)
+0:107      Function Call: Fn1(f1; (temp float)
+0:107        imageLoad (temp float)
+0:107          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:107          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:107            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:107            Constant:
+0:107              0 (const uint)
+0:108      Function Call: Fn1(i1; (temp int)
+0:108        imageLoad (temp int)
+0:108          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:108          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:108            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:108            Constant:
+0:108              0 (const uint)
+0:109      Function Call: Fn1(u1; (temp uint)
+0:109        imageLoad (temp uint)
+0:109          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:109          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:109            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:109            Constant:
+0:109              0 (const uint)
+0:111      Comma (temp void)
+0:111        Function Call: Fn2(f1; (temp void)
+0:111          'tempArg' (temp float)
+0:111        Sequence
+0:111          imageStore (temp void)
+0:111            'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:111            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:111              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:111              Constant:
+0:111                0 (const uint)
+0:111            'tempArg' (temp float)
+0:111          'tempArg' (temp float)
+0:112      Comma (temp void)
+0:112        Function Call: Fn2(i1; (temp void)
+0:112          'tempArg' (temp int)
+0:112        Sequence
+0:112          imageStore (temp void)
+0:112            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:112            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:112              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:112              Constant:
+0:112                0 (const uint)
+0:112            'tempArg' (temp int)
+0:112          'tempArg' (temp int)
+0:113      Comma (temp void)
+0:113        Function Call: Fn2(u1; (temp void)
+0:113          'tempArg' (temp uint)
+0:113        Sequence
+0:113          imageStore (temp void)
+0:113            'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:113            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:113              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:113              Constant:
+0:113                0 (const uint)
+0:113            'tempArg' (temp uint)
+0:113          'tempArg' (temp uint)
+0:117      Sequence
+0:117        move second child to first child (temp int)
+0:117          'coordTemp' (temp int)
+0:117          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:117            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:117            Constant:
+0:117              0 (const uint)
+0:117        move second child to first child (temp float)
+0:117          'storeTemp' (temp float)
+0:117          imageLoad (temp float)
+0:117            'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:117            'coordTemp' (temp int)
+0:117        Pre-Increment (temp float)
+0:117          'storeTemp' (temp float)
+0:117        imageStore (temp void)
+0:117          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:117          'coordTemp' (temp int)
+0:117          'storeTemp' (temp float)
+0:117        'storeTemp' (temp float)
+0:118      Sequence
+0:118        move second child to first child (temp int)
+0:118          'coordTemp' (temp int)
+0:118          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:118            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:118            Constant:
+0:118              0 (const uint)
+0:118        move second child to first child (temp int)
+0:118          'storeTemp' (temp int)
+0:118          imageLoad (temp int)
+0:118            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:118            'coordTemp' (temp int)
+0:118        Pre-Increment (temp int)
+0:118          'storeTemp' (temp int)
+0:118        imageStore (temp void)
+0:118          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:118          'coordTemp' (temp int)
+0:118          'storeTemp' (temp int)
+0:118        'storeTemp' (temp int)
+0:119      Sequence
+0:119        move second child to first child (temp int)
+0:119          'coordTemp' (temp int)
+0:119          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:119            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:119            Constant:
+0:119              0 (const uint)
+0:119        move second child to first child (temp uint)
+0:119          'storeTemp' (temp uint)
+0:119          imageLoad (temp uint)
+0:119            'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:119            'coordTemp' (temp int)
+0:119        Pre-Increment (temp uint)
+0:119          'storeTemp' (temp uint)
+0:119        imageStore (temp void)
+0:119          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:119          'coordTemp' (temp int)
+0:119          'storeTemp' (temp uint)
+0:119        'storeTemp' (temp uint)
+0:121      Sequence
+0:121        move second child to first child (temp int)
+0:121          'coordTemp' (temp int)
+0:121          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:121            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:121            Constant:
+0:121              0 (const uint)
+0:121        move second child to first child (temp float)
+0:121          'storeTemp' (temp float)
+0:121          imageLoad (temp float)
+0:121            'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:121            'coordTemp' (temp int)
+0:121        Pre-Decrement (temp float)
+0:121          'storeTemp' (temp float)
+0:121        imageStore (temp void)
+0:121          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:121          'coordTemp' (temp int)
+0:121          'storeTemp' (temp float)
+0:121        'storeTemp' (temp float)
+0:122      Sequence
+0:122        move second child to first child (temp int)
+0:122          'coordTemp' (temp int)
+0:122          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:122            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:122            Constant:
+0:122              0 (const uint)
+0:122        move second child to first child (temp int)
+0:122          'storeTemp' (temp int)
+0:122          imageLoad (temp int)
+0:122            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:122            'coordTemp' (temp int)
+0:122        Pre-Decrement (temp int)
+0:122          'storeTemp' (temp int)
+0:122        imageStore (temp void)
+0:122          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:122          'coordTemp' (temp int)
+0:122          'storeTemp' (temp int)
+0:122        'storeTemp' (temp int)
+0:123      Sequence
+0:123        move second child to first child (temp int)
+0:123          'coordTemp' (temp int)
+0:123          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:123            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:123            Constant:
+0:123              0 (const uint)
+0:123        move second child to first child (temp uint)
+0:123          'storeTemp' (temp uint)
+0:123          imageLoad (temp uint)
+0:123            'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:123            'coordTemp' (temp int)
+0:123        Pre-Decrement (temp uint)
+0:123          'storeTemp' (temp uint)
+0:123        imageStore (temp void)
+0:123          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:123          'coordTemp' (temp int)
+0:123          'storeTemp' (temp uint)
+0:123        'storeTemp' (temp uint)
+0:126      Sequence
+0:126        move second child to first child (temp int)
+0:126          'coordTemp' (temp int)
+0:126          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:126            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:126            Constant:
+0:126              0 (const uint)
+0:126        move second child to first child (temp float)
+0:126          'storeTempPre' (temp float)
+0:126          imageLoad (temp float)
+0:126            'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:126            'coordTemp' (temp int)
+0:126        move second child to first child (temp float)
+0:126          'storeTempPost' (temp float)
+0:126          'storeTempPre' (temp float)
+0:126        Post-Increment (temp float)
+0:126          'storeTempPost' (temp float)
+0:126        imageStore (temp void)
+0:126          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:126          'coordTemp' (temp int)
+0:126          'storeTempPost' (temp float)
+0:126        'storeTempPre' (temp float)
+0:127      Sequence
+0:127        move second child to first child (temp int)
+0:127          'coordTemp' (temp int)
+0:127          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:127            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:127            Constant:
+0:127              0 (const uint)
+0:127        move second child to first child (temp uint)
+0:127          'storeTempPre' (temp uint)
+0:127          imageLoad (temp uint)
+0:127            'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:127            'coordTemp' (temp int)
+0:127        move second child to first child (temp uint)
+0:127          'storeTempPost' (temp uint)
+0:127          'storeTempPre' (temp uint)
+0:127        Post-Decrement (temp uint)
+0:127          'storeTempPost' (temp uint)
+0:127        imageStore (temp void)
+0:127          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:127          'coordTemp' (temp int)
+0:127          'storeTempPost' (temp uint)
+0:127        'storeTempPre' (temp uint)
+0:128      Sequence
+0:128        move second child to first child (temp int)
+0:128          'coordTemp' (temp int)
+0:128          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:128            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:128            Constant:
+0:128              0 (const uint)
+0:128        move second child to first child (temp int)
+0:128          'storeTempPre' (temp int)
+0:128          imageLoad (temp int)
+0:128            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:128            'coordTemp' (temp int)
+0:128        move second child to first child (temp int)
+0:128          'storeTempPost' (temp int)
+0:128          'storeTempPre' (temp int)
+0:128        Post-Increment (temp int)
+0:128          'storeTempPost' (temp int)
+0:128        imageStore (temp void)
+0:128          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:128          'coordTemp' (temp int)
+0:128          'storeTempPost' (temp int)
+0:128        'storeTempPre' (temp int)
+0:130      Sequence
+0:130        move second child to first child (temp int)
+0:130          'coordTemp' (temp int)
+0:130          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:130            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:130            Constant:
+0:130              0 (const uint)
+0:130        move second child to first child (temp float)
+0:130          'storeTempPre' (temp float)
+0:130          imageLoad (temp float)
+0:130            'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:130            'coordTemp' (temp int)
+0:130        move second child to first child (temp float)
+0:130          'storeTempPost' (temp float)
+0:130          'storeTempPre' (temp float)
+0:130        Post-Decrement (temp float)
+0:130          'storeTempPost' (temp float)
+0:130        imageStore (temp void)
+0:130          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:130          'coordTemp' (temp int)
+0:130          'storeTempPost' (temp float)
+0:130        'storeTempPre' (temp float)
+0:131      Sequence
+0:131        move second child to first child (temp int)
+0:131          'coordTemp' (temp int)
+0:131          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:131            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:131            Constant:
+0:131              0 (const uint)
+0:131        move second child to first child (temp int)
+0:131          'storeTempPre' (temp int)
+0:131          imageLoad (temp int)
+0:131            'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:131            'coordTemp' (temp int)
+0:131        move second child to first child (temp int)
+0:131          'storeTempPost' (temp int)
+0:131          'storeTempPre' (temp int)
+0:131        Post-Increment (temp int)
+0:131          'storeTempPost' (temp int)
+0:131        imageStore (temp void)
+0:131          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:131          'coordTemp' (temp int)
+0:131          'storeTempPost' (temp int)
+0:131        'storeTempPre' (temp int)
+0:132      Sequence
+0:132        move second child to first child (temp int)
+0:132          'coordTemp' (temp int)
+0:132          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:132            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:132            Constant:
+0:132              0 (const uint)
+0:132        move second child to first child (temp uint)
+0:132          'storeTempPre' (temp uint)
+0:132          imageLoad (temp uint)
+0:132            'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:132            'coordTemp' (temp int)
+0:132        move second child to first child (temp uint)
+0:132          'storeTempPost' (temp uint)
+0:132          'storeTempPre' (temp uint)
+0:132        Post-Decrement (temp uint)
+0:132          'storeTempPost' (temp uint)
+0:132        imageStore (temp void)
+0:132          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:132          'coordTemp' (temp int)
+0:132          'storeTempPost' (temp uint)
+0:132        'storeTempPre' (temp uint)
+0:135      Sequence
+0:135        move second child to first child (temp float)
+0:135          'storeTemp' (temp float)
+0:?           imageLoad (temp float)
+0:135            'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:?             Constant:
+0:?               2 (const int)
+0:?               3 (const int)
+0:135        imageStore (temp void)
+0:135          'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:135          Constant:
+0:135            1 (const int)
+0:135          'storeTemp' (temp float)
+0:135        'storeTemp' (temp float)
+0:137      move second child to first child (temp 4-component vector of float)
+0:137        Color: direct index for structure (temp 4-component vector of float)
+0:137          'psout' (temp structure{temp 4-component vector of float Color})
+0:137          Constant:
+0:137            0 (const int)
+0:137        Constant:
+0:137          1.000000
+0:137          1.000000
+0:137          1.000000
+0:137          1.000000
+0:139      Sequence
+0:139        Sequence
+0:139          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:139            Color: direct index for structure (temp 4-component vector of float)
+0:139              'psout' (temp structure{temp 4-component vector of float Color})
+0:139              Constant:
+0:139                0 (const int)
+0:139        Branch: Return
+0:?   Linker Objects
+0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:?     'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:?     'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:?     'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:?     'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:?     'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:?     'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:?     'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:?     'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:?     'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:?     'g_tTex1df1a' (layout(r32f ) uniform image1DArray)
+0:?     'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:?     'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:?     'g_tTex2df1a' (layout(r32f ) uniform image2DArray)
+0:?     'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray)
+0:?     'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray)
+0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 566
+
+                              Capability Shader
+                              Capability Sampled1D
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 541
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 10  "Fn1(i1;"
+                              Name 9  "x"
+                              Name 16  "Fn1(u1;"
+                              Name 15  "x"
+                              Name 22  "Fn1(f1;"
+                              Name 21  "x"
+                              Name 26  "Fn2(i1;"
+                              Name 25  "x"
+                              Name 30  "Fn2(u1;"
+                              Name 29  "x"
+                              Name 34  "Fn2(f1;"
+                              Name 33  "x"
+                              Name 37  "SomeValue("
+                              Name 54  "$Global"
+                              MemberName 54($Global) 0  "c1"
+                              MemberName 54($Global) 1  "c2"
+                              MemberName 54($Global) 2  "c3"
+                              MemberName 54($Global) 3  "c4"
+                              MemberName 54($Global) 4  "o1"
+                              MemberName 54($Global) 5  "o2"
+                              MemberName 54($Global) 6  "o3"
+                              MemberName 54($Global) 7  "o4"
+                              MemberName 54($Global) 8  "uf1"
+                              MemberName 54($Global) 9  "ui1"
+                              MemberName 54($Global) 10  "uu1"
+                              Name 56  ""
+                              Name 65  "g_tTex1df1"
+                              Name 70  "r00"
+                              Name 75  "r01"
+                              Name 78  "g_tTex1di1"
+                              Name 83  "r02"
+                              Name 86  "g_tTex1du1"
+                              Name 91  "r10"
+                              Name 94  "g_tTex2df1"
+                              Name 101  "r11"
+                              Name 104  "g_tTex2di1"
+                              Name 109  "r12"
+                              Name 112  "g_tTex2du1"
+                              Name 117  "r20"
+                              Name 120  "g_tTex3df1"
+                              Name 127  "r21"
+                              Name 130  "g_tTex3di1"
+                              Name 135  "r22"
+                              Name 138  "g_tTex3du1"
+                              Name 143  "lf1"
+                              Name 148  "storeTemp"
+                              Name 158  "storeTemp"
+                              Name 163  "storeTemp"
+                              Name 169  "val1"
+                              Name 170  "coordTemp"
+                              Name 173  "storeTemp"
+                              Name 184  "coordTemp"
+                              Name 187  "storeTemp"
+                              Name 197  "coordTemp"
+                              Name 200  "storeTemp"
+                              Name 210  "coordTemp"
+                              Name 213  "storeTemp"
+                              Name 222  "coordTemp"
+                              Name 225  "storeTemp"
+                              Name 234  "coordTemp"
+                              Name 237  "storeTemp"
+                              Name 247  "coordTemp"
+                              Name 250  "storeTemp"
+                              Name 260  "coordTemp"
+                              Name 263  "storeTemp"
+                              Name 272  "coordTemp"
+                              Name 275  "storeTemp"
+                              Name 284  "storeTemp"
+                              Name 294  "storeTemp"
+                              Name 300  "storeTemp"
+                              Name 306  "storeTemp"
+                              Name 316  "storeTemp"
+                              Name 321  "storeTemp"
+                              Name 331  "param"
+                              Name 337  "param"
+                              Name 343  "param"
+                              Name 345  "tempArg"
+                              Name 346  "param"
+                              Name 353  "tempArg"
+                              Name 354  "param"
+                              Name 361  "tempArg"
+                              Name 362  "param"
+                              Name 369  "coordTemp"
+                              Name 372  "storeTemp"
+                              Name 382  "coordTemp"
+                              Name 385  "storeTemp"
+                              Name 394  "coordTemp"
+                              Name 397  "storeTemp"
+                              Name 406  "coordTemp"
+                              Name 409  "storeTemp"
+                              Name 418  "coordTemp"
+                              Name 421  "storeTemp"
+                              Name 430  "coordTemp"
+                              Name 433  "storeTemp"
+                              Name 442  "coordTemp"
+                              Name 445  "storeTempPre"
+                              Name 449  "storeTempPost"
+                              Name 456  "coordTemp"
+                              Name 459  "storeTempPre"
+                              Name 463  "storeTempPost"
+                              Name 470  "coordTemp"
+                              Name 473  "storeTempPre"
+                              Name 477  "storeTempPost"
+                              Name 484  "coordTemp"
+                              Name 487  "storeTempPre"
+                              Name 491  "storeTempPost"
+                              Name 498  "coordTemp"
+                              Name 501  "storeTempPre"
+                              Name 505  "storeTempPost"
+                              Name 512  "coordTemp"
+                              Name 515  "storeTempPre"
+                              Name 519  "storeTempPost"
+                              Name 526  "storeTemp"
+                              Name 534  "PS_OUTPUT"
+                              MemberName 534(PS_OUTPUT) 0  "Color"
+                              Name 536  "psout"
+                              Name 541  "Color"
+                              Name 547  "g_sSamp"
+                              Name 550  "g_tTex1df1a"
+                              Name 553  "g_tTex1di1a"
+                              Name 556  "g_tTex1du1a"
+                              Name 559  "g_tTex2df1a"
+                              Name 562  "g_tTex2di1a"
+                              Name 565  "g_tTex2du1a"
+                              MemberDecorate 54($Global) 0 Offset 0
+                              MemberDecorate 54($Global) 1 Offset 8
+                              MemberDecorate 54($Global) 2 Offset 16
+                              MemberDecorate 54($Global) 3 Offset 32
+                              MemberDecorate 54($Global) 4 Offset 48
+                              MemberDecorate 54($Global) 5 Offset 56
+                              MemberDecorate 54($Global) 6 Offset 64
+                              MemberDecorate 54($Global) 7 Offset 80
+                              MemberDecorate 54($Global) 8 Offset 96
+                              MemberDecorate 54($Global) 9 Offset 100
+                              MemberDecorate 54($Global) 10 Offset 104
+                              Decorate 54($Global) Block
+                              Decorate 56 DescriptorSet 0
+                              Decorate 65(g_tTex1df1) DescriptorSet 0
+                              Decorate 78(g_tTex1di1) DescriptorSet 0
+                              Decorate 86(g_tTex1du1) DescriptorSet 0
+                              Decorate 94(g_tTex2df1) DescriptorSet 0
+                              Decorate 104(g_tTex2di1) DescriptorSet 0
+                              Decorate 112(g_tTex2du1) DescriptorSet 0
+                              Decorate 120(g_tTex3df1) DescriptorSet 0
+                              Decorate 130(g_tTex3di1) DescriptorSet 0
+                              Decorate 138(g_tTex3du1) DescriptorSet 0
+                              Decorate 541(Color) Location 0
+                              Decorate 547(g_sSamp) DescriptorSet 0
+                              Decorate 547(g_sSamp) Binding 0
+                              Decorate 550(g_tTex1df1a) DescriptorSet 0
+                              Decorate 553(g_tTex1di1a) DescriptorSet 0
+                              Decorate 556(g_tTex1du1a) DescriptorSet 0
+                              Decorate 559(g_tTex2df1a) DescriptorSet 0
+                              Decorate 562(g_tTex2di1a) DescriptorSet 0
+                              Decorate 565(g_tTex2du1a) DescriptorSet 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 1
+               7:             TypePointer Function 6(int)
+               8:             TypeFunction 6(int) 7(ptr)
+              12:             TypeInt 32 0
+              13:             TypePointer Function 12(int)
+              14:             TypeFunction 12(int) 13(ptr)
+              18:             TypeFloat 32
+              19:             TypePointer Function 18(float)
+              20:             TypeFunction 18(float) 19(ptr)
+              24:             TypeFunction 2 7(ptr)
+              28:             TypeFunction 2 13(ptr)
+              32:             TypeFunction 2 19(ptr)
+              36:             TypeFunction 18(float)
+              48:      6(int) Constant 0
+              49:     12(int) Constant 0
+              50:   18(float) Constant 0
+              51:             TypeVector 6(int) 2
+              52:             TypeVector 6(int) 3
+              53:             TypeVector 6(int) 4
+     54($Global):             TypeStruct 6(int) 51(ivec2) 52(ivec3) 53(ivec4) 6(int) 51(ivec2) 52(ivec3) 53(ivec4) 18(float) 6(int) 12(int)
+              55:             TypePointer Uniform 54($Global)
+              56:     55(ptr) Variable Uniform
+              57:             TypePointer Uniform 6(int)
+              63:             TypeImage 18(float) 1D nonsampled format:R32f
+              64:             TypePointer UniformConstant 63
+  65(g_tTex1df1):     64(ptr) Variable UniformConstant
+              76:             TypeImage 6(int) 1D nonsampled format:R32i
+              77:             TypePointer UniformConstant 76
+  78(g_tTex1di1):     77(ptr) Variable UniformConstant
+              84:             TypeImage 12(int) 1D nonsampled format:R32ui
+              85:             TypePointer UniformConstant 84
+  86(g_tTex1du1):     85(ptr) Variable UniformConstant
+              92:             TypeImage 18(float) 2D nonsampled format:R32f
+              93:             TypePointer UniformConstant 92
+  94(g_tTex2df1):     93(ptr) Variable UniformConstant
+              96:      6(int) Constant 1
+              97:             TypePointer Uniform 51(ivec2)
+             102:             TypeImage 6(int) 2D nonsampled format:R32i
+             103:             TypePointer UniformConstant 102
+ 104(g_tTex2di1):    103(ptr) Variable UniformConstant
+             110:             TypeImage 12(int) 2D nonsampled format:R32ui
+             111:             TypePointer UniformConstant 110
+ 112(g_tTex2du1):    111(ptr) Variable UniformConstant
+             118:             TypeImage 18(float) 3D nonsampled format:R32f
+             119:             TypePointer UniformConstant 118
+ 120(g_tTex3df1):    119(ptr) Variable UniformConstant
+             122:      6(int) Constant 2
+             123:             TypePointer Uniform 52(ivec3)
+             128:             TypeImage 6(int) 3D nonsampled format:R32i
+             129:             TypePointer UniformConstant 128
+ 130(g_tTex3di1):    129(ptr) Variable UniformConstant
+             136:             TypeImage 12(int) 3D nonsampled format:R32ui
+             137:             TypePointer UniformConstant 136
+ 138(g_tTex3du1):    137(ptr) Variable UniformConstant
+             144:      6(int) Constant 8
+             145:             TypePointer Uniform 18(float)
+             164:     12(int) Constant 3
+             177:   18(float) Constant 1073741824
+             191:   18(float) Constant 1077936128
+             204:   18(float) Constant 1082130432
+             241:      6(int) Constant 65535
+             254:      6(int) Constant 61680
+             295:      6(int) Constant 5
+             301:     12(int) Constant 6
+             322:     12(int) Constant 9
+             377:   18(float) Constant 1065353216
+             528:      6(int) Constant 3
+             529:   51(ivec2) ConstantComposite 122 528
+             533:             TypeVector 18(float) 4
+  534(PS_OUTPUT):             TypeStruct 533(fvec4)
+             535:             TypePointer Function 534(PS_OUTPUT)
+             537:  533(fvec4) ConstantComposite 377 377 377 377
+             538:             TypePointer Function 533(fvec4)
+             540:             TypePointer Output 533(fvec4)
+      541(Color):    540(ptr) Variable Output
+             545:             TypeSampler
+             546:             TypePointer UniformConstant 545
+    547(g_sSamp):    546(ptr) Variable UniformConstant
+             548:             TypeImage 18(float) 1D array nonsampled format:R32f
+             549:             TypePointer UniformConstant 548
+550(g_tTex1df1a):    549(ptr) Variable UniformConstant
+             551:             TypeImage 6(int) 1D array nonsampled format:R32i
+             552:             TypePointer UniformConstant 551
+553(g_tTex1di1a):    552(ptr) Variable UniformConstant
+             554:             TypeImage 12(int) 1D array nonsampled format:R32ui
+             555:             TypePointer UniformConstant 554
+556(g_tTex1du1a):    555(ptr) Variable UniformConstant
+             557:             TypeImage 18(float) 2D array nonsampled format:R32f
+             558:             TypePointer UniformConstant 557
+559(g_tTex2df1a):    558(ptr) Variable UniformConstant
+             560:             TypeImage 6(int) 2D array nonsampled format:R32i
+             561:             TypePointer UniformConstant 560
+562(g_tTex2di1a):    561(ptr) Variable UniformConstant
+             563:             TypeImage 12(int) 2D array nonsampled format:R32ui
+             564:             TypePointer UniformConstant 563
+565(g_tTex2du1a):    564(ptr) Variable UniformConstant
+         4(main):           2 Function None 3
+               5:             Label
+         70(r00):     19(ptr) Variable Function
+         75(r01):      7(ptr) Variable Function
+         83(r02):     13(ptr) Variable Function
+         91(r10):     19(ptr) Variable Function
+        101(r11):      7(ptr) Variable Function
+        109(r12):     13(ptr) Variable Function
+        117(r20):     19(ptr) Variable Function
+        127(r21):      7(ptr) Variable Function
+        135(r22):     13(ptr) Variable Function
+        143(lf1):     19(ptr) Variable Function
+  148(storeTemp):     19(ptr) Variable Function
+  158(storeTemp):      7(ptr) Variable Function
+  163(storeTemp):     13(ptr) Variable Function
+       169(val1):     19(ptr) Variable Function
+  170(coordTemp):      7(ptr) Variable Function
+  173(storeTemp):     19(ptr) Variable Function
+  184(coordTemp):      7(ptr) Variable Function
+  187(storeTemp):     19(ptr) Variable Function
+  197(coordTemp):      7(ptr) Variable Function
+  200(storeTemp):     19(ptr) Variable Function
+  210(coordTemp):      7(ptr) Variable Function
+  213(storeTemp):      7(ptr) Variable Function
+  222(coordTemp):      7(ptr) Variable Function
+  225(storeTemp):      7(ptr) Variable Function
+  234(coordTemp):      7(ptr) Variable Function
+  237(storeTemp):      7(ptr) Variable Function
+  247(coordTemp):      7(ptr) Variable Function
+  250(storeTemp):      7(ptr) Variable Function
+  260(coordTemp):      7(ptr) Variable Function
+  263(storeTemp):      7(ptr) Variable Function
+  272(coordTemp):      7(ptr) Variable Function
+  275(storeTemp):      7(ptr) Variable Function
+  284(storeTemp):     19(ptr) Variable Function
+  294(storeTemp):      7(ptr) Variable Function
+  300(storeTemp):     13(ptr) Variable Function
+  306(storeTemp):     19(ptr) Variable Function
+  316(storeTemp):      7(ptr) Variable Function
+  321(storeTemp):     13(ptr) Variable Function
+      331(param):     19(ptr) Variable Function
+      337(param):      7(ptr) Variable Function
+      343(param):     13(ptr) Variable Function
+    345(tempArg):     19(ptr) Variable Function
+      346(param):     19(ptr) Variable Function
+    353(tempArg):      7(ptr) Variable Function
+      354(param):      7(ptr) Variable Function
+    361(tempArg):     13(ptr) Variable Function
+      362(param):     13(ptr) Variable Function
+  369(coordTemp):      7(ptr) Variable Function
+  372(storeTemp):     19(ptr) Variable Function
+  382(coordTemp):      7(ptr) Variable Function
+  385(storeTemp):      7(ptr) Variable Function
+  394(coordTemp):      7(ptr) Variable Function
+  397(storeTemp):     13(ptr) Variable Function
+  406(coordTemp):      7(ptr) Variable Function
+  409(storeTemp):     19(ptr) Variable Function
+  418(coordTemp):      7(ptr) Variable Function
+  421(storeTemp):      7(ptr) Variable Function
+  430(coordTemp):      7(ptr) Variable Function
+  433(storeTemp):     13(ptr) Variable Function
+  442(coordTemp):      7(ptr) Variable Function
+445(storeTempPre):     19(ptr) Variable Function
+449(storeTempPost):     19(ptr) Variable Function
+  456(coordTemp):      7(ptr) Variable Function
+459(storeTempPre):     13(ptr) Variable Function
+463(storeTempPost):     13(ptr) Variable Function
+  470(coordTemp):      7(ptr) Variable Function
+473(storeTempPre):      7(ptr) Variable Function
+477(storeTempPost):      7(ptr) Variable Function
+  484(coordTemp):      7(ptr) Variable Function
+487(storeTempPre):     19(ptr) Variable Function
+491(storeTempPost):     19(ptr) Variable Function
+  498(coordTemp):      7(ptr) Variable Function
+501(storeTempPre):      7(ptr) Variable Function
+505(storeTempPost):      7(ptr) Variable Function
+  512(coordTemp):      7(ptr) Variable Function
+515(storeTempPre):     13(ptr) Variable Function
+519(storeTempPost):     13(ptr) Variable Function
+  526(storeTemp):     19(ptr) Variable Function
+      536(psout):    535(ptr) Variable Function
+              66:          63 Load 65(g_tTex1df1)
+              67:     57(ptr) AccessChain 56 48
+              68:      6(int) Load 67
+              69:   18(float) ImageRead 66 68
+              71:          63 Load 65(g_tTex1df1)
+              72:     57(ptr) AccessChain 56 48
+              73:      6(int) Load 72
+              74:   18(float) ImageRead 71 73
+                              Store 70(r00) 74
+              79:          76 Load 78(g_tTex1di1)
+              80:     57(ptr) AccessChain 56 48
+              81:      6(int) Load 80
+              82:      6(int) ImageRead 79 81
+                              Store 75(r01) 82
+              87:          84 Load 86(g_tTex1du1)
+              88:     57(ptr) AccessChain 56 48
+              89:      6(int) Load 88
+              90:     12(int) ImageRead 87 89
+                              Store 83(r02) 90
+              95:          92 Load 94(g_tTex2df1)
+              98:     97(ptr) AccessChain 56 96
+              99:   51(ivec2) Load 98
+             100:   18(float) ImageRead 95 99
+                              Store 91(r10) 100
+             105:         102 Load 104(g_tTex2di1)
+             106:     97(ptr) AccessChain 56 96
+             107:   51(ivec2) Load 106
+             108:      6(int) ImageRead 105 107
+                              Store 101(r11) 108
+             113:         110 Load 112(g_tTex2du1)
+             114:     97(ptr) AccessChain 56 96
+             115:   51(ivec2) Load 114
+             116:     12(int) ImageRead 113 115
+                              Store 109(r12) 116
+             121:         118 Load 120(g_tTex3df1)
+             124:    123(ptr) AccessChain 56 122
+             125:   52(ivec3) Load 124
+             126:   18(float) ImageRead 121 125
+                              Store 117(r20) 126
+             131:         128 Load 130(g_tTex3di1)
+             132:    123(ptr) AccessChain 56 122
+             133:   52(ivec3) Load 132
+             134:      6(int) ImageRead 131 133
+                              Store 127(r21) 134
+             139:         136 Load 138(g_tTex3du1)
+             140:    123(ptr) AccessChain 56 122
+             141:   52(ivec3) Load 140
+             142:     12(int) ImageRead 139 141
+                              Store 135(r22) 142
+             146:    145(ptr) AccessChain 56 144
+             147:   18(float) Load 146
+                              Store 143(lf1) 147
+             149:   18(float) FunctionCall 37(SomeValue()
+                              Store 148(storeTemp) 149
+             150:          63 Load 65(g_tTex1df1)
+             151:     57(ptr) AccessChain 56 48
+             152:      6(int) Load 151
+             153:   18(float) Load 148(storeTemp)
+                              ImageWrite 150 152 153
+             154:          63 Load 65(g_tTex1df1)
+             155:     57(ptr) AccessChain 56 48
+             156:      6(int) Load 155
+             157:   18(float) Load 143(lf1)
+                              ImageWrite 154 156 157
+                              Store 158(storeTemp) 122
+             159:          76 Load 78(g_tTex1di1)
+             160:     57(ptr) AccessChain 56 48
+             161:      6(int) Load 160
+             162:      6(int) Load 158(storeTemp)
+                              ImageWrite 159 161 162
+                              Store 163(storeTemp) 164
+             165:          84 Load 86(g_tTex1du1)
+             166:     57(ptr) AccessChain 56 48
+             167:      6(int) Load 166
+             168:     12(int) Load 163(storeTemp)
+                              ImageWrite 165 167 168
+             171:     57(ptr) AccessChain 56 48
+             172:      6(int) Load 171
+                              Store 170(coordTemp) 172
+             174:          63 Load 65(g_tTex1df1)
+             175:      6(int) Load 170(coordTemp)
+             176:   18(float) ImageRead 174 175
+                              Store 173(storeTemp) 176
+             178:   18(float) Load 173(storeTemp)
+             179:   18(float) FMul 178 177
+                              Store 173(storeTemp) 179
+             180:          63 Load 65(g_tTex1df1)
+             181:      6(int) Load 170(coordTemp)
+             182:   18(float) Load 173(storeTemp)
+                              ImageWrite 180 181 182
+             183:   18(float) Load 173(storeTemp)
+                              Store 169(val1) 183
+             185:     57(ptr) AccessChain 56 48
+             186:      6(int) Load 185
+                              Store 184(coordTemp) 186
+             188:          63 Load 65(g_tTex1df1)
+             189:      6(int) Load 184(coordTemp)
+             190:   18(float) ImageRead 188 189
+                              Store 187(storeTemp) 190
+             192:   18(float) Load 187(storeTemp)
+             193:   18(float) FSub 192 191
+                              Store 187(storeTemp) 193
+             194:          63 Load 65(g_tTex1df1)
+             195:      6(int) Load 184(coordTemp)
+             196:   18(float) Load 187(storeTemp)
+                              ImageWrite 194 195 196
+             198:     57(ptr) AccessChain 56 48
+             199:      6(int) Load 198
+                              Store 197(coordTemp) 199
+             201:          63 Load 65(g_tTex1df1)
+             202:      6(int) Load 197(coordTemp)
+             203:   18(float) ImageRead 201 202
+                              Store 200(storeTemp) 203
+             205:   18(float) Load 200(storeTemp)
+             206:   18(float) FAdd 205 204
+                              Store 200(storeTemp) 206
+             207:          63 Load 65(g_tTex1df1)
+             208:      6(int) Load 197(coordTemp)
+             209:   18(float) Load 200(storeTemp)
+                              ImageWrite 207 208 209
+             211:     57(ptr) AccessChain 56 48
+             212:      6(int) Load 211
+                              Store 210(coordTemp) 212
+             214:          76 Load 78(g_tTex1di1)
+             215:      6(int) Load 210(coordTemp)
+             216:      6(int) ImageRead 214 215
+                              Store 213(storeTemp) 216
+             217:      6(int) Load 213(storeTemp)
+             218:      6(int) SDiv 217 122
+                              Store 213(storeTemp) 218
+             219:          76 Load 78(g_tTex1di1)
+             220:      6(int) Load 210(coordTemp)
+             221:      6(int) Load 213(storeTemp)
+                              ImageWrite 219 220 221
+             223:     57(ptr) AccessChain 56 48
+             224:      6(int) Load 223
+                              Store 222(coordTemp) 224
+             226:          76 Load 78(g_tTex1di1)
+             227:      6(int) Load 222(coordTemp)
+             228:      6(int) ImageRead 226 227
+                              Store 225(storeTemp) 228
+             229:      6(int) Load 225(storeTemp)
+             230:      6(int) SMod 229 122
+                              Store 225(storeTemp) 230
+             231:          76 Load 78(g_tTex1di1)
+             232:      6(int) Load 222(coordTemp)
+             233:      6(int) Load 225(storeTemp)
+                              ImageWrite 231 232 233
+             235:     57(ptr) AccessChain 56 48
+             236:      6(int) Load 235
+                              Store 234(coordTemp) 236
+             238:          76 Load 78(g_tTex1di1)
+             239:      6(int) Load 234(coordTemp)
+             240:      6(int) ImageRead 238 239
+                              Store 237(storeTemp) 240
+             242:      6(int) Load 237(storeTemp)
+             243:      6(int) BitwiseAnd 242 241
+                              Store 237(storeTemp) 243
+             244:          76 Load 78(g_tTex1di1)
+             245:      6(int) Load 234(coordTemp)
+             246:      6(int) Load 237(storeTemp)
+                              ImageWrite 244 245 246
+             248:     57(ptr) AccessChain 56 48
+             249:      6(int) Load 248
+                              Store 247(coordTemp) 249
+             251:          76 Load 78(g_tTex1di1)
+             252:      6(int) Load 247(coordTemp)
+             253:      6(int) ImageRead 251 252
+                              Store 250(storeTemp) 253
+             255:      6(int) Load 250(storeTemp)
+             256:      6(int) BitwiseOr 255 254
+                              Store 250(storeTemp) 256
+             257:          76 Load 78(g_tTex1di1)
+             258:      6(int) Load 247(coordTemp)
+             259:      6(int) Load 250(storeTemp)
+                              ImageWrite 257 258 259
+             261:     57(ptr) AccessChain 56 48
+             262:      6(int) Load 261
+                              Store 260(coordTemp) 262
+             264:          76 Load 78(g_tTex1di1)
+             265:      6(int) Load 260(coordTemp)
+             266:      6(int) ImageRead 264 265
+                              Store 263(storeTemp) 266
+             267:      6(int) Load 263(storeTemp)
+             268:      6(int) ShiftLeftLogical 267 122
+                              Store 263(storeTemp) 268
+             269:          76 Load 78(g_tTex1di1)
+             270:      6(int) Load 260(coordTemp)
+             271:      6(int) Load 263(storeTemp)
+                              ImageWrite 269 270 271
+             273:     57(ptr) AccessChain 56 48
+             274:      6(int) Load 273
+                              Store 272(coordTemp) 274
+             276:          76 Load 78(g_tTex1di1)
+             277:      6(int) Load 272(coordTemp)
+             278:      6(int) ImageRead 276 277
+                              Store 275(storeTemp) 278
+             279:      6(int) Load 275(storeTemp)
+             280:      6(int) ShiftRightArithmetic 279 122
+                              Store 275(storeTemp) 280
+             281:          76 Load 78(g_tTex1di1)
+             282:      6(int) Load 272(coordTemp)
+             283:      6(int) Load 275(storeTemp)
+                              ImageWrite 281 282 283
+             285:   18(float) FunctionCall 37(SomeValue()
+                              Store 284(storeTemp) 285
+             286:          92 Load 94(g_tTex2df1)
+             287:     97(ptr) AccessChain 56 96
+             288:   51(ivec2) Load 287
+             289:   18(float) Load 284(storeTemp)
+                              ImageWrite 286 288 289
+             290:          92 Load 94(g_tTex2df1)
+             291:     97(ptr) AccessChain 56 96
+             292:   51(ivec2) Load 291
+             293:   18(float) Load 143(lf1)
+                              ImageWrite 290 292 293
+                              Store 294(storeTemp) 295
+             296:         102 Load 104(g_tTex2di1)
+             297:     97(ptr) AccessChain 56 96
+             298:   51(ivec2) Load 297
+             299:      6(int) Load 294(storeTemp)
+                              ImageWrite 296 298 299
+                              Store 300(storeTemp) 301
+             302:         110 Load 112(g_tTex2du1)
+             303:     97(ptr) AccessChain 56 96
+             304:   51(ivec2) Load 303
+             305:     12(int) Load 300(storeTemp)
+                              ImageWrite 302 304 305
+             307:   18(float) FunctionCall 37(SomeValue()
+                              Store 306(storeTemp) 307
+             308:         118 Load 120(g_tTex3df1)
+             309:    123(ptr) AccessChain 56 122
+             310:   52(ivec3) Load 309
+             311:   18(float) Load 306(storeTemp)
+                              ImageWrite 308 310 311
+             312:         118 Load 120(g_tTex3df1)
+             313:    123(ptr) AccessChain 56 122
+             314:   52(ivec3) Load 313
+             315:   18(float) Load 143(lf1)
+                              ImageWrite 312 314 315
+                              Store 316(storeTemp) 144
+             317:         128 Load 130(g_tTex3di1)
+             318:    123(ptr) AccessChain 56 122
+             319:   52(ivec3) Load 318
+             320:      6(int) Load 316(storeTemp)
+                              ImageWrite 317 319 320
+                              Store 321(storeTemp) 322
+             323:         136 Load 138(g_tTex3du1)
+             324:    123(ptr) AccessChain 56 122
+             325:   52(ivec3) Load 324
+             326:     12(int) Load 321(storeTemp)
+                              ImageWrite 323 325 326
+             327:          63 Load 65(g_tTex1df1)
+             328:     57(ptr) AccessChain 56 48
+             329:      6(int) Load 328
+             330:   18(float) ImageRead 327 329
+                              Store 331(param) 330
+             332:   18(float) FunctionCall 22(Fn1(f1;) 331(param)
+             333:          76 Load 78(g_tTex1di1)
+             334:     57(ptr) AccessChain 56 48
+             335:      6(int) Load 334
+             336:      6(int) ImageRead 333 335
+                              Store 337(param) 336
+             338:      6(int) FunctionCall 10(Fn1(i1;) 337(param)
+             339:          84 Load 86(g_tTex1du1)
+             340:     57(ptr) AccessChain 56 48
+             341:      6(int) Load 340
+             342:     12(int) ImageRead 339 341
+                              Store 343(param) 342
+             344:     12(int) FunctionCall 16(Fn1(u1;) 343(param)
+             347:           2 FunctionCall 34(Fn2(f1;) 346(param)
+             348:   18(float) Load 346(param)
+                              Store 345(tempArg) 348
+             349:          63 Load 65(g_tTex1df1)
+             350:     57(ptr) AccessChain 56 48
+             351:      6(int) Load 350
+             352:   18(float) Load 345(tempArg)
+                              ImageWrite 349 351 352
+             355:           2 FunctionCall 26(Fn2(i1;) 354(param)
+             356:      6(int) Load 354(param)
+                              Store 353(tempArg) 356
+             357:          76 Load 78(g_tTex1di1)
+             358:     57(ptr) AccessChain 56 48
+             359:      6(int) Load 358
+             360:      6(int) Load 353(tempArg)
+                              ImageWrite 357 359 360
+             363:           2 FunctionCall 30(Fn2(u1;) 362(param)
+             364:     12(int) Load 362(param)
+                              Store 361(tempArg) 364
+             365:          84 Load 86(g_tTex1du1)
+             366:     57(ptr) AccessChain 56 48
+             367:      6(int) Load 366
+             368:     12(int) Load 361(tempArg)
+                              ImageWrite 365 367 368
+             370:     57(ptr) AccessChain 56 48
+             371:      6(int) Load 370
+                              Store 369(coordTemp) 371
+             373:          63 Load 65(g_tTex1df1)
+             374:      6(int) Load 369(coordTemp)
+             375:   18(float) ImageRead 373 374
+                              Store 372(storeTemp) 375
+             376:   18(float) Load 372(storeTemp)
+             378:   18(float) FAdd 376 377
+                              Store 372(storeTemp) 378
+             379:          63 Load 65(g_tTex1df1)
+             380:      6(int) Load 369(coordTemp)
+             381:   18(float) Load 372(storeTemp)
+                              ImageWrite 379 380 381
+             383:     57(ptr) AccessChain 56 48
+             384:      6(int) Load 383
+                              Store 382(coordTemp) 384
+             386:          76 Load 78(g_tTex1di1)
+             387:      6(int) Load 382(coordTemp)
+             388:      6(int) ImageRead 386 387
+                              Store 385(storeTemp) 388
+             389:      6(int) Load 385(storeTemp)
+             390:      6(int) IAdd 389 96
+                              Store 385(storeTemp) 390
+             391:          76 Load 78(g_tTex1di1)
+             392:      6(int) Load 382(coordTemp)
+             393:      6(int) Load 385(storeTemp)
+                              ImageWrite 391 392 393
+             395:     57(ptr) AccessChain 56 48
+             396:      6(int) Load 395
+                              Store 394(coordTemp) 396
+             398:          84 Load 86(g_tTex1du1)
+             399:      6(int) Load 394(coordTemp)
+             400:     12(int) ImageRead 398 399
+                              Store 397(storeTemp) 400
+             401:     12(int) Load 397(storeTemp)
+             402:     12(int) IAdd 401 96
+                              Store 397(storeTemp) 402
+             403:          84 Load 86(g_tTex1du1)
+             404:      6(int) Load 394(coordTemp)
+             405:     12(int) Load 397(storeTemp)
+                              ImageWrite 403 404 405
+             407:     57(ptr) AccessChain 56 48
+             408:      6(int) Load 407
+                              Store 406(coordTemp) 408
+             410:          63 Load 65(g_tTex1df1)
+             411:      6(int) Load 406(coordTemp)
+             412:   18(float) ImageRead 410 411
+                              Store 409(storeTemp) 412
+             413:   18(float) Load 409(storeTemp)
+             414:   18(float) FSub 413 377
+                              Store 409(storeTemp) 414
+             415:          63 Load 65(g_tTex1df1)
+             416:      6(int) Load 406(coordTemp)
+             417:   18(float) Load 409(storeTemp)
+                              ImageWrite 415 416 417
+             419:     57(ptr) AccessChain 56 48
+             420:      6(int) Load 419
+                              Store 418(coordTemp) 420
+             422:          76 Load 78(g_tTex1di1)
+             423:      6(int) Load 418(coordTemp)
+             424:      6(int) ImageRead 422 423
+                              Store 421(storeTemp) 424
+             425:      6(int) Load 421(storeTemp)
+             426:      6(int) ISub 425 96
+                              Store 421(storeTemp) 426
+             427:          76 Load 78(g_tTex1di1)
+             428:      6(int) Load 418(coordTemp)
+             429:      6(int) Load 421(storeTemp)
+                              ImageWrite 427 428 429
+             431:     57(ptr) AccessChain 56 48
+             432:      6(int) Load 431
+                              Store 430(coordTemp) 432
+             434:          84 Load 86(g_tTex1du1)
+             435:      6(int) Load 430(coordTemp)
+             436:     12(int) ImageRead 434 435
+                              Store 433(storeTemp) 436
+             437:     12(int) Load 433(storeTemp)
+             438:     12(int) ISub 437 96
+                              Store 433(storeTemp) 438
+             439:          84 Load 86(g_tTex1du1)
+             440:      6(int) Load 430(coordTemp)
+             441:     12(int) Load 433(storeTemp)
+                              ImageWrite 439 440 441
+             443:     57(ptr) AccessChain 56 48
+             444:      6(int) Load 443
+                              Store 442(coordTemp) 444
+             446:          63 Load 65(g_tTex1df1)
+             447:      6(int) Load 442(coordTemp)
+             448:   18(float) ImageRead 446 447
+                              Store 445(storeTempPre) 448
+             450:   18(float) Load 445(storeTempPre)
+                              Store 449(storeTempPost) 450
+             451:   18(float) Load 449(storeTempPost)
+             452:   18(float) FAdd 451 377
+                              Store 449(storeTempPost) 452
+             453:          63 Load 65(g_tTex1df1)
+             454:      6(int) Load 442(coordTemp)
+             455:   18(float) Load 449(storeTempPost)
+                              ImageWrite 453 454 455
+             457:     57(ptr) AccessChain 56 48
+             458:      6(int) Load 457
+                              Store 456(coordTemp) 458
+             460:          84 Load 86(g_tTex1du1)
+             461:      6(int) Load 456(coordTemp)
+             462:     12(int) ImageRead 460 461
+                              Store 459(storeTempPre) 462
+             464:     12(int) Load 459(storeTempPre)
+                              Store 463(storeTempPost) 464
+             465:     12(int) Load 463(storeTempPost)
+             466:     12(int) ISub 465 96
+                              Store 463(storeTempPost) 466
+             467:          84 Load 86(g_tTex1du1)
+             468:      6(int) Load 456(coordTemp)
+             469:     12(int) Load 463(storeTempPost)
+                              ImageWrite 467 468 469
+             471:     57(ptr) AccessChain 56 48
+             472:      6(int) Load 471
+                              Store 470(coordTemp) 472
+             474:          76 Load 78(g_tTex1di1)
+             475:      6(int) Load 470(coordTemp)
+             476:      6(int) ImageRead 474 475
+                              Store 473(storeTempPre) 476
+             478:      6(int) Load 473(storeTempPre)
+                              Store 477(storeTempPost) 478
+             479:      6(int) Load 477(storeTempPost)
+             480:      6(int) IAdd 479 96
+                              Store 477(storeTempPost) 480
+             481:          76 Load 78(g_tTex1di1)
+             482:      6(int) Load 470(coordTemp)
+             483:      6(int) Load 477(storeTempPost)
+                              ImageWrite 481 482 483
+             485:     57(ptr) AccessChain 56 48
+             486:      6(int) Load 485
+                              Store 484(coordTemp) 486
+             488:          63 Load 65(g_tTex1df1)
+             489:      6(int) Load 484(coordTemp)
+             490:   18(float) ImageRead 488 489
+                              Store 487(storeTempPre) 490
+             492:   18(float) Load 487(storeTempPre)
+                              Store 491(storeTempPost) 492
+             493:   18(float) Load 491(storeTempPost)
+             494:   18(float) FSub 493 377
+                              Store 491(storeTempPost) 494
+             495:          63 Load 65(g_tTex1df1)
+             496:      6(int) Load 484(coordTemp)
+             497:   18(float) Load 491(storeTempPost)
+                              ImageWrite 495 496 497
+             499:     57(ptr) AccessChain 56 48
+             500:      6(int) Load 499
+                              Store 498(coordTemp) 500
+             502:          76 Load 78(g_tTex1di1)
+             503:      6(int) Load 498(coordTemp)
+             504:      6(int) ImageRead 502 503
+                              Store 501(storeTempPre) 504
+             506:      6(int) Load 501(storeTempPre)
+                              Store 505(storeTempPost) 506
+             507:      6(int) Load 505(storeTempPost)
+             508:      6(int) IAdd 507 96
+                              Store 505(storeTempPost) 508
+             509:          76 Load 78(g_tTex1di1)
+             510:      6(int) Load 498(coordTemp)
+             511:      6(int) Load 505(storeTempPost)
+                              ImageWrite 509 510 511
+             513:     57(ptr) AccessChain 56 48
+             514:      6(int) Load 513
+                              Store 512(coordTemp) 514
+             516:          84 Load 86(g_tTex1du1)
+             517:      6(int) Load 512(coordTemp)
+             518:     12(int) ImageRead 516 517
+                              Store 515(storeTempPre) 518
+             520:     12(int) Load 515(storeTempPre)
+                              Store 519(storeTempPost) 520
+             521:     12(int) Load 519(storeTempPost)
+             522:     12(int) ISub 521 96
+                              Store 519(storeTempPost) 522
+             523:          84 Load 86(g_tTex1du1)
+             524:      6(int) Load 512(coordTemp)
+             525:     12(int) Load 519(storeTempPost)
+                              ImageWrite 523 524 525
+             527:          92 Load 94(g_tTex2df1)
+             530:   18(float) ImageRead 527 529
+                              Store 526(storeTemp) 530
+             531:          63 Load 65(g_tTex1df1)
+             532:   18(float) Load 526(storeTemp)
+                              ImageWrite 531 96 532
+             539:    538(ptr) AccessChain 536(psout) 48
+                              Store 539 537
+             542:    538(ptr) AccessChain 536(psout) 48
+             543:  533(fvec4) Load 542
+                              Store 541(Color) 543
+                              Return
+                              FunctionEnd
+     10(Fn1(i1;):      6(int) Function None 8
+            9(x):      7(ptr) FunctionParameter
+              11:             Label
+              39:      6(int) Load 9(x)
+                              ReturnValue 39
+                              FunctionEnd
+     16(Fn1(u1;):     12(int) Function None 14
+           15(x):     13(ptr) FunctionParameter
+              17:             Label
+              42:     12(int) Load 15(x)
+                              ReturnValue 42
+                              FunctionEnd
+     22(Fn1(f1;):   18(float) Function None 20
+           21(x):     19(ptr) FunctionParameter
+              23:             Label
+              45:   18(float) Load 21(x)
+                              ReturnValue 45
+                              FunctionEnd
+     26(Fn2(i1;):           2 Function None 24
+           25(x):      7(ptr) FunctionParameter
+              27:             Label
+                              Store 25(x) 48
+                              Return
+                              FunctionEnd
+     30(Fn2(u1;):           2 Function None 28
+           29(x):     13(ptr) FunctionParameter
+              31:             Label
+                              Store 29(x) 49
+                              Return
+                              FunctionEnd
+     34(Fn2(f1;):           2 Function None 32
+           33(x):     19(ptr) FunctionParameter
+              35:             Label
+                              Store 33(x) 50
+                              Return
+                              FunctionEnd
+  37(SomeValue():   18(float) Function None 36
+              38:             Label
+              58:     57(ptr) AccessChain 56 48
+              59:      6(int) Load 58
+              60:   18(float) ConvertSToF 59
+                              ReturnValue 60
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
new file mode 100644 (file)
index 0000000..b8452c3
--- /dev/null
@@ -0,0 +1,2613 @@
+hlsl.rw.vec2.bracket.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:42  Function Definition: Fn1(vi2; (temp 2-component vector of int)
+0:42    Function Parameters: 
+0:42      'x' (in 2-component vector of int)
+0:?     Sequence
+0:42      Branch: Return with expression
+0:42        'x' (in 2-component vector of int)
+0:43  Function Definition: Fn1(vu2; (temp 2-component vector of uint)
+0:43    Function Parameters: 
+0:43      'x' (in 2-component vector of uint)
+0:?     Sequence
+0:43      Branch: Return with expression
+0:43        'x' (in 2-component vector of uint)
+0:44  Function Definition: Fn1(vf2; (temp 2-component vector of float)
+0:44    Function Parameters: 
+0:44      'x' (in 2-component vector of float)
+0:?     Sequence
+0:44      Branch: Return with expression
+0:44        'x' (in 2-component vector of float)
+0:46  Function Definition: Fn2(vi2; (temp void)
+0:46    Function Parameters: 
+0:46      'x' (out 2-component vector of int)
+0:?     Sequence
+0:46      move second child to first child (temp 2-component vector of int)
+0:46        'x' (out 2-component vector of int)
+0:?         Constant:
+0:?           0 (const int)
+0:?           0 (const int)
+0:47  Function Definition: Fn2(vu2; (temp void)
+0:47    Function Parameters: 
+0:47      'x' (out 2-component vector of uint)
+0:?     Sequence
+0:47      move second child to first child (temp 2-component vector of uint)
+0:47        'x' (out 2-component vector of uint)
+0:?         Constant:
+0:?           0 (const uint)
+0:?           0 (const uint)
+0:48  Function Definition: Fn2(vf2; (temp void)
+0:48    Function Parameters: 
+0:48      'x' (out 2-component vector of float)
+0:?     Sequence
+0:48      move second child to first child (temp 2-component vector of float)
+0:48        'x' (out 2-component vector of float)
+0:?         Constant:
+0:?           0.000000
+0:?           0.000000
+0:50  Function Definition: SomeValue( (temp 2-component vector of float)
+0:50    Function Parameters: 
+0:?     Sequence
+0:50      Branch: Return with expression
+0:50        Convert int to float (temp 2-component vector of float)
+0:50          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:50            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:50            Constant:
+0:50              1 (const uint)
+0:53  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:53    Function Parameters: 
+0:?     Sequence
+0:57      imageLoad (temp 2-component vector of float)
+0:57        'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:57        c1: direct index for structure (layout(offset=0 ) uniform int)
+0:57          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:57          Constant:
+0:57            0 (const uint)
+0:59      Sequence
+0:59        move second child to first child (temp 2-component vector of float)
+0:59          'r00' (temp 2-component vector of float)
+0:59          imageLoad (temp 2-component vector of float)
+0:59            'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:59            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:59              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:59              Constant:
+0:59                0 (const uint)
+0:60      Sequence
+0:60        move second child to first child (temp 2-component vector of int)
+0:60          'r01' (temp 2-component vector of int)
+0:60          imageLoad (temp 2-component vector of int)
+0:60            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:60            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:60              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:60              Constant:
+0:60                0 (const uint)
+0:61      Sequence
+0:61        move second child to first child (temp 2-component vector of uint)
+0:61          'r02' (temp 2-component vector of uint)
+0:61          imageLoad (temp 2-component vector of uint)
+0:61            'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:61            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:61              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:61              Constant:
+0:61                0 (const uint)
+0:64      Sequence
+0:64        move second child to first child (temp 2-component vector of float)
+0:64          'r10' (temp 2-component vector of float)
+0:64          imageLoad (temp 2-component vector of float)
+0:64            'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:64            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:64              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:64              Constant:
+0:64                1 (const uint)
+0:65      Sequence
+0:65        move second child to first child (temp 2-component vector of int)
+0:65          'r11' (temp 2-component vector of int)
+0:65          imageLoad (temp 2-component vector of int)
+0:65            'g_tTex2di2' (layout(rg32i ) uniform iimage2D)
+0:65            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:65              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:65              Constant:
+0:65                1 (const uint)
+0:66      Sequence
+0:66        move second child to first child (temp 2-component vector of uint)
+0:66          'r12' (temp 2-component vector of uint)
+0:66          imageLoad (temp 2-component vector of uint)
+0:66            'g_tTex2du2' (layout(rg32ui ) uniform uimage2D)
+0:66            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:66              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:66              Constant:
+0:66                1 (const uint)
+0:69      Sequence
+0:69        move second child to first child (temp 2-component vector of float)
+0:69          'r20' (temp 2-component vector of float)
+0:69          imageLoad (temp 2-component vector of float)
+0:69            'g_tTex3df2' (layout(rg32f ) uniform image3D)
+0:69            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:69              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:69              Constant:
+0:69                2 (const uint)
+0:70      Sequence
+0:70        move second child to first child (temp 2-component vector of int)
+0:70          'r21' (temp 2-component vector of int)
+0:70          imageLoad (temp 2-component vector of int)
+0:70            'g_tTex3di2' (layout(rg32i ) uniform iimage3D)
+0:70            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:70              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:70              Constant:
+0:70                2 (const uint)
+0:71      Sequence
+0:71        move second child to first child (temp 2-component vector of uint)
+0:71          'r22' (temp 2-component vector of uint)
+0:71          imageLoad (temp 2-component vector of uint)
+0:71            'g_tTex3du2' (layout(rg32ui ) uniform uimage3D)
+0:71            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:71              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:71              Constant:
+0:71                2 (const uint)
+0:73      Sequence
+0:73        move second child to first child (temp 2-component vector of float)
+0:73          'lf2' (temp 2-component vector of float)
+0:73          uf2: direct index for structure (layout(offset=96 ) uniform 2-component vector of float)
+0:73            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:73            Constant:
+0:73              8 (const uint)
+0:77      Sequence
+0:77        move second child to first child (temp 2-component vector of float)
+0:77          'storeTemp' (temp 2-component vector of float)
+0:77          Function Call: SomeValue( (temp 2-component vector of float)
+0:77        imageStore (temp void)
+0:77          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:77          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:77            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:77            Constant:
+0:77              0 (const uint)
+0:77          'storeTemp' (temp 2-component vector of float)
+0:77        'storeTemp' (temp 2-component vector of float)
+0:78      Sequence
+0:78        imageStore (temp void)
+0:78          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:78          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:78            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:78            Constant:
+0:78              0 (const uint)
+0:78          'lf2' (temp 2-component vector of float)
+0:78        'lf2' (temp 2-component vector of float)
+0:79      Sequence
+0:79        move second child to first child (temp 2-component vector of int)
+0:79          'storeTemp' (temp 2-component vector of int)
+0:?           Constant:
+0:?             2 (const int)
+0:?             2 (const int)
+0:79        imageStore (temp void)
+0:79          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:79          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:79            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:79            Constant:
+0:79              0 (const uint)
+0:79          'storeTemp' (temp 2-component vector of int)
+0:79        'storeTemp' (temp 2-component vector of int)
+0:80      Sequence
+0:80        move second child to first child (temp 2-component vector of uint)
+0:80          'storeTemp' (temp 2-component vector of uint)
+0:?           Constant:
+0:?             3 (const uint)
+0:?             2 (const uint)
+0:80        imageStore (temp void)
+0:80          'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:80          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:80            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:80            Constant:
+0:80              0 (const uint)
+0:80          'storeTemp' (temp 2-component vector of uint)
+0:80        'storeTemp' (temp 2-component vector of uint)
+0:83      Sequence
+0:83        move second child to first child (temp 2-component vector of float)
+0:83          'val1' (temp 2-component vector of float)
+0:83          Sequence
+0:83            move second child to first child (temp int)
+0:83              'coordTemp' (temp int)
+0:83              c1: direct index for structure (layout(offset=0 ) uniform int)
+0:83                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:83                Constant:
+0:83                  0 (const uint)
+0:83            move second child to first child (temp 2-component vector of float)
+0:83              'storeTemp' (temp 2-component vector of float)
+0:83              imageLoad (temp 2-component vector of float)
+0:83                'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:83                'coordTemp' (temp int)
+0:83            vector scale second child into first child (temp 2-component vector of float)
+0:83              'storeTemp' (temp 2-component vector of float)
+0:83              Constant:
+0:83                2.000000
+0:83            imageStore (temp void)
+0:83              'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:83              'coordTemp' (temp int)
+0:83              'storeTemp' (temp 2-component vector of float)
+0:83            'storeTemp' (temp 2-component vector of float)
+0:84      Sequence
+0:84        move second child to first child (temp int)
+0:84          'coordTemp' (temp int)
+0:84          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:84            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:84            Constant:
+0:84              0 (const uint)
+0:84        move second child to first child (temp 2-component vector of float)
+0:84          'storeTemp' (temp 2-component vector of float)
+0:84          imageLoad (temp 2-component vector of float)
+0:84            'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:84            'coordTemp' (temp int)
+0:84        subtract second child into first child (temp 2-component vector of float)
+0:84          'storeTemp' (temp 2-component vector of float)
+0:84          Constant:
+0:84            3.000000
+0:84        imageStore (temp void)
+0:84          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:84          'coordTemp' (temp int)
+0:84          'storeTemp' (temp 2-component vector of float)
+0:84        'storeTemp' (temp 2-component vector of float)
+0:85      Sequence
+0:85        move second child to first child (temp int)
+0:85          'coordTemp' (temp int)
+0:85          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:85            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:85            Constant:
+0:85              0 (const uint)
+0:85        move second child to first child (temp 2-component vector of float)
+0:85          'storeTemp' (temp 2-component vector of float)
+0:85          imageLoad (temp 2-component vector of float)
+0:85            'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:85            'coordTemp' (temp int)
+0:85        add second child into first child (temp 2-component vector of float)
+0:85          'storeTemp' (temp 2-component vector of float)
+0:85          Constant:
+0:85            4.000000
+0:85        imageStore (temp void)
+0:85          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:85          'coordTemp' (temp int)
+0:85          'storeTemp' (temp 2-component vector of float)
+0:85        'storeTemp' (temp 2-component vector of float)
+0:87      Sequence
+0:87        move second child to first child (temp int)
+0:87          'coordTemp' (temp int)
+0:87          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:87            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:87            Constant:
+0:87              0 (const uint)
+0:87        move second child to first child (temp 2-component vector of int)
+0:87          'storeTemp' (temp 2-component vector of int)
+0:87          imageLoad (temp 2-component vector of int)
+0:87            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:87            'coordTemp' (temp int)
+0:87        divide second child into first child (temp 2-component vector of int)
+0:87          'storeTemp' (temp 2-component vector of int)
+0:87          Constant:
+0:87            2 (const int)
+0:87        imageStore (temp void)
+0:87          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:87          'coordTemp' (temp int)
+0:87          'storeTemp' (temp 2-component vector of int)
+0:87        'storeTemp' (temp 2-component vector of int)
+0:88      Sequence
+0:88        move second child to first child (temp int)
+0:88          'coordTemp' (temp int)
+0:88          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:88            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:88            Constant:
+0:88              0 (const uint)
+0:88        move second child to first child (temp 2-component vector of int)
+0:88          'storeTemp' (temp 2-component vector of int)
+0:88          imageLoad (temp 2-component vector of int)
+0:88            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:88            'coordTemp' (temp int)
+0:88        mod second child into first child (temp 2-component vector of int)
+0:88          'storeTemp' (temp 2-component vector of int)
+0:88          Constant:
+0:88            2 (const int)
+0:88        imageStore (temp void)
+0:88          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:88          'coordTemp' (temp int)
+0:88          'storeTemp' (temp 2-component vector of int)
+0:88        'storeTemp' (temp 2-component vector of int)
+0:89      Sequence
+0:89        move second child to first child (temp int)
+0:89          'coordTemp' (temp int)
+0:89          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:89            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:89            Constant:
+0:89              0 (const uint)
+0:89        move second child to first child (temp 2-component vector of int)
+0:89          'storeTemp' (temp 2-component vector of int)
+0:89          imageLoad (temp 2-component vector of int)
+0:89            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:89            'coordTemp' (temp int)
+0:89        and second child into first child (temp 2-component vector of int)
+0:89          'storeTemp' (temp 2-component vector of int)
+0:89          Constant:
+0:89            65535 (const int)
+0:89        imageStore (temp void)
+0:89          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:89          'coordTemp' (temp int)
+0:89          'storeTemp' (temp 2-component vector of int)
+0:89        'storeTemp' (temp 2-component vector of int)
+0:90      Sequence
+0:90        move second child to first child (temp int)
+0:90          'coordTemp' (temp int)
+0:90          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:90            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:90            Constant:
+0:90              0 (const uint)
+0:90        move second child to first child (temp 2-component vector of int)
+0:90          'storeTemp' (temp 2-component vector of int)
+0:90          imageLoad (temp 2-component vector of int)
+0:90            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:90            'coordTemp' (temp int)
+0:90        or second child into first child (temp 2-component vector of int)
+0:90          'storeTemp' (temp 2-component vector of int)
+0:90          Constant:
+0:90            61680 (const int)
+0:90        imageStore (temp void)
+0:90          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:90          'coordTemp' (temp int)
+0:90          'storeTemp' (temp 2-component vector of int)
+0:90        'storeTemp' (temp 2-component vector of int)
+0:91      Sequence
+0:91        move second child to first child (temp int)
+0:91          'coordTemp' (temp int)
+0:91          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:91            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:91            Constant:
+0:91              0 (const uint)
+0:91        move second child to first child (temp 2-component vector of int)
+0:91          'storeTemp' (temp 2-component vector of int)
+0:91          imageLoad (temp 2-component vector of int)
+0:91            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:91            'coordTemp' (temp int)
+0:91        left shift second child into first child (temp 2-component vector of int)
+0:91          'storeTemp' (temp 2-component vector of int)
+0:91          Constant:
+0:91            2 (const int)
+0:91        imageStore (temp void)
+0:91          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:91          'coordTemp' (temp int)
+0:91          'storeTemp' (temp 2-component vector of int)
+0:91        'storeTemp' (temp 2-component vector of int)
+0:92      Sequence
+0:92        move second child to first child (temp int)
+0:92          'coordTemp' (temp int)
+0:92          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:92            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:92            Constant:
+0:92              0 (const uint)
+0:92        move second child to first child (temp 2-component vector of int)
+0:92          'storeTemp' (temp 2-component vector of int)
+0:92          imageLoad (temp 2-component vector of int)
+0:92            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:92            'coordTemp' (temp int)
+0:92        right shift second child into first child (temp 2-component vector of int)
+0:92          'storeTemp' (temp 2-component vector of int)
+0:92          Constant:
+0:92            2 (const int)
+0:92        imageStore (temp void)
+0:92          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:92          'coordTemp' (temp int)
+0:92          'storeTemp' (temp 2-component vector of int)
+0:92        'storeTemp' (temp 2-component vector of int)
+0:95      Sequence
+0:95        move second child to first child (temp 2-component vector of float)
+0:95          'storeTemp' (temp 2-component vector of float)
+0:95          Function Call: SomeValue( (temp 2-component vector of float)
+0:95        imageStore (temp void)
+0:95          'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:95          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:95            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:95            Constant:
+0:95              1 (const uint)
+0:95          'storeTemp' (temp 2-component vector of float)
+0:95        'storeTemp' (temp 2-component vector of float)
+0:96      Sequence
+0:96        imageStore (temp void)
+0:96          'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:96          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:96            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:96            Constant:
+0:96              1 (const uint)
+0:96          'lf2' (temp 2-component vector of float)
+0:96        'lf2' (temp 2-component vector of float)
+0:97      Sequence
+0:97        move second child to first child (temp 2-component vector of int)
+0:97          'storeTemp' (temp 2-component vector of int)
+0:?           Constant:
+0:?             5 (const int)
+0:?             2 (const int)
+0:97        imageStore (temp void)
+0:97          'g_tTex2di2' (layout(rg32i ) uniform iimage2D)
+0:97          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:97            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:97            Constant:
+0:97              1 (const uint)
+0:97          'storeTemp' (temp 2-component vector of int)
+0:97        'storeTemp' (temp 2-component vector of int)
+0:98      Sequence
+0:98        move second child to first child (temp 2-component vector of uint)
+0:98          'storeTemp' (temp 2-component vector of uint)
+0:?           Constant:
+0:?             6 (const uint)
+0:?             2 (const uint)
+0:98        imageStore (temp void)
+0:98          'g_tTex2du2' (layout(rg32ui ) uniform uimage2D)
+0:98          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:98            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:98            Constant:
+0:98              1 (const uint)
+0:98          'storeTemp' (temp 2-component vector of uint)
+0:98        'storeTemp' (temp 2-component vector of uint)
+0:101      Sequence
+0:101        move second child to first child (temp 2-component vector of float)
+0:101          'storeTemp' (temp 2-component vector of float)
+0:101          Function Call: SomeValue( (temp 2-component vector of float)
+0:101        imageStore (temp void)
+0:101          'g_tTex3df2' (layout(rg32f ) uniform image3D)
+0:101          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:101            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:101            Constant:
+0:101              2 (const uint)
+0:101          'storeTemp' (temp 2-component vector of float)
+0:101        'storeTemp' (temp 2-component vector of float)
+0:102      Sequence
+0:102        imageStore (temp void)
+0:102          'g_tTex3df2' (layout(rg32f ) uniform image3D)
+0:102          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:102            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:102            Constant:
+0:102              2 (const uint)
+0:102          'lf2' (temp 2-component vector of float)
+0:102        'lf2' (temp 2-component vector of float)
+0:103      Sequence
+0:103        move second child to first child (temp 2-component vector of int)
+0:103          'storeTemp' (temp 2-component vector of int)
+0:?           Constant:
+0:?             8 (const int)
+0:?             6 (const int)
+0:103        imageStore (temp void)
+0:103          'g_tTex3di2' (layout(rg32i ) uniform iimage3D)
+0:103          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:103            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:103            Constant:
+0:103              2 (const uint)
+0:103          'storeTemp' (temp 2-component vector of int)
+0:103        'storeTemp' (temp 2-component vector of int)
+0:104      Sequence
+0:104        move second child to first child (temp 2-component vector of uint)
+0:104          'storeTemp' (temp 2-component vector of uint)
+0:?           Constant:
+0:?             9 (const uint)
+0:?             2 (const uint)
+0:104        imageStore (temp void)
+0:104          'g_tTex3du2' (layout(rg32ui ) uniform uimage3D)
+0:104          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:104            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:104            Constant:
+0:104              2 (const uint)
+0:104          'storeTemp' (temp 2-component vector of uint)
+0:104        'storeTemp' (temp 2-component vector of uint)
+0:107      Function Call: Fn1(vf2; (temp 2-component vector of float)
+0:107        imageLoad (temp 2-component vector of float)
+0:107          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:107          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:107            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:107            Constant:
+0:107              0 (const uint)
+0:108      Function Call: Fn1(vi2; (temp 2-component vector of int)
+0:108        imageLoad (temp 2-component vector of int)
+0:108          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:108          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:108            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:108            Constant:
+0:108              0 (const uint)
+0:109      Function Call: Fn1(vu2; (temp 2-component vector of uint)
+0:109        imageLoad (temp 2-component vector of uint)
+0:109          'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:109          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:109            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:109            Constant:
+0:109              0 (const uint)
+0:111      Comma (temp void)
+0:111        Function Call: Fn2(vf2; (temp void)
+0:111          'tempArg' (temp 2-component vector of float)
+0:111        Sequence
+0:111          imageStore (temp void)
+0:111            'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:111            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:111              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:111              Constant:
+0:111                0 (const uint)
+0:111            'tempArg' (temp 2-component vector of float)
+0:111          'tempArg' (temp 2-component vector of float)
+0:112      Comma (temp void)
+0:112        Function Call: Fn2(vi2; (temp void)
+0:112          'tempArg' (temp 2-component vector of int)
+0:112        Sequence
+0:112          imageStore (temp void)
+0:112            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:112            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:112              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:112              Constant:
+0:112                0 (const uint)
+0:112            'tempArg' (temp 2-component vector of int)
+0:112          'tempArg' (temp 2-component vector of int)
+0:113      Comma (temp void)
+0:113        Function Call: Fn2(vu2; (temp void)
+0:113          'tempArg' (temp 2-component vector of uint)
+0:113        Sequence
+0:113          imageStore (temp void)
+0:113            'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:113            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:113              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:113              Constant:
+0:113                0 (const uint)
+0:113            'tempArg' (temp 2-component vector of uint)
+0:113          'tempArg' (temp 2-component vector of uint)
+0:117      Sequence
+0:117        move second child to first child (temp int)
+0:117          'coordTemp' (temp int)
+0:117          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:117            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:117            Constant:
+0:117              0 (const uint)
+0:117        move second child to first child (temp 2-component vector of float)
+0:117          'storeTemp' (temp 2-component vector of float)
+0:117          imageLoad (temp 2-component vector of float)
+0:117            'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:117            'coordTemp' (temp int)
+0:117        Pre-Increment (temp 2-component vector of float)
+0:117          'storeTemp' (temp 2-component vector of float)
+0:117        imageStore (temp void)
+0:117          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:117          'coordTemp' (temp int)
+0:117          'storeTemp' (temp 2-component vector of float)
+0:117        'storeTemp' (temp 2-component vector of float)
+0:118      Sequence
+0:118        move second child to first child (temp int)
+0:118          'coordTemp' (temp int)
+0:118          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:118            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:118            Constant:
+0:118              0 (const uint)
+0:118        move second child to first child (temp 2-component vector of int)
+0:118          'storeTemp' (temp 2-component vector of int)
+0:118          imageLoad (temp 2-component vector of int)
+0:118            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:118            'coordTemp' (temp int)
+0:118        Pre-Increment (temp 2-component vector of int)
+0:118          'storeTemp' (temp 2-component vector of int)
+0:118        imageStore (temp void)
+0:118          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:118          'coordTemp' (temp int)
+0:118          'storeTemp' (temp 2-component vector of int)
+0:118        'storeTemp' (temp 2-component vector of int)
+0:119      Sequence
+0:119        move second child to first child (temp int)
+0:119          'coordTemp' (temp int)
+0:119          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:119            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:119            Constant:
+0:119              0 (const uint)
+0:119        move second child to first child (temp 2-component vector of uint)
+0:119          'storeTemp' (temp 2-component vector of uint)
+0:119          imageLoad (temp 2-component vector of uint)
+0:119            'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:119            'coordTemp' (temp int)
+0:119        Pre-Increment (temp 2-component vector of uint)
+0:119          'storeTemp' (temp 2-component vector of uint)
+0:119        imageStore (temp void)
+0:119          'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:119          'coordTemp' (temp int)
+0:119          'storeTemp' (temp 2-component vector of uint)
+0:119        'storeTemp' (temp 2-component vector of uint)
+0:121      Sequence
+0:121        move second child to first child (temp int)
+0:121          'coordTemp' (temp int)
+0:121          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:121            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:121            Constant:
+0:121              0 (const uint)
+0:121        move second child to first child (temp 2-component vector of float)
+0:121          'storeTemp' (temp 2-component vector of float)
+0:121          imageLoad (temp 2-component vector of float)
+0:121            'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:121            'coordTemp' (temp int)
+0:121        Pre-Decrement (temp 2-component vector of float)
+0:121          'storeTemp' (temp 2-component vector of float)
+0:121        imageStore (temp void)
+0:121          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:121          'coordTemp' (temp int)
+0:121          'storeTemp' (temp 2-component vector of float)
+0:121        'storeTemp' (temp 2-component vector of float)
+0:122      Sequence
+0:122        move second child to first child (temp int)
+0:122          'coordTemp' (temp int)
+0:122          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:122            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:122            Constant:
+0:122              0 (const uint)
+0:122        move second child to first child (temp 2-component vector of int)
+0:122          'storeTemp' (temp 2-component vector of int)
+0:122          imageLoad (temp 2-component vector of int)
+0:122            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:122            'coordTemp' (temp int)
+0:122        Pre-Decrement (temp 2-component vector of int)
+0:122          'storeTemp' (temp 2-component vector of int)
+0:122        imageStore (temp void)
+0:122          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:122          'coordTemp' (temp int)
+0:122          'storeTemp' (temp 2-component vector of int)
+0:122        'storeTemp' (temp 2-component vector of int)
+0:123      Sequence
+0:123        move second child to first child (temp int)
+0:123          'coordTemp' (temp int)
+0:123          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:123            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:123            Constant:
+0:123              0 (const uint)
+0:123        move second child to first child (temp 2-component vector of uint)
+0:123          'storeTemp' (temp 2-component vector of uint)
+0:123          imageLoad (temp 2-component vector of uint)
+0:123            'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:123            'coordTemp' (temp int)
+0:123        Pre-Decrement (temp 2-component vector of uint)
+0:123          'storeTemp' (temp 2-component vector of uint)
+0:123        imageStore (temp void)
+0:123          'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:123          'coordTemp' (temp int)
+0:123          'storeTemp' (temp 2-component vector of uint)
+0:123        'storeTemp' (temp 2-component vector of uint)
+0:126      Sequence
+0:126        move second child to first child (temp int)
+0:126          'coordTemp' (temp int)
+0:126          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:126            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:126            Constant:
+0:126              0 (const uint)
+0:126        move second child to first child (temp 2-component vector of float)
+0:126          'storeTempPre' (temp 2-component vector of float)
+0:126          imageLoad (temp 2-component vector of float)
+0:126            'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:126            'coordTemp' (temp int)
+0:126        move second child to first child (temp 2-component vector of float)
+0:126          'storeTempPost' (temp 2-component vector of float)
+0:126          'storeTempPre' (temp 2-component vector of float)
+0:126        Post-Increment (temp 2-component vector of float)
+0:126          'storeTempPost' (temp 2-component vector of float)
+0:126        imageStore (temp void)
+0:126          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:126          'coordTemp' (temp int)
+0:126          'storeTempPost' (temp 2-component vector of float)
+0:126        'storeTempPre' (temp 2-component vector of float)
+0:127      Sequence
+0:127        move second child to first child (temp int)
+0:127          'coordTemp' (temp int)
+0:127          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:127            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:127            Constant:
+0:127              0 (const uint)
+0:127        move second child to first child (temp 2-component vector of uint)
+0:127          'storeTempPre' (temp 2-component vector of uint)
+0:127          imageLoad (temp 2-component vector of uint)
+0:127            'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:127            'coordTemp' (temp int)
+0:127        move second child to first child (temp 2-component vector of uint)
+0:127          'storeTempPost' (temp 2-component vector of uint)
+0:127          'storeTempPre' (temp 2-component vector of uint)
+0:127        Post-Decrement (temp 2-component vector of uint)
+0:127          'storeTempPost' (temp 2-component vector of uint)
+0:127        imageStore (temp void)
+0:127          'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:127          'coordTemp' (temp int)
+0:127          'storeTempPost' (temp 2-component vector of uint)
+0:127        'storeTempPre' (temp 2-component vector of uint)
+0:128      Sequence
+0:128        move second child to first child (temp int)
+0:128          'coordTemp' (temp int)
+0:128          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:128            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:128            Constant:
+0:128              0 (const uint)
+0:128        move second child to first child (temp 2-component vector of int)
+0:128          'storeTempPre' (temp 2-component vector of int)
+0:128          imageLoad (temp 2-component vector of int)
+0:128            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:128            'coordTemp' (temp int)
+0:128        move second child to first child (temp 2-component vector of int)
+0:128          'storeTempPost' (temp 2-component vector of int)
+0:128          'storeTempPre' (temp 2-component vector of int)
+0:128        Post-Increment (temp 2-component vector of int)
+0:128          'storeTempPost' (temp 2-component vector of int)
+0:128        imageStore (temp void)
+0:128          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:128          'coordTemp' (temp int)
+0:128          'storeTempPost' (temp 2-component vector of int)
+0:128        'storeTempPre' (temp 2-component vector of int)
+0:130      Sequence
+0:130        move second child to first child (temp int)
+0:130          'coordTemp' (temp int)
+0:130          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:130            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:130            Constant:
+0:130              0 (const uint)
+0:130        move second child to first child (temp 2-component vector of float)
+0:130          'storeTempPre' (temp 2-component vector of float)
+0:130          imageLoad (temp 2-component vector of float)
+0:130            'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:130            'coordTemp' (temp int)
+0:130        move second child to first child (temp 2-component vector of float)
+0:130          'storeTempPost' (temp 2-component vector of float)
+0:130          'storeTempPre' (temp 2-component vector of float)
+0:130        Post-Decrement (temp 2-component vector of float)
+0:130          'storeTempPost' (temp 2-component vector of float)
+0:130        imageStore (temp void)
+0:130          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:130          'coordTemp' (temp int)
+0:130          'storeTempPost' (temp 2-component vector of float)
+0:130        'storeTempPre' (temp 2-component vector of float)
+0:131      Sequence
+0:131        move second child to first child (temp int)
+0:131          'coordTemp' (temp int)
+0:131          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:131            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:131            Constant:
+0:131              0 (const uint)
+0:131        move second child to first child (temp 2-component vector of int)
+0:131          'storeTempPre' (temp 2-component vector of int)
+0:131          imageLoad (temp 2-component vector of int)
+0:131            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:131            'coordTemp' (temp int)
+0:131        move second child to first child (temp 2-component vector of int)
+0:131          'storeTempPost' (temp 2-component vector of int)
+0:131          'storeTempPre' (temp 2-component vector of int)
+0:131        Post-Increment (temp 2-component vector of int)
+0:131          'storeTempPost' (temp 2-component vector of int)
+0:131        imageStore (temp void)
+0:131          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:131          'coordTemp' (temp int)
+0:131          'storeTempPost' (temp 2-component vector of int)
+0:131        'storeTempPre' (temp 2-component vector of int)
+0:132      Sequence
+0:132        move second child to first child (temp int)
+0:132          'coordTemp' (temp int)
+0:132          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:132            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:132            Constant:
+0:132              0 (const uint)
+0:132        move second child to first child (temp 2-component vector of uint)
+0:132          'storeTempPre' (temp 2-component vector of uint)
+0:132          imageLoad (temp 2-component vector of uint)
+0:132            'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:132            'coordTemp' (temp int)
+0:132        move second child to first child (temp 2-component vector of uint)
+0:132          'storeTempPost' (temp 2-component vector of uint)
+0:132          'storeTempPre' (temp 2-component vector of uint)
+0:132        Post-Decrement (temp 2-component vector of uint)
+0:132          'storeTempPost' (temp 2-component vector of uint)
+0:132        imageStore (temp void)
+0:132          'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:132          'coordTemp' (temp int)
+0:132          'storeTempPost' (temp 2-component vector of uint)
+0:132        'storeTempPre' (temp 2-component vector of uint)
+0:135      Sequence
+0:135        move second child to first child (temp 2-component vector of float)
+0:135          'storeTemp' (temp 2-component vector of float)
+0:?           imageLoad (temp 2-component vector of float)
+0:135            'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:?             Constant:
+0:?               2 (const int)
+0:?               3 (const int)
+0:135        imageStore (temp void)
+0:135          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:135          Constant:
+0:135            1 (const int)
+0:135          'storeTemp' (temp 2-component vector of float)
+0:135        'storeTemp' (temp 2-component vector of float)
+0:137      move second child to first child (temp 4-component vector of float)
+0:137        Color: direct index for structure (temp 4-component vector of float)
+0:137          'psout' (temp structure{temp 4-component vector of float Color})
+0:137          Constant:
+0:137            0 (const int)
+0:137        Constant:
+0:137          1.000000
+0:137          1.000000
+0:137          1.000000
+0:137          1.000000
+0:139      Sequence
+0:139        Sequence
+0:139          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:139            Color: direct index for structure (temp 4-component vector of float)
+0:139              'psout' (temp structure{temp 4-component vector of float Color})
+0:139              Constant:
+0:139                0 (const int)
+0:139        Branch: Return
+0:?   Linker Objects
+0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:?     'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:?     'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:?     'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:?     'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:?     'g_tTex2di2' (layout(rg32i ) uniform iimage2D)
+0:?     'g_tTex2du2' (layout(rg32ui ) uniform uimage2D)
+0:?     'g_tTex3df2' (layout(rg32f ) uniform image3D)
+0:?     'g_tTex3di2' (layout(rg32i ) uniform iimage3D)
+0:?     'g_tTex3du2' (layout(rg32ui ) uniform uimage3D)
+0:?     'g_tTex1df2a' (layout(rg32f ) uniform image1DArray)
+0:?     'g_tTex1di2a' (layout(rg32i ) uniform iimage1DArray)
+0:?     'g_tTex1du2a' (layout(rg32ui ) uniform uimage1DArray)
+0:?     'g_tTex2df2a' (layout(rg32f ) uniform image2DArray)
+0:?     'g_tTex2di2a' (layout(rg32i ) uniform iimage2DArray)
+0:?     'g_tTex2du2a' (layout(rg32ui ) uniform uimage2DArray)
+0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:42  Function Definition: Fn1(vi2; (temp 2-component vector of int)
+0:42    Function Parameters: 
+0:42      'x' (in 2-component vector of int)
+0:?     Sequence
+0:42      Branch: Return with expression
+0:42        'x' (in 2-component vector of int)
+0:43  Function Definition: Fn1(vu2; (temp 2-component vector of uint)
+0:43    Function Parameters: 
+0:43      'x' (in 2-component vector of uint)
+0:?     Sequence
+0:43      Branch: Return with expression
+0:43        'x' (in 2-component vector of uint)
+0:44  Function Definition: Fn1(vf2; (temp 2-component vector of float)
+0:44    Function Parameters: 
+0:44      'x' (in 2-component vector of float)
+0:?     Sequence
+0:44      Branch: Return with expression
+0:44        'x' (in 2-component vector of float)
+0:46  Function Definition: Fn2(vi2; (temp void)
+0:46    Function Parameters: 
+0:46      'x' (out 2-component vector of int)
+0:?     Sequence
+0:46      move second child to first child (temp 2-component vector of int)
+0:46        'x' (out 2-component vector of int)
+0:?         Constant:
+0:?           0 (const int)
+0:?           0 (const int)
+0:47  Function Definition: Fn2(vu2; (temp void)
+0:47    Function Parameters: 
+0:47      'x' (out 2-component vector of uint)
+0:?     Sequence
+0:47      move second child to first child (temp 2-component vector of uint)
+0:47        'x' (out 2-component vector of uint)
+0:?         Constant:
+0:?           0 (const uint)
+0:?           0 (const uint)
+0:48  Function Definition: Fn2(vf2; (temp void)
+0:48    Function Parameters: 
+0:48      'x' (out 2-component vector of float)
+0:?     Sequence
+0:48      move second child to first child (temp 2-component vector of float)
+0:48        'x' (out 2-component vector of float)
+0:?         Constant:
+0:?           0.000000
+0:?           0.000000
+0:50  Function Definition: SomeValue( (temp 2-component vector of float)
+0:50    Function Parameters: 
+0:?     Sequence
+0:50      Branch: Return with expression
+0:50        Convert int to float (temp 2-component vector of float)
+0:50          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:50            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:50            Constant:
+0:50              1 (const uint)
+0:53  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:53    Function Parameters: 
+0:?     Sequence
+0:57      imageLoad (temp 2-component vector of float)
+0:57        'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:57        c1: direct index for structure (layout(offset=0 ) uniform int)
+0:57          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:57          Constant:
+0:57            0 (const uint)
+0:59      Sequence
+0:59        move second child to first child (temp 2-component vector of float)
+0:59          'r00' (temp 2-component vector of float)
+0:59          imageLoad (temp 2-component vector of float)
+0:59            'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:59            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:59              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:59              Constant:
+0:59                0 (const uint)
+0:60      Sequence
+0:60        move second child to first child (temp 2-component vector of int)
+0:60          'r01' (temp 2-component vector of int)
+0:60          imageLoad (temp 2-component vector of int)
+0:60            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:60            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:60              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:60              Constant:
+0:60                0 (const uint)
+0:61      Sequence
+0:61        move second child to first child (temp 2-component vector of uint)
+0:61          'r02' (temp 2-component vector of uint)
+0:61          imageLoad (temp 2-component vector of uint)
+0:61            'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:61            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:61              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:61              Constant:
+0:61                0 (const uint)
+0:64      Sequence
+0:64        move second child to first child (temp 2-component vector of float)
+0:64          'r10' (temp 2-component vector of float)
+0:64          imageLoad (temp 2-component vector of float)
+0:64            'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:64            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:64              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:64              Constant:
+0:64                1 (const uint)
+0:65      Sequence
+0:65        move second child to first child (temp 2-component vector of int)
+0:65          'r11' (temp 2-component vector of int)
+0:65          imageLoad (temp 2-component vector of int)
+0:65            'g_tTex2di2' (layout(rg32i ) uniform iimage2D)
+0:65            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:65              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:65              Constant:
+0:65                1 (const uint)
+0:66      Sequence
+0:66        move second child to first child (temp 2-component vector of uint)
+0:66          'r12' (temp 2-component vector of uint)
+0:66          imageLoad (temp 2-component vector of uint)
+0:66            'g_tTex2du2' (layout(rg32ui ) uniform uimage2D)
+0:66            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:66              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:66              Constant:
+0:66                1 (const uint)
+0:69      Sequence
+0:69        move second child to first child (temp 2-component vector of float)
+0:69          'r20' (temp 2-component vector of float)
+0:69          imageLoad (temp 2-component vector of float)
+0:69            'g_tTex3df2' (layout(rg32f ) uniform image3D)
+0:69            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:69              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:69              Constant:
+0:69                2 (const uint)
+0:70      Sequence
+0:70        move second child to first child (temp 2-component vector of int)
+0:70          'r21' (temp 2-component vector of int)
+0:70          imageLoad (temp 2-component vector of int)
+0:70            'g_tTex3di2' (layout(rg32i ) uniform iimage3D)
+0:70            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:70              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:70              Constant:
+0:70                2 (const uint)
+0:71      Sequence
+0:71        move second child to first child (temp 2-component vector of uint)
+0:71          'r22' (temp 2-component vector of uint)
+0:71          imageLoad (temp 2-component vector of uint)
+0:71            'g_tTex3du2' (layout(rg32ui ) uniform uimage3D)
+0:71            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:71              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:71              Constant:
+0:71                2 (const uint)
+0:73      Sequence
+0:73        move second child to first child (temp 2-component vector of float)
+0:73          'lf2' (temp 2-component vector of float)
+0:73          uf2: direct index for structure (layout(offset=96 ) uniform 2-component vector of float)
+0:73            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:73            Constant:
+0:73              8 (const uint)
+0:77      Sequence
+0:77        move second child to first child (temp 2-component vector of float)
+0:77          'storeTemp' (temp 2-component vector of float)
+0:77          Function Call: SomeValue( (temp 2-component vector of float)
+0:77        imageStore (temp void)
+0:77          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:77          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:77            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:77            Constant:
+0:77              0 (const uint)
+0:77          'storeTemp' (temp 2-component vector of float)
+0:77        'storeTemp' (temp 2-component vector of float)
+0:78      Sequence
+0:78        imageStore (temp void)
+0:78          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:78          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:78            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:78            Constant:
+0:78              0 (const uint)
+0:78          'lf2' (temp 2-component vector of float)
+0:78        'lf2' (temp 2-component vector of float)
+0:79      Sequence
+0:79        move second child to first child (temp 2-component vector of int)
+0:79          'storeTemp' (temp 2-component vector of int)
+0:?           Constant:
+0:?             2 (const int)
+0:?             2 (const int)
+0:79        imageStore (temp void)
+0:79          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:79          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:79            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:79            Constant:
+0:79              0 (const uint)
+0:79          'storeTemp' (temp 2-component vector of int)
+0:79        'storeTemp' (temp 2-component vector of int)
+0:80      Sequence
+0:80        move second child to first child (temp 2-component vector of uint)
+0:80          'storeTemp' (temp 2-component vector of uint)
+0:?           Constant:
+0:?             3 (const uint)
+0:?             2 (const uint)
+0:80        imageStore (temp void)
+0:80          'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:80          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:80            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:80            Constant:
+0:80              0 (const uint)
+0:80          'storeTemp' (temp 2-component vector of uint)
+0:80        'storeTemp' (temp 2-component vector of uint)
+0:83      Sequence
+0:83        move second child to first child (temp 2-component vector of float)
+0:83          'val1' (temp 2-component vector of float)
+0:83          Sequence
+0:83            move second child to first child (temp int)
+0:83              'coordTemp' (temp int)
+0:83              c1: direct index for structure (layout(offset=0 ) uniform int)
+0:83                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:83                Constant:
+0:83                  0 (const uint)
+0:83            move second child to first child (temp 2-component vector of float)
+0:83              'storeTemp' (temp 2-component vector of float)
+0:83              imageLoad (temp 2-component vector of float)
+0:83                'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:83                'coordTemp' (temp int)
+0:83            vector scale second child into first child (temp 2-component vector of float)
+0:83              'storeTemp' (temp 2-component vector of float)
+0:83              Constant:
+0:83                2.000000
+0:83            imageStore (temp void)
+0:83              'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:83              'coordTemp' (temp int)
+0:83              'storeTemp' (temp 2-component vector of float)
+0:83            'storeTemp' (temp 2-component vector of float)
+0:84      Sequence
+0:84        move second child to first child (temp int)
+0:84          'coordTemp' (temp int)
+0:84          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:84            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:84            Constant:
+0:84              0 (const uint)
+0:84        move second child to first child (temp 2-component vector of float)
+0:84          'storeTemp' (temp 2-component vector of float)
+0:84          imageLoad (temp 2-component vector of float)
+0:84            'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:84            'coordTemp' (temp int)
+0:84        subtract second child into first child (temp 2-component vector of float)
+0:84          'storeTemp' (temp 2-component vector of float)
+0:84          Constant:
+0:84            3.000000
+0:84        imageStore (temp void)
+0:84          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:84          'coordTemp' (temp int)
+0:84          'storeTemp' (temp 2-component vector of float)
+0:84        'storeTemp' (temp 2-component vector of float)
+0:85      Sequence
+0:85        move second child to first child (temp int)
+0:85          'coordTemp' (temp int)
+0:85          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:85            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:85            Constant:
+0:85              0 (const uint)
+0:85        move second child to first child (temp 2-component vector of float)
+0:85          'storeTemp' (temp 2-component vector of float)
+0:85          imageLoad (temp 2-component vector of float)
+0:85            'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:85            'coordTemp' (temp int)
+0:85        add second child into first child (temp 2-component vector of float)
+0:85          'storeTemp' (temp 2-component vector of float)
+0:85          Constant:
+0:85            4.000000
+0:85        imageStore (temp void)
+0:85          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:85          'coordTemp' (temp int)
+0:85          'storeTemp' (temp 2-component vector of float)
+0:85        'storeTemp' (temp 2-component vector of float)
+0:87      Sequence
+0:87        move second child to first child (temp int)
+0:87          'coordTemp' (temp int)
+0:87          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:87            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:87            Constant:
+0:87              0 (const uint)
+0:87        move second child to first child (temp 2-component vector of int)
+0:87          'storeTemp' (temp 2-component vector of int)
+0:87          imageLoad (temp 2-component vector of int)
+0:87            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:87            'coordTemp' (temp int)
+0:87        divide second child into first child (temp 2-component vector of int)
+0:87          'storeTemp' (temp 2-component vector of int)
+0:87          Constant:
+0:87            2 (const int)
+0:87        imageStore (temp void)
+0:87          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:87          'coordTemp' (temp int)
+0:87          'storeTemp' (temp 2-component vector of int)
+0:87        'storeTemp' (temp 2-component vector of int)
+0:88      Sequence
+0:88        move second child to first child (temp int)
+0:88          'coordTemp' (temp int)
+0:88          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:88            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:88            Constant:
+0:88              0 (const uint)
+0:88        move second child to first child (temp 2-component vector of int)
+0:88          'storeTemp' (temp 2-component vector of int)
+0:88          imageLoad (temp 2-component vector of int)
+0:88            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:88            'coordTemp' (temp int)
+0:88        mod second child into first child (temp 2-component vector of int)
+0:88          'storeTemp' (temp 2-component vector of int)
+0:88          Constant:
+0:88            2 (const int)
+0:88        imageStore (temp void)
+0:88          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:88          'coordTemp' (temp int)
+0:88          'storeTemp' (temp 2-component vector of int)
+0:88        'storeTemp' (temp 2-component vector of int)
+0:89      Sequence
+0:89        move second child to first child (temp int)
+0:89          'coordTemp' (temp int)
+0:89          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:89            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:89            Constant:
+0:89              0 (const uint)
+0:89        move second child to first child (temp 2-component vector of int)
+0:89          'storeTemp' (temp 2-component vector of int)
+0:89          imageLoad (temp 2-component vector of int)
+0:89            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:89            'coordTemp' (temp int)
+0:89        and second child into first child (temp 2-component vector of int)
+0:89          'storeTemp' (temp 2-component vector of int)
+0:89          Constant:
+0:89            65535 (const int)
+0:89        imageStore (temp void)
+0:89          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:89          'coordTemp' (temp int)
+0:89          'storeTemp' (temp 2-component vector of int)
+0:89        'storeTemp' (temp 2-component vector of int)
+0:90      Sequence
+0:90        move second child to first child (temp int)
+0:90          'coordTemp' (temp int)
+0:90          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:90            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:90            Constant:
+0:90              0 (const uint)
+0:90        move second child to first child (temp 2-component vector of int)
+0:90          'storeTemp' (temp 2-component vector of int)
+0:90          imageLoad (temp 2-component vector of int)
+0:90            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:90            'coordTemp' (temp int)
+0:90        or second child into first child (temp 2-component vector of int)
+0:90          'storeTemp' (temp 2-component vector of int)
+0:90          Constant:
+0:90            61680 (const int)
+0:90        imageStore (temp void)
+0:90          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:90          'coordTemp' (temp int)
+0:90          'storeTemp' (temp 2-component vector of int)
+0:90        'storeTemp' (temp 2-component vector of int)
+0:91      Sequence
+0:91        move second child to first child (temp int)
+0:91          'coordTemp' (temp int)
+0:91          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:91            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:91            Constant:
+0:91              0 (const uint)
+0:91        move second child to first child (temp 2-component vector of int)
+0:91          'storeTemp' (temp 2-component vector of int)
+0:91          imageLoad (temp 2-component vector of int)
+0:91            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:91            'coordTemp' (temp int)
+0:91        left shift second child into first child (temp 2-component vector of int)
+0:91          'storeTemp' (temp 2-component vector of int)
+0:91          Constant:
+0:91            2 (const int)
+0:91        imageStore (temp void)
+0:91          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:91          'coordTemp' (temp int)
+0:91          'storeTemp' (temp 2-component vector of int)
+0:91        'storeTemp' (temp 2-component vector of int)
+0:92      Sequence
+0:92        move second child to first child (temp int)
+0:92          'coordTemp' (temp int)
+0:92          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:92            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:92            Constant:
+0:92              0 (const uint)
+0:92        move second child to first child (temp 2-component vector of int)
+0:92          'storeTemp' (temp 2-component vector of int)
+0:92          imageLoad (temp 2-component vector of int)
+0:92            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:92            'coordTemp' (temp int)
+0:92        right shift second child into first child (temp 2-component vector of int)
+0:92          'storeTemp' (temp 2-component vector of int)
+0:92          Constant:
+0:92            2 (const int)
+0:92        imageStore (temp void)
+0:92          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:92          'coordTemp' (temp int)
+0:92          'storeTemp' (temp 2-component vector of int)
+0:92        'storeTemp' (temp 2-component vector of int)
+0:95      Sequence
+0:95        move second child to first child (temp 2-component vector of float)
+0:95          'storeTemp' (temp 2-component vector of float)
+0:95          Function Call: SomeValue( (temp 2-component vector of float)
+0:95        imageStore (temp void)
+0:95          'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:95          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:95            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:95            Constant:
+0:95              1 (const uint)
+0:95          'storeTemp' (temp 2-component vector of float)
+0:95        'storeTemp' (temp 2-component vector of float)
+0:96      Sequence
+0:96        imageStore (temp void)
+0:96          'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:96          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:96            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:96            Constant:
+0:96              1 (const uint)
+0:96          'lf2' (temp 2-component vector of float)
+0:96        'lf2' (temp 2-component vector of float)
+0:97      Sequence
+0:97        move second child to first child (temp 2-component vector of int)
+0:97          'storeTemp' (temp 2-component vector of int)
+0:?           Constant:
+0:?             5 (const int)
+0:?             2 (const int)
+0:97        imageStore (temp void)
+0:97          'g_tTex2di2' (layout(rg32i ) uniform iimage2D)
+0:97          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:97            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:97            Constant:
+0:97              1 (const uint)
+0:97          'storeTemp' (temp 2-component vector of int)
+0:97        'storeTemp' (temp 2-component vector of int)
+0:98      Sequence
+0:98        move second child to first child (temp 2-component vector of uint)
+0:98          'storeTemp' (temp 2-component vector of uint)
+0:?           Constant:
+0:?             6 (const uint)
+0:?             2 (const uint)
+0:98        imageStore (temp void)
+0:98          'g_tTex2du2' (layout(rg32ui ) uniform uimage2D)
+0:98          c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
+0:98            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:98            Constant:
+0:98              1 (const uint)
+0:98          'storeTemp' (temp 2-component vector of uint)
+0:98        'storeTemp' (temp 2-component vector of uint)
+0:101      Sequence
+0:101        move second child to first child (temp 2-component vector of float)
+0:101          'storeTemp' (temp 2-component vector of float)
+0:101          Function Call: SomeValue( (temp 2-component vector of float)
+0:101        imageStore (temp void)
+0:101          'g_tTex3df2' (layout(rg32f ) uniform image3D)
+0:101          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:101            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:101            Constant:
+0:101              2 (const uint)
+0:101          'storeTemp' (temp 2-component vector of float)
+0:101        'storeTemp' (temp 2-component vector of float)
+0:102      Sequence
+0:102        imageStore (temp void)
+0:102          'g_tTex3df2' (layout(rg32f ) uniform image3D)
+0:102          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:102            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:102            Constant:
+0:102              2 (const uint)
+0:102          'lf2' (temp 2-component vector of float)
+0:102        'lf2' (temp 2-component vector of float)
+0:103      Sequence
+0:103        move second child to first child (temp 2-component vector of int)
+0:103          'storeTemp' (temp 2-component vector of int)
+0:?           Constant:
+0:?             8 (const int)
+0:?             6 (const int)
+0:103        imageStore (temp void)
+0:103          'g_tTex3di2' (layout(rg32i ) uniform iimage3D)
+0:103          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:103            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:103            Constant:
+0:103              2 (const uint)
+0:103          'storeTemp' (temp 2-component vector of int)
+0:103        'storeTemp' (temp 2-component vector of int)
+0:104      Sequence
+0:104        move second child to first child (temp 2-component vector of uint)
+0:104          'storeTemp' (temp 2-component vector of uint)
+0:?           Constant:
+0:?             9 (const uint)
+0:?             2 (const uint)
+0:104        imageStore (temp void)
+0:104          'g_tTex3du2' (layout(rg32ui ) uniform uimage3D)
+0:104          c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
+0:104            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:104            Constant:
+0:104              2 (const uint)
+0:104          'storeTemp' (temp 2-component vector of uint)
+0:104        'storeTemp' (temp 2-component vector of uint)
+0:107      Function Call: Fn1(vf2; (temp 2-component vector of float)
+0:107        imageLoad (temp 2-component vector of float)
+0:107          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:107          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:107            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:107            Constant:
+0:107              0 (const uint)
+0:108      Function Call: Fn1(vi2; (temp 2-component vector of int)
+0:108        imageLoad (temp 2-component vector of int)
+0:108          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:108          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:108            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:108            Constant:
+0:108              0 (const uint)
+0:109      Function Call: Fn1(vu2; (temp 2-component vector of uint)
+0:109        imageLoad (temp 2-component vector of uint)
+0:109          'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:109          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:109            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:109            Constant:
+0:109              0 (const uint)
+0:111      Comma (temp void)
+0:111        Function Call: Fn2(vf2; (temp void)
+0:111          'tempArg' (temp 2-component vector of float)
+0:111        Sequence
+0:111          imageStore (temp void)
+0:111            'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:111            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:111              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:111              Constant:
+0:111                0 (const uint)
+0:111            'tempArg' (temp 2-component vector of float)
+0:111          'tempArg' (temp 2-component vector of float)
+0:112      Comma (temp void)
+0:112        Function Call: Fn2(vi2; (temp void)
+0:112          'tempArg' (temp 2-component vector of int)
+0:112        Sequence
+0:112          imageStore (temp void)
+0:112            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:112            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:112              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:112              Constant:
+0:112                0 (const uint)
+0:112            'tempArg' (temp 2-component vector of int)
+0:112          'tempArg' (temp 2-component vector of int)
+0:113      Comma (temp void)
+0:113        Function Call: Fn2(vu2; (temp void)
+0:113          'tempArg' (temp 2-component vector of uint)
+0:113        Sequence
+0:113          imageStore (temp void)
+0:113            'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:113            c1: direct index for structure (layout(offset=0 ) uniform int)
+0:113              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:113              Constant:
+0:113                0 (const uint)
+0:113            'tempArg' (temp 2-component vector of uint)
+0:113          'tempArg' (temp 2-component vector of uint)
+0:117      Sequence
+0:117        move second child to first child (temp int)
+0:117          'coordTemp' (temp int)
+0:117          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:117            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:117            Constant:
+0:117              0 (const uint)
+0:117        move second child to first child (temp 2-component vector of float)
+0:117          'storeTemp' (temp 2-component vector of float)
+0:117          imageLoad (temp 2-component vector of float)
+0:117            'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:117            'coordTemp' (temp int)
+0:117        Pre-Increment (temp 2-component vector of float)
+0:117          'storeTemp' (temp 2-component vector of float)
+0:117        imageStore (temp void)
+0:117          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:117          'coordTemp' (temp int)
+0:117          'storeTemp' (temp 2-component vector of float)
+0:117        'storeTemp' (temp 2-component vector of float)
+0:118      Sequence
+0:118        move second child to first child (temp int)
+0:118          'coordTemp' (temp int)
+0:118          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:118            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:118            Constant:
+0:118              0 (const uint)
+0:118        move second child to first child (temp 2-component vector of int)
+0:118          'storeTemp' (temp 2-component vector of int)
+0:118          imageLoad (temp 2-component vector of int)
+0:118            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:118            'coordTemp' (temp int)
+0:118        Pre-Increment (temp 2-component vector of int)
+0:118          'storeTemp' (temp 2-component vector of int)
+0:118        imageStore (temp void)
+0:118          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:118          'coordTemp' (temp int)
+0:118          'storeTemp' (temp 2-component vector of int)
+0:118        'storeTemp' (temp 2-component vector of int)
+0:119      Sequence
+0:119        move second child to first child (temp int)
+0:119          'coordTemp' (temp int)
+0:119          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:119            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:119            Constant:
+0:119              0 (const uint)
+0:119        move second child to first child (temp 2-component vector of uint)
+0:119          'storeTemp' (temp 2-component vector of uint)
+0:119          imageLoad (temp 2-component vector of uint)
+0:119            'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:119            'coordTemp' (temp int)
+0:119        Pre-Increment (temp 2-component vector of uint)
+0:119          'storeTemp' (temp 2-component vector of uint)
+0:119        imageStore (temp void)
+0:119          'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:119          'coordTemp' (temp int)
+0:119          'storeTemp' (temp 2-component vector of uint)
+0:119        'storeTemp' (temp 2-component vector of uint)
+0:121      Sequence
+0:121        move second child to first child (temp int)
+0:121          'coordTemp' (temp int)
+0:121          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:121            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:121            Constant:
+0:121              0 (const uint)
+0:121        move second child to first child (temp 2-component vector of float)
+0:121          'storeTemp' (temp 2-component vector of float)
+0:121          imageLoad (temp 2-component vector of float)
+0:121            'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:121            'coordTemp' (temp int)
+0:121        Pre-Decrement (temp 2-component vector of float)
+0:121          'storeTemp' (temp 2-component vector of float)
+0:121        imageStore (temp void)
+0:121          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:121          'coordTemp' (temp int)
+0:121          'storeTemp' (temp 2-component vector of float)
+0:121        'storeTemp' (temp 2-component vector of float)
+0:122      Sequence
+0:122        move second child to first child (temp int)
+0:122          'coordTemp' (temp int)
+0:122          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:122            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:122            Constant:
+0:122              0 (const uint)
+0:122        move second child to first child (temp 2-component vector of int)
+0:122          'storeTemp' (temp 2-component vector of int)
+0:122          imageLoad (temp 2-component vector of int)
+0:122            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:122            'coordTemp' (temp int)
+0:122        Pre-Decrement (temp 2-component vector of int)
+0:122          'storeTemp' (temp 2-component vector of int)
+0:122        imageStore (temp void)
+0:122          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:122          'coordTemp' (temp int)
+0:122          'storeTemp' (temp 2-component vector of int)
+0:122        'storeTemp' (temp 2-component vector of int)
+0:123      Sequence
+0:123        move second child to first child (temp int)
+0:123          'coordTemp' (temp int)
+0:123          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:123            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:123            Constant:
+0:123              0 (const uint)
+0:123        move second child to first child (temp 2-component vector of uint)
+0:123          'storeTemp' (temp 2-component vector of uint)
+0:123          imageLoad (temp 2-component vector of uint)
+0:123            'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:123            'coordTemp' (temp int)
+0:123        Pre-Decrement (temp 2-component vector of uint)
+0:123          'storeTemp' (temp 2-component vector of uint)
+0:123        imageStore (temp void)
+0:123          'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:123          'coordTemp' (temp int)
+0:123          'storeTemp' (temp 2-component vector of uint)
+0:123        'storeTemp' (temp 2-component vector of uint)
+0:126      Sequence
+0:126        move second child to first child (temp int)
+0:126          'coordTemp' (temp int)
+0:126          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:126            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:126            Constant:
+0:126              0 (const uint)
+0:126        move second child to first child (temp 2-component vector of float)
+0:126          'storeTempPre' (temp 2-component vector of float)
+0:126          imageLoad (temp 2-component vector of float)
+0:126            'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:126            'coordTemp' (temp int)
+0:126        move second child to first child (temp 2-component vector of float)
+0:126          'storeTempPost' (temp 2-component vector of float)
+0:126          'storeTempPre' (temp 2-component vector of float)
+0:126        Post-Increment (temp 2-component vector of float)
+0:126          'storeTempPost' (temp 2-component vector of float)
+0:126        imageStore (temp void)
+0:126          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:126          'coordTemp' (temp int)
+0:126          'storeTempPost' (temp 2-component vector of float)
+0:126        'storeTempPre' (temp 2-component vector of float)
+0:127      Sequence
+0:127        move second child to first child (temp int)
+0:127          'coordTemp' (temp int)
+0:127          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:127            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:127            Constant:
+0:127              0 (const uint)
+0:127        move second child to first child (temp 2-component vector of uint)
+0:127          'storeTempPre' (temp 2-component vector of uint)
+0:127          imageLoad (temp 2-component vector of uint)
+0:127            'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:127            'coordTemp' (temp int)
+0:127        move second child to first child (temp 2-component vector of uint)
+0:127          'storeTempPost' (temp 2-component vector of uint)
+0:127          'storeTempPre' (temp 2-component vector of uint)
+0:127        Post-Decrement (temp 2-component vector of uint)
+0:127          'storeTempPost' (temp 2-component vector of uint)
+0:127        imageStore (temp void)
+0:127          'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:127          'coordTemp' (temp int)
+0:127          'storeTempPost' (temp 2-component vector of uint)
+0:127        'storeTempPre' (temp 2-component vector of uint)
+0:128      Sequence
+0:128        move second child to first child (temp int)
+0:128          'coordTemp' (temp int)
+0:128          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:128            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:128            Constant:
+0:128              0 (const uint)
+0:128        move second child to first child (temp 2-component vector of int)
+0:128          'storeTempPre' (temp 2-component vector of int)
+0:128          imageLoad (temp 2-component vector of int)
+0:128            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:128            'coordTemp' (temp int)
+0:128        move second child to first child (temp 2-component vector of int)
+0:128          'storeTempPost' (temp 2-component vector of int)
+0:128          'storeTempPre' (temp 2-component vector of int)
+0:128        Post-Increment (temp 2-component vector of int)
+0:128          'storeTempPost' (temp 2-component vector of int)
+0:128        imageStore (temp void)
+0:128          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:128          'coordTemp' (temp int)
+0:128          'storeTempPost' (temp 2-component vector of int)
+0:128        'storeTempPre' (temp 2-component vector of int)
+0:130      Sequence
+0:130        move second child to first child (temp int)
+0:130          'coordTemp' (temp int)
+0:130          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:130            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:130            Constant:
+0:130              0 (const uint)
+0:130        move second child to first child (temp 2-component vector of float)
+0:130          'storeTempPre' (temp 2-component vector of float)
+0:130          imageLoad (temp 2-component vector of float)
+0:130            'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:130            'coordTemp' (temp int)
+0:130        move second child to first child (temp 2-component vector of float)
+0:130          'storeTempPost' (temp 2-component vector of float)
+0:130          'storeTempPre' (temp 2-component vector of float)
+0:130        Post-Decrement (temp 2-component vector of float)
+0:130          'storeTempPost' (temp 2-component vector of float)
+0:130        imageStore (temp void)
+0:130          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:130          'coordTemp' (temp int)
+0:130          'storeTempPost' (temp 2-component vector of float)
+0:130        'storeTempPre' (temp 2-component vector of float)
+0:131      Sequence
+0:131        move second child to first child (temp int)
+0:131          'coordTemp' (temp int)
+0:131          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:131            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:131            Constant:
+0:131              0 (const uint)
+0:131        move second child to first child (temp 2-component vector of int)
+0:131          'storeTempPre' (temp 2-component vector of int)
+0:131          imageLoad (temp 2-component vector of int)
+0:131            'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:131            'coordTemp' (temp int)
+0:131        move second child to first child (temp 2-component vector of int)
+0:131          'storeTempPost' (temp 2-component vector of int)
+0:131          'storeTempPre' (temp 2-component vector of int)
+0:131        Post-Increment (temp 2-component vector of int)
+0:131          'storeTempPost' (temp 2-component vector of int)
+0:131        imageStore (temp void)
+0:131          'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:131          'coordTemp' (temp int)
+0:131          'storeTempPost' (temp 2-component vector of int)
+0:131        'storeTempPre' (temp 2-component vector of int)
+0:132      Sequence
+0:132        move second child to first child (temp int)
+0:132          'coordTemp' (temp int)
+0:132          c1: direct index for structure (layout(offset=0 ) uniform int)
+0:132            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:132            Constant:
+0:132              0 (const uint)
+0:132        move second child to first child (temp 2-component vector of uint)
+0:132          'storeTempPre' (temp 2-component vector of uint)
+0:132          imageLoad (temp 2-component vector of uint)
+0:132            'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:132            'coordTemp' (temp int)
+0:132        move second child to first child (temp 2-component vector of uint)
+0:132          'storeTempPost' (temp 2-component vector of uint)
+0:132          'storeTempPre' (temp 2-component vector of uint)
+0:132        Post-Decrement (temp 2-component vector of uint)
+0:132          'storeTempPost' (temp 2-component vector of uint)
+0:132        imageStore (temp void)
+0:132          'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:132          'coordTemp' (temp int)
+0:132          'storeTempPost' (temp 2-component vector of uint)
+0:132        'storeTempPre' (temp 2-component vector of uint)
+0:135      Sequence
+0:135        move second child to first child (temp 2-component vector of float)
+0:135          'storeTemp' (temp 2-component vector of float)
+0:?           imageLoad (temp 2-component vector of float)
+0:135            'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:?             Constant:
+0:?               2 (const int)
+0:?               3 (const int)
+0:135        imageStore (temp void)
+0:135          'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:135          Constant:
+0:135            1 (const int)
+0:135          'storeTemp' (temp 2-component vector of float)
+0:135        'storeTemp' (temp 2-component vector of float)
+0:137      move second child to first child (temp 4-component vector of float)
+0:137        Color: direct index for structure (temp 4-component vector of float)
+0:137          'psout' (temp structure{temp 4-component vector of float Color})
+0:137          Constant:
+0:137            0 (const int)
+0:137        Constant:
+0:137          1.000000
+0:137          1.000000
+0:137          1.000000
+0:137          1.000000
+0:139      Sequence
+0:139        Sequence
+0:139          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:139            Color: direct index for structure (temp 4-component vector of float)
+0:139              'psout' (temp structure{temp 4-component vector of float Color})
+0:139              Constant:
+0:139                0 (const int)
+0:139        Branch: Return
+0:?   Linker Objects
+0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
+0:?     'g_tTex1df2' (layout(rg32f ) uniform image1D)
+0:?     'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
+0:?     'g_tTex1du2' (layout(rg32ui ) uniform uimage1D)
+0:?     'g_tTex2df2' (layout(rg32f ) uniform image2D)
+0:?     'g_tTex2di2' (layout(rg32i ) uniform iimage2D)
+0:?     'g_tTex2du2' (layout(rg32ui ) uniform uimage2D)
+0:?     'g_tTex3df2' (layout(rg32f ) uniform image3D)
+0:?     'g_tTex3di2' (layout(rg32i ) uniform iimage3D)
+0:?     'g_tTex3du2' (layout(rg32ui ) uniform uimage3D)
+0:?     'g_tTex1df2a' (layout(rg32f ) uniform image1DArray)
+0:?     'g_tTex1di2a' (layout(rg32i ) uniform iimage1DArray)
+0:?     'g_tTex1du2a' (layout(rg32ui ) uniform uimage1DArray)
+0:?     'g_tTex2df2a' (layout(rg32f ) uniform image2DArray)
+0:?     'g_tTex2di2a' (layout(rg32i ) uniform iimage2DArray)
+0:?     'g_tTex2du2a' (layout(rg32ui ) uniform uimage2DArray)
+0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 600
+
+                              Capability Shader
+                              Capability Sampled1D
+                              Capability StorageImageExtendedFormats
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 575
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 11  "Fn1(vi2;"
+                              Name 10  "x"
+                              Name 18  "Fn1(vu2;"
+                              Name 17  "x"
+                              Name 25  "Fn1(vf2;"
+                              Name 24  "x"
+                              Name 29  "Fn2(vi2;"
+                              Name 28  "x"
+                              Name 33  "Fn2(vu2;"
+                              Name 32  "x"
+                              Name 37  "Fn2(vf2;"
+                              Name 36  "x"
+                              Name 40  "SomeValue("
+                              Name 59  "$Global"
+                              MemberName 59($Global) 0  "c1"
+                              MemberName 59($Global) 1  "c2"
+                              MemberName 59($Global) 2  "c3"
+                              MemberName 59($Global) 3  "c4"
+                              MemberName 59($Global) 4  "o1"
+                              MemberName 59($Global) 5  "o2"
+                              MemberName 59($Global) 6  "o3"
+                              MemberName 59($Global) 7  "o4"
+                              MemberName 59($Global) 8  "uf2"
+                              MemberName 59($Global) 9  "ui2"
+                              MemberName 59($Global) 10  "uu2"
+                              Name 61  ""
+                              Name 71  "g_tTex1df2"
+                              Name 77  "r00"
+                              Name 82  "r01"
+                              Name 85  "g_tTex1di2"
+                              Name 90  "r02"
+                              Name 93  "g_tTex1du2"
+                              Name 98  "r10"
+                              Name 101  "g_tTex2df2"
+                              Name 106  "r11"
+                              Name 109  "g_tTex2di2"
+                              Name 114  "r12"
+                              Name 117  "g_tTex2du2"
+                              Name 122  "r20"
+                              Name 125  "g_tTex3df2"
+                              Name 132  "r21"
+                              Name 135  "g_tTex3di2"
+                              Name 140  "r22"
+                              Name 143  "g_tTex3du2"
+                              Name 148  "lf2"
+                              Name 153  "storeTemp"
+                              Name 163  "storeTemp"
+                              Name 169  "storeTemp"
+                              Name 177  "val1"
+                              Name 179  "coordTemp"
+                              Name 182  "storeTemp"
+                              Name 193  "coordTemp"
+                              Name 196  "storeTemp"
+                              Name 207  "coordTemp"
+                              Name 210  "storeTemp"
+                              Name 221  "coordTemp"
+                              Name 224  "storeTemp"
+                              Name 234  "coordTemp"
+                              Name 237  "storeTemp"
+                              Name 247  "coordTemp"
+                              Name 250  "storeTemp"
+                              Name 261  "coordTemp"
+                              Name 264  "storeTemp"
+                              Name 275  "coordTemp"
+                              Name 278  "storeTemp"
+                              Name 288  "coordTemp"
+                              Name 291  "storeTemp"
+                              Name 301  "storeTemp"
+                              Name 311  "storeTemp"
+                              Name 318  "storeTemp"
+                              Name 325  "storeTemp"
+                              Name 335  "storeTemp"
+                              Name 342  "storeTemp"
+                              Name 353  "param"
+                              Name 359  "param"
+                              Name 365  "param"
+                              Name 367  "tempArg"
+                              Name 368  "param"
+                              Name 375  "tempArg"
+                              Name 376  "param"
+                              Name 383  "tempArg"
+                              Name 384  "param"
+                              Name 391  "coordTemp"
+                              Name 394  "storeTemp"
+                              Name 405  "coordTemp"
+                              Name 408  "storeTemp"
+                              Name 418  "coordTemp"
+                              Name 421  "storeTemp"
+                              Name 431  "coordTemp"
+                              Name 434  "storeTemp"
+                              Name 444  "coordTemp"
+                              Name 447  "storeTemp"
+                              Name 457  "coordTemp"
+                              Name 460  "storeTemp"
+                              Name 470  "coordTemp"
+                              Name 473  "storeTempPre"
+                              Name 477  "storeTempPost"
+                              Name 485  "coordTemp"
+                              Name 488  "storeTempPre"
+                              Name 492  "storeTempPost"
+                              Name 500  "coordTemp"
+                              Name 503  "storeTempPre"
+                              Name 507  "storeTempPost"
+                              Name 515  "coordTemp"
+                              Name 518  "storeTempPre"
+                              Name 522  "storeTempPost"
+                              Name 530  "coordTemp"
+                              Name 533  "storeTempPre"
+                              Name 537  "storeTempPost"
+                              Name 545  "coordTemp"
+                              Name 548  "storeTempPre"
+                              Name 552  "storeTempPost"
+                              Name 560  "storeTemp"
+                              Name 568  "PS_OUTPUT"
+                              MemberName 568(PS_OUTPUT) 0  "Color"
+                              Name 570  "psout"
+                              Name 575  "Color"
+                              Name 581  "g_sSamp"
+                              Name 584  "g_tTex1df2a"
+                              Name 587  "g_tTex1di2a"
+                              Name 590  "g_tTex1du2a"
+                              Name 593  "g_tTex2df2a"
+                              Name 596  "g_tTex2di2a"
+                              Name 599  "g_tTex2du2a"
+                              MemberDecorate 59($Global) 0 Offset 0
+                              MemberDecorate 59($Global) 1 Offset 8
+                              MemberDecorate 59($Global) 2 Offset 16
+                              MemberDecorate 59($Global) 3 Offset 32
+                              MemberDecorate 59($Global) 4 Offset 48
+                              MemberDecorate 59($Global) 5 Offset 56
+                              MemberDecorate 59($Global) 6 Offset 64
+                              MemberDecorate 59($Global) 7 Offset 80
+                              MemberDecorate 59($Global) 8 Offset 96
+                              MemberDecorate 59($Global) 9 Offset 104
+                              MemberDecorate 59($Global) 10 Offset 112
+                              Decorate 59($Global) Block
+                              Decorate 61 DescriptorSet 0
+                              Decorate 71(g_tTex1df2) DescriptorSet 0
+                              Decorate 85(g_tTex1di2) DescriptorSet 0
+                              Decorate 93(g_tTex1du2) DescriptorSet 0
+                              Decorate 101(g_tTex2df2) DescriptorSet 0
+                              Decorate 109(g_tTex2di2) DescriptorSet 0
+                              Decorate 117(g_tTex2du2) DescriptorSet 0
+                              Decorate 125(g_tTex3df2) DescriptorSet 0
+                              Decorate 135(g_tTex3di2) DescriptorSet 0
+                              Decorate 143(g_tTex3du2) DescriptorSet 0
+                              Decorate 575(Color) Location 0
+                              Decorate 581(g_sSamp) DescriptorSet 0
+                              Decorate 581(g_sSamp) Binding 0
+                              Decorate 584(g_tTex1df2a) DescriptorSet 0
+                              Decorate 587(g_tTex1di2a) DescriptorSet 0
+                              Decorate 590(g_tTex1du2a) DescriptorSet 0
+                              Decorate 593(g_tTex2df2a) DescriptorSet 0
+                              Decorate 596(g_tTex2di2a) DescriptorSet 0
+                              Decorate 599(g_tTex2du2a) DescriptorSet 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 1
+               7:             TypeVector 6(int) 2
+               8:             TypePointer Function 7(ivec2)
+               9:             TypeFunction 7(ivec2) 8(ptr)
+              13:             TypeInt 32 0
+              14:             TypeVector 13(int) 2
+              15:             TypePointer Function 14(ivec2)
+              16:             TypeFunction 14(ivec2) 15(ptr)
+              20:             TypeFloat 32
+              21:             TypeVector 20(float) 2
+              22:             TypePointer Function 21(fvec2)
+              23:             TypeFunction 21(fvec2) 22(ptr)
+              27:             TypeFunction 2 8(ptr)
+              31:             TypeFunction 2 15(ptr)
+              35:             TypeFunction 2 22(ptr)
+              39:             TypeFunction 21(fvec2)
+              51:      6(int) Constant 0
+              52:    7(ivec2) ConstantComposite 51 51
+              53:     13(int) Constant 0
+              54:   14(ivec2) ConstantComposite 53 53
+              55:   20(float) Constant 0
+              56:   21(fvec2) ConstantComposite 55 55
+              57:             TypeVector 6(int) 3
+              58:             TypeVector 6(int) 4
+     59($Global):             TypeStruct 6(int) 7(ivec2) 57(ivec3) 58(ivec4) 6(int) 7(ivec2) 57(ivec3) 58(ivec4) 21(fvec2) 7(ivec2) 14(ivec2)
+              60:             TypePointer Uniform 59($Global)
+              61:     60(ptr) Variable Uniform
+              62:      6(int) Constant 1
+              63:             TypePointer Uniform 7(ivec2)
+              69:             TypeImage 20(float) 1D nonsampled format:Rg32f
+              70:             TypePointer UniformConstant 69
+  71(g_tTex1df2):     70(ptr) Variable UniformConstant
+              73:             TypePointer Uniform 6(int)
+              83:             TypeImage 6(int) 1D nonsampled format:Rg32i
+              84:             TypePointer UniformConstant 83
+  85(g_tTex1di2):     84(ptr) Variable UniformConstant
+              91:             TypeImage 13(int) 1D nonsampled format:Rg32ui
+              92:             TypePointer UniformConstant 91
+  93(g_tTex1du2):     92(ptr) Variable UniformConstant
+              99:             TypeImage 20(float) 2D nonsampled format:Rg32f
+             100:             TypePointer UniformConstant 99
+ 101(g_tTex2df2):    100(ptr) Variable UniformConstant
+             107:             TypeImage 6(int) 2D nonsampled format:Rg32i
+             108:             TypePointer UniformConstant 107
+ 109(g_tTex2di2):    108(ptr) Variable UniformConstant
+             115:             TypeImage 13(int) 2D nonsampled format:Rg32ui
+             116:             TypePointer UniformConstant 115
+ 117(g_tTex2du2):    116(ptr) Variable UniformConstant
+             123:             TypeImage 20(float) 3D nonsampled format:Rg32f
+             124:             TypePointer UniformConstant 123
+ 125(g_tTex3df2):    124(ptr) Variable UniformConstant
+             127:      6(int) Constant 2
+             128:             TypePointer Uniform 57(ivec3)
+             133:             TypeImage 6(int) 3D nonsampled format:Rg32i
+             134:             TypePointer UniformConstant 133
+ 135(g_tTex3di2):    134(ptr) Variable UniformConstant
+             141:             TypeImage 13(int) 3D nonsampled format:Rg32ui
+             142:             TypePointer UniformConstant 141
+ 143(g_tTex3du2):    142(ptr) Variable UniformConstant
+             149:      6(int) Constant 8
+             150:             TypePointer Uniform 21(fvec2)
+             164:    7(ivec2) ConstantComposite 127 127
+             170:     13(int) Constant 3
+             171:     13(int) Constant 2
+             172:   14(ivec2) ConstantComposite 170 171
+             178:             TypePointer Function 6(int)
+             186:   20(float) Constant 1073741824
+             200:   20(float) Constant 1077936128
+             214:   20(float) Constant 1082130432
+             254:      6(int) Constant 65535
+             268:      6(int) Constant 61680
+             312:      6(int) Constant 5
+             313:    7(ivec2) ConstantComposite 312 127
+             319:     13(int) Constant 6
+             320:   14(ivec2) ConstantComposite 319 171
+             336:      6(int) Constant 6
+             337:    7(ivec2) ConstantComposite 149 336
+             343:     13(int) Constant 9
+             344:   14(ivec2) ConstantComposite 343 171
+             399:   20(float) Constant 1065353216
+             562:      6(int) Constant 3
+             563:    7(ivec2) ConstantComposite 127 562
+             567:             TypeVector 20(float) 4
+  568(PS_OUTPUT):             TypeStruct 567(fvec4)
+             569:             TypePointer Function 568(PS_OUTPUT)
+             571:  567(fvec4) ConstantComposite 399 399 399 399
+             572:             TypePointer Function 567(fvec4)
+             574:             TypePointer Output 567(fvec4)
+      575(Color):    574(ptr) Variable Output
+             579:             TypeSampler
+             580:             TypePointer UniformConstant 579
+    581(g_sSamp):    580(ptr) Variable UniformConstant
+             582:             TypeImage 20(float) 1D array nonsampled format:Rg32f
+             583:             TypePointer UniformConstant 582
+584(g_tTex1df2a):    583(ptr) Variable UniformConstant
+             585:             TypeImage 6(int) 1D array nonsampled format:Rg32i
+             586:             TypePointer UniformConstant 585
+587(g_tTex1di2a):    586(ptr) Variable UniformConstant
+             588:             TypeImage 13(int) 1D array nonsampled format:Rg32ui
+             589:             TypePointer UniformConstant 588
+590(g_tTex1du2a):    589(ptr) Variable UniformConstant
+             591:             TypeImage 20(float) 2D array nonsampled format:Rg32f
+             592:             TypePointer UniformConstant 591
+593(g_tTex2df2a):    592(ptr) Variable UniformConstant
+             594:             TypeImage 6(int) 2D array nonsampled format:Rg32i
+             595:             TypePointer UniformConstant 594
+596(g_tTex2di2a):    595(ptr) Variable UniformConstant
+             597:             TypeImage 13(int) 2D array nonsampled format:Rg32ui
+             598:             TypePointer UniformConstant 597
+599(g_tTex2du2a):    598(ptr) Variable UniformConstant
+         4(main):           2 Function None 3
+               5:             Label
+         77(r00):     22(ptr) Variable Function
+         82(r01):      8(ptr) Variable Function
+         90(r02):     15(ptr) Variable Function
+         98(r10):     22(ptr) Variable Function
+        106(r11):      8(ptr) Variable Function
+        114(r12):     15(ptr) Variable Function
+        122(r20):     22(ptr) Variable Function
+        132(r21):      8(ptr) Variable Function
+        140(r22):     15(ptr) Variable Function
+        148(lf2):     22(ptr) Variable Function
+  153(storeTemp):     22(ptr) Variable Function
+  163(storeTemp):      8(ptr) Variable Function
+  169(storeTemp):     15(ptr) Variable Function
+       177(val1):     22(ptr) Variable Function
+  179(coordTemp):    178(ptr) Variable Function
+  182(storeTemp):     22(ptr) Variable Function
+  193(coordTemp):    178(ptr) Variable Function
+  196(storeTemp):     22(ptr) Variable Function
+  207(coordTemp):    178(ptr) Variable Function
+  210(storeTemp):     22(ptr) Variable Function
+  221(coordTemp):    178(ptr) Variable Function
+  224(storeTemp):      8(ptr) Variable Function
+  234(coordTemp):    178(ptr) Variable Function
+  237(storeTemp):      8(ptr) Variable Function
+  247(coordTemp):    178(ptr) Variable Function
+  250(storeTemp):      8(ptr) Variable Function
+  261(coordTemp):    178(ptr) Variable Function
+  264(storeTemp):      8(ptr) Variable Function
+  275(coordTemp):    178(ptr) Variable Function
+  278(storeTemp):      8(ptr) Variable Function
+  288(coordTemp):    178(ptr) Variable Function
+  291(storeTemp):      8(ptr) Variable Function
+  301(storeTemp):     22(ptr) Variable Function
+  311(storeTemp):      8(ptr) Variable Function
+  318(storeTemp):     15(ptr) Variable Function
+  325(storeTemp):     22(ptr) Variable Function
+  335(storeTemp):      8(ptr) Variable Function
+  342(storeTemp):     15(ptr) Variable Function
+      353(param):     22(ptr) Variable Function
+      359(param):      8(ptr) Variable Function
+      365(param):     15(ptr) Variable Function
+    367(tempArg):     22(ptr) Variable Function
+      368(param):     22(ptr) Variable Function
+    375(tempArg):      8(ptr) Variable Function
+      376(param):      8(ptr) Variable Function
+    383(tempArg):     15(ptr) Variable Function
+      384(param):     15(ptr) Variable Function
+  391(coordTemp):    178(ptr) Variable Function
+  394(storeTemp):     22(ptr) Variable Function
+  405(coordTemp):    178(ptr) Variable Function
+  408(storeTemp):      8(ptr) Variable Function
+  418(coordTemp):    178(ptr) Variable Function
+  421(storeTemp):     15(ptr) Variable Function
+  431(coordTemp):    178(ptr) Variable Function
+  434(storeTemp):     22(ptr) Variable Function
+  444(coordTemp):    178(ptr) Variable Function
+  447(storeTemp):      8(ptr) Variable Function
+  457(coordTemp):    178(ptr) Variable Function
+  460(storeTemp):     15(ptr) Variable Function
+  470(coordTemp):    178(ptr) Variable Function
+473(storeTempPre):     22(ptr) Variable Function
+477(storeTempPost):     22(ptr) Variable Function
+  485(coordTemp):    178(ptr) Variable Function
+488(storeTempPre):     15(ptr) Variable Function
+492(storeTempPost):     15(ptr) Variable Function
+  500(coordTemp):    178(ptr) Variable Function
+503(storeTempPre):      8(ptr) Variable Function
+507(storeTempPost):      8(ptr) Variable Function
+  515(coordTemp):    178(ptr) Variable Function
+518(storeTempPre):     22(ptr) Variable Function
+522(storeTempPost):     22(ptr) Variable Function
+  530(coordTemp):    178(ptr) Variable Function
+533(storeTempPre):      8(ptr) Variable Function
+537(storeTempPost):      8(ptr) Variable Function
+  545(coordTemp):    178(ptr) Variable Function
+548(storeTempPre):     15(ptr) Variable Function
+552(storeTempPost):     15(ptr) Variable Function
+  560(storeTemp):     22(ptr) Variable Function
+      570(psout):    569(ptr) Variable Function
+              72:          69 Load 71(g_tTex1df2)
+              74:     73(ptr) AccessChain 61 51
+              75:      6(int) Load 74
+              76:   21(fvec2) ImageRead 72 75
+              78:          69 Load 71(g_tTex1df2)
+              79:     73(ptr) AccessChain 61 51
+              80:      6(int) Load 79
+              81:   21(fvec2) ImageRead 78 80
+                              Store 77(r00) 81
+              86:          83 Load 85(g_tTex1di2)
+              87:     73(ptr) AccessChain 61 51
+              88:      6(int) Load 87
+              89:    7(ivec2) ImageRead 86 88
+                              Store 82(r01) 89
+              94:          91 Load 93(g_tTex1du2)
+              95:     73(ptr) AccessChain 61 51
+              96:      6(int) Load 95
+              97:   14(ivec2) ImageRead 94 96
+                              Store 90(r02) 97
+             102:          99 Load 101(g_tTex2df2)
+             103:     63(ptr) AccessChain 61 62
+             104:    7(ivec2) Load 103
+             105:   21(fvec2) ImageRead 102 104
+                              Store 98(r10) 105
+             110:         107 Load 109(g_tTex2di2)
+             111:     63(ptr) AccessChain 61 62
+             112:    7(ivec2) Load 111
+             113:    7(ivec2) ImageRead 110 112
+                              Store 106(r11) 113
+             118:         115 Load 117(g_tTex2du2)
+             119:     63(ptr) AccessChain 61 62
+             120:    7(ivec2) Load 119
+             121:   14(ivec2) ImageRead 118 120
+                              Store 114(r12) 121
+             126:         123 Load 125(g_tTex3df2)
+             129:    128(ptr) AccessChain 61 127
+             130:   57(ivec3) Load 129
+             131:   21(fvec2) ImageRead 126 130
+                              Store 122(r20) 131
+             136:         133 Load 135(g_tTex3di2)
+             137:    128(ptr) AccessChain 61 127
+             138:   57(ivec3) Load 137
+             139:    7(ivec2) ImageRead 136 138
+                              Store 132(r21) 139
+             144:         141 Load 143(g_tTex3du2)
+             145:    128(ptr) AccessChain 61 127
+             146:   57(ivec3) Load 145
+             147:   14(ivec2) ImageRead 144 146
+                              Store 140(r22) 147
+             151:    150(ptr) AccessChain 61 149
+             152:   21(fvec2) Load 151
+                              Store 148(lf2) 152
+             154:   21(fvec2) FunctionCall 40(SomeValue()
+                              Store 153(storeTemp) 154
+             155:          69 Load 71(g_tTex1df2)
+             156:     73(ptr) AccessChain 61 51
+             157:      6(int) Load 156
+             158:   21(fvec2) Load 153(storeTemp)
+                              ImageWrite 155 157 158
+             159:          69 Load 71(g_tTex1df2)
+             160:     73(ptr) AccessChain 61 51
+             161:      6(int) Load 160
+             162:   21(fvec2) Load 148(lf2)
+                              ImageWrite 159 161 162
+                              Store 163(storeTemp) 164
+             165:          83 Load 85(g_tTex1di2)
+             166:     73(ptr) AccessChain 61 51
+             167:      6(int) Load 166
+             168:    7(ivec2) Load 163(storeTemp)
+                              ImageWrite 165 167 168
+                              Store 169(storeTemp) 172
+             173:          91 Load 93(g_tTex1du2)
+             174:     73(ptr) AccessChain 61 51
+             175:      6(int) Load 174
+             176:   14(ivec2) Load 169(storeTemp)
+                              ImageWrite 173 175 176
+             180:     73(ptr) AccessChain 61 51
+             181:      6(int) Load 180
+                              Store 179(coordTemp) 181
+             183:          69 Load 71(g_tTex1df2)
+             184:      6(int) Load 179(coordTemp)
+             185:   21(fvec2) ImageRead 183 184
+                              Store 182(storeTemp) 185
+             187:   21(fvec2) Load 182(storeTemp)
+             188:   21(fvec2) VectorTimesScalar 187 186
+                              Store 182(storeTemp) 188
+             189:          69 Load 71(g_tTex1df2)
+             190:      6(int) Load 179(coordTemp)
+             191:   21(fvec2) Load 182(storeTemp)
+                              ImageWrite 189 190 191
+             192:   21(fvec2) Load 182(storeTemp)
+                              Store 177(val1) 192
+             194:     73(ptr) AccessChain 61 51
+             195:      6(int) Load 194
+                              Store 193(coordTemp) 195
+             197:          69 Load 71(g_tTex1df2)
+             198:      6(int) Load 193(coordTemp)
+             199:   21(fvec2) ImageRead 197 198
+                              Store 196(storeTemp) 199
+             201:   21(fvec2) Load 196(storeTemp)
+             202:   21(fvec2) CompositeConstruct 200 200
+             203:   21(fvec2) FSub 201 202
+                              Store 196(storeTemp) 203
+             204:          69 Load 71(g_tTex1df2)
+             205:      6(int) Load 193(coordTemp)
+             206:   21(fvec2) Load 196(storeTemp)
+                              ImageWrite 204 205 206
+             208:     73(ptr) AccessChain 61 51
+             209:      6(int) Load 208
+                              Store 207(coordTemp) 209
+             211:          69 Load 71(g_tTex1df2)
+             212:      6(int) Load 207(coordTemp)
+             213:   21(fvec2) ImageRead 211 212
+                              Store 210(storeTemp) 213
+             215:   21(fvec2) Load 210(storeTemp)
+             216:   21(fvec2) CompositeConstruct 214 214
+             217:   21(fvec2) FAdd 215 216
+                              Store 210(storeTemp) 217
+             218:          69 Load 71(g_tTex1df2)
+             219:      6(int) Load 207(coordTemp)
+             220:   21(fvec2) Load 210(storeTemp)
+                              ImageWrite 218 219 220
+             222:     73(ptr) AccessChain 61 51
+             223:      6(int) Load 222
+                              Store 221(coordTemp) 223
+             225:          83 Load 85(g_tTex1di2)
+             226:      6(int) Load 221(coordTemp)
+             227:    7(ivec2) ImageRead 225 226
+                              Store 224(storeTemp) 227
+             228:    7(ivec2) Load 224(storeTemp)
+             229:    7(ivec2) CompositeConstruct 127 127
+             230:    7(ivec2) SDiv 228 229
+                              Store 224(storeTemp) 230
+             231:          83 Load 85(g_tTex1di2)
+             232:      6(int) Load 221(coordTemp)
+             233:    7(ivec2) Load 224(storeTemp)
+                              ImageWrite 231 232 233
+             235:     73(ptr) AccessChain 61 51
+             236:      6(int) Load 235
+                              Store 234(coordTemp) 236
+             238:          83 Load 85(g_tTex1di2)
+             239:      6(int) Load 234(coordTemp)
+             240:    7(ivec2) ImageRead 238 239
+                              Store 237(storeTemp) 240
+             241:    7(ivec2) Load 237(storeTemp)
+             242:    7(ivec2) CompositeConstruct 127 127
+             243:    7(ivec2) SMod 241 242
+                              Store 237(storeTemp) 243
+             244:          83 Load 85(g_tTex1di2)
+             245:      6(int) Load 234(coordTemp)
+             246:    7(ivec2) Load 237(storeTemp)
+                              ImageWrite 244 245 246
+             248:     73(ptr) AccessChain 61 51
+             249:      6(int) Load 248
+                              Store 247(coordTemp) 249
+             251:          83 Load 85(g_tTex1di2)
+             252:      6(int) Load 247(coordTemp)
+             253:    7(ivec2) ImageRead 251 252
+                              Store 250(storeTemp) 253
+             255:    7(ivec2) Load 250(storeTemp)
+             256:    7(ivec2) CompositeConstruct 254 254
+             257:    7(ivec2) BitwiseAnd 255 256
+                              Store 250(storeTemp) 257
+             258:          83 Load 85(g_tTex1di2)
+             259:      6(int) Load 247(coordTemp)
+             260:    7(ivec2) Load 250(storeTemp)
+                              ImageWrite 258 259 260
+             262:     73(ptr) AccessChain 61 51
+             263:      6(int) Load 262
+                              Store 261(coordTemp) 263
+             265:          83 Load 85(g_tTex1di2)
+             266:      6(int) Load 261(coordTemp)
+             267:    7(ivec2) ImageRead 265 266
+                              Store 264(storeTemp) 267
+             269:    7(ivec2) Load 264(storeTemp)
+             270:    7(ivec2) CompositeConstruct 268 268
+             271:    7(ivec2) BitwiseOr 269 270
+                              Store 264(storeTemp) 271
+             272:          83 Load 85(g_tTex1di2)
+             273:      6(int) Load 261(coordTemp)
+             274:    7(ivec2) Load 264(storeTemp)
+                              ImageWrite 272 273 274
+             276:     73(ptr) AccessChain 61 51
+             277:      6(int) Load 276
+                              Store 275(coordTemp) 277
+             279:          83 Load 85(g_tTex1di2)
+             280:      6(int) Load 275(coordTemp)
+             281:    7(ivec2) ImageRead 279 280
+                              Store 278(storeTemp) 281
+             282:    7(ivec2) Load 278(storeTemp)
+             283:    7(ivec2) CompositeConstruct 127 127
+             284:    7(ivec2) ShiftLeftLogical 282 283
+                              Store 278(storeTemp) 284
+             285:          83 Load 85(g_tTex1di2)
+             286:      6(int) Load 275(coordTemp)
+             287:    7(ivec2) Load 278(storeTemp)
+                              ImageWrite 285 286 287
+             289:     73(ptr) AccessChain 61 51
+             290:      6(int) Load 289
+                              Store 288(coordTemp) 290
+             292:          83 Load 85(g_tTex1di2)
+             293:      6(int) Load 288(coordTemp)
+             294:    7(ivec2) ImageRead 292 293
+                              Store 291(storeTemp) 294
+             295:    7(ivec2) Load 291(storeTemp)
+             296:    7(ivec2) CompositeConstruct 127 127
+             297:    7(ivec2) ShiftRightArithmetic 295 296
+                              Store 291(storeTemp) 297
+             298:          83 Load 85(g_tTex1di2)
+             299:      6(int) Load 288(coordTemp)
+             300:    7(ivec2) Load 291(storeTemp)
+                              ImageWrite 298 299 300
+             302:   21(fvec2) FunctionCall 40(SomeValue()
+                              Store 301(storeTemp) 302
+             303:          99 Load 101(g_tTex2df2)
+             304:     63(ptr) AccessChain 61 62
+             305:    7(ivec2) Load 304
+             306:   21(fvec2) Load 301(storeTemp)
+                              ImageWrite 303 305 306
+             307:          99 Load 101(g_tTex2df2)
+             308:     63(ptr) AccessChain 61 62
+             309:    7(ivec2) Load 308
+             310:   21(fvec2) Load 148(lf2)
+                              ImageWrite 307 309 310
+                              Store 311(storeTemp) 313
+             314:         107 Load 109(g_tTex2di2)
+             315:     63(ptr) AccessChain 61 62
+             316:    7(ivec2) Load 315
+             317:    7(ivec2) Load 311(storeTemp)
+                              ImageWrite 314 316 317
+                              Store 318(storeTemp) 320
+             321:         115 Load 117(g_tTex2du2)
+             322:     63(ptr) AccessChain 61 62
+             323:    7(ivec2) Load 322
+             324:   14(ivec2) Load 318(storeTemp)
+                              ImageWrite 321 323 324
+             326:   21(fvec2) FunctionCall 40(SomeValue()
+                              Store 325(storeTemp) 326
+             327:         123 Load 125(g_tTex3df2)
+             328:    128(ptr) AccessChain 61 127
+             329:   57(ivec3) Load 328
+             330:   21(fvec2) Load 325(storeTemp)
+                              ImageWrite 327 329 330
+             331:         123 Load 125(g_tTex3df2)
+             332:    128(ptr) AccessChain 61 127
+             333:   57(ivec3) Load 332
+             334:   21(fvec2) Load 148(lf2)
+                              ImageWrite 331 333 334
+                              Store 335(storeTemp) 337
+             338:         133 Load 135(g_tTex3di2)
+             339:    128(ptr) AccessChain 61 127
+             340:   57(ivec3) Load 339
+             341:    7(ivec2) Load 335(storeTemp)
+                              ImageWrite 338 340 341
+                              Store 342(storeTemp) 344
+             345:         141 Load 143(g_tTex3du2)
+             346:    128(ptr) AccessChain 61 127
+             347:   57(ivec3) Load 346
+             348:   14(ivec2) Load 342(storeTemp)
+                              ImageWrite 345 347 348
+             349:          69 Load 71(g_tTex1df2)
+             350:     73(ptr) AccessChain 61 51
+             351:      6(int) Load 350
+             352:   21(fvec2) ImageRead 349 351
+                              Store 353(param) 352
+             354:   21(fvec2) FunctionCall 25(Fn1(vf2;) 353(param)
+             355:          83 Load 85(g_tTex1di2)
+             356:     73(ptr) AccessChain 61 51
+             357:      6(int) Load 356
+             358:    7(ivec2) ImageRead 355 357
+                              Store 359(param) 358
+             360:    7(ivec2) FunctionCall 11(Fn1(vi2;) 359(param)
+             361:          91 Load 93(g_tTex1du2)
+             362:     73(ptr) AccessChain 61 51
+             363:      6(int) Load 362
+             364:   14(ivec2) ImageRead 361 363
+                              Store 365(param) 364
+             366:   14(ivec2) FunctionCall 18(Fn1(vu2;) 365(param)
+             369:           2 FunctionCall 37(Fn2(vf2;) 368(param)
+             370:   21(fvec2) Load 368(param)
+                              Store 367(tempArg) 370
+             371:          69 Load 71(g_tTex1df2)
+             372:     73(ptr) AccessChain 61 51
+             373:      6(int) Load 372
+             374:   21(fvec2) Load 367(tempArg)
+                              ImageWrite 371 373 374
+             377:           2 FunctionCall 29(Fn2(vi2;) 376(param)
+             378:    7(ivec2) Load 376(param)
+                              Store 375(tempArg) 378
+             379:          83 Load 85(g_tTex1di2)
+             380:     73(ptr) AccessChain 61 51
+             381:      6(int) Load 380
+             382:    7(ivec2) Load 375(tempArg)
+                              ImageWrite 379 381 382
+             385:           2 FunctionCall 33(Fn2(vu2;) 384(param)
+             386:   14(ivec2) Load 384(param)
+                              Store 383(tempArg) 386
+             387:          91 Load 93(g_tTex1du2)
+             388:     73(ptr) AccessChain 61 51
+             389:      6(int) Load 388
+             390:   14(ivec2) Load 383(tempArg)
+                              ImageWrite 387 389 390
+             392:     73(ptr) AccessChain 61 51
+             393:      6(int) Load 392
+                              Store 391(coordTemp) 393
+             395:          69 Load 71(g_tTex1df2)
+             396:      6(int) Load 391(coordTemp)
+             397:   21(fvec2) ImageRead 395 396
+                              Store 394(storeTemp) 397
+             398:   21(fvec2) Load 394(storeTemp)
+             400:   21(fvec2) CompositeConstruct 399 399
+             401:   21(fvec2) FAdd 398 400
+                              Store 394(storeTemp) 401
+             402:          69 Load 71(g_tTex1df2)
+             403:      6(int) Load 391(coordTemp)
+             404:   21(fvec2) Load 394(storeTemp)
+                              ImageWrite 402 403 404
+             406:     73(ptr) AccessChain 61 51
+             407:      6(int) Load 406
+                              Store 405(coordTemp) 407
+             409:          83 Load 85(g_tTex1di2)
+             410:      6(int) Load 405(coordTemp)
+             411:    7(ivec2) ImageRead 409 410
+                              Store 408(storeTemp) 411
+             412:    7(ivec2) Load 408(storeTemp)
+             413:    7(ivec2) CompositeConstruct 62 62
+             414:    7(ivec2) IAdd 412 413
+                              Store 408(storeTemp) 414
+             415:          83 Load 85(g_tTex1di2)
+             416:      6(int) Load 405(coordTemp)
+             417:    7(ivec2) Load 408(storeTemp)
+                              ImageWrite 415 416 417
+             419:     73(ptr) AccessChain 61 51
+             420:      6(int) Load 419
+                              Store 418(coordTemp) 420
+             422:          91 Load 93(g_tTex1du2)
+             423:      6(int) Load 418(coordTemp)
+             424:   14(ivec2) ImageRead 422 423
+                              Store 421(storeTemp) 424
+             425:   14(ivec2) Load 421(storeTemp)
+             426:    7(ivec2) CompositeConstruct 62 62
+             427:   14(ivec2) IAdd 425 426
+                              Store 421(storeTemp) 427
+             428:          91 Load 93(g_tTex1du2)
+             429:      6(int) Load 418(coordTemp)
+             430:   14(ivec2) Load 421(storeTemp)
+                              ImageWrite 428 429 430
+             432:     73(ptr) AccessChain 61 51
+             433:      6(int) Load 432
+                              Store 431(coordTemp) 433
+             435:          69 Load 71(g_tTex1df2)
+             436:      6(int) Load 431(coordTemp)
+             437:   21(fvec2) ImageRead 435 436
+                              Store 434(storeTemp) 437
+             438:   21(fvec2) Load 434(storeTemp)
+             439:   21(fvec2) CompositeConstruct 399 399
+             440:   21(fvec2) FSub 438 439
+                              Store 434(storeTemp) 440
+             441:          69 Load 71(g_tTex1df2)
+             442:      6(int) Load 431(coordTemp)
+             443:   21(fvec2) Load 434(storeTemp)
+                              ImageWrite 441 442 443
+             445:     73(ptr) AccessChain 61 51
+             446:      6(int) Load 445
+                              Store 444(coordTemp) 446
+             448:          83 Load 85(g_tTex1di2)
+             449:      6(int) Load 444(coordTemp)
+             450:    7(ivec2) ImageRead 448 449
+                              Store 447(storeTemp) 450
+             451:    7(ivec2) Load 447(storeTemp)
+             452:    7(ivec2) CompositeConstruct 62 62
+             453:    7(ivec2) ISub 451 452
+                              Store 447(storeTemp) 453
+             454:          83 Load 85(g_tTex1di2)
+             455:      6(int) Load 444(coordTemp)
+             456:    7(ivec2) Load 447(storeTemp)
+                              ImageWrite 454 455 456
+             458:     73(ptr) AccessChain 61 51
+             459:      6(int) Load 458
+                              Store 457(coordTemp) 459
+             461:          91 Load 93(g_tTex1du2)
+             462:      6(int) Load 457(coordTemp)
+             463:   14(ivec2) ImageRead 461 462
+                              Store 460(storeTemp) 463
+             464:   14(ivec2) Load 460(storeTemp)
+             465:    7(ivec2) CompositeConstruct 62 62
+             466:   14(ivec2) ISub 464 465
+                              Store 460(storeTemp) 466
+             467:          91 Load 93(g_tTex1du2)
+             468:      6(int) Load 457(coordTemp)
+             469:   14(ivec2) Load 460(storeTemp)
+                              ImageWrite 467 468 469
+             471:     73(ptr) AccessChain 61 51
+             472:      6(int) Load 471
+                              Store 470(coordTemp) 472
+             474:          69 Load 71(g_tTex1df2)
+             475:      6(int) Load 470(coordTemp)
+             476:   21(fvec2) ImageRead 474 475
+                              Store 473(storeTempPre) 476
+             478:   21(fvec2) Load 473(storeTempPre)
+                              Store 477(storeTempPost) 478
+             479:   21(fvec2) Load 477(storeTempPost)
+             480:   21(fvec2) CompositeConstruct 399 399
+             481:   21(fvec2) FAdd 479 480
+                              Store 477(storeTempPost) 481
+             482:          69 Load 71(g_tTex1df2)
+             483:      6(int) Load 470(coordTemp)
+             484:   21(fvec2) Load 477(storeTempPost)
+                              ImageWrite 482 483 484
+             486:     73(ptr) AccessChain 61 51
+             487:      6(int) Load 486
+                              Store 485(coordTemp) 487
+             489:          91 Load 93(g_tTex1du2)
+             490:      6(int) Load 485(coordTemp)
+             491:   14(ivec2) ImageRead 489 490
+                              Store 488(storeTempPre) 491
+             493:   14(ivec2) Load 488(storeTempPre)
+                              Store 492(storeTempPost) 493
+             494:   14(ivec2) Load 492(storeTempPost)
+             495:    7(ivec2) CompositeConstruct 62 62
+             496:   14(ivec2) ISub 494 495
+                              Store 492(storeTempPost) 496
+             497:          91 Load 93(g_tTex1du2)
+             498:      6(int) Load 485(coordTemp)
+             499:   14(ivec2) Load 492(storeTempPost)
+                              ImageWrite 497 498 499
+             501:     73(ptr) AccessChain 61 51
+             502:      6(int) Load 501
+                              Store 500(coordTemp) 502
+             504:          83 Load 85(g_tTex1di2)
+             505:      6(int) Load 500(coordTemp)
+             506:    7(ivec2) ImageRead 504 505
+                              Store 503(storeTempPre) 506
+             508:    7(ivec2) Load 503(storeTempPre)
+                              Store 507(storeTempPost) 508
+             509:    7(ivec2) Load 507(storeTempPost)
+             510:    7(ivec2) CompositeConstruct 62 62
+             511:    7(ivec2) IAdd 509 510
+                              Store 507(storeTempPost) 511
+             512:          83 Load 85(g_tTex1di2)
+             513:      6(int) Load 500(coordTemp)
+             514:    7(ivec2) Load 507(storeTempPost)
+                              ImageWrite 512 513 514
+             516:     73(ptr) AccessChain 61 51
+             517:      6(int) Load 516
+                              Store 515(coordTemp) 517
+             519:          69 Load 71(g_tTex1df2)
+             520:      6(int) Load 515(coordTemp)
+             521:   21(fvec2) ImageRead 519 520
+                              Store 518(storeTempPre) 521
+             523:   21(fvec2) Load 518(storeTempPre)
+                              Store 522(storeTempPost) 523
+             524:   21(fvec2) Load 522(storeTempPost)
+             525:   21(fvec2) CompositeConstruct 399 399
+             526:   21(fvec2) FSub 524 525
+                              Store 522(storeTempPost) 526
+             527:          69 Load 71(g_tTex1df2)
+             528:      6(int) Load 515(coordTemp)
+             529:   21(fvec2) Load 522(storeTempPost)
+                              ImageWrite 527 528 529
+             531:     73(ptr) AccessChain 61 51
+             532:      6(int) Load 531
+                              Store 530(coordTemp) 532
+             534:          83 Load 85(g_tTex1di2)
+             535:      6(int) Load 530(coordTemp)
+             536:    7(ivec2) ImageRead 534 535
+                              Store 533(storeTempPre) 536
+             538:    7(ivec2) Load 533(storeTempPre)
+                              Store 537(storeTempPost) 538
+             539:    7(ivec2) Load 537(storeTempPost)
+             540:    7(ivec2) CompositeConstruct 62 62
+             541:    7(ivec2) IAdd 539 540
+                              Store 537(storeTempPost) 541
+             542:          83 Load 85(g_tTex1di2)
+             543:      6(int) Load 530(coordTemp)
+             544:    7(ivec2) Load 537(storeTempPost)
+                              ImageWrite 542 543 544
+             546:     73(ptr) AccessChain 61 51
+             547:      6(int) Load 546
+                              Store 545(coordTemp) 547
+             549:          91 Load 93(g_tTex1du2)
+             550:      6(int) Load 545(coordTemp)
+             551:   14(ivec2) ImageRead 549 550
+                              Store 548(storeTempPre) 551
+             553:   14(ivec2) Load 548(storeTempPre)
+                              Store 552(storeTempPost) 553
+             554:   14(ivec2) Load 552(storeTempPost)
+             555:    7(ivec2) CompositeConstruct 62 62
+             556:   14(ivec2) ISub 554 555
+                              Store 552(storeTempPost) 556
+             557:          91 Load 93(g_tTex1du2)
+             558:      6(int) Load 545(coordTemp)
+             559:   14(ivec2) Load 552(storeTempPost)
+                              ImageWrite 557 558 559
+             561:          99 Load 101(g_tTex2df2)
+             564:   21(fvec2) ImageRead 561 563
+                              Store 560(storeTemp) 564
+             565:          69 Load 71(g_tTex1df2)
+             566:   21(fvec2) Load 560(storeTemp)
+                              ImageWrite 565 62 566
+             573:    572(ptr) AccessChain 570(psout) 51
+                              Store 573 571
+             576:    572(ptr) AccessChain 570(psout) 51
+             577:  567(fvec4) Load 576
+                              Store 575(Color) 577
+                              Return
+                              FunctionEnd
+    11(Fn1(vi2;):    7(ivec2) Function None 9
+           10(x):      8(ptr) FunctionParameter
+              12:             Label
+              42:    7(ivec2) Load 10(x)
+                              ReturnValue 42
+                              FunctionEnd
+    18(Fn1(vu2;):   14(ivec2) Function None 16
+           17(x):     15(ptr) FunctionParameter
+              19:             Label
+              45:   14(ivec2) Load 17(x)
+                              ReturnValue 45
+                              FunctionEnd
+    25(Fn1(vf2;):   21(fvec2) Function None 23
+           24(x):     22(ptr) FunctionParameter
+              26:             Label
+              48:   21(fvec2) Load 24(x)
+                              ReturnValue 48
+                              FunctionEnd
+    29(Fn2(vi2;):           2 Function None 27
+           28(x):      8(ptr) FunctionParameter
+              30:             Label
+                              Store 28(x) 52
+                              Return
+                              FunctionEnd
+    33(Fn2(vu2;):           2 Function None 31
+           32(x):     15(ptr) FunctionParameter
+              34:             Label
+                              Store 32(x) 54
+                              Return
+                              FunctionEnd
+    37(Fn2(vf2;):           2 Function None 35
+           36(x):     22(ptr) FunctionParameter
+              38:             Label
+                              Store 36(x) 56
+                              Return
+                              FunctionEnd
+  40(SomeValue():   21(fvec2) Function None 39
+              41:             Label
+              64:     63(ptr) AccessChain 61 62
+              65:    7(ivec2) Load 64
+              66:   21(fvec2) ConvertSToF 65
+                              ReturnValue 66
+                              FunctionEnd
diff --git a/Test/hlsl.load.buffer.float.dx10.frag b/Test/hlsl.load.buffer.float.dx10.frag
new file mode 100644 (file)
index 0000000..eeea9a6
--- /dev/null
@@ -0,0 +1,38 @@
+uniform Buffer <float> g_tTexbfs_test : register(t0);
+
+Buffer <float> g_tTexbfs;
+Buffer <int>   g_tTexbis;
+Buffer <uint>  g_tTexbus;
+
+struct PS_OUTPUT
+{
+    float4 Color : SV_Target0;
+    float  Depth : SV_Depth;
+};
+
+uniform int   c1;
+uniform int2  c2;
+uniform int3  c3;
+uniform int4  c4;
+
+uniform int   o1;
+uniform int2  o2;
+uniform int3  o3;
+uniform int4  o4;
+
+PS_OUTPUT main()
+{
+   PS_OUTPUT psout;
+
+   // Buffer
+   float r00 = g_tTexbfs.Load(c1);
+   int   r01 = g_tTexbis.Load(c1);
+   uint  r02 = g_tTexbus.Load(c1);
+
+   // TODO: other types that can be put in sampler buffers, like float2x2, and float3.
+
+   psout.Color = 1.0;
+   psout.Depth = 1.0;
+
+   return psout;
+}
diff --git a/Test/hlsl.rw.scalar.bracket.frag b/Test/hlsl.rw.scalar.bracket.frag
new file mode 100644 (file)
index 0000000..e185f05
--- /dev/null
@@ -0,0 +1,140 @@
+SamplerState       g_sSamp : register(s0);
+
+RWTexture1D <float> g_tTex1df1;
+RWTexture1D <int>   g_tTex1di1;
+RWTexture1D <uint>  g_tTex1du1;
+
+RWTexture2D <float> g_tTex2df1;
+RWTexture2D <int>   g_tTex2di1;
+RWTexture2D <uint>  g_tTex2du1;
+
+RWTexture3D <float> g_tTex3df1;
+RWTexture3D <int>   g_tTex3di1;
+RWTexture3D <uint>  g_tTex3du1;
+
+RWTexture1DArray <float> g_tTex1df1a;
+RWTexture1DArray <int>   g_tTex1di1a;
+RWTexture1DArray <uint>  g_tTex1du1a;
+
+RWTexture2DArray <float> g_tTex2df1a;
+RWTexture2DArray <int>   g_tTex2di1a;
+RWTexture2DArray <uint>  g_tTex2du1a;
+
+struct PS_OUTPUT
+{
+    float4 Color : SV_Target0;
+};
+
+uniform int   c1;
+uniform int2  c2;
+uniform int3  c3;
+uniform int4  c4;
+
+uniform int   o1;
+uniform int2  o2;
+uniform int3  o3;
+uniform int4  o4;
+
+uniform float uf1;
+uniform int   ui1;
+uniform uint  uu1;
+
+int   Fn1(in int x)   { return x; }
+uint  Fn1(in uint x)  { return x; }
+float Fn1(in float x) { return x; }
+
+void Fn2(out int x)   { x = int(0); }
+void Fn2(out uint x)  { x = uint(0); }
+void Fn2(out float x) { x = float(0); }
+
+float SomeValue() { return c1; }
+
+PS_OUTPUT main()
+{
+   PS_OUTPUT psout;
+
+   // 1D
+   g_tTex1df1[c1];
+   
+   float r00 = g_tTex1df1[c1];
+   int   r01 = g_tTex1di1[c1];
+   uint  r02 = g_tTex1du1[c1];
+
+   // 2D
+   float r10 = g_tTex2df1[c2];
+   int   r11 = g_tTex2di1[c2];
+   uint  r12 = g_tTex2du1[c2];
+   
+   // 3D
+   float r20 = g_tTex3df1[c3];
+   int   r21 = g_tTex3di1[c3];
+   uint  r22 = g_tTex3du1[c3];
+
+   float lf1 = uf1;
+
+   // Test as L-values
+   // 1D
+   g_tTex1df1[c1] = SomeValue(); // complex R-value
+   g_tTex1df1[c1] = lf1;
+   g_tTex1di1[c1] = int(2);
+   g_tTex1du1[c1] = uint(3);
+
+   // Test some operator= things, which need to do both a load and a store.
+   float val1 = (g_tTex1df1[c1] *= 2.0);
+   g_tTex1df1[c1] -= 3.0;
+   g_tTex1df1[c1] += 4.0;
+   
+   g_tTex1di1[c1] /= 2;
+   g_tTex1di1[c1] %= 2;
+   g_tTex1di1[c1] &= 0xffff;
+   g_tTex1di1[c1] |= 0xf0f0;
+   g_tTex1di1[c1] <<= 2;
+   g_tTex1di1[c1] >>= 2;
+
+   // 2D
+   g_tTex2df1[c2] = SomeValue(); // complex L-value
+   g_tTex2df1[c2] = lf1;
+   g_tTex2di1[c2] = int(5);
+   g_tTex2du1[c2] = uint(6);
+   
+   // 3D
+   g_tTex3df1[c3] = SomeValue(); // complex L-value
+   g_tTex3df1[c3] = lf1;
+   g_tTex3di1[c3] = int(8);
+   g_tTex3du1[c3] = uint(9);
+
+   // Test function calling
+   Fn1(g_tTex1df1[c1]);  // in
+   Fn1(g_tTex1di1[c1]);  // in
+   Fn1(g_tTex1du1[c1]);  // in
+
+   Fn2(g_tTex1df1[c1]);  // out
+   Fn2(g_tTex1di1[c1]);  // out
+   Fn2(g_tTex1du1[c1]);  // out
+
+   // Test increment operators
+   // pre-ops
+   ++g_tTex1df1[c1];
+   ++g_tTex1di1[c1];
+   ++g_tTex1du1[c1];
+
+   --g_tTex1df1[c1];
+   --g_tTex1di1[c1];
+   --g_tTex1du1[c1];
+
+   // post-ops
+   g_tTex1df1[c1]++;
+   g_tTex1du1[c1]--;
+   g_tTex1di1[c1]++;
+
+   g_tTex1df1[c1]--;
+   g_tTex1di1[c1]++;
+   g_tTex1du1[c1]--;
+
+   // read and write
+   g_tTex1df1[1] = g_tTex2df1[int2(2, 3)];
+
+   psout.Color = 1.0;
+
+   return psout;
+}
diff --git a/Test/hlsl.rw.vec2.bracket.frag b/Test/hlsl.rw.vec2.bracket.frag
new file mode 100644 (file)
index 0000000..7b4a10a
--- /dev/null
@@ -0,0 +1,140 @@
+SamplerState       g_sSamp : register(s0);
+
+RWTexture1D <float2> g_tTex1df2;
+RWTexture1D <int2>   g_tTex1di2;
+RWTexture1D <uint2>  g_tTex1du2;
+
+RWTexture2D <float2> g_tTex2df2;
+RWTexture2D <int2>   g_tTex2di2;
+RWTexture2D <uint2>  g_tTex2du2;
+
+RWTexture3D <float2> g_tTex3df2;
+RWTexture3D <int2>   g_tTex3di2;
+RWTexture3D <uint2>  g_tTex3du2;
+
+RWTexture1DArray <float2> g_tTex1df2a;
+RWTexture1DArray <int2>   g_tTex1di2a;
+RWTexture1DArray <uint2>  g_tTex1du2a;
+
+RWTexture2DArray <float2> g_tTex2df2a;
+RWTexture2DArray <int2>   g_tTex2di2a;
+RWTexture2DArray <uint2>  g_tTex2du2a;
+
+struct PS_OUTPUT
+{
+    float4 Color : SV_Target0;
+};
+
+uniform int   c1;
+uniform int2  c2;
+uniform int3  c3;
+uniform int4  c4;
+
+uniform int   o1;
+uniform int2  o2;
+uniform int3  o3;
+uniform int4  o4;
+
+uniform float2 uf2;
+uniform int2   ui2;
+uniform uint2  uu2;
+
+int2   Fn1(in int2 x)   { return x; }
+uint2  Fn1(in uint2 x)  { return x; }
+float2 Fn1(in float2 x) { return x; }
+
+void Fn2(out int2 x)   { x = int2(0,0); }
+void Fn2(out uint2 x)  { x = uint2(0,0); }
+void Fn2(out float2 x) { x = float2(0,0); }
+
+float2 SomeValue() { return c2; }
+
+PS_OUTPUT main()
+{
+   PS_OUTPUT psout;
+
+   // 1D
+   g_tTex1df2[c1];
+   
+   float2 r00 = g_tTex1df2[c1];
+   int2   r01 = g_tTex1di2[c1];
+   uint2  r02 = g_tTex1du2[c1];
+
+   // 2D
+   float2 r10 = g_tTex2df2[c2];
+   int2   r11 = g_tTex2di2[c2];
+   uint2  r12 = g_tTex2du2[c2];
+   
+   // 3D
+   float2 r20 = g_tTex3df2[c3];
+   int2   r21 = g_tTex3di2[c3];
+   uint2  r22 = g_tTex3du2[c3];
+
+   float2 lf2 = uf2;
+
+   // Test as L-values
+   // 1D
+   g_tTex1df2[c1] = SomeValue(); // complex R-value
+   g_tTex1df2[c1] = lf2;
+   g_tTex1di2[c1] = int2(2,2);
+   g_tTex1du2[c1] = uint2(3,2);
+
+   // Test some operator= things, which need to do both a load and a store.
+   float2 val1 = (g_tTex1df2[c1] *= 2.0);
+   g_tTex1df2[c1] -= 3.0;
+   g_tTex1df2[c1] += 4.0;
+   
+   g_tTex1di2[c1] /= 2;
+   g_tTex1di2[c1] %= 2;
+   g_tTex1di2[c1] &= 0xffff;
+   g_tTex1di2[c1] |= 0xf0f0;
+   g_tTex1di2[c1] <<= 2;
+   g_tTex1di2[c1] >>= 2;
+
+   // 2D
+   g_tTex2df2[c2] = SomeValue(); // complex L-value
+   g_tTex2df2[c2] = lf2;
+   g_tTex2di2[c2] = int2(5,2);
+   g_tTex2du2[c2] = uint2(6,2);
+   
+   // 3D
+   g_tTex3df2[c3] = SomeValue(); // complex L-value
+   g_tTex3df2[c3] = lf2;
+   g_tTex3di2[c3] = int2(8,6);
+   g_tTex3du2[c3] = uint2(9,2);
+
+   // Test function calling
+   Fn1(g_tTex1df2[c1]);  // in
+   Fn1(g_tTex1di2[c1]);  // in
+   Fn1(g_tTex1du2[c1]);  // in
+
+   Fn2(g_tTex1df2[c1]);  // out
+   Fn2(g_tTex1di2[c1]);  // out
+   Fn2(g_tTex1du2[c1]);  // out
+
+   // Test increment operators
+   // pre-ops
+   ++g_tTex1df2[c1];
+   ++g_tTex1di2[c1];
+   ++g_tTex1du2[c1];
+
+   --g_tTex1df2[c1];
+   --g_tTex1di2[c1];
+   --g_tTex1du2[c1];
+
+   // post-ops
+   g_tTex1df2[c1]++;
+   g_tTex1du2[c1]--;
+   g_tTex1di2[c1]++;
+
+   g_tTex1df2[c1]--;
+   g_tTex1di2[c1]++;
+   g_tTex1du2[c1]--;
+
+   // read and write
+   g_tTex1df2[1] = g_tTex2df2[int2(2,3)];
+
+   psout.Color = 1.0;
+
+   return psout;
+}
index 35b4831..fb3fb92 100644 (file)
@@ -823,6 +823,53 @@ public:
         default:              return "none";
         }
     }
+    static int getLayoutComponentCount(TLayoutFormat f)
+    {
+        switch (f) {
+        case ElfRgba32f:      return 4;
+        case ElfRgba16f:      return 4;
+        case ElfRg32f:        return 2;
+        case ElfRg16f:        return 2;
+        case ElfR11fG11fB10f: return 3;
+        case ElfR32f:         return 1;
+        case ElfR16f:         return 1;
+        case ElfRgba16:       return 4;
+        case ElfRgb10A2:      return 4;
+        case ElfRgba8:        return 4;
+        case ElfRg16:         return 2;
+        case ElfRg8:          return 2;
+        case ElfR16:          return 1;
+        case ElfR8:           return 1;
+        case ElfRgba16Snorm:  return 4;
+        case ElfRgba8Snorm:   return 4;
+        case ElfRg16Snorm:    return 2;
+        case ElfRg8Snorm:     return 2;
+        case ElfR16Snorm:     return 1;
+        case ElfR8Snorm:      return 1;
+
+        case ElfRgba32i:      return 4;
+        case ElfRgba16i:      return 4;
+        case ElfRgba8i:       return 4;
+        case ElfRg32i:        return 2;
+        case ElfRg16i:        return 2;
+        case ElfRg8i:         return 2;
+        case ElfR32i:         return 1;
+        case ElfR16i:         return 1;
+        case ElfR8i:          return 1;
+
+        case ElfRgba32ui:     return 4;
+        case ElfRgba16ui:     return 4;
+        case ElfRgba8ui:      return 4;
+        case ElfRg32ui:       return 2;
+        case ElfRg16ui:       return 2;
+        case ElfRgb10a2ui:    return 4;
+        case ElfRg8ui:        return 2;
+        case ElfR32ui:        return 1;
+        case ElfR16ui:        return 1;
+        case ElfR8ui:         return 1;
+        default:              return 4;
+        }
+    }
     static const char* getLayoutDepthString(TLayoutDepth d)
     {
         switch (d) {
index 354a5df..cfca4b9 100644 (file)
@@ -134,6 +134,7 @@ INSTANTIATE_TEST_CASE_P(
         {"hlsl.load.basic.dx10.frag", "main"},
         {"hlsl.load.basic.dx10.vert", "main"},
         {"hlsl.load.buffer.dx10.frag", "main"},
+        {"hlsl.load.buffer.float.dx10.frag", "main"},
         {"hlsl.load.rwbuffer.dx10.frag", "main"},
         {"hlsl.load.rwtexture.dx10.frag", "main"},
         {"hlsl.load.rwtexture.array.dx10.frag", "main"},
@@ -148,6 +149,8 @@ INSTANTIATE_TEST_CASE_P(
         {"hlsl.precise.frag", "main"},
         {"hlsl.promotions.frag", "main"},
         {"hlsl.rw.bracket.frag", "main"},
+        {"hlsl.rw.scalar.bracket.frag", "main"},
+        {"hlsl.rw.vec2.bracket.frag", "main"},
         {"hlsl.sample.array.dx10.frag", "main"},
         {"hlsl.sample.basic.dx10.frag", "main"},
         {"hlsl.sample.offset.dx10.frag", "main"},
index 5f9ec26..c9c4716 100755 (executable)
@@ -907,11 +907,11 @@ bool HlslGrammar::acceptTextureType(TType& type)
             return false;
         }
 
-        if (txType.getVectorSize() != 1 && txType.getVectorSize() != 4) {
-            // TODO: handle vec2/3 types
-            expected("vector size not yet supported in texture type");
-            return false;
-        }
+        // if (txType.getVectorSize() != 1 && txType.getVectorSize() != 4 && !image) {
+        //     // TODO: handle vec2/3 types
+        //     expected("vector size not yet supported in texture type");
+        //     return false;
+        // }
 
         if (ms && acceptTokenClass(EHTokComma)) {
             // read sample count for multisample types, if given
@@ -937,24 +937,14 @@ bool HlslGrammar::acceptTextureType(TType& type)
     }
 
     TArraySizes* arraySizes = nullptr;
-    const bool shadow = !image && (txType.isScalar() || (txType.isVector() && txType.getVectorSize() == 1));
+    const bool shadow = false; // declared on the sampler
 
     TSampler sampler;
     TLayoutFormat format = ElfNone;
 
-    // RWBuffer and RWTexture (images) require a TLayoutFormat.  We handle only a limit set.
-    if (image) {
-        if (txType.getVectorSize() != 4)
-            expected("4 component image");
-
-        switch (txType.getBasicType()) {
-        case EbtFloat: format = ElfRgba32f;  break;
-        case EbtInt:   format = ElfRgba32i;  break;
-        case EbtUint:  format = ElfRgba32ui; break;
-        default:
-            expected("unknown basic type in image format");
-        }
-    }
+    // Buffer, RWBuffer and RWTexture (images) require a TLayoutFormat.  We handle only a limit set.
+    if (image || dim == EsdBuffer)
+        format = parseContext.getLayoutFromTxType(token.loc, txType);
 
     // Non-image Buffers are combined
     if (dim == EsdBuffer && !image) {
index 3137bed..1ba7d08 100755 (executable)
@@ -148,6 +148,28 @@ bool HlslParseContext::shouldConvertLValue(const TIntermNode* node) const
 }
 
 //
+// Return a TLayoutFormat corresponding to the given texture type.
+//
+TLayoutFormat HlslParseContext::getLayoutFromTxType(const TSourceLoc& loc, const TType& txType)
+{
+    const int components = txType.getVectorSize();
+
+    const auto select = [&](TLayoutFormat v1, TLayoutFormat v2, TLayoutFormat v4) {
+        return components == 1 ? v1 :
+               components == 2 ? v2 : v4;
+    };
+
+    switch (txType.getBasicType()) {
+    case EbtFloat: return select(ElfR32f,  ElfRg32f,  ElfRgba32f);
+    case EbtInt:   return select(ElfR32i,  ElfRg32i,  ElfRgba32i);
+    case EbtUint:  return select(ElfR32ui, ElfRg32ui, ElfRgba32ui);
+    default:
+        error(loc, "unknown basic type in image format", "", "");
+        return ElfNone;
+    }
+}
+
+//
 // Both test and if necessary, spit out an error, to see if the node is really
 // an l-value that can be operated on this way.
 //
@@ -265,10 +287,14 @@ TIntermTyped* HlslParseContext::handleLvalue(const TSourceLoc& loc, const char*
     TIntermTyped* coord  = lhsAsAggregate->getSequence()[1]->getAsTyped();
 
     const TLayoutFormat fmt = object->getType().getQualifier().layoutFormat;
-    // We only handle 4 component formats at the moment.
 
-    assert(fmt == ElfRgba32f || fmt == ElfRgba32i || fmt == ElfRgba32ui);
-    const TType objDerefType(object->getType().getSampler().type, EvqTemporary, 4);
+    // We only handle this subset of the possible formats.
+    assert(fmt == ElfRgba32f || fmt == ElfRgba32i || fmt == ElfRgba32ui ||
+           fmt == ElfRg32f   || fmt == ElfRg32i   || fmt == ElfRg32ui   ||
+           fmt == ElfR32f    || fmt == ElfR32i    || fmt == ElfR32ui);
+
+    const TType objDerefType(object->getType().getSampler().type, EvqTemporary, 
+                             TQualifier::getLayoutComponentCount(fmt));
 
     if (nodeAsBinary) {
         TIntermTyped* rhs = nodeAsBinary->getRight();
@@ -578,7 +604,7 @@ TIntermTyped* HlslParseContext::handleBracketOperator(const TSourceLoc& loc, TIn
     if (base->getType().getBasicType() == EbtSampler && !base->isArray()) {
         const TSampler& sampler = base->getType().getSampler();
         if (sampler.isImage() || sampler.isTexture()) {
-            const int vecSize = 4; // TODO: handle arbitrary sizes (get from qualifier)
+            const int vecSize = TQualifier::getLayoutComponentCount(base->getType().getQualifier().layoutFormat);
             TIntermAggregate* load = new TIntermAggregate(sampler.isImage() ? EOpImageLoad : EOpTextureFetch);
 
             load->setType(TType(sampler.type, EvqTemporary, vecSize));
@@ -1781,7 +1807,9 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType
                 txfetch->getSequence().push_back(argOffset);
             }
 
-            txfetch->setType(node->getType());
+            int vecSize = TQualifier::getLayoutComponentCount(argTex->getType().getQualifier().layoutFormat);
+
+            txfetch->setType(TType(node->getType().getBasicType(), EvqTemporary, vecSize));
             txfetch->setLoc(loc);
             node = txfetch;
 
index d8e7546..2eeba5a 100755 (executable)
@@ -156,6 +156,8 @@ public:
     TIntermTyped* handleLvalue(const TSourceLoc&, const char* op, TIntermTyped* node);
     bool lValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*) override;
 
+    TLayoutFormat getLayoutFromTxType(const TSourceLoc&, const TType&);
+
 protected:
     void inheritGlobalDefaults(TQualifier& dst) const;
     TVariable* makeInternalVariable(const char* name, const TType&) const;