diff --git a/Test/baseResults/hlsl.amend.frag.out b/Test/baseResults/hlsl.amend.frag.out
index 8d5b2d1b7091c1d0d2c367ca74637f914963aa8f..a93643e5553fadeaed9119013b512288bfed8eda 100755
--- a/Test/baseResults/hlsl.amend.frag.out
+++ b/Test/baseResults/hlsl.amend.frag.out
@@ -2,16 +2,28 @@ hlsl.amend.frag
 Shader version: 450
 gl_FragCoord origin is upper left
 0:? Sequence
+0:3  Sequence
+0:3    move second child to first child ( temp 4-component vector of float)
+0:3      'm' ( global 4-component vector of float)
+0:3      vector-scale ( temp 4-component vector of float)
+0:3        a: direct index for structure ( uniform 4-component vector of float)
+0:3          'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
+0:3          Constant:
+0:3            0 (const uint)
+0:3        b: direct index for structure ( uniform float)
+0:3          'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
+0:3          Constant:
+0:3            1 (const uint)
 0:5  Function Definition: @f1( ( temp void)
 0:5    Function Parameters: 
 0:?     Sequence
 0:6      vector-scale ( temp 4-component vector of float)
-0:6        a: direct index for structure (layout( offset=0) uniform 4-component vector of float)
-0:6          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:6        a: direct index for structure ( uniform 4-component vector of float)
+0:6          'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
 0:6          Constant:
 0:6            0 (const uint)
-0:6        b: direct index for structure (layout( offset=16) uniform float)
-0:6          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:6        b: direct index for structure ( uniform float)
+0:6          'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
 0:6          Constant:
 0:6            1 (const uint)
 0:5  Function Definition: f1( ( temp void)
@@ -24,19 +36,19 @@ gl_FragCoord origin is upper left
 0:13      add ( temp float)
 0:13        add ( temp float)
 0:13          direct index ( temp float)
-0:13            a: direct index for structure (layout( offset=0) uniform 4-component vector of float)
-0:13              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:13            a: direct index for structure ( uniform 4-component vector of float)
+0:13              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
 0:13              Constant:
 0:13                0 (const uint)
 0:13            Constant:
 0:13              0 (const int)
-0:13          b: direct index for structure (layout( offset=16) uniform float)
-0:13            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:13          b: direct index for structure ( uniform float)
+0:13            'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
 0:13            Constant:
 0:13              1 (const uint)
 0:13        direct index ( temp float)
-0:13          c: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:13            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:13          c: direct index for structure ( uniform 3-component vector of float)
+0:13            'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
 0:13            Constant:
 0:13              2 (const uint)
 0:13          Constant:
@@ -44,8 +56,8 @@ gl_FragCoord origin is upper left
 0:17  Function Definition: f3( ( temp void)
 0:17    Function Parameters: 
 0:?     Sequence
-0:18      c: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:18        'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:18      c: direct index for structure ( uniform 3-component vector of float)
+0:18        'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
 0:18        Constant:
 0:18          2 (const uint)
 0:24  Function Definition: f4( ( temp void)
@@ -53,16 +65,17 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 0:25      vector-scale ( temp 4-component vector of float)
 0:25        Convert int to float ( temp float)
-0:25          d: direct index for structure (layout( offset=44) uniform int)
-0:25            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:25          d: direct index for structure ( uniform int)
+0:25            'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
 0:25            Constant:
 0:25              3 (const uint)
-0:25        a: direct index for structure (layout( offset=0) uniform 4-component vector of float)
-0:25          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:25        a: direct index for structure ( uniform 4-component vector of float)
+0:25          'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
 0:25          Constant:
 0:25            0 (const uint)
 0:?   Linker Objects
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
+0:?     'm' ( global 4-component vector of float)
 
 
 Linked fragment stage:
@@ -71,16 +84,28 @@ Linked fragment stage:
 Shader version: 450
 gl_FragCoord origin is upper left
 0:? Sequence
+0:3  Sequence
+0:3    move second child to first child ( temp 4-component vector of float)
+0:3      'm' ( global 4-component vector of float)
+0:3      vector-scale ( temp 4-component vector of float)
+0:3        a: direct index for structure ( uniform 4-component vector of float)
+0:3          'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
+0:3          Constant:
+0:3            0 (const uint)
+0:3        b: direct index for structure ( uniform float)
+0:3          'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
+0:3          Constant:
+0:3            1 (const uint)
 0:5  Function Definition: @f1( ( temp void)
 0:5    Function Parameters: 
 0:?     Sequence
 0:6      vector-scale ( temp 4-component vector of float)
-0:6        a: direct index for structure (layout( offset=0) uniform 4-component vector of float)
-0:6          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:6        a: direct index for structure ( uniform 4-component vector of float)
+0:6          'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
 0:6          Constant:
 0:6            0 (const uint)
-0:6        b: direct index for structure (layout( offset=16) uniform float)
-0:6          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:6        b: direct index for structure ( uniform float)
+0:6          'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
 0:6          Constant:
 0:6            1 (const uint)
 0:5  Function Definition: f1( ( temp void)
@@ -93,19 +118,19 @@ gl_FragCoord origin is upper left
 0:13      add ( temp float)
 0:13        add ( temp float)
 0:13          direct index ( temp float)
-0:13            a: direct index for structure (layout( offset=0) uniform 4-component vector of float)
-0:13              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:13            a: direct index for structure ( uniform 4-component vector of float)
+0:13              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
 0:13              Constant:
 0:13                0 (const uint)
 0:13            Constant:
 0:13              0 (const int)
-0:13          b: direct index for structure (layout( offset=16) uniform float)
-0:13            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:13          b: direct index for structure ( uniform float)
+0:13            'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
 0:13            Constant:
 0:13              1 (const uint)
 0:13        direct index ( temp float)
-0:13          c: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:13            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:13          c: direct index for structure ( uniform 3-component vector of float)
+0:13            'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
 0:13            Constant:
 0:13              2 (const uint)
 0:13          Constant:
@@ -113,8 +138,8 @@ gl_FragCoord origin is upper left
 0:17  Function Definition: f3( ( temp void)
 0:17    Function Parameters: 
 0:?     Sequence
-0:18      c: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:18        'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:18      c: direct index for structure ( uniform 3-component vector of float)
+0:18        'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
 0:18        Constant:
 0:18          2 (const uint)
 0:24  Function Definition: f4( ( temp void)
@@ -122,20 +147,21 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 0:25      vector-scale ( temp 4-component vector of float)
 0:25        Convert int to float ( temp float)
-0:25          d: direct index for structure (layout( offset=44) uniform int)
-0:25            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:25          d: direct index for structure ( uniform int)
+0:25            'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
 0:25            Constant:
 0:25              3 (const uint)
-0:25        a: direct index for structure (layout( offset=0) uniform 4-component vector of float)
-0:25          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:25        a: direct index for structure ( uniform 4-component vector of float)
+0:25          'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
 0:25          Constant:
 0:25            0 (const uint)
 0:?   Linker Objects
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float a, layout( offset=16) uniform float b, layout( offset=32) uniform 3-component vector of float c, layout( offset=44) uniform int d,  uniform int e})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float a,  uniform float b,  uniform 3-component vector of float c,  uniform int d,  uniform int e})
+0:?     'm' ( global 4-component vector of float)
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 50
+// Id's are bound by 57
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
@@ -147,62 +173,71 @@ gl_FragCoord origin is upper left
                               Name 8  "f2("
                               Name 10  "f3("
                               Name 12  "f4("
-                              Name 18  "$Global"
-                              MemberName 18($Global) 0  "a"
-                              MemberName 18($Global) 1  "b"
-                              MemberName 18($Global) 2  "c"
-                              MemberName 18($Global) 3  "d"
-                              MemberName 18($Global) 4  "e"
-                              Name 20  ""
-                              MemberDecorate 18($Global) 0 Offset 0
-                              MemberDecorate 18($Global) 1 Offset 16
-                              MemberDecorate 18($Global) 2 Offset 32
-                              MemberDecorate 18($Global) 3 Offset 44
-                              MemberDecorate 18($Global) 4 Offset 48
-                              Decorate 18($Global) Block
-                              Decorate 20 DescriptorSet 0
+                              Name 17  "m"
+                              Name 20  "$Global"
+                              MemberName 20($Global) 0  "a"
+                              MemberName 20($Global) 1  "b"
+                              MemberName 20($Global) 2  "c"
+                              MemberName 20($Global) 3  "d"
+                              MemberName 20($Global) 4  "e"
+                              Name 22  ""
+                              MemberDecorate 20($Global) 0 Offset 0
+                              MemberDecorate 20($Global) 1 Offset 16
+                              MemberDecorate 20($Global) 2 Offset 32
+                              MemberDecorate 20($Global) 3 Offset 44
+                              MemberDecorate 20($Global) 4 Offset 48
+                              Decorate 20($Global) Block
+                              Decorate 22 DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
               14:             TypeFloat 32
               15:             TypeVector 14(float) 4
-              16:             TypeVector 14(float) 3
-              17:             TypeInt 32 1
-     18($Global):             TypeStruct 15(fvec4) 14(float) 16(fvec3) 17(int) 17(int)
-              19:             TypePointer Uniform 18($Global)
-              20:     19(ptr) Variable Uniform
-              21:     17(int) Constant 0
-              22:             TypePointer Uniform 15(fvec4)
-              25:     17(int) Constant 1
-              26:             TypePointer Uniform 14(float)
-              31:             TypeInt 32 0
-              32:     31(int) Constant 0
-              38:     17(int) Constant 2
-              42:     17(int) Constant 3
-              43:             TypePointer Uniform 17(int)
+              16:             TypePointer Private 15(fvec4)
+           17(m):     16(ptr) Variable Private
+              18:             TypeVector 14(float) 3
+              19:             TypeInt 32 1
+     20($Global):             TypeStruct 15(fvec4) 14(float) 18(fvec3) 19(int) 19(int)
+              21:             TypePointer Uniform 20($Global)
+              22:     21(ptr) Variable Uniform
+              23:     19(int) Constant 0
+              24:             TypePointer Uniform 15(fvec4)
+              27:     19(int) Constant 1
+              28:             TypePointer Uniform 14(float)
+              38:             TypeInt 32 0
+              39:     38(int) Constant 0
+              45:     19(int) Constant 2
+              49:     19(int) Constant 3
+              50:             TypePointer Uniform 19(int)
            4(f1):           2 Function None 3
                5:             Label
-              30:           2 FunctionCall 6(@f1()
+              25:     24(ptr) AccessChain 22 23
+              26:   15(fvec4) Load 25
+              29:     28(ptr) AccessChain 22 27
+              30:   14(float) Load 29
+              31:   15(fvec4) VectorTimesScalar 26 30
+                              Store 17(m) 31
+              37:           2 FunctionCall 6(@f1()
                               Return
                               FunctionEnd
          6(@f1():           2 Function None 3
                7:             Label
-              23:     22(ptr) AccessChain 20 21
-              24:   15(fvec4) Load 23
-              27:     26(ptr) AccessChain 20 25
-              28:   14(float) Load 27
-              29:   15(fvec4) VectorTimesScalar 24 28
+              32:     24(ptr) AccessChain 22 23
+              33:   15(fvec4) Load 32
+              34:     28(ptr) AccessChain 22 27
+              35:   14(float) Load 34
+              36:   15(fvec4) VectorTimesScalar 33 35
                               Return
                               FunctionEnd
           8(f2():           2 Function None 3
                9:             Label
-              33:     26(ptr) AccessChain 20 21 32
-              34:   14(float) Load 33
-              35:     26(ptr) AccessChain 20 25
-              36:   14(float) Load 35
-              37:   14(float) FAdd 34 36
-              39:     26(ptr) AccessChain 20 38 32
-              40:   14(float) Load 39
-              41:   14(float) FAdd 37 40
+              40:     28(ptr) AccessChain 22 23 39
+              41:   14(float) Load 40
+              42:     28(ptr) AccessChain 22 27
+              43:   14(float) Load 42
+              44:   14(float) FAdd 41 43
+              46:     28(ptr) AccessChain 22 45 39
+              47:   14(float) Load 46
+              48:   14(float) FAdd 44 47
                               Return
                               FunctionEnd
          10(f3():           2 Function None 3
@@ -211,11 +246,11 @@ gl_FragCoord origin is upper left
                               FunctionEnd
          12(f4():           2 Function None 3
               13:             Label
-              44:     43(ptr) AccessChain 20 42
-              45:     17(int) Load 44
-              46:   14(float) ConvertSToF 45
-              47:     22(ptr) AccessChain 20 21
-              48:   15(fvec4) Load 47
-              49:   15(fvec4) VectorTimesScalar 48 46
+              51:     50(ptr) AccessChain 22 49
+              52:     19(int) Load 51
+              53:   14(float) ConvertSToF 52
+              54:     24(ptr) AccessChain 22 23
+              55:   15(fvec4) Load 54
+              56:   15(fvec4) VectorTimesScalar 55 53
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.array.flatten.frag.out b/Test/baseResults/hlsl.array.flatten.frag.out
index ad1b445d292cc22377a2afb8fd5a8cc657b4be7d..1beb71f4bbf1fe87f2aefdd3e414c2b530a4dad5 100644
--- a/Test/baseResults/hlsl.array.flatten.frag.out
+++ b/Test/baseResults/hlsl.array.flatten.frag.out
@@ -86,8 +86,8 @@ gl_FragCoord origin is upper left
 0:35      Sequence
 0:35        move second child to first child ( temp 4-element array of float)
 0:35          'local_float_array' ( temp 4-element array of float)
-0:35          g_floats: direct index for structure (layout( offset=384) uniform 4-element array of float)
-0:35            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10 offset=192) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout( offset=384) uniform 4-element array of float g_floats})
+0:35          g_floats: direct index for structure ( uniform 4-element array of float)
+0:35            'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit,  uniform 4-element array of float g_floats})
 0:35            Constant:
 0:35              2 (const uint)
 0:37      move second child to first child ( temp 4-component vector of float)
@@ -165,7 +165,7 @@ gl_FragCoord origin is upper left
 0:?     'g_samp_explicit[0]' (layout( binding=5) uniform sampler)
 0:?     'g_samp_explicit[1]' (layout( binding=6) uniform sampler)
 0:?     'g_samp_explicit[2]' (layout( binding=7) uniform sampler)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10 offset=192) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout( offset=384) uniform 4-element array of float g_floats})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit,  uniform 4-element array of float g_floats})
 0:?     'not_flattened_a' ( global 5-element array of int)
 0:?     'color' (layout( location=0) out 4-component vector of float)
 
@@ -260,8 +260,8 @@ gl_FragCoord origin is upper left
 0:35      Sequence
 0:35        move second child to first child ( temp 4-element array of float)
 0:35          'local_float_array' ( temp 4-element array of float)
-0:35          g_floats: direct index for structure (layout( offset=384) uniform 4-element array of float)
-0:35            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10 offset=192) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout( offset=384) uniform 4-element array of float g_floats})
+0:35          g_floats: direct index for structure ( uniform 4-element array of float)
+0:35            'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit,  uniform 4-element array of float g_floats})
 0:35            Constant:
 0:35              2 (const uint)
 0:37      move second child to first child ( temp 4-component vector of float)
@@ -339,7 +339,7 @@ gl_FragCoord origin is upper left
 0:?     'g_samp_explicit[0]' (layout( binding=5) uniform sampler)
 0:?     'g_samp_explicit[1]' (layout( binding=6) uniform sampler)
 0:?     'g_samp_explicit[2]' (layout( binding=7) uniform sampler)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10 offset=192) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout( offset=384) uniform 4-element array of float g_floats})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit,  uniform 4-element array of float g_floats})
 0:?     'not_flattened_a' ( global 5-element array of int)
 0:?     'color' (layout( location=0) out 4-component vector of float)
 
diff --git a/Test/baseResults/hlsl.array.frag.out b/Test/baseResults/hlsl.array.frag.out
index 12fcda6054d64eb82a8d1e784f4a308bb9dd6ec1..58fa077735b9a828ed2fe1131282b87837b0e851 100755
--- a/Test/baseResults/hlsl.array.frag.out
+++ b/Test/baseResults/hlsl.array.frag.out
@@ -14,16 +14,16 @@ gl_FragCoord origin is upper left
 0:10              add ( temp 4-component vector of float)
 0:10                add ( temp 4-component vector of float)
 0:10                  add ( temp 4-component vector of float)
-0:10                    direct index (layout( offset=0) temp 4-component vector of float)
-0:10                      a: direct index for structure (layout( offset=0) uniform 4-element array of 4-component vector of float)
-0:10                        'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-element array of 4-component vector of float a, layout( offset=64) uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
+0:10                    direct index ( temp 4-component vector of float)
+0:10                      a: direct index for structure ( uniform 4-element array of 4-component vector of float)
+0:10                        'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
 0:10                        Constant:
 0:10                          0 (const uint)
 0:10                      Constant:
 0:10                        1 (const int)
-0:10                    indirect index (layout( offset=0) temp 4-component vector of float)
-0:10                      a: direct index for structure (layout( offset=0) uniform 4-element array of 4-component vector of float)
-0:10                        'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-element array of 4-component vector of float a, layout( offset=64) uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
+0:10                    indirect index ( temp 4-component vector of float)
+0:10                      a: direct index for structure ( uniform 4-element array of 4-component vector of float)
+0:10                        'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
 0:10                        Constant:
 0:10                          0 (const uint)
 0:10                      'i' ( in int)
@@ -43,9 +43,9 @@ gl_FragCoord origin is upper left
 0:10              'i' ( in int)
 0:10          indirect index ( temp 4-component vector of float)
 0:10            m: direct index for structure ( temp 7-element array of 4-component vector of float)
-0:10              indirect index (layout( offset=64) temp structure{ temp 7-element array of 4-component vector of float m})
-0:10                s: direct index for structure (layout( offset=64) uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m})
-0:10                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-element array of 4-component vector of float a, layout( offset=64) uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
+0:10              indirect index ( temp structure{ temp 7-element array of 4-component vector of float m})
+0:10                s: direct index for structure ( uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m})
+0:10                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
 0:10                  Constant:
 0:10                    1 (const uint)
 0:10                'i' ( in int)
@@ -67,10 +67,10 @@ gl_FragCoord origin is upper left
 0:?           'i' ( temp int)
 0:?           'input' ( temp 3-element array of 4-component vector of float)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'i' (layout( location=0) in int)
 0:?     'input' (layout( location=1) in 3-element array of 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-element array of 4-component vector of float a, layout( offset=64) uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
 
 
 Linked fragment stage:
@@ -91,16 +91,16 @@ gl_FragCoord origin is upper left
 0:10              add ( temp 4-component vector of float)
 0:10                add ( temp 4-component vector of float)
 0:10                  add ( temp 4-component vector of float)
-0:10                    direct index (layout( offset=0) temp 4-component vector of float)
-0:10                      a: direct index for structure (layout( offset=0) uniform 4-element array of 4-component vector of float)
-0:10                        'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-element array of 4-component vector of float a, layout( offset=64) uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
+0:10                    direct index ( temp 4-component vector of float)
+0:10                      a: direct index for structure ( uniform 4-element array of 4-component vector of float)
+0:10                        'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
 0:10                        Constant:
 0:10                          0 (const uint)
 0:10                      Constant:
 0:10                        1 (const int)
-0:10                    indirect index (layout( offset=0) temp 4-component vector of float)
-0:10                      a: direct index for structure (layout( offset=0) uniform 4-element array of 4-component vector of float)
-0:10                        'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-element array of 4-component vector of float a, layout( offset=64) uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
+0:10                    indirect index ( temp 4-component vector of float)
+0:10                      a: direct index for structure ( uniform 4-element array of 4-component vector of float)
+0:10                        'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
 0:10                        Constant:
 0:10                          0 (const uint)
 0:10                      'i' ( in int)
@@ -120,9 +120,9 @@ gl_FragCoord origin is upper left
 0:10              'i' ( in int)
 0:10          indirect index ( temp 4-component vector of float)
 0:10            m: direct index for structure ( temp 7-element array of 4-component vector of float)
-0:10              indirect index (layout( offset=64) temp structure{ temp 7-element array of 4-component vector of float m})
-0:10                s: direct index for structure (layout( offset=64) uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m})
-0:10                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-element array of 4-component vector of float a, layout( offset=64) uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
+0:10              indirect index ( temp structure{ temp 7-element array of 4-component vector of float m})
+0:10                s: direct index for structure ( uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m})
+0:10                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
 0:10                  Constant:
 0:10                    1 (const uint)
 0:10                'i' ( in int)
@@ -144,10 +144,10 @@ gl_FragCoord origin is upper left
 0:?           'i' ( temp int)
 0:?           'input' ( temp 3-element array of 4-component vector of float)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'i' (layout( location=0) in int)
 0:?     'input' (layout( location=1) in 3-element array of 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-element array of 4-component vector of float a, layout( offset=64) uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.array.multidim.frag.out b/Test/baseResults/hlsl.array.multidim.frag.out
index 66f6f5481c8fe7a668ee4c4b3448b6ab45218de4..e13399e4f85e6c59024ec5a41223518c829adce6 100644
--- a/Test/baseResults/hlsl.array.multidim.frag.out
+++ b/Test/baseResults/hlsl.array.multidim.frag.out
@@ -14,11 +14,11 @@ gl_FragCoord origin is upper left
 0:14          Constant:
 0:14            2 (const int)
 0:14        Construct vec4 ( temp 4-component vector of float)
-0:14          direct index (layout( offset=0) temp float)
-0:14            direct index (layout( offset=0) temp 3-element array of float)
-0:14              direct index (layout( offset=0) temp 4-element array of 3-element array of float)
-0:14                float_array: direct index for structure (layout( offset=0) uniform 5-element array of 4-element array of 3-element array of float)
-0:14                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 5-element array of 4-element array of 3-element array of float float_array})
+0:14          direct index ( temp float)
+0:14            direct index ( temp 3-element array of float)
+0:14              direct index ( temp 4-element array of 3-element array of float)
+0:14                float_array: direct index for structure ( uniform 5-element array of 4-element array of 3-element array of float)
+0:14                  'anon@0' (layout( row_major std140) uniform block{ uniform 5-element array of 4-element array of 3-element array of float float_array})
 0:14                  Constant:
 0:14                    0 (const uint)
 0:14                Constant:
@@ -61,8 +61,8 @@ gl_FragCoord origin is upper left
 0:10            Constant:
 0:10              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 5-element array of 4-element array of 3-element array of float float_array})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 5-element array of 4-element array of 3-element array of float float_array})
 
 
 Linked fragment stage:
@@ -83,11 +83,11 @@ gl_FragCoord origin is upper left
 0:14          Constant:
 0:14            2 (const int)
 0:14        Construct vec4 ( temp 4-component vector of float)
-0:14          direct index (layout( offset=0) temp float)
-0:14            direct index (layout( offset=0) temp 3-element array of float)
-0:14              direct index (layout( offset=0) temp 4-element array of 3-element array of float)
-0:14                float_array: direct index for structure (layout( offset=0) uniform 5-element array of 4-element array of 3-element array of float)
-0:14                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 5-element array of 4-element array of 3-element array of float float_array})
+0:14          direct index ( temp float)
+0:14            direct index ( temp 3-element array of float)
+0:14              direct index ( temp 4-element array of 3-element array of float)
+0:14                float_array: direct index for structure ( uniform 5-element array of 4-element array of 3-element array of float)
+0:14                  'anon@0' (layout( row_major std140) uniform block{ uniform 5-element array of 4-element array of 3-element array of float float_array})
 0:14                  Constant:
 0:14                    0 (const uint)
 0:14                Constant:
@@ -130,8 +130,8 @@ gl_FragCoord origin is upper left
 0:10            Constant:
 0:10              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 5-element array of 4-element array of 3-element array of float float_array})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 5-element array of 4-element array of 3-element array of float float_array})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.attribute.expression.comp.out b/Test/baseResults/hlsl.attribute.expression.comp.out
index d3c51a8999516f7c7c12e9a48ea4d63fc01de3e3..bd4e96ba346724f334edf5b2f57e0cd7fefa54f3 100644
--- a/Test/baseResults/hlsl.attribute.expression.comp.out
+++ b/Test/baseResults/hlsl.attribute.expression.comp.out
@@ -14,8 +14,8 @@ local_size = (4, 6, 8)
 0:11          Loop Condition
 0:11          Compare Less Than ( temp bool)
 0:11            'x' ( temp int)
-0:11            bound: direct index for structure (layout( offset=0) uniform int)
-0:11              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int bound})
+0:11            bound: direct index for structure ( uniform int)
+0:11              'anon@0' (layout( row_major std140) uniform block{ uniform int bound})
 0:11              Constant:
 0:11                0 (const uint)
 0:11          No loop body
@@ -35,8 +35,8 @@ local_size = (4, 6, 8)
 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:9        Function Call: @main( ( temp 4-component vector of float)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int bound})
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int bound})
 
 
 Linked compute stage:
@@ -57,8 +57,8 @@ local_size = (4, 6, 8)
 0:11          Loop Condition
 0:11          Compare Less Than ( temp bool)
 0:11            'x' ( temp int)
-0:11            bound: direct index for structure (layout( offset=0) uniform int)
-0:11              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int bound})
+0:11            bound: direct index for structure ( uniform int)
+0:11              'anon@0' (layout( row_major std140) uniform block{ uniform int bound})
 0:11              Constant:
 0:11                0 (const uint)
 0:11          No loop body
@@ -78,8 +78,8 @@ local_size = (4, 6, 8)
 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:9        Function Call: @main( ( temp 4-component vector of float)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int bound})
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int bound})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.comparison.vec.frag.out b/Test/baseResults/hlsl.comparison.vec.frag.out
index 70cc0bcac707fec9b68b01506a97b58b5efa071d..dacdb7717c04d61ee2898c244fccf78d4ae979bc 100644
--- a/Test/baseResults/hlsl.comparison.vec.frag.out
+++ b/Test/baseResults/hlsl.comparison.vec.frag.out
@@ -125,7 +125,7 @@ gl_FragCoord origin is upper left
 0:30            Constant:
 0:30              0 (const int)
 0:?   Linker Objects
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float uf4})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float uf4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 
 
@@ -258,7 +258,7 @@ gl_FragCoord origin is upper left
 0:30            Constant:
 0:30              0 (const int)
 0:?   Linker Objects
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float uf4})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float uf4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
diff --git a/Test/baseResults/hlsl.float4.frag.out b/Test/baseResults/hlsl.float4.frag.out
index c298b0103ec39f15b9c1b82b3d97264fd52fcda5..d14de7b2dab999d3b5fd78da85dfa1e1ab61b36c 100755
--- a/Test/baseResults/hlsl.float4.frag.out
+++ b/Test/baseResults/hlsl.float4.frag.out
@@ -12,12 +12,12 @@ gl_FragCoord origin is upper left
 0:10      Branch: Return with expression
 0:10        component-wise multiply ( temp 4-component vector of float)
 0:10          'input' ( in 4-component vector of float)
-0:10          AmbientColor: direct index for structure (layout( offset=0) uniform 4-component vector of float)
-0:10            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float AmbientColor, layout( offset=16) uniform bool ff1, layout( offset=20) uniform float ff2, layout( binding=0 offset=32) uniform 4-component vector of float ff3, layout( binding=1 offset=48) uniform 4-component vector of float ff4})
+0:10          AmbientColor: direct index for structure ( uniform 4-component vector of float)
+0:10            'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor,  uniform bool ff1, layout( offset=20) uniform float ff2, layout( binding=0 offset=32) uniform 4-component vector of float ff3, layout( binding=1 offset=48) uniform 4-component vector of float ff4})
 0:10            Constant:
 0:10              0 (const uint)
 0:?   Linker Objects
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float AmbientColor, layout( offset=16) uniform bool ff1, layout( offset=20) uniform float ff2, layout( binding=0 offset=32) uniform 4-component vector of float ff3, layout( binding=1 offset=48) uniform 4-component vector of float ff4})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor,  uniform bool ff1, layout( offset=20) uniform float ff2, layout( binding=0 offset=32) uniform 4-component vector of float ff3, layout( binding=1 offset=48) uniform 4-component vector of float ff4})
 
 
 Linked fragment stage:
@@ -34,12 +34,12 @@ gl_FragCoord origin is upper left
 0:10      Branch: Return with expression
 0:10        component-wise multiply ( temp 4-component vector of float)
 0:10          'input' ( in 4-component vector of float)
-0:10          AmbientColor: direct index for structure (layout( offset=0) uniform 4-component vector of float)
-0:10            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float AmbientColor, layout( offset=16) uniform bool ff1, layout( offset=20) uniform float ff2, layout( binding=0 offset=32) uniform 4-component vector of float ff3, layout( binding=1 offset=48) uniform 4-component vector of float ff4})
+0:10          AmbientColor: direct index for structure ( uniform 4-component vector of float)
+0:10            'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor,  uniform bool ff1, layout( offset=20) uniform float ff2, layout( binding=0 offset=32) uniform 4-component vector of float ff3, layout( binding=1 offset=48) uniform 4-component vector of float ff4})
 0:10            Constant:
 0:10              0 (const uint)
 0:?   Linker Objects
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float AmbientColor, layout( offset=16) uniform bool ff1, layout( offset=20) uniform float ff2, layout( binding=0 offset=32) uniform 4-component vector of float ff3, layout( binding=1 offset=48) uniform 4-component vector of float ff4})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor,  uniform bool ff1, layout( offset=20) uniform float ff2, layout( binding=0 offset=32) uniform 4-component vector of float ff3, layout( binding=1 offset=48) uniform 4-component vector of float ff4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
index 29b9895c3145b154708739cce30f99fe495148f1..c918d9917c5992f70893e1fa8d51bfa0a3880eb6 100644
--- a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
@@ -12,8 +12,8 @@ gl_FragCoord origin is upper left
 0:33            Construct combined texture-sampler ( temp sampler2DArray)
 0:33              'g_tTex2df4a' ( uniform texture2DArray)
 0:33              'g_sSamp' (layout( binding=0) uniform sampler)
-0:33            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:33              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:33            c3: direct index for structure ( uniform 3-component vector of float)
+0:33              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:33              Constant:
 0:33                2 (const uint)
 0:33            Constant:
@@ -25,8 +25,8 @@ gl_FragCoord origin is upper left
 0:34            Construct combined texture-sampler ( temp isampler2DArray)
 0:34              'g_tTex2di4a' ( uniform itexture2DArray)
 0:34              'g_sSamp' (layout( binding=0) uniform sampler)
-0:34            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:34              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:34            c3: direct index for structure ( uniform 3-component vector of float)
+0:34              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:34              Constant:
 0:34                2 (const uint)
 0:34            Constant:
@@ -38,8 +38,8 @@ gl_FragCoord origin is upper left
 0:35            Construct combined texture-sampler ( temp usampler2DArray)
 0:35              'g_tTex2du4a' ( uniform utexture2DArray)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:35            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:35              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:35            c3: direct index for structure ( uniform 3-component vector of float)
+0:35              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:35              Constant:
 0:35                2 (const uint)
 0:35            Constant:
@@ -51,8 +51,8 @@ gl_FragCoord origin is upper left
 0:37            Construct combined texture-sampler ( temp sampler2DArray)
 0:37              'g_tTex2df4a' ( uniform texture2DArray)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:37            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:37              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:37            c3: direct index for structure ( uniform 3-component vector of float)
+0:37              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:37              Constant:
 0:37                2 (const uint)
 0:37            Constant:
@@ -64,8 +64,8 @@ gl_FragCoord origin is upper left
 0:38            Construct combined texture-sampler ( temp isampler2DArray)
 0:38              'g_tTex2di4a' ( uniform itexture2DArray)
 0:38              'g_sSamp' (layout( binding=0) uniform sampler)
-0:38            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:38              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:38            c3: direct index for structure ( uniform 3-component vector of float)
+0:38              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:38              Constant:
 0:38                2 (const uint)
 0:38            Constant:
@@ -77,8 +77,8 @@ gl_FragCoord origin is upper left
 0:39            Construct combined texture-sampler ( temp usampler2DArray)
 0:39              'g_tTex2du4a' ( uniform utexture2DArray)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:39            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:39              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:39            c3: direct index for structure ( uniform 3-component vector of float)
+0:39              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:39              Constant:
 0:39                2 (const uint)
 0:39            Constant:
@@ -90,8 +90,8 @@ gl_FragCoord origin is upper left
 0:41            Construct combined texture-sampler ( temp sampler2DArray)
 0:41              'g_tTex2df4a' ( uniform texture2DArray)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:41            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:41              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:41            c3: direct index for structure ( uniform 3-component vector of float)
+0:41              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:41              Constant:
 0:41                2 (const uint)
 0:41            Constant:
@@ -103,8 +103,8 @@ gl_FragCoord origin is upper left
 0:42            Construct combined texture-sampler ( temp isampler2DArray)
 0:42              'g_tTex2di4a' ( uniform itexture2DArray)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
-0:42            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:42              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:42            c3: direct index for structure ( uniform 3-component vector of float)
+0:42              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:42              Constant:
 0:42                2 (const uint)
 0:42            Constant:
@@ -116,8 +116,8 @@ gl_FragCoord origin is upper left
 0:43            Construct combined texture-sampler ( temp usampler2DArray)
 0:43              'g_tTex2du4a' ( uniform utexture2DArray)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
-0:43            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:43              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:43            c3: direct index for structure ( uniform 3-component vector of float)
+0:43              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:43              Constant:
 0:43                2 (const uint)
 0:43            Constant:
@@ -129,8 +129,8 @@ gl_FragCoord origin is upper left
 0:45            Construct combined texture-sampler ( temp sampler2DArray)
 0:45              'g_tTex2df4a' ( uniform texture2DArray)
 0:45              'g_sSamp' (layout( binding=0) uniform sampler)
-0:45            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:45              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:45            c3: direct index for structure ( uniform 3-component vector of float)
+0:45              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:45              Constant:
 0:45                2 (const uint)
 0:45            Constant:
@@ -142,8 +142,8 @@ gl_FragCoord origin is upper left
 0:46            Construct combined texture-sampler ( temp isampler2DArray)
 0:46              'g_tTex2di4a' ( uniform itexture2DArray)
 0:46              'g_sSamp' (layout( binding=0) uniform sampler)
-0:46            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:46              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:46            c3: direct index for structure ( uniform 3-component vector of float)
+0:46              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:46              Constant:
 0:46                2 (const uint)
 0:46            Constant:
@@ -155,8 +155,8 @@ gl_FragCoord origin is upper left
 0:47            Construct combined texture-sampler ( temp usampler2DArray)
 0:47              'g_tTex2du4a' ( uniform utexture2DArray)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
-0:47            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:47              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:47            c3: direct index for structure ( uniform 3-component vector of float)
+0:47              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:47              Constant:
 0:47                2 (const uint)
 0:47            Constant:
@@ -168,8 +168,8 @@ gl_FragCoord origin is upper left
 0:51            Construct combined texture-sampler ( temp samplerCubeArray)
 0:51              'g_tTexcdf4a' ( uniform textureCubeArray)
 0:51              'g_sSamp' (layout( binding=0) uniform sampler)
-0:51            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:51              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:51            c4: direct index for structure ( uniform 4-component vector of float)
+0:51              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:51              Constant:
 0:51                3 (const uint)
 0:51            Constant:
@@ -181,8 +181,8 @@ gl_FragCoord origin is upper left
 0:52            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:52              'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:52              'g_sSamp' (layout( binding=0) uniform sampler)
-0:52            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:52              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:52            c4: direct index for structure ( uniform 4-component vector of float)
+0:52              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:52              Constant:
 0:52                3 (const uint)
 0:52            Constant:
@@ -194,8 +194,8 @@ gl_FragCoord origin is upper left
 0:53            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:53              'g_tTexcdu4a' ( uniform utextureCubeArray)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
-0:53            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:53              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:53            c4: direct index for structure ( uniform 4-component vector of float)
+0:53              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:53              Constant:
 0:53                3 (const uint)
 0:53            Constant:
@@ -207,8 +207,8 @@ gl_FragCoord origin is upper left
 0:55            Construct combined texture-sampler ( temp samplerCubeArray)
 0:55              'g_tTexcdf4a' ( uniform textureCubeArray)
 0:55              'g_sSamp' (layout( binding=0) uniform sampler)
-0:55            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:55              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:55            c4: direct index for structure ( uniform 4-component vector of float)
+0:55              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:55              Constant:
 0:55                3 (const uint)
 0:55            Constant:
@@ -220,8 +220,8 @@ gl_FragCoord origin is upper left
 0:56            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:56              'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:56              'g_sSamp' (layout( binding=0) uniform sampler)
-0:56            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:56              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:56            c4: direct index for structure ( uniform 4-component vector of float)
+0:56              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:56              Constant:
 0:56                3 (const uint)
 0:56            Constant:
@@ -233,8 +233,8 @@ gl_FragCoord origin is upper left
 0:57            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:57              'g_tTexcdu4a' ( uniform utextureCubeArray)
 0:57              'g_sSamp' (layout( binding=0) uniform sampler)
-0:57            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:57              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:57            c4: direct index for structure ( uniform 4-component vector of float)
+0:57              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:57              Constant:
 0:57                3 (const uint)
 0:57            Constant:
@@ -246,8 +246,8 @@ gl_FragCoord origin is upper left
 0:59            Construct combined texture-sampler ( temp samplerCubeArray)
 0:59              'g_tTexcdf4a' ( uniform textureCubeArray)
 0:59              'g_sSamp' (layout( binding=0) uniform sampler)
-0:59            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:59              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:59            c4: direct index for structure ( uniform 4-component vector of float)
+0:59              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:59              Constant:
 0:59                3 (const uint)
 0:59            Constant:
@@ -259,8 +259,8 @@ gl_FragCoord origin is upper left
 0:60            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:60              'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:60              'g_sSamp' (layout( binding=0) uniform sampler)
-0:60            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:60              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:60            c4: direct index for structure ( uniform 4-component vector of float)
+0:60              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:60              Constant:
 0:60                3 (const uint)
 0:60            Constant:
@@ -272,8 +272,8 @@ gl_FragCoord origin is upper left
 0:61            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:61              'g_tTexcdu4a' ( uniform utextureCubeArray)
 0:61              'g_sSamp' (layout( binding=0) uniform sampler)
-0:61            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:61              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:61            c4: direct index for structure ( uniform 4-component vector of float)
+0:61              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:61              Constant:
 0:61                3 (const uint)
 0:61            Constant:
@@ -285,8 +285,8 @@ gl_FragCoord origin is upper left
 0:63            Construct combined texture-sampler ( temp samplerCubeArray)
 0:63              'g_tTexcdf4a' ( uniform textureCubeArray)
 0:63              'g_sSamp' (layout( binding=0) uniform sampler)
-0:63            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:63              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:63            c4: direct index for structure ( uniform 4-component vector of float)
+0:63              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:63              Constant:
 0:63                3 (const uint)
 0:63            Constant:
@@ -298,8 +298,8 @@ gl_FragCoord origin is upper left
 0:64            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:64              'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:64              'g_sSamp' (layout( binding=0) uniform sampler)
-0:64            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:64              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:64            c4: direct index for structure ( uniform 4-component vector of float)
+0:64              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:64              Constant:
 0:64                3 (const uint)
 0:64            Constant:
@@ -311,8 +311,8 @@ gl_FragCoord origin is upper left
 0:65            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:65              'g_tTexcdu4a' ( uniform utextureCubeArray)
 0:65              'g_sSamp' (layout( binding=0) uniform sampler)
-0:65            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:65              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:65            c4: direct index for structure ( uniform 4-component vector of float)
+0:65              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:65              Constant:
 0:65                3 (const uint)
 0:65            Constant:
@@ -367,9 +367,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
 
 
 Linked fragment stage:
@@ -388,8 +388,8 @@ gl_FragCoord origin is upper left
 0:33            Construct combined texture-sampler ( temp sampler2DArray)
 0:33              'g_tTex2df4a' ( uniform texture2DArray)
 0:33              'g_sSamp' (layout( binding=0) uniform sampler)
-0:33            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:33              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:33            c3: direct index for structure ( uniform 3-component vector of float)
+0:33              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:33              Constant:
 0:33                2 (const uint)
 0:33            Constant:
@@ -401,8 +401,8 @@ gl_FragCoord origin is upper left
 0:34            Construct combined texture-sampler ( temp isampler2DArray)
 0:34              'g_tTex2di4a' ( uniform itexture2DArray)
 0:34              'g_sSamp' (layout( binding=0) uniform sampler)
-0:34            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:34              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:34            c3: direct index for structure ( uniform 3-component vector of float)
+0:34              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:34              Constant:
 0:34                2 (const uint)
 0:34            Constant:
@@ -414,8 +414,8 @@ gl_FragCoord origin is upper left
 0:35            Construct combined texture-sampler ( temp usampler2DArray)
 0:35              'g_tTex2du4a' ( uniform utexture2DArray)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:35            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:35              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:35            c3: direct index for structure ( uniform 3-component vector of float)
+0:35              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:35              Constant:
 0:35                2 (const uint)
 0:35            Constant:
@@ -427,8 +427,8 @@ gl_FragCoord origin is upper left
 0:37            Construct combined texture-sampler ( temp sampler2DArray)
 0:37              'g_tTex2df4a' ( uniform texture2DArray)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:37            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:37              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:37            c3: direct index for structure ( uniform 3-component vector of float)
+0:37              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:37              Constant:
 0:37                2 (const uint)
 0:37            Constant:
@@ -440,8 +440,8 @@ gl_FragCoord origin is upper left
 0:38            Construct combined texture-sampler ( temp isampler2DArray)
 0:38              'g_tTex2di4a' ( uniform itexture2DArray)
 0:38              'g_sSamp' (layout( binding=0) uniform sampler)
-0:38            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:38              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:38            c3: direct index for structure ( uniform 3-component vector of float)
+0:38              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:38              Constant:
 0:38                2 (const uint)
 0:38            Constant:
@@ -453,8 +453,8 @@ gl_FragCoord origin is upper left
 0:39            Construct combined texture-sampler ( temp usampler2DArray)
 0:39              'g_tTex2du4a' ( uniform utexture2DArray)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:39            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:39              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:39            c3: direct index for structure ( uniform 3-component vector of float)
+0:39              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:39              Constant:
 0:39                2 (const uint)
 0:39            Constant:
@@ -466,8 +466,8 @@ gl_FragCoord origin is upper left
 0:41            Construct combined texture-sampler ( temp sampler2DArray)
 0:41              'g_tTex2df4a' ( uniform texture2DArray)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:41            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:41              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:41            c3: direct index for structure ( uniform 3-component vector of float)
+0:41              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:41              Constant:
 0:41                2 (const uint)
 0:41            Constant:
@@ -479,8 +479,8 @@ gl_FragCoord origin is upper left
 0:42            Construct combined texture-sampler ( temp isampler2DArray)
 0:42              'g_tTex2di4a' ( uniform itexture2DArray)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
-0:42            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:42              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:42            c3: direct index for structure ( uniform 3-component vector of float)
+0:42              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:42              Constant:
 0:42                2 (const uint)
 0:42            Constant:
@@ -492,8 +492,8 @@ gl_FragCoord origin is upper left
 0:43            Construct combined texture-sampler ( temp usampler2DArray)
 0:43              'g_tTex2du4a' ( uniform utexture2DArray)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
-0:43            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:43              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:43            c3: direct index for structure ( uniform 3-component vector of float)
+0:43              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:43              Constant:
 0:43                2 (const uint)
 0:43            Constant:
@@ -505,8 +505,8 @@ gl_FragCoord origin is upper left
 0:45            Construct combined texture-sampler ( temp sampler2DArray)
 0:45              'g_tTex2df4a' ( uniform texture2DArray)
 0:45              'g_sSamp' (layout( binding=0) uniform sampler)
-0:45            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:45              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:45            c3: direct index for structure ( uniform 3-component vector of float)
+0:45              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:45              Constant:
 0:45                2 (const uint)
 0:45            Constant:
@@ -518,8 +518,8 @@ gl_FragCoord origin is upper left
 0:46            Construct combined texture-sampler ( temp isampler2DArray)
 0:46              'g_tTex2di4a' ( uniform itexture2DArray)
 0:46              'g_sSamp' (layout( binding=0) uniform sampler)
-0:46            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:46              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:46            c3: direct index for structure ( uniform 3-component vector of float)
+0:46              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:46              Constant:
 0:46                2 (const uint)
 0:46            Constant:
@@ -531,8 +531,8 @@ gl_FragCoord origin is upper left
 0:47            Construct combined texture-sampler ( temp usampler2DArray)
 0:47              'g_tTex2du4a' ( uniform utexture2DArray)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
-0:47            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:47              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:47            c3: direct index for structure ( uniform 3-component vector of float)
+0:47              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:47              Constant:
 0:47                2 (const uint)
 0:47            Constant:
@@ -544,8 +544,8 @@ gl_FragCoord origin is upper left
 0:51            Construct combined texture-sampler ( temp samplerCubeArray)
 0:51              'g_tTexcdf4a' ( uniform textureCubeArray)
 0:51              'g_sSamp' (layout( binding=0) uniform sampler)
-0:51            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:51              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:51            c4: direct index for structure ( uniform 4-component vector of float)
+0:51              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:51              Constant:
 0:51                3 (const uint)
 0:51            Constant:
@@ -557,8 +557,8 @@ gl_FragCoord origin is upper left
 0:52            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:52              'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:52              'g_sSamp' (layout( binding=0) uniform sampler)
-0:52            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:52              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:52            c4: direct index for structure ( uniform 4-component vector of float)
+0:52              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:52              Constant:
 0:52                3 (const uint)
 0:52            Constant:
@@ -570,8 +570,8 @@ gl_FragCoord origin is upper left
 0:53            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:53              'g_tTexcdu4a' ( uniform utextureCubeArray)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
-0:53            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:53              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:53            c4: direct index for structure ( uniform 4-component vector of float)
+0:53              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:53              Constant:
 0:53                3 (const uint)
 0:53            Constant:
@@ -583,8 +583,8 @@ gl_FragCoord origin is upper left
 0:55            Construct combined texture-sampler ( temp samplerCubeArray)
 0:55              'g_tTexcdf4a' ( uniform textureCubeArray)
 0:55              'g_sSamp' (layout( binding=0) uniform sampler)
-0:55            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:55              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:55            c4: direct index for structure ( uniform 4-component vector of float)
+0:55              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:55              Constant:
 0:55                3 (const uint)
 0:55            Constant:
@@ -596,8 +596,8 @@ gl_FragCoord origin is upper left
 0:56            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:56              'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:56              'g_sSamp' (layout( binding=0) uniform sampler)
-0:56            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:56              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:56            c4: direct index for structure ( uniform 4-component vector of float)
+0:56              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:56              Constant:
 0:56                3 (const uint)
 0:56            Constant:
@@ -609,8 +609,8 @@ gl_FragCoord origin is upper left
 0:57            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:57              'g_tTexcdu4a' ( uniform utextureCubeArray)
 0:57              'g_sSamp' (layout( binding=0) uniform sampler)
-0:57            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:57              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:57            c4: direct index for structure ( uniform 4-component vector of float)
+0:57              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:57              Constant:
 0:57                3 (const uint)
 0:57            Constant:
@@ -622,8 +622,8 @@ gl_FragCoord origin is upper left
 0:59            Construct combined texture-sampler ( temp samplerCubeArray)
 0:59              'g_tTexcdf4a' ( uniform textureCubeArray)
 0:59              'g_sSamp' (layout( binding=0) uniform sampler)
-0:59            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:59              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:59            c4: direct index for structure ( uniform 4-component vector of float)
+0:59              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:59              Constant:
 0:59                3 (const uint)
 0:59            Constant:
@@ -635,8 +635,8 @@ gl_FragCoord origin is upper left
 0:60            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:60              'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:60              'g_sSamp' (layout( binding=0) uniform sampler)
-0:60            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:60              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:60            c4: direct index for structure ( uniform 4-component vector of float)
+0:60              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:60              Constant:
 0:60                3 (const uint)
 0:60            Constant:
@@ -648,8 +648,8 @@ gl_FragCoord origin is upper left
 0:61            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:61              'g_tTexcdu4a' ( uniform utextureCubeArray)
 0:61              'g_sSamp' (layout( binding=0) uniform sampler)
-0:61            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:61              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:61            c4: direct index for structure ( uniform 4-component vector of float)
+0:61              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:61              Constant:
 0:61                3 (const uint)
 0:61            Constant:
@@ -661,8 +661,8 @@ gl_FragCoord origin is upper left
 0:63            Construct combined texture-sampler ( temp samplerCubeArray)
 0:63              'g_tTexcdf4a' ( uniform textureCubeArray)
 0:63              'g_sSamp' (layout( binding=0) uniform sampler)
-0:63            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:63              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:63            c4: direct index for structure ( uniform 4-component vector of float)
+0:63              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:63              Constant:
 0:63                3 (const uint)
 0:63            Constant:
@@ -674,8 +674,8 @@ gl_FragCoord origin is upper left
 0:64            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:64              'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:64              'g_sSamp' (layout( binding=0) uniform sampler)
-0:64            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:64              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:64            c4: direct index for structure ( uniform 4-component vector of float)
+0:64              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:64              Constant:
 0:64                3 (const uint)
 0:64            Constant:
@@ -687,8 +687,8 @@ gl_FragCoord origin is upper left
 0:65            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:65              'g_tTexcdu4a' ( uniform utextureCubeArray)
 0:65              'g_sSamp' (layout( binding=0) uniform sampler)
-0:65            c4: direct index for structure (layout( offset=32) uniform 4-component vector of float)
-0:65              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:65            c4: direct index for structure ( uniform 4-component vector of float)
+0:65              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:65              Constant:
 0:65                3 (const uint)
 0:65            Constant:
@@ -743,9 +743,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
index b691d1467a733fc80df379609c40e25af036dc77..7bd005a7e1b6b1fd636e7eb24dd727482c94c5fc 100644
--- a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
@@ -12,8 +12,8 @@ gl_FragCoord origin is upper left
 0:39            Construct combined texture-sampler ( temp sampler2D)
 0:39              'g_tTex2df4' ( uniform texture2D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:39            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:39              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:39            c2: direct index for structure ( uniform 2-component vector of float)
+0:39              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:39              Constant:
 0:39                1 (const uint)
 0:39            Constant:
@@ -25,8 +25,8 @@ gl_FragCoord origin is upper left
 0:40            Construct combined texture-sampler ( temp isampler2D)
 0:40              'g_tTex2di4' ( uniform itexture2D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:40            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:40              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:40            c2: direct index for structure ( uniform 2-component vector of float)
+0:40              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:40              Constant:
 0:40                1 (const uint)
 0:40            Constant:
@@ -38,8 +38,8 @@ gl_FragCoord origin is upper left
 0:41            Construct combined texture-sampler ( temp usampler2D)
 0:41              'g_tTex2du4' ( uniform utexture2D)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:41            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:41              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:41            c2: direct index for structure ( uniform 2-component vector of float)
+0:41              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:41              Constant:
 0:41                1 (const uint)
 0:41            Constant:
@@ -51,8 +51,8 @@ gl_FragCoord origin is upper left
 0:43            Construct combined texture-sampler ( temp sampler2D)
 0:43              'g_tTex2df4' ( uniform texture2D)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
-0:43            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:43              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:43            c2: direct index for structure ( uniform 2-component vector of float)
+0:43              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:43              Constant:
 0:43                1 (const uint)
 0:43            Constant:
@@ -64,8 +64,8 @@ gl_FragCoord origin is upper left
 0:44            Construct combined texture-sampler ( temp isampler2D)
 0:44              'g_tTex2di4' ( uniform itexture2D)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
-0:44            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:44              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:44            c2: direct index for structure ( uniform 2-component vector of float)
+0:44              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:44              Constant:
 0:44                1 (const uint)
 0:44            Constant:
@@ -77,8 +77,8 @@ gl_FragCoord origin is upper left
 0:45            Construct combined texture-sampler ( temp usampler2D)
 0:45              'g_tTex2du4' ( uniform utexture2D)
 0:45              'g_sSamp' (layout( binding=0) uniform sampler)
-0:45            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:45              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:45            c2: direct index for structure ( uniform 2-component vector of float)
+0:45              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:45              Constant:
 0:45                1 (const uint)
 0:45            Constant:
@@ -90,8 +90,8 @@ gl_FragCoord origin is upper left
 0:47            Construct combined texture-sampler ( temp sampler2D)
 0:47              'g_tTex2df4' ( uniform texture2D)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
-0:47            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:47              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:47            c2: direct index for structure ( uniform 2-component vector of float)
+0:47              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:47              Constant:
 0:47                1 (const uint)
 0:47            Constant:
@@ -103,8 +103,8 @@ gl_FragCoord origin is upper left
 0:48            Construct combined texture-sampler ( temp isampler2D)
 0:48              'g_tTex2di4' ( uniform itexture2D)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
-0:48            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:48              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:48            c2: direct index for structure ( uniform 2-component vector of float)
+0:48              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:48              Constant:
 0:48                1 (const uint)
 0:48            Constant:
@@ -116,8 +116,8 @@ gl_FragCoord origin is upper left
 0:49            Construct combined texture-sampler ( temp usampler2D)
 0:49              'g_tTex2du4' ( uniform utexture2D)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
-0:49            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:49              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:49            c2: direct index for structure ( uniform 2-component vector of float)
+0:49              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:49              Constant:
 0:49                1 (const uint)
 0:49            Constant:
@@ -129,8 +129,8 @@ gl_FragCoord origin is upper left
 0:51            Construct combined texture-sampler ( temp sampler2D)
 0:51              'g_tTex2df4' ( uniform texture2D)
 0:51              'g_sSamp' (layout( binding=0) uniform sampler)
-0:51            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:51              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:51            c2: direct index for structure ( uniform 2-component vector of float)
+0:51              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:51              Constant:
 0:51                1 (const uint)
 0:51            Constant:
@@ -142,8 +142,8 @@ gl_FragCoord origin is upper left
 0:52            Construct combined texture-sampler ( temp isampler2D)
 0:52              'g_tTex2di4' ( uniform itexture2D)
 0:52              'g_sSamp' (layout( binding=0) uniform sampler)
-0:52            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:52              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:52            c2: direct index for structure ( uniform 2-component vector of float)
+0:52              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:52              Constant:
 0:52                1 (const uint)
 0:52            Constant:
@@ -155,8 +155,8 @@ gl_FragCoord origin is upper left
 0:53            Construct combined texture-sampler ( temp usampler2D)
 0:53              'g_tTex2du4' ( uniform utexture2D)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
-0:53            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:53              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:53            c2: direct index for structure ( uniform 2-component vector of float)
+0:53              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:53              Constant:
 0:53                1 (const uint)
 0:53            Constant:
@@ -168,8 +168,8 @@ gl_FragCoord origin is upper left
 0:57            Construct combined texture-sampler ( temp samplerCube)
 0:57              'g_tTexcdf4' ( uniform textureCube)
 0:57              'g_sSamp' (layout( binding=0) uniform sampler)
-0:57            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:57              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:57            c3: direct index for structure ( uniform 3-component vector of float)
+0:57              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:57              Constant:
 0:57                2 (const uint)
 0:57            Constant:
@@ -181,8 +181,8 @@ gl_FragCoord origin is upper left
 0:58            Construct combined texture-sampler ( temp isamplerCube)
 0:58              'g_tTexcdi4' ( uniform itextureCube)
 0:58              'g_sSamp' (layout( binding=0) uniform sampler)
-0:58            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:58              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:58            c3: direct index for structure ( uniform 3-component vector of float)
+0:58              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:58              Constant:
 0:58                2 (const uint)
 0:58            Constant:
@@ -194,8 +194,8 @@ gl_FragCoord origin is upper left
 0:59            Construct combined texture-sampler ( temp usamplerCube)
 0:59              'g_tTexcdu4' ( uniform utextureCube)
 0:59              'g_sSamp' (layout( binding=0) uniform sampler)
-0:59            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:59              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:59            c3: direct index for structure ( uniform 3-component vector of float)
+0:59              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:59              Constant:
 0:59                2 (const uint)
 0:59            Constant:
@@ -207,8 +207,8 @@ gl_FragCoord origin is upper left
 0:61            Construct combined texture-sampler ( temp samplerCube)
 0:61              'g_tTexcdf4' ( uniform textureCube)
 0:61              'g_sSamp' (layout( binding=0) uniform sampler)
-0:61            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:61              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:61            c3: direct index for structure ( uniform 3-component vector of float)
+0:61              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:61              Constant:
 0:61                2 (const uint)
 0:61            Constant:
@@ -220,8 +220,8 @@ gl_FragCoord origin is upper left
 0:62            Construct combined texture-sampler ( temp isamplerCube)
 0:62              'g_tTexcdi4' ( uniform itextureCube)
 0:62              'g_sSamp' (layout( binding=0) uniform sampler)
-0:62            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:62              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:62            c3: direct index for structure ( uniform 3-component vector of float)
+0:62              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:62              Constant:
 0:62                2 (const uint)
 0:62            Constant:
@@ -233,8 +233,8 @@ gl_FragCoord origin is upper left
 0:63            Construct combined texture-sampler ( temp usamplerCube)
 0:63              'g_tTexcdu4' ( uniform utextureCube)
 0:63              'g_sSamp' (layout( binding=0) uniform sampler)
-0:63            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:63              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:63            c3: direct index for structure ( uniform 3-component vector of float)
+0:63              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:63              Constant:
 0:63                2 (const uint)
 0:63            Constant:
@@ -246,8 +246,8 @@ gl_FragCoord origin is upper left
 0:65            Construct combined texture-sampler ( temp samplerCube)
 0:65              'g_tTexcdf4' ( uniform textureCube)
 0:65              'g_sSamp' (layout( binding=0) uniform sampler)
-0:65            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:65              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:65            c3: direct index for structure ( uniform 3-component vector of float)
+0:65              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:65              Constant:
 0:65                2 (const uint)
 0:65            Constant:
@@ -259,8 +259,8 @@ gl_FragCoord origin is upper left
 0:66            Construct combined texture-sampler ( temp isamplerCube)
 0:66              'g_tTexcdi4' ( uniform itextureCube)
 0:66              'g_sSamp' (layout( binding=0) uniform sampler)
-0:66            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:66              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:66            c3: direct index for structure ( uniform 3-component vector of float)
+0:66              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:66              Constant:
 0:66                2 (const uint)
 0:66            Constant:
@@ -272,8 +272,8 @@ gl_FragCoord origin is upper left
 0:67            Construct combined texture-sampler ( temp usamplerCube)
 0:67              'g_tTexcdu4' ( uniform utextureCube)
 0:67              'g_sSamp' (layout( binding=0) uniform sampler)
-0:67            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:67              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:67            c3: direct index for structure ( uniform 3-component vector of float)
+0:67              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:67              Constant:
 0:67                2 (const uint)
 0:67            Constant:
@@ -285,8 +285,8 @@ gl_FragCoord origin is upper left
 0:69            Construct combined texture-sampler ( temp samplerCube)
 0:69              'g_tTexcdf4' ( uniform textureCube)
 0:69              'g_sSamp' (layout( binding=0) uniform sampler)
-0:69            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:69              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:69            c3: direct index for structure ( uniform 3-component vector of float)
+0:69              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:69              Constant:
 0:69                2 (const uint)
 0:69            Constant:
@@ -298,8 +298,8 @@ gl_FragCoord origin is upper left
 0:70            Construct combined texture-sampler ( temp isamplerCube)
 0:70              'g_tTexcdi4' ( uniform itextureCube)
 0:70              'g_sSamp' (layout( binding=0) uniform sampler)
-0:70            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:70              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:70            c3: direct index for structure ( uniform 3-component vector of float)
+0:70              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:70              Constant:
 0:70                2 (const uint)
 0:70            Constant:
@@ -311,8 +311,8 @@ gl_FragCoord origin is upper left
 0:71            Construct combined texture-sampler ( temp usamplerCube)
 0:71              'g_tTexcdu4' ( uniform utextureCube)
 0:71              'g_sSamp' (layout( binding=0) uniform sampler)
-0:71            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:71              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:71            c3: direct index for structure ( uniform 3-component vector of float)
+0:71              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:71              Constant:
 0:71                2 (const uint)
 0:71            Constant:
@@ -371,9 +371,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4' ( uniform textureCube)
 0:?     'g_tTexcdi4' ( uniform itextureCube)
 0:?     'g_tTexcdu4' ( uniform utextureCube)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
 
 
 Linked fragment stage:
@@ -392,8 +392,8 @@ gl_FragCoord origin is upper left
 0:39            Construct combined texture-sampler ( temp sampler2D)
 0:39              'g_tTex2df4' ( uniform texture2D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:39            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:39              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:39            c2: direct index for structure ( uniform 2-component vector of float)
+0:39              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:39              Constant:
 0:39                1 (const uint)
 0:39            Constant:
@@ -405,8 +405,8 @@ gl_FragCoord origin is upper left
 0:40            Construct combined texture-sampler ( temp isampler2D)
 0:40              'g_tTex2di4' ( uniform itexture2D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:40            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:40              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:40            c2: direct index for structure ( uniform 2-component vector of float)
+0:40              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:40              Constant:
 0:40                1 (const uint)
 0:40            Constant:
@@ -418,8 +418,8 @@ gl_FragCoord origin is upper left
 0:41            Construct combined texture-sampler ( temp usampler2D)
 0:41              'g_tTex2du4' ( uniform utexture2D)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:41            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:41              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:41            c2: direct index for structure ( uniform 2-component vector of float)
+0:41              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:41              Constant:
 0:41                1 (const uint)
 0:41            Constant:
@@ -431,8 +431,8 @@ gl_FragCoord origin is upper left
 0:43            Construct combined texture-sampler ( temp sampler2D)
 0:43              'g_tTex2df4' ( uniform texture2D)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
-0:43            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:43              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:43            c2: direct index for structure ( uniform 2-component vector of float)
+0:43              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:43              Constant:
 0:43                1 (const uint)
 0:43            Constant:
@@ -444,8 +444,8 @@ gl_FragCoord origin is upper left
 0:44            Construct combined texture-sampler ( temp isampler2D)
 0:44              'g_tTex2di4' ( uniform itexture2D)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
-0:44            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:44              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:44            c2: direct index for structure ( uniform 2-component vector of float)
+0:44              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:44              Constant:
 0:44                1 (const uint)
 0:44            Constant:
@@ -457,8 +457,8 @@ gl_FragCoord origin is upper left
 0:45            Construct combined texture-sampler ( temp usampler2D)
 0:45              'g_tTex2du4' ( uniform utexture2D)
 0:45              'g_sSamp' (layout( binding=0) uniform sampler)
-0:45            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:45              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:45            c2: direct index for structure ( uniform 2-component vector of float)
+0:45              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:45              Constant:
 0:45                1 (const uint)
 0:45            Constant:
@@ -470,8 +470,8 @@ gl_FragCoord origin is upper left
 0:47            Construct combined texture-sampler ( temp sampler2D)
 0:47              'g_tTex2df4' ( uniform texture2D)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
-0:47            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:47              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:47            c2: direct index for structure ( uniform 2-component vector of float)
+0:47              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:47              Constant:
 0:47                1 (const uint)
 0:47            Constant:
@@ -483,8 +483,8 @@ gl_FragCoord origin is upper left
 0:48            Construct combined texture-sampler ( temp isampler2D)
 0:48              'g_tTex2di4' ( uniform itexture2D)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
-0:48            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:48              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:48            c2: direct index for structure ( uniform 2-component vector of float)
+0:48              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:48              Constant:
 0:48                1 (const uint)
 0:48            Constant:
@@ -496,8 +496,8 @@ gl_FragCoord origin is upper left
 0:49            Construct combined texture-sampler ( temp usampler2D)
 0:49              'g_tTex2du4' ( uniform utexture2D)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
-0:49            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:49              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:49            c2: direct index for structure ( uniform 2-component vector of float)
+0:49              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:49              Constant:
 0:49                1 (const uint)
 0:49            Constant:
@@ -509,8 +509,8 @@ gl_FragCoord origin is upper left
 0:51            Construct combined texture-sampler ( temp sampler2D)
 0:51              'g_tTex2df4' ( uniform texture2D)
 0:51              'g_sSamp' (layout( binding=0) uniform sampler)
-0:51            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:51              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:51            c2: direct index for structure ( uniform 2-component vector of float)
+0:51              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:51              Constant:
 0:51                1 (const uint)
 0:51            Constant:
@@ -522,8 +522,8 @@ gl_FragCoord origin is upper left
 0:52            Construct combined texture-sampler ( temp isampler2D)
 0:52              'g_tTex2di4' ( uniform itexture2D)
 0:52              'g_sSamp' (layout( binding=0) uniform sampler)
-0:52            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:52              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:52            c2: direct index for structure ( uniform 2-component vector of float)
+0:52              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:52              Constant:
 0:52                1 (const uint)
 0:52            Constant:
@@ -535,8 +535,8 @@ gl_FragCoord origin is upper left
 0:53            Construct combined texture-sampler ( temp usampler2D)
 0:53              'g_tTex2du4' ( uniform utexture2D)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
-0:53            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:53              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:53            c2: direct index for structure ( uniform 2-component vector of float)
+0:53              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:53              Constant:
 0:53                1 (const uint)
 0:53            Constant:
@@ -548,8 +548,8 @@ gl_FragCoord origin is upper left
 0:57            Construct combined texture-sampler ( temp samplerCube)
 0:57              'g_tTexcdf4' ( uniform textureCube)
 0:57              'g_sSamp' (layout( binding=0) uniform sampler)
-0:57            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:57              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:57            c3: direct index for structure ( uniform 3-component vector of float)
+0:57              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:57              Constant:
 0:57                2 (const uint)
 0:57            Constant:
@@ -561,8 +561,8 @@ gl_FragCoord origin is upper left
 0:58            Construct combined texture-sampler ( temp isamplerCube)
 0:58              'g_tTexcdi4' ( uniform itextureCube)
 0:58              'g_sSamp' (layout( binding=0) uniform sampler)
-0:58            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:58              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:58            c3: direct index for structure ( uniform 3-component vector of float)
+0:58              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:58              Constant:
 0:58                2 (const uint)
 0:58            Constant:
@@ -574,8 +574,8 @@ gl_FragCoord origin is upper left
 0:59            Construct combined texture-sampler ( temp usamplerCube)
 0:59              'g_tTexcdu4' ( uniform utextureCube)
 0:59              'g_sSamp' (layout( binding=0) uniform sampler)
-0:59            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:59              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:59            c3: direct index for structure ( uniform 3-component vector of float)
+0:59              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:59              Constant:
 0:59                2 (const uint)
 0:59            Constant:
@@ -587,8 +587,8 @@ gl_FragCoord origin is upper left
 0:61            Construct combined texture-sampler ( temp samplerCube)
 0:61              'g_tTexcdf4' ( uniform textureCube)
 0:61              'g_sSamp' (layout( binding=0) uniform sampler)
-0:61            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:61              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:61            c3: direct index for structure ( uniform 3-component vector of float)
+0:61              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:61              Constant:
 0:61                2 (const uint)
 0:61            Constant:
@@ -600,8 +600,8 @@ gl_FragCoord origin is upper left
 0:62            Construct combined texture-sampler ( temp isamplerCube)
 0:62              'g_tTexcdi4' ( uniform itextureCube)
 0:62              'g_sSamp' (layout( binding=0) uniform sampler)
-0:62            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:62              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:62            c3: direct index for structure ( uniform 3-component vector of float)
+0:62              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:62              Constant:
 0:62                2 (const uint)
 0:62            Constant:
@@ -613,8 +613,8 @@ gl_FragCoord origin is upper left
 0:63            Construct combined texture-sampler ( temp usamplerCube)
 0:63              'g_tTexcdu4' ( uniform utextureCube)
 0:63              'g_sSamp' (layout( binding=0) uniform sampler)
-0:63            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:63              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:63            c3: direct index for structure ( uniform 3-component vector of float)
+0:63              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:63              Constant:
 0:63                2 (const uint)
 0:63            Constant:
@@ -626,8 +626,8 @@ gl_FragCoord origin is upper left
 0:65            Construct combined texture-sampler ( temp samplerCube)
 0:65              'g_tTexcdf4' ( uniform textureCube)
 0:65              'g_sSamp' (layout( binding=0) uniform sampler)
-0:65            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:65              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:65            c3: direct index for structure ( uniform 3-component vector of float)
+0:65              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:65              Constant:
 0:65                2 (const uint)
 0:65            Constant:
@@ -639,8 +639,8 @@ gl_FragCoord origin is upper left
 0:66            Construct combined texture-sampler ( temp isamplerCube)
 0:66              'g_tTexcdi4' ( uniform itextureCube)
 0:66              'g_sSamp' (layout( binding=0) uniform sampler)
-0:66            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:66              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:66            c3: direct index for structure ( uniform 3-component vector of float)
+0:66              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:66              Constant:
 0:66                2 (const uint)
 0:66            Constant:
@@ -652,8 +652,8 @@ gl_FragCoord origin is upper left
 0:67            Construct combined texture-sampler ( temp usamplerCube)
 0:67              'g_tTexcdu4' ( uniform utextureCube)
 0:67              'g_sSamp' (layout( binding=0) uniform sampler)
-0:67            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:67              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:67            c3: direct index for structure ( uniform 3-component vector of float)
+0:67              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:67              Constant:
 0:67                2 (const uint)
 0:67            Constant:
@@ -665,8 +665,8 @@ gl_FragCoord origin is upper left
 0:69            Construct combined texture-sampler ( temp samplerCube)
 0:69              'g_tTexcdf4' ( uniform textureCube)
 0:69              'g_sSamp' (layout( binding=0) uniform sampler)
-0:69            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:69              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:69            c3: direct index for structure ( uniform 3-component vector of float)
+0:69              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:69              Constant:
 0:69                2 (const uint)
 0:69            Constant:
@@ -678,8 +678,8 @@ gl_FragCoord origin is upper left
 0:70            Construct combined texture-sampler ( temp isamplerCube)
 0:70              'g_tTexcdi4' ( uniform itextureCube)
 0:70              'g_sSamp' (layout( binding=0) uniform sampler)
-0:70            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:70              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:70            c3: direct index for structure ( uniform 3-component vector of float)
+0:70              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:70              Constant:
 0:70                2 (const uint)
 0:70            Constant:
@@ -691,8 +691,8 @@ gl_FragCoord origin is upper left
 0:71            Construct combined texture-sampler ( temp usamplerCube)
 0:71              'g_tTexcdu4' ( uniform utextureCube)
 0:71              'g_sSamp' (layout( binding=0) uniform sampler)
-0:71            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:71              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:71            c3: direct index for structure ( uniform 3-component vector of float)
+0:71              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:71              Constant:
 0:71                2 (const uint)
 0:71            Constant:
@@ -751,9 +751,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4' ( uniform textureCube)
 0:?     'g_tTexcdi4' ( uniform itextureCube)
 0:?     'g_tTexcdu4' ( uniform utextureCube)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
index c5fce03a0cbae11aa51d28a81b5066d9787ad9f4..1d3fe467dede47ff4aa97b097ff9307ade17e5d4 100644
--- a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
@@ -12,12 +12,12 @@ gl_FragCoord origin is upper left
 0:46            Construct combined texture-sampler ( temp sampler2D)
 0:46              'g_tTex2df4' ( uniform texture2D)
 0:46              'g_sSamp' (layout( binding=0) uniform sampler)
-0:46            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:46              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c2: direct index for structure ( uniform 2-component vector of float)
+0:46              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46              Constant:
 0:46                1 (const uint)
-0:46            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:46              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            o2: direct index for structure ( uniform 2-component vector of int)
+0:46              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46              Constant:
 0:46                5 (const uint)
 0:46            Constant:
@@ -29,12 +29,12 @@ gl_FragCoord origin is upper left
 0:47            Construct combined texture-sampler ( temp isampler2D)
 0:47              'g_tTex2di4' ( uniform itexture2D)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
-0:47            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:47              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c2: direct index for structure ( uniform 2-component vector of float)
+0:47              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:47              Constant:
 0:47                1 (const uint)
-0:47            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:47              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            o2: direct index for structure ( uniform 2-component vector of int)
+0:47              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:47              Constant:
 0:47                5 (const uint)
 0:47            Constant:
@@ -46,12 +46,12 @@ gl_FragCoord origin is upper left
 0:48            Construct combined texture-sampler ( temp usampler2D)
 0:48              'g_tTex2du4' ( uniform utexture2D)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
-0:48            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:48              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c2: direct index for structure ( uniform 2-component vector of float)
+0:48              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:48              Constant:
 0:48                1 (const uint)
-0:48            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:48              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            o2: direct index for structure ( uniform 2-component vector of int)
+0:48              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:48              Constant:
 0:48                5 (const uint)
 0:48            Constant:
@@ -63,25 +63,25 @@ gl_FragCoord origin is upper left
 0:50            Construct combined texture-sampler ( temp sampler2D)
 0:50              'g_tTex2df4' ( uniform texture2D)
 0:50              'g_sSamp' (layout( binding=0) uniform sampler)
-0:50            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:50              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c2: direct index for structure ( uniform 2-component vector of float)
+0:50              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:50              Constant:
 0:50                1 (const uint)
 0:50            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:50              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:50                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:50                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:50                Constant:
 0:50                  5 (const uint)
-0:50              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:50                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:50                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:50                Constant:
 0:50                  5 (const uint)
-0:50              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:50                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:50                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:50                Constant:
 0:50                  5 (const uint)
-0:50              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:50                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:50                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:50                Constant:
 0:50                  5 (const uint)
 0:50            Constant:
@@ -93,25 +93,25 @@ gl_FragCoord origin is upper left
 0:51            Construct combined texture-sampler ( temp isampler2D)
 0:51              'g_tTex2di4' ( uniform itexture2D)
 0:51              'g_sSamp' (layout( binding=0) uniform sampler)
-0:51            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:51              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c2: direct index for structure ( uniform 2-component vector of float)
+0:51              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51              Constant:
 0:51                1 (const uint)
 0:51            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:51              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:51                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:51                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51                Constant:
 0:51                  5 (const uint)
-0:51              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:51                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:51                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51                Constant:
 0:51                  5 (const uint)
-0:51              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:51                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:51                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51                Constant:
 0:51                  5 (const uint)
-0:51              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:51                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:51                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51                Constant:
 0:51                  5 (const uint)
 0:51            Constant:
@@ -123,25 +123,25 @@ gl_FragCoord origin is upper left
 0:52            Construct combined texture-sampler ( temp usampler2D)
 0:52              'g_tTex2du4' ( uniform utexture2D)
 0:52              'g_sSamp' (layout( binding=0) uniform sampler)
-0:52            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:52              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c2: direct index for structure ( uniform 2-component vector of float)
+0:52              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52              Constant:
 0:52                1 (const uint)
 0:52            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:52              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:52                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:52                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52                Constant:
 0:52                  5 (const uint)
-0:52              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:52                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:52                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52                Constant:
 0:52                  5 (const uint)
-0:52              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:52                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:52                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52                Constant:
 0:52                  5 (const uint)
-0:52              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:52                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:52                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52                Constant:
 0:52                  5 (const uint)
 0:52            Constant:
@@ -153,12 +153,12 @@ gl_FragCoord origin is upper left
 0:62            Construct combined texture-sampler ( temp sampler2D)
 0:62              'g_tTex2df4' ( uniform texture2D)
 0:62              'g_sSamp' (layout( binding=0) uniform sampler)
-0:62            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:62              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c2: direct index for structure ( uniform 2-component vector of float)
+0:62              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62              Constant:
 0:62                1 (const uint)
-0:62            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:62              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            o2: direct index for structure ( uniform 2-component vector of int)
+0:62              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62              Constant:
 0:62                5 (const uint)
 0:62            Constant:
@@ -170,12 +170,12 @@ gl_FragCoord origin is upper left
 0:63            Construct combined texture-sampler ( temp isampler2D)
 0:63              'g_tTex2di4' ( uniform itexture2D)
 0:63              'g_sSamp' (layout( binding=0) uniform sampler)
-0:63            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:63              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c2: direct index for structure ( uniform 2-component vector of float)
+0:63              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63              Constant:
 0:63                1 (const uint)
-0:63            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:63              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            o2: direct index for structure ( uniform 2-component vector of int)
+0:63              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63              Constant:
 0:63                5 (const uint)
 0:63            Constant:
@@ -187,12 +187,12 @@ gl_FragCoord origin is upper left
 0:64            Construct combined texture-sampler ( temp usampler2D)
 0:64              'g_tTex2du4' ( uniform utexture2D)
 0:64              'g_sSamp' (layout( binding=0) uniform sampler)
-0:64            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:64              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:64            c2: direct index for structure ( uniform 2-component vector of float)
+0:64              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:64              Constant:
 0:64                1 (const uint)
-0:64            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:64              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:64            o2: direct index for structure ( uniform 2-component vector of int)
+0:64              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:64              Constant:
 0:64                5 (const uint)
 0:64            Constant:
@@ -204,25 +204,25 @@ gl_FragCoord origin is upper left
 0:66            Construct combined texture-sampler ( temp sampler2D)
 0:66              'g_tTex2df4' ( uniform texture2D)
 0:66              'g_sSamp' (layout( binding=0) uniform sampler)
-0:66            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:66              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:66            c2: direct index for structure ( uniform 2-component vector of float)
+0:66              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:66              Constant:
 0:66                1 (const uint)
 0:66            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:66              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:66                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:66              o2: direct index for structure ( uniform 2-component vector of int)
+0:66                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:66                Constant:
 0:66                  5 (const uint)
-0:66              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:66                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:66              o2: direct index for structure ( uniform 2-component vector of int)
+0:66                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:66                Constant:
 0:66                  5 (const uint)
-0:66              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:66                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:66              o2: direct index for structure ( uniform 2-component vector of int)
+0:66                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:66                Constant:
 0:66                  5 (const uint)
-0:66              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:66                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:66              o2: direct index for structure ( uniform 2-component vector of int)
+0:66                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:66                Constant:
 0:66                  5 (const uint)
 0:66            Constant:
@@ -234,25 +234,25 @@ gl_FragCoord origin is upper left
 0:67            Construct combined texture-sampler ( temp isampler2D)
 0:67              'g_tTex2di4' ( uniform itexture2D)
 0:67              'g_sSamp' (layout( binding=0) uniform sampler)
-0:67            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:67              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:67            c2: direct index for structure ( uniform 2-component vector of float)
+0:67              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:67              Constant:
 0:67                1 (const uint)
 0:67            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:67              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:67                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:67              o2: direct index for structure ( uniform 2-component vector of int)
+0:67                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:67                Constant:
 0:67                  5 (const uint)
-0:67              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:67                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:67              o2: direct index for structure ( uniform 2-component vector of int)
+0:67                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:67                Constant:
 0:67                  5 (const uint)
-0:67              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:67                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:67              o2: direct index for structure ( uniform 2-component vector of int)
+0:67                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:67                Constant:
 0:67                  5 (const uint)
-0:67              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:67                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:67              o2: direct index for structure ( uniform 2-component vector of int)
+0:67                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:67                Constant:
 0:67                  5 (const uint)
 0:67            Constant:
@@ -264,25 +264,25 @@ gl_FragCoord origin is upper left
 0:68            Construct combined texture-sampler ( temp usampler2D)
 0:68              'g_tTex2du4' ( uniform utexture2D)
 0:68              'g_sSamp' (layout( binding=0) uniform sampler)
-0:68            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:68              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:68            c2: direct index for structure ( uniform 2-component vector of float)
+0:68              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:68              Constant:
 0:68                1 (const uint)
 0:68            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:68              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:68                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:68              o2: direct index for structure ( uniform 2-component vector of int)
+0:68                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:68                Constant:
 0:68                  5 (const uint)
-0:68              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:68                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:68              o2: direct index for structure ( uniform 2-component vector of int)
+0:68                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:68                Constant:
 0:68                  5 (const uint)
-0:68              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:68                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:68              o2: direct index for structure ( uniform 2-component vector of int)
+0:68                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:68                Constant:
 0:68                  5 (const uint)
-0:68              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:68                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:68              o2: direct index for structure ( uniform 2-component vector of int)
+0:68                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:68                Constant:
 0:68                  5 (const uint)
 0:68            Constant:
@@ -294,12 +294,12 @@ gl_FragCoord origin is upper left
 0:78            Construct combined texture-sampler ( temp sampler2D)
 0:78              'g_tTex2df4' ( uniform texture2D)
 0:78              'g_sSamp' (layout( binding=0) uniform sampler)
-0:78            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:78              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:78            c2: direct index for structure ( uniform 2-component vector of float)
+0:78              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:78              Constant:
 0:78                1 (const uint)
-0:78            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:78              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:78            o2: direct index for structure ( uniform 2-component vector of int)
+0:78              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:78              Constant:
 0:78                5 (const uint)
 0:78            Constant:
@@ -311,12 +311,12 @@ gl_FragCoord origin is upper left
 0:79            Construct combined texture-sampler ( temp isampler2D)
 0:79              'g_tTex2di4' ( uniform itexture2D)
 0:79              'g_sSamp' (layout( binding=0) uniform sampler)
-0:79            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:79              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:79            c2: direct index for structure ( uniform 2-component vector of float)
+0:79              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:79              Constant:
 0:79                1 (const uint)
-0:79            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:79              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:79            o2: direct index for structure ( uniform 2-component vector of int)
+0:79              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:79              Constant:
 0:79                5 (const uint)
 0:79            Constant:
@@ -328,12 +328,12 @@ gl_FragCoord origin is upper left
 0:80            Construct combined texture-sampler ( temp usampler2D)
 0:80              'g_tTex2du4' ( uniform utexture2D)
 0:80              'g_sSamp' (layout( binding=0) uniform sampler)
-0:80            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:80              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:80            c2: direct index for structure ( uniform 2-component vector of float)
+0:80              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:80              Constant:
 0:80                1 (const uint)
-0:80            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:80              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:80            o2: direct index for structure ( uniform 2-component vector of int)
+0:80              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:80              Constant:
 0:80                5 (const uint)
 0:80            Constant:
@@ -345,25 +345,25 @@ gl_FragCoord origin is upper left
 0:82            Construct combined texture-sampler ( temp sampler2D)
 0:82              'g_tTex2df4' ( uniform texture2D)
 0:82              'g_sSamp' (layout( binding=0) uniform sampler)
-0:82            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:82              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:82            c2: direct index for structure ( uniform 2-component vector of float)
+0:82              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:82              Constant:
 0:82                1 (const uint)
 0:82            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:82              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:82                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:82              o2: direct index for structure ( uniform 2-component vector of int)
+0:82                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:82                Constant:
 0:82                  5 (const uint)
-0:82              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:82                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:82              o2: direct index for structure ( uniform 2-component vector of int)
+0:82                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:82                Constant:
 0:82                  5 (const uint)
-0:82              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:82                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:82              o2: direct index for structure ( uniform 2-component vector of int)
+0:82                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:82                Constant:
 0:82                  5 (const uint)
-0:82              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:82                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:82              o2: direct index for structure ( uniform 2-component vector of int)
+0:82                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:82                Constant:
 0:82                  5 (const uint)
 0:82            Constant:
@@ -375,25 +375,25 @@ gl_FragCoord origin is upper left
 0:83            Construct combined texture-sampler ( temp isampler2D)
 0:83              'g_tTex2di4' ( uniform itexture2D)
 0:83              'g_sSamp' (layout( binding=0) uniform sampler)
-0:83            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:83              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:83            c2: direct index for structure ( uniform 2-component vector of float)
+0:83              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:83              Constant:
 0:83                1 (const uint)
 0:83            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:83              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:83                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:83              o2: direct index for structure ( uniform 2-component vector of int)
+0:83                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:83                Constant:
 0:83                  5 (const uint)
-0:83              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:83                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:83              o2: direct index for structure ( uniform 2-component vector of int)
+0:83                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:83                Constant:
 0:83                  5 (const uint)
-0:83              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:83                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:83              o2: direct index for structure ( uniform 2-component vector of int)
+0:83                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:83                Constant:
 0:83                  5 (const uint)
-0:83              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:83                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:83              o2: direct index for structure ( uniform 2-component vector of int)
+0:83                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:83                Constant:
 0:83                  5 (const uint)
 0:83            Constant:
@@ -405,25 +405,25 @@ gl_FragCoord origin is upper left
 0:84            Construct combined texture-sampler ( temp usampler2D)
 0:84              'g_tTex2du4' ( uniform utexture2D)
 0:84              'g_sSamp' (layout( binding=0) uniform sampler)
-0:84            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:84              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:84            c2: direct index for structure ( uniform 2-component vector of float)
+0:84              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:84              Constant:
 0:84                1 (const uint)
 0:84            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:84              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:84                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:84              o2: direct index for structure ( uniform 2-component vector of int)
+0:84                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:84                Constant:
 0:84                  5 (const uint)
-0:84              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:84                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:84              o2: direct index for structure ( uniform 2-component vector of int)
+0:84                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:84                Constant:
 0:84                  5 (const uint)
-0:84              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:84                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:84              o2: direct index for structure ( uniform 2-component vector of int)
+0:84                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:84                Constant:
 0:84                  5 (const uint)
-0:84              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:84                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:84              o2: direct index for structure ( uniform 2-component vector of int)
+0:84                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:84                Constant:
 0:84                  5 (const uint)
 0:84            Constant:
@@ -435,12 +435,12 @@ gl_FragCoord origin is upper left
 0:94            Construct combined texture-sampler ( temp sampler2D)
 0:94              'g_tTex2df4' ( uniform texture2D)
 0:94              'g_sSamp' (layout( binding=0) uniform sampler)
-0:94            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:94              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:94            c2: direct index for structure ( uniform 2-component vector of float)
+0:94              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:94              Constant:
 0:94                1 (const uint)
-0:94            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:94              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:94            o2: direct index for structure ( uniform 2-component vector of int)
+0:94              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:94              Constant:
 0:94                5 (const uint)
 0:94            Constant:
@@ -452,12 +452,12 @@ gl_FragCoord origin is upper left
 0:95            Construct combined texture-sampler ( temp isampler2D)
 0:95              'g_tTex2di4' ( uniform itexture2D)
 0:95              'g_sSamp' (layout( binding=0) uniform sampler)
-0:95            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:95              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:95            c2: direct index for structure ( uniform 2-component vector of float)
+0:95              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:95              Constant:
 0:95                1 (const uint)
-0:95            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:95              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:95            o2: direct index for structure ( uniform 2-component vector of int)
+0:95              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:95              Constant:
 0:95                5 (const uint)
 0:95            Constant:
@@ -469,12 +469,12 @@ gl_FragCoord origin is upper left
 0:96            Construct combined texture-sampler ( temp usampler2D)
 0:96              'g_tTex2du4' ( uniform utexture2D)
 0:96              'g_sSamp' (layout( binding=0) uniform sampler)
-0:96            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:96              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:96            c2: direct index for structure ( uniform 2-component vector of float)
+0:96              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:96              Constant:
 0:96                1 (const uint)
-0:96            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:96              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:96            o2: direct index for structure ( uniform 2-component vector of int)
+0:96              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:96              Constant:
 0:96                5 (const uint)
 0:96            Constant:
@@ -486,25 +486,25 @@ gl_FragCoord origin is upper left
 0:98            Construct combined texture-sampler ( temp sampler2D)
 0:98              'g_tTex2df4' ( uniform texture2D)
 0:98              'g_sSamp' (layout( binding=0) uniform sampler)
-0:98            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:98              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:98            c2: direct index for structure ( uniform 2-component vector of float)
+0:98              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:98              Constant:
 0:98                1 (const uint)
 0:98            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:98              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:98                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:98              o2: direct index for structure ( uniform 2-component vector of int)
+0:98                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:98                Constant:
 0:98                  5 (const uint)
-0:98              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:98                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:98              o2: direct index for structure ( uniform 2-component vector of int)
+0:98                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:98                Constant:
 0:98                  5 (const uint)
-0:98              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:98                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:98              o2: direct index for structure ( uniform 2-component vector of int)
+0:98                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:98                Constant:
 0:98                  5 (const uint)
-0:98              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:98                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:98              o2: direct index for structure ( uniform 2-component vector of int)
+0:98                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:98                Constant:
 0:98                  5 (const uint)
 0:98            Constant:
@@ -516,25 +516,25 @@ gl_FragCoord origin is upper left
 0:99            Construct combined texture-sampler ( temp isampler2D)
 0:99              'g_tTex2di4' ( uniform itexture2D)
 0:99              'g_sSamp' (layout( binding=0) uniform sampler)
-0:99            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:99              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:99            c2: direct index for structure ( uniform 2-component vector of float)
+0:99              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:99              Constant:
 0:99                1 (const uint)
 0:99            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:99              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:99                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:99              o2: direct index for structure ( uniform 2-component vector of int)
+0:99                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:99                Constant:
 0:99                  5 (const uint)
-0:99              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:99                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:99              o2: direct index for structure ( uniform 2-component vector of int)
+0:99                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:99                Constant:
 0:99                  5 (const uint)
-0:99              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:99                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:99              o2: direct index for structure ( uniform 2-component vector of int)
+0:99                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:99                Constant:
 0:99                  5 (const uint)
-0:99              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:99                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:99              o2: direct index for structure ( uniform 2-component vector of int)
+0:99                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:99                Constant:
 0:99                  5 (const uint)
 0:99            Constant:
@@ -546,25 +546,25 @@ gl_FragCoord origin is upper left
 0:100            Construct combined texture-sampler ( temp usampler2D)
 0:100              'g_tTex2du4' ( uniform utexture2D)
 0:100              'g_sSamp' (layout( binding=0) uniform sampler)
-0:100            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:100              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:100            c2: direct index for structure ( uniform 2-component vector of float)
+0:100              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:100              Constant:
 0:100                1 (const uint)
 0:100            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:100              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:100                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:100              o2: direct index for structure ( uniform 2-component vector of int)
+0:100                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:100                Constant:
 0:100                  5 (const uint)
-0:100              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:100                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:100              o2: direct index for structure ( uniform 2-component vector of int)
+0:100                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:100                Constant:
 0:100                  5 (const uint)
-0:100              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:100                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:100              o2: direct index for structure ( uniform 2-component vector of int)
+0:100                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:100                Constant:
 0:100                  5 (const uint)
-0:100              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:100                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:100              o2: direct index for structure ( uniform 2-component vector of int)
+0:100                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:100                Constant:
 0:100                  5 (const uint)
 0:100            Constant:
@@ -623,9 +623,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4' ( uniform textureCube)
 0:?     'g_tTexcdi4' ( uniform itextureCube)
 0:?     'g_tTexcdu4' ( uniform utextureCube)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:
@@ -644,12 +644,12 @@ gl_FragCoord origin is upper left
 0:46            Construct combined texture-sampler ( temp sampler2D)
 0:46              'g_tTex2df4' ( uniform texture2D)
 0:46              'g_sSamp' (layout( binding=0) uniform sampler)
-0:46            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:46              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c2: direct index for structure ( uniform 2-component vector of float)
+0:46              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46              Constant:
 0:46                1 (const uint)
-0:46            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:46              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            o2: direct index for structure ( uniform 2-component vector of int)
+0:46              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46              Constant:
 0:46                5 (const uint)
 0:46            Constant:
@@ -661,12 +661,12 @@ gl_FragCoord origin is upper left
 0:47            Construct combined texture-sampler ( temp isampler2D)
 0:47              'g_tTex2di4' ( uniform itexture2D)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
-0:47            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:47              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c2: direct index for structure ( uniform 2-component vector of float)
+0:47              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:47              Constant:
 0:47                1 (const uint)
-0:47            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:47              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            o2: direct index for structure ( uniform 2-component vector of int)
+0:47              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:47              Constant:
 0:47                5 (const uint)
 0:47            Constant:
@@ -678,12 +678,12 @@ gl_FragCoord origin is upper left
 0:48            Construct combined texture-sampler ( temp usampler2D)
 0:48              'g_tTex2du4' ( uniform utexture2D)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
-0:48            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:48              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c2: direct index for structure ( uniform 2-component vector of float)
+0:48              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:48              Constant:
 0:48                1 (const uint)
-0:48            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:48              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            o2: direct index for structure ( uniform 2-component vector of int)
+0:48              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:48              Constant:
 0:48                5 (const uint)
 0:48            Constant:
@@ -695,25 +695,25 @@ gl_FragCoord origin is upper left
 0:50            Construct combined texture-sampler ( temp sampler2D)
 0:50              'g_tTex2df4' ( uniform texture2D)
 0:50              'g_sSamp' (layout( binding=0) uniform sampler)
-0:50            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:50              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c2: direct index for structure ( uniform 2-component vector of float)
+0:50              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:50              Constant:
 0:50                1 (const uint)
 0:50            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:50              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:50                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:50                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:50                Constant:
 0:50                  5 (const uint)
-0:50              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:50                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:50                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:50                Constant:
 0:50                  5 (const uint)
-0:50              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:50                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:50                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:50                Constant:
 0:50                  5 (const uint)
-0:50              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:50                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:50                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:50                Constant:
 0:50                  5 (const uint)
 0:50            Constant:
@@ -725,25 +725,25 @@ gl_FragCoord origin is upper left
 0:51            Construct combined texture-sampler ( temp isampler2D)
 0:51              'g_tTex2di4' ( uniform itexture2D)
 0:51              'g_sSamp' (layout( binding=0) uniform sampler)
-0:51            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:51              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c2: direct index for structure ( uniform 2-component vector of float)
+0:51              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51              Constant:
 0:51                1 (const uint)
 0:51            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:51              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:51                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:51                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51                Constant:
 0:51                  5 (const uint)
-0:51              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:51                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:51                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51                Constant:
 0:51                  5 (const uint)
-0:51              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:51                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:51                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51                Constant:
 0:51                  5 (const uint)
-0:51              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:51                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:51                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51                Constant:
 0:51                  5 (const uint)
 0:51            Constant:
@@ -755,25 +755,25 @@ gl_FragCoord origin is upper left
 0:52            Construct combined texture-sampler ( temp usampler2D)
 0:52              'g_tTex2du4' ( uniform utexture2D)
 0:52              'g_sSamp' (layout( binding=0) uniform sampler)
-0:52            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:52              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c2: direct index for structure ( uniform 2-component vector of float)
+0:52              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52              Constant:
 0:52                1 (const uint)
 0:52            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:52              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:52                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:52                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52                Constant:
 0:52                  5 (const uint)
-0:52              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:52                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:52                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52                Constant:
 0:52                  5 (const uint)
-0:52              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:52                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:52                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52                Constant:
 0:52                  5 (const uint)
-0:52              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:52                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:52                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52                Constant:
 0:52                  5 (const uint)
 0:52            Constant:
@@ -785,12 +785,12 @@ gl_FragCoord origin is upper left
 0:62            Construct combined texture-sampler ( temp sampler2D)
 0:62              'g_tTex2df4' ( uniform texture2D)
 0:62              'g_sSamp' (layout( binding=0) uniform sampler)
-0:62            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:62              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c2: direct index for structure ( uniform 2-component vector of float)
+0:62              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62              Constant:
 0:62                1 (const uint)
-0:62            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:62              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            o2: direct index for structure ( uniform 2-component vector of int)
+0:62              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62              Constant:
 0:62                5 (const uint)
 0:62            Constant:
@@ -802,12 +802,12 @@ gl_FragCoord origin is upper left
 0:63            Construct combined texture-sampler ( temp isampler2D)
 0:63              'g_tTex2di4' ( uniform itexture2D)
 0:63              'g_sSamp' (layout( binding=0) uniform sampler)
-0:63            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:63              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c2: direct index for structure ( uniform 2-component vector of float)
+0:63              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63              Constant:
 0:63                1 (const uint)
-0:63            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:63              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            o2: direct index for structure ( uniform 2-component vector of int)
+0:63              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63              Constant:
 0:63                5 (const uint)
 0:63            Constant:
@@ -819,12 +819,12 @@ gl_FragCoord origin is upper left
 0:64            Construct combined texture-sampler ( temp usampler2D)
 0:64              'g_tTex2du4' ( uniform utexture2D)
 0:64              'g_sSamp' (layout( binding=0) uniform sampler)
-0:64            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:64              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:64            c2: direct index for structure ( uniform 2-component vector of float)
+0:64              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:64              Constant:
 0:64                1 (const uint)
-0:64            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:64              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:64            o2: direct index for structure ( uniform 2-component vector of int)
+0:64              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:64              Constant:
 0:64                5 (const uint)
 0:64            Constant:
@@ -836,25 +836,25 @@ gl_FragCoord origin is upper left
 0:66            Construct combined texture-sampler ( temp sampler2D)
 0:66              'g_tTex2df4' ( uniform texture2D)
 0:66              'g_sSamp' (layout( binding=0) uniform sampler)
-0:66            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:66              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:66            c2: direct index for structure ( uniform 2-component vector of float)
+0:66              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:66              Constant:
 0:66                1 (const uint)
 0:66            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:66              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:66                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:66              o2: direct index for structure ( uniform 2-component vector of int)
+0:66                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:66                Constant:
 0:66                  5 (const uint)
-0:66              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:66                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:66              o2: direct index for structure ( uniform 2-component vector of int)
+0:66                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:66                Constant:
 0:66                  5 (const uint)
-0:66              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:66                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:66              o2: direct index for structure ( uniform 2-component vector of int)
+0:66                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:66                Constant:
 0:66                  5 (const uint)
-0:66              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:66                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:66              o2: direct index for structure ( uniform 2-component vector of int)
+0:66                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:66                Constant:
 0:66                  5 (const uint)
 0:66            Constant:
@@ -866,25 +866,25 @@ gl_FragCoord origin is upper left
 0:67            Construct combined texture-sampler ( temp isampler2D)
 0:67              'g_tTex2di4' ( uniform itexture2D)
 0:67              'g_sSamp' (layout( binding=0) uniform sampler)
-0:67            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:67              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:67            c2: direct index for structure ( uniform 2-component vector of float)
+0:67              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:67              Constant:
 0:67                1 (const uint)
 0:67            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:67              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:67                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:67              o2: direct index for structure ( uniform 2-component vector of int)
+0:67                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:67                Constant:
 0:67                  5 (const uint)
-0:67              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:67                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:67              o2: direct index for structure ( uniform 2-component vector of int)
+0:67                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:67                Constant:
 0:67                  5 (const uint)
-0:67              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:67                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:67              o2: direct index for structure ( uniform 2-component vector of int)
+0:67                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:67                Constant:
 0:67                  5 (const uint)
-0:67              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:67                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:67              o2: direct index for structure ( uniform 2-component vector of int)
+0:67                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:67                Constant:
 0:67                  5 (const uint)
 0:67            Constant:
@@ -896,25 +896,25 @@ gl_FragCoord origin is upper left
 0:68            Construct combined texture-sampler ( temp usampler2D)
 0:68              'g_tTex2du4' ( uniform utexture2D)
 0:68              'g_sSamp' (layout( binding=0) uniform sampler)
-0:68            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:68              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:68            c2: direct index for structure ( uniform 2-component vector of float)
+0:68              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:68              Constant:
 0:68                1 (const uint)
 0:68            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:68              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:68                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:68              o2: direct index for structure ( uniform 2-component vector of int)
+0:68                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:68                Constant:
 0:68                  5 (const uint)
-0:68              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:68                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:68              o2: direct index for structure ( uniform 2-component vector of int)
+0:68                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:68                Constant:
 0:68                  5 (const uint)
-0:68              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:68                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:68              o2: direct index for structure ( uniform 2-component vector of int)
+0:68                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:68                Constant:
 0:68                  5 (const uint)
-0:68              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:68                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:68              o2: direct index for structure ( uniform 2-component vector of int)
+0:68                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:68                Constant:
 0:68                  5 (const uint)
 0:68            Constant:
@@ -926,12 +926,12 @@ gl_FragCoord origin is upper left
 0:78            Construct combined texture-sampler ( temp sampler2D)
 0:78              'g_tTex2df4' ( uniform texture2D)
 0:78              'g_sSamp' (layout( binding=0) uniform sampler)
-0:78            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:78              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:78            c2: direct index for structure ( uniform 2-component vector of float)
+0:78              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:78              Constant:
 0:78                1 (const uint)
-0:78            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:78              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:78            o2: direct index for structure ( uniform 2-component vector of int)
+0:78              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:78              Constant:
 0:78                5 (const uint)
 0:78            Constant:
@@ -943,12 +943,12 @@ gl_FragCoord origin is upper left
 0:79            Construct combined texture-sampler ( temp isampler2D)
 0:79              'g_tTex2di4' ( uniform itexture2D)
 0:79              'g_sSamp' (layout( binding=0) uniform sampler)
-0:79            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:79              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:79            c2: direct index for structure ( uniform 2-component vector of float)
+0:79              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:79              Constant:
 0:79                1 (const uint)
-0:79            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:79              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:79            o2: direct index for structure ( uniform 2-component vector of int)
+0:79              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:79              Constant:
 0:79                5 (const uint)
 0:79            Constant:
@@ -960,12 +960,12 @@ gl_FragCoord origin is upper left
 0:80            Construct combined texture-sampler ( temp usampler2D)
 0:80              'g_tTex2du4' ( uniform utexture2D)
 0:80              'g_sSamp' (layout( binding=0) uniform sampler)
-0:80            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:80              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:80            c2: direct index for structure ( uniform 2-component vector of float)
+0:80              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:80              Constant:
 0:80                1 (const uint)
-0:80            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:80              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:80            o2: direct index for structure ( uniform 2-component vector of int)
+0:80              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:80              Constant:
 0:80                5 (const uint)
 0:80            Constant:
@@ -977,25 +977,25 @@ gl_FragCoord origin is upper left
 0:82            Construct combined texture-sampler ( temp sampler2D)
 0:82              'g_tTex2df4' ( uniform texture2D)
 0:82              'g_sSamp' (layout( binding=0) uniform sampler)
-0:82            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:82              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:82            c2: direct index for structure ( uniform 2-component vector of float)
+0:82              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:82              Constant:
 0:82                1 (const uint)
 0:82            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:82              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:82                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:82              o2: direct index for structure ( uniform 2-component vector of int)
+0:82                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:82                Constant:
 0:82                  5 (const uint)
-0:82              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:82                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:82              o2: direct index for structure ( uniform 2-component vector of int)
+0:82                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:82                Constant:
 0:82                  5 (const uint)
-0:82              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:82                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:82              o2: direct index for structure ( uniform 2-component vector of int)
+0:82                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:82                Constant:
 0:82                  5 (const uint)
-0:82              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:82                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:82              o2: direct index for structure ( uniform 2-component vector of int)
+0:82                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:82                Constant:
 0:82                  5 (const uint)
 0:82            Constant:
@@ -1007,25 +1007,25 @@ gl_FragCoord origin is upper left
 0:83            Construct combined texture-sampler ( temp isampler2D)
 0:83              'g_tTex2di4' ( uniform itexture2D)
 0:83              'g_sSamp' (layout( binding=0) uniform sampler)
-0:83            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:83              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:83            c2: direct index for structure ( uniform 2-component vector of float)
+0:83              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:83              Constant:
 0:83                1 (const uint)
 0:83            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:83              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:83                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:83              o2: direct index for structure ( uniform 2-component vector of int)
+0:83                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:83                Constant:
 0:83                  5 (const uint)
-0:83              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:83                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:83              o2: direct index for structure ( uniform 2-component vector of int)
+0:83                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:83                Constant:
 0:83                  5 (const uint)
-0:83              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:83                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:83              o2: direct index for structure ( uniform 2-component vector of int)
+0:83                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:83                Constant:
 0:83                  5 (const uint)
-0:83              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:83                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:83              o2: direct index for structure ( uniform 2-component vector of int)
+0:83                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:83                Constant:
 0:83                  5 (const uint)
 0:83            Constant:
@@ -1037,25 +1037,25 @@ gl_FragCoord origin is upper left
 0:84            Construct combined texture-sampler ( temp usampler2D)
 0:84              'g_tTex2du4' ( uniform utexture2D)
 0:84              'g_sSamp' (layout( binding=0) uniform sampler)
-0:84            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:84              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:84            c2: direct index for structure ( uniform 2-component vector of float)
+0:84              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:84              Constant:
 0:84                1 (const uint)
 0:84            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:84              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:84                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:84              o2: direct index for structure ( uniform 2-component vector of int)
+0:84                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:84                Constant:
 0:84                  5 (const uint)
-0:84              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:84                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:84              o2: direct index for structure ( uniform 2-component vector of int)
+0:84                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:84                Constant:
 0:84                  5 (const uint)
-0:84              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:84                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:84              o2: direct index for structure ( uniform 2-component vector of int)
+0:84                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:84                Constant:
 0:84                  5 (const uint)
-0:84              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:84                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:84              o2: direct index for structure ( uniform 2-component vector of int)
+0:84                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:84                Constant:
 0:84                  5 (const uint)
 0:84            Constant:
@@ -1067,12 +1067,12 @@ gl_FragCoord origin is upper left
 0:94            Construct combined texture-sampler ( temp sampler2D)
 0:94              'g_tTex2df4' ( uniform texture2D)
 0:94              'g_sSamp' (layout( binding=0) uniform sampler)
-0:94            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:94              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:94            c2: direct index for structure ( uniform 2-component vector of float)
+0:94              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:94              Constant:
 0:94                1 (const uint)
-0:94            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:94              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:94            o2: direct index for structure ( uniform 2-component vector of int)
+0:94              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:94              Constant:
 0:94                5 (const uint)
 0:94            Constant:
@@ -1084,12 +1084,12 @@ gl_FragCoord origin is upper left
 0:95            Construct combined texture-sampler ( temp isampler2D)
 0:95              'g_tTex2di4' ( uniform itexture2D)
 0:95              'g_sSamp' (layout( binding=0) uniform sampler)
-0:95            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:95              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:95            c2: direct index for structure ( uniform 2-component vector of float)
+0:95              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:95              Constant:
 0:95                1 (const uint)
-0:95            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:95              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:95            o2: direct index for structure ( uniform 2-component vector of int)
+0:95              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:95              Constant:
 0:95                5 (const uint)
 0:95            Constant:
@@ -1101,12 +1101,12 @@ gl_FragCoord origin is upper left
 0:96            Construct combined texture-sampler ( temp usampler2D)
 0:96              'g_tTex2du4' ( uniform utexture2D)
 0:96              'g_sSamp' (layout( binding=0) uniform sampler)
-0:96            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:96              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:96            c2: direct index for structure ( uniform 2-component vector of float)
+0:96              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:96              Constant:
 0:96                1 (const uint)
-0:96            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:96              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:96            o2: direct index for structure ( uniform 2-component vector of int)
+0:96              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:96              Constant:
 0:96                5 (const uint)
 0:96            Constant:
@@ -1118,25 +1118,25 @@ gl_FragCoord origin is upper left
 0:98            Construct combined texture-sampler ( temp sampler2D)
 0:98              'g_tTex2df4' ( uniform texture2D)
 0:98              'g_sSamp' (layout( binding=0) uniform sampler)
-0:98            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:98              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:98            c2: direct index for structure ( uniform 2-component vector of float)
+0:98              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:98              Constant:
 0:98                1 (const uint)
 0:98            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:98              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:98                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:98              o2: direct index for structure ( uniform 2-component vector of int)
+0:98                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:98                Constant:
 0:98                  5 (const uint)
-0:98              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:98                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:98              o2: direct index for structure ( uniform 2-component vector of int)
+0:98                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:98                Constant:
 0:98                  5 (const uint)
-0:98              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:98                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:98              o2: direct index for structure ( uniform 2-component vector of int)
+0:98                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:98                Constant:
 0:98                  5 (const uint)
-0:98              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:98                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:98              o2: direct index for structure ( uniform 2-component vector of int)
+0:98                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:98                Constant:
 0:98                  5 (const uint)
 0:98            Constant:
@@ -1148,25 +1148,25 @@ gl_FragCoord origin is upper left
 0:99            Construct combined texture-sampler ( temp isampler2D)
 0:99              'g_tTex2di4' ( uniform itexture2D)
 0:99              'g_sSamp' (layout( binding=0) uniform sampler)
-0:99            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:99              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:99            c2: direct index for structure ( uniform 2-component vector of float)
+0:99              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:99              Constant:
 0:99                1 (const uint)
 0:99            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:99              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:99                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:99              o2: direct index for structure ( uniform 2-component vector of int)
+0:99                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:99                Constant:
 0:99                  5 (const uint)
-0:99              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:99                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:99              o2: direct index for structure ( uniform 2-component vector of int)
+0:99                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:99                Constant:
 0:99                  5 (const uint)
-0:99              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:99                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:99              o2: direct index for structure ( uniform 2-component vector of int)
+0:99                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:99                Constant:
 0:99                  5 (const uint)
-0:99              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:99                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:99              o2: direct index for structure ( uniform 2-component vector of int)
+0:99                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:99                Constant:
 0:99                  5 (const uint)
 0:99            Constant:
@@ -1178,25 +1178,25 @@ gl_FragCoord origin is upper left
 0:100            Construct combined texture-sampler ( temp usampler2D)
 0:100              'g_tTex2du4' ( uniform utexture2D)
 0:100              'g_sSamp' (layout( binding=0) uniform sampler)
-0:100            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:100              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:100            c2: direct index for structure ( uniform 2-component vector of float)
+0:100              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:100              Constant:
 0:100                1 (const uint)
 0:100            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:100              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:100                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:100              o2: direct index for structure ( uniform 2-component vector of int)
+0:100                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:100                Constant:
 0:100                  5 (const uint)
-0:100              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:100                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:100              o2: direct index for structure ( uniform 2-component vector of int)
+0:100                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:100                Constant:
 0:100                  5 (const uint)
-0:100              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:100                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:100              o2: direct index for structure ( uniform 2-component vector of int)
+0:100                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:100                Constant:
 0:100                  5 (const uint)
-0:100              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:100                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:100              o2: direct index for structure ( uniform 2-component vector of int)
+0:100                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:100                Constant:
 0:100                  5 (const uint)
 0:100            Constant:
@@ -1255,9 +1255,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4' ( uniform textureCube)
 0:?     'g_tTexcdi4' ( uniform itextureCube)
 0:?     'g_tTexcdu4' ( uniform utextureCube)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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
diff --git a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
index d12f35b93e9f9144a0b0f8669dfc4bb9aa989633..86e0a99656b873225235caec1c172dd211fd6b3f 100644
--- a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
@@ -12,12 +12,12 @@ gl_FragCoord origin is upper left
 0:40            Construct combined texture-sampler ( temp sampler2DArray)
 0:40              'g_tTex2df4a' ( uniform texture2DArray)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:40            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:40              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:40            c3: direct index for structure ( uniform 3-component vector of float)
+0:40              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:40              Constant:
 0:40                2 (const uint)
-0:40            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:40              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:40            o2: direct index for structure ( uniform 2-component vector of int)
+0:40              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:40              Constant:
 0:40                5 (const uint)
 0:40            Constant:
@@ -29,12 +29,12 @@ gl_FragCoord origin is upper left
 0:41            Construct combined texture-sampler ( temp isampler2DArray)
 0:41              'g_tTex2di4a' ( uniform itexture2DArray)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:41            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:41              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:41            c3: direct index for structure ( uniform 3-component vector of float)
+0:41              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:41              Constant:
 0:41                2 (const uint)
-0:41            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:41              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:41            o2: direct index for structure ( uniform 2-component vector of int)
+0:41              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:41              Constant:
 0:41                5 (const uint)
 0:41            Constant:
@@ -46,12 +46,12 @@ gl_FragCoord origin is upper left
 0:42            Construct combined texture-sampler ( temp usampler2DArray)
 0:42              'g_tTex2du4a' ( uniform utexture2DArray)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
-0:42            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:42              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:42            c3: direct index for structure ( uniform 3-component vector of float)
+0:42              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:42              Constant:
 0:42                2 (const uint)
-0:42            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:42              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:42            o2: direct index for structure ( uniform 2-component vector of int)
+0:42              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:42              Constant:
 0:42                5 (const uint)
 0:42            Constant:
@@ -63,25 +63,25 @@ gl_FragCoord origin is upper left
 0:44            Construct combined texture-sampler ( temp sampler2DArray)
 0:44              'g_tTex2df4a' ( uniform texture2DArray)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
-0:44            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:44              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c3: direct index for structure ( uniform 3-component vector of float)
+0:44              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:44              Constant:
 0:44                2 (const uint)
 0:44            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:44              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:44                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:44                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:44                Constant:
 0:44                  5 (const uint)
-0:44              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:44                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:44                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:44                Constant:
 0:44                  5 (const uint)
-0:44              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:44                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:44                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:44                Constant:
 0:44                  5 (const uint)
-0:44              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:44                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:44                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:44                Constant:
 0:44                  5 (const uint)
 0:44            Constant:
@@ -93,25 +93,25 @@ gl_FragCoord origin is upper left
 0:45            Construct combined texture-sampler ( temp isampler2DArray)
 0:45              'g_tTex2di4a' ( uniform itexture2DArray)
 0:45              'g_sSamp' (layout( binding=0) uniform sampler)
-0:45            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:45              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c3: direct index for structure ( uniform 3-component vector of float)
+0:45              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:45              Constant:
 0:45                2 (const uint)
 0:45            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:45              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:45                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:45                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:45                Constant:
 0:45                  5 (const uint)
-0:45              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:45                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:45                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:45                Constant:
 0:45                  5 (const uint)
-0:45              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:45                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:45                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:45                Constant:
 0:45                  5 (const uint)
-0:45              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:45                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:45                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:45                Constant:
 0:45                  5 (const uint)
 0:45            Constant:
@@ -123,25 +123,25 @@ gl_FragCoord origin is upper left
 0:46            Construct combined texture-sampler ( temp usampler2DArray)
 0:46              'g_tTex2du4a' ( uniform utexture2DArray)
 0:46              'g_sSamp' (layout( binding=0) uniform sampler)
-0:46            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:46              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c3: direct index for structure ( uniform 3-component vector of float)
+0:46              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46              Constant:
 0:46                2 (const uint)
 0:46            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:46              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:46                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:46                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46                Constant:
 0:46                  5 (const uint)
-0:46              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:46                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:46                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46                Constant:
 0:46                  5 (const uint)
-0:46              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:46                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:46                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46                Constant:
 0:46                  5 (const uint)
-0:46              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:46                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:46                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46                Constant:
 0:46                  5 (const uint)
 0:46            Constant:
@@ -153,12 +153,12 @@ gl_FragCoord origin is upper left
 0:56            Construct combined texture-sampler ( temp sampler2DArray)
 0:56              'g_tTex2df4a' ( uniform texture2DArray)
 0:56              'g_sSamp' (layout( binding=0) uniform sampler)
-0:56            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:56              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:56            c3: direct index for structure ( uniform 3-component vector of float)
+0:56              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:56              Constant:
 0:56                2 (const uint)
-0:56            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:56              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:56            o2: direct index for structure ( uniform 2-component vector of int)
+0:56              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:56              Constant:
 0:56                5 (const uint)
 0:56            Constant:
@@ -170,12 +170,12 @@ gl_FragCoord origin is upper left
 0:57            Construct combined texture-sampler ( temp isampler2DArray)
 0:57              'g_tTex2di4a' ( uniform itexture2DArray)
 0:57              'g_sSamp' (layout( binding=0) uniform sampler)
-0:57            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:57              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c3: direct index for structure ( uniform 3-component vector of float)
+0:57              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57              Constant:
 0:57                2 (const uint)
-0:57            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:57              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            o2: direct index for structure ( uniform 2-component vector of int)
+0:57              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57              Constant:
 0:57                5 (const uint)
 0:57            Constant:
@@ -187,12 +187,12 @@ gl_FragCoord origin is upper left
 0:58            Construct combined texture-sampler ( temp usampler2DArray)
 0:58              'g_tTex2du4a' ( uniform utexture2DArray)
 0:58              'g_sSamp' (layout( binding=0) uniform sampler)
-0:58            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:58              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c3: direct index for structure ( uniform 3-component vector of float)
+0:58              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58              Constant:
 0:58                2 (const uint)
-0:58            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:58              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            o2: direct index for structure ( uniform 2-component vector of int)
+0:58              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58              Constant:
 0:58                5 (const uint)
 0:58            Constant:
@@ -204,25 +204,25 @@ gl_FragCoord origin is upper left
 0:60            Construct combined texture-sampler ( temp sampler2DArray)
 0:60              'g_tTex2df4a' ( uniform texture2DArray)
 0:60              'g_sSamp' (layout( binding=0) uniform sampler)
-0:60            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:60              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:60            c3: direct index for structure ( uniform 3-component vector of float)
+0:60              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:60              Constant:
 0:60                2 (const uint)
 0:60            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:60              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:60                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:60              o2: direct index for structure ( uniform 2-component vector of int)
+0:60                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:60                Constant:
 0:60                  5 (const uint)
-0:60              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:60                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:60              o2: direct index for structure ( uniform 2-component vector of int)
+0:60                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:60                Constant:
 0:60                  5 (const uint)
-0:60              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:60                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:60              o2: direct index for structure ( uniform 2-component vector of int)
+0:60                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:60                Constant:
 0:60                  5 (const uint)
-0:60              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:60                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:60              o2: direct index for structure ( uniform 2-component vector of int)
+0:60                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:60                Constant:
 0:60                  5 (const uint)
 0:60            Constant:
@@ -234,25 +234,25 @@ gl_FragCoord origin is upper left
 0:61            Construct combined texture-sampler ( temp isampler2DArray)
 0:61              'g_tTex2di4a' ( uniform itexture2DArray)
 0:61              'g_sSamp' (layout( binding=0) uniform sampler)
-0:61            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:61              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:61            c3: direct index for structure ( uniform 3-component vector of float)
+0:61              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:61              Constant:
 0:61                2 (const uint)
 0:61            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:61              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:61                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:61              o2: direct index for structure ( uniform 2-component vector of int)
+0:61                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:61                Constant:
 0:61                  5 (const uint)
-0:61              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:61                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:61              o2: direct index for structure ( uniform 2-component vector of int)
+0:61                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:61                Constant:
 0:61                  5 (const uint)
-0:61              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:61                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:61              o2: direct index for structure ( uniform 2-component vector of int)
+0:61                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:61                Constant:
 0:61                  5 (const uint)
-0:61              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:61                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:61              o2: direct index for structure ( uniform 2-component vector of int)
+0:61                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:61                Constant:
 0:61                  5 (const uint)
 0:61            Constant:
@@ -264,25 +264,25 @@ gl_FragCoord origin is upper left
 0:62            Construct combined texture-sampler ( temp usampler2DArray)
 0:62              'g_tTex2du4a' ( uniform utexture2DArray)
 0:62              'g_sSamp' (layout( binding=0) uniform sampler)
-0:62            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:62              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c3: direct index for structure ( uniform 3-component vector of float)
+0:62              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62              Constant:
 0:62                2 (const uint)
 0:62            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:62              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:62                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:62                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62                Constant:
 0:62                  5 (const uint)
-0:62              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:62                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:62                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62                Constant:
 0:62                  5 (const uint)
-0:62              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:62                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:62                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62                Constant:
 0:62                  5 (const uint)
-0:62              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:62                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:62                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62                Constant:
 0:62                  5 (const uint)
 0:62            Constant:
@@ -294,12 +294,12 @@ gl_FragCoord origin is upper left
 0:72            Construct combined texture-sampler ( temp sampler2DArray)
 0:72              'g_tTex2df4a' ( uniform texture2DArray)
 0:72              'g_sSamp' (layout( binding=0) uniform sampler)
-0:72            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:72              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:72            c3: direct index for structure ( uniform 3-component vector of float)
+0:72              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:72              Constant:
 0:72                2 (const uint)
-0:72            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:72              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:72            o2: direct index for structure ( uniform 2-component vector of int)
+0:72              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:72              Constant:
 0:72                5 (const uint)
 0:72            Constant:
@@ -311,12 +311,12 @@ gl_FragCoord origin is upper left
 0:73            Construct combined texture-sampler ( temp isampler2DArray)
 0:73              'g_tTex2di4a' ( uniform itexture2DArray)
 0:73              'g_sSamp' (layout( binding=0) uniform sampler)
-0:73            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:73              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:73            c3: direct index for structure ( uniform 3-component vector of float)
+0:73              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:73              Constant:
 0:73                2 (const uint)
-0:73            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:73              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:73            o2: direct index for structure ( uniform 2-component vector of int)
+0:73              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:73              Constant:
 0:73                5 (const uint)
 0:73            Constant:
@@ -328,12 +328,12 @@ gl_FragCoord origin is upper left
 0:74            Construct combined texture-sampler ( temp usampler2DArray)
 0:74              'g_tTex2du4a' ( uniform utexture2DArray)
 0:74              'g_sSamp' (layout( binding=0) uniform sampler)
-0:74            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:74              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:74            c3: direct index for structure ( uniform 3-component vector of float)
+0:74              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:74              Constant:
 0:74                2 (const uint)
-0:74            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:74              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:74            o2: direct index for structure ( uniform 2-component vector of int)
+0:74              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:74              Constant:
 0:74                5 (const uint)
 0:74            Constant:
@@ -345,25 +345,25 @@ gl_FragCoord origin is upper left
 0:76            Construct combined texture-sampler ( temp sampler2DArray)
 0:76              'g_tTex2df4a' ( uniform texture2DArray)
 0:76              'g_sSamp' (layout( binding=0) uniform sampler)
-0:76            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:76              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:76            c3: direct index for structure ( uniform 3-component vector of float)
+0:76              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:76              Constant:
 0:76                2 (const uint)
 0:76            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:76              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:76                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:76              o2: direct index for structure ( uniform 2-component vector of int)
+0:76                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:76                Constant:
 0:76                  5 (const uint)
-0:76              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:76                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:76              o2: direct index for structure ( uniform 2-component vector of int)
+0:76                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:76                Constant:
 0:76                  5 (const uint)
-0:76              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:76                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:76              o2: direct index for structure ( uniform 2-component vector of int)
+0:76                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:76                Constant:
 0:76                  5 (const uint)
-0:76              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:76                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:76              o2: direct index for structure ( uniform 2-component vector of int)
+0:76                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:76                Constant:
 0:76                  5 (const uint)
 0:76            Constant:
@@ -375,25 +375,25 @@ gl_FragCoord origin is upper left
 0:77            Construct combined texture-sampler ( temp isampler2DArray)
 0:77              'g_tTex2di4a' ( uniform itexture2DArray)
 0:77              'g_sSamp' (layout( binding=0) uniform sampler)
-0:77            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:77              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:77            c3: direct index for structure ( uniform 3-component vector of float)
+0:77              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:77              Constant:
 0:77                2 (const uint)
 0:77            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:77              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:77                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:77              o2: direct index for structure ( uniform 2-component vector of int)
+0:77                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:77                Constant:
 0:77                  5 (const uint)
-0:77              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:77                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:77              o2: direct index for structure ( uniform 2-component vector of int)
+0:77                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:77                Constant:
 0:77                  5 (const uint)
-0:77              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:77                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:77              o2: direct index for structure ( uniform 2-component vector of int)
+0:77                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:77                Constant:
 0:77                  5 (const uint)
-0:77              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:77                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:77              o2: direct index for structure ( uniform 2-component vector of int)
+0:77                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:77                Constant:
 0:77                  5 (const uint)
 0:77            Constant:
@@ -405,25 +405,25 @@ gl_FragCoord origin is upper left
 0:78            Construct combined texture-sampler ( temp usampler2DArray)
 0:78              'g_tTex2du4a' ( uniform utexture2DArray)
 0:78              'g_sSamp' (layout( binding=0) uniform sampler)
-0:78            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:78              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:78            c3: direct index for structure ( uniform 3-component vector of float)
+0:78              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:78              Constant:
 0:78                2 (const uint)
 0:78            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:78              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:78                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:78              o2: direct index for structure ( uniform 2-component vector of int)
+0:78                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:78                Constant:
 0:78                  5 (const uint)
-0:78              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:78                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:78              o2: direct index for structure ( uniform 2-component vector of int)
+0:78                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:78                Constant:
 0:78                  5 (const uint)
-0:78              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:78                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:78              o2: direct index for structure ( uniform 2-component vector of int)
+0:78                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:78                Constant:
 0:78                  5 (const uint)
-0:78              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:78                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:78              o2: direct index for structure ( uniform 2-component vector of int)
+0:78                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:78                Constant:
 0:78                  5 (const uint)
 0:78            Constant:
@@ -435,12 +435,12 @@ gl_FragCoord origin is upper left
 0:88            Construct combined texture-sampler ( temp sampler2DArray)
 0:88              'g_tTex2df4a' ( uniform texture2DArray)
 0:88              'g_sSamp' (layout( binding=0) uniform sampler)
-0:88            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:88              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:88            c3: direct index for structure ( uniform 3-component vector of float)
+0:88              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:88              Constant:
 0:88                2 (const uint)
-0:88            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:88              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:88            o2: direct index for structure ( uniform 2-component vector of int)
+0:88              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:88              Constant:
 0:88                5 (const uint)
 0:88            Constant:
@@ -452,12 +452,12 @@ gl_FragCoord origin is upper left
 0:89            Construct combined texture-sampler ( temp isampler2DArray)
 0:89              'g_tTex2di4a' ( uniform itexture2DArray)
 0:89              'g_sSamp' (layout( binding=0) uniform sampler)
-0:89            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:89              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:89            c3: direct index for structure ( uniform 3-component vector of float)
+0:89              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:89              Constant:
 0:89                2 (const uint)
-0:89            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:89              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:89            o2: direct index for structure ( uniform 2-component vector of int)
+0:89              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:89              Constant:
 0:89                5 (const uint)
 0:89            Constant:
@@ -469,12 +469,12 @@ gl_FragCoord origin is upper left
 0:90            Construct combined texture-sampler ( temp usampler2DArray)
 0:90              'g_tTex2du4a' ( uniform utexture2DArray)
 0:90              'g_sSamp' (layout( binding=0) uniform sampler)
-0:90            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:90              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:90            c3: direct index for structure ( uniform 3-component vector of float)
+0:90              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:90              Constant:
 0:90                2 (const uint)
-0:90            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:90              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:90            o2: direct index for structure ( uniform 2-component vector of int)
+0:90              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:90              Constant:
 0:90                5 (const uint)
 0:90            Constant:
@@ -486,25 +486,25 @@ gl_FragCoord origin is upper left
 0:92            Construct combined texture-sampler ( temp sampler2DArray)
 0:92              'g_tTex2df4a' ( uniform texture2DArray)
 0:92              'g_sSamp' (layout( binding=0) uniform sampler)
-0:92            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:92              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:92            c3: direct index for structure ( uniform 3-component vector of float)
+0:92              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:92              Constant:
 0:92                2 (const uint)
 0:92            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:92              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:92                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:92              o2: direct index for structure ( uniform 2-component vector of int)
+0:92                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:92                Constant:
 0:92                  5 (const uint)
-0:92              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:92                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:92              o2: direct index for structure ( uniform 2-component vector of int)
+0:92                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:92                Constant:
 0:92                  5 (const uint)
-0:92              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:92                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:92              o2: direct index for structure ( uniform 2-component vector of int)
+0:92                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:92                Constant:
 0:92                  5 (const uint)
-0:92              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:92                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:92              o2: direct index for structure ( uniform 2-component vector of int)
+0:92                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:92                Constant:
 0:92                  5 (const uint)
 0:92            Constant:
@@ -516,25 +516,25 @@ gl_FragCoord origin is upper left
 0:93            Construct combined texture-sampler ( temp isampler2DArray)
 0:93              'g_tTex2di4a' ( uniform itexture2DArray)
 0:93              'g_sSamp' (layout( binding=0) uniform sampler)
-0:93            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:93              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:93            c3: direct index for structure ( uniform 3-component vector of float)
+0:93              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:93              Constant:
 0:93                2 (const uint)
 0:93            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:93              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:93                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:93              o2: direct index for structure ( uniform 2-component vector of int)
+0:93                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:93                Constant:
 0:93                  5 (const uint)
-0:93              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:93                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:93              o2: direct index for structure ( uniform 2-component vector of int)
+0:93                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:93                Constant:
 0:93                  5 (const uint)
-0:93              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:93                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:93              o2: direct index for structure ( uniform 2-component vector of int)
+0:93                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:93                Constant:
 0:93                  5 (const uint)
-0:93              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:93                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:93              o2: direct index for structure ( uniform 2-component vector of int)
+0:93                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:93                Constant:
 0:93                  5 (const uint)
 0:93            Constant:
@@ -546,25 +546,25 @@ gl_FragCoord origin is upper left
 0:94            Construct combined texture-sampler ( temp usampler2DArray)
 0:94              'g_tTex2du4a' ( uniform utexture2DArray)
 0:94              'g_sSamp' (layout( binding=0) uniform sampler)
-0:94            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:94              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:94            c3: direct index for structure ( uniform 3-component vector of float)
+0:94              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:94              Constant:
 0:94                2 (const uint)
 0:94            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:94              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:94                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:94              o2: direct index for structure ( uniform 2-component vector of int)
+0:94                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:94                Constant:
 0:94                  5 (const uint)
-0:94              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:94                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:94              o2: direct index for structure ( uniform 2-component vector of int)
+0:94                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:94                Constant:
 0:94                  5 (const uint)
-0:94              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:94                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:94              o2: direct index for structure ( uniform 2-component vector of int)
+0:94                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:94                Constant:
 0:94                  5 (const uint)
-0:94              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:94                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:94              o2: direct index for structure ( uniform 2-component vector of int)
+0:94                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:94                Constant:
 0:94                  5 (const uint)
 0:94            Constant:
@@ -619,9 +619,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:
@@ -640,12 +640,12 @@ gl_FragCoord origin is upper left
 0:40            Construct combined texture-sampler ( temp sampler2DArray)
 0:40              'g_tTex2df4a' ( uniform texture2DArray)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:40            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:40              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:40            c3: direct index for structure ( uniform 3-component vector of float)
+0:40              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:40              Constant:
 0:40                2 (const uint)
-0:40            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:40              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:40            o2: direct index for structure ( uniform 2-component vector of int)
+0:40              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:40              Constant:
 0:40                5 (const uint)
 0:40            Constant:
@@ -657,12 +657,12 @@ gl_FragCoord origin is upper left
 0:41            Construct combined texture-sampler ( temp isampler2DArray)
 0:41              'g_tTex2di4a' ( uniform itexture2DArray)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:41            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:41              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:41            c3: direct index for structure ( uniform 3-component vector of float)
+0:41              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:41              Constant:
 0:41                2 (const uint)
-0:41            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:41              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:41            o2: direct index for structure ( uniform 2-component vector of int)
+0:41              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:41              Constant:
 0:41                5 (const uint)
 0:41            Constant:
@@ -674,12 +674,12 @@ gl_FragCoord origin is upper left
 0:42            Construct combined texture-sampler ( temp usampler2DArray)
 0:42              'g_tTex2du4a' ( uniform utexture2DArray)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
-0:42            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:42              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:42            c3: direct index for structure ( uniform 3-component vector of float)
+0:42              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:42              Constant:
 0:42                2 (const uint)
-0:42            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:42              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:42            o2: direct index for structure ( uniform 2-component vector of int)
+0:42              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:42              Constant:
 0:42                5 (const uint)
 0:42            Constant:
@@ -691,25 +691,25 @@ gl_FragCoord origin is upper left
 0:44            Construct combined texture-sampler ( temp sampler2DArray)
 0:44              'g_tTex2df4a' ( uniform texture2DArray)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
-0:44            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:44              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c3: direct index for structure ( uniform 3-component vector of float)
+0:44              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:44              Constant:
 0:44                2 (const uint)
 0:44            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:44              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:44                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:44                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:44                Constant:
 0:44                  5 (const uint)
-0:44              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:44                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:44                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:44                Constant:
 0:44                  5 (const uint)
-0:44              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:44                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:44                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:44                Constant:
 0:44                  5 (const uint)
-0:44              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:44                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:44                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:44                Constant:
 0:44                  5 (const uint)
 0:44            Constant:
@@ -721,25 +721,25 @@ gl_FragCoord origin is upper left
 0:45            Construct combined texture-sampler ( temp isampler2DArray)
 0:45              'g_tTex2di4a' ( uniform itexture2DArray)
 0:45              'g_sSamp' (layout( binding=0) uniform sampler)
-0:45            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:45              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c3: direct index for structure ( uniform 3-component vector of float)
+0:45              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:45              Constant:
 0:45                2 (const uint)
 0:45            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:45              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:45                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:45                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:45                Constant:
 0:45                  5 (const uint)
-0:45              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:45                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:45                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:45                Constant:
 0:45                  5 (const uint)
-0:45              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:45                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:45                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:45                Constant:
 0:45                  5 (const uint)
-0:45              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:45                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:45                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:45                Constant:
 0:45                  5 (const uint)
 0:45            Constant:
@@ -751,25 +751,25 @@ gl_FragCoord origin is upper left
 0:46            Construct combined texture-sampler ( temp usampler2DArray)
 0:46              'g_tTex2du4a' ( uniform utexture2DArray)
 0:46              'g_sSamp' (layout( binding=0) uniform sampler)
-0:46            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:46              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c3: direct index for structure ( uniform 3-component vector of float)
+0:46              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46              Constant:
 0:46                2 (const uint)
 0:46            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:46              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:46                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:46                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46                Constant:
 0:46                  5 (const uint)
-0:46              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:46                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:46                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46                Constant:
 0:46                  5 (const uint)
-0:46              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:46                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:46                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46                Constant:
 0:46                  5 (const uint)
-0:46              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:46                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:46                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46                Constant:
 0:46                  5 (const uint)
 0:46            Constant:
@@ -781,12 +781,12 @@ gl_FragCoord origin is upper left
 0:56            Construct combined texture-sampler ( temp sampler2DArray)
 0:56              'g_tTex2df4a' ( uniform texture2DArray)
 0:56              'g_sSamp' (layout( binding=0) uniform sampler)
-0:56            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:56              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:56            c3: direct index for structure ( uniform 3-component vector of float)
+0:56              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:56              Constant:
 0:56                2 (const uint)
-0:56            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:56              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:56            o2: direct index for structure ( uniform 2-component vector of int)
+0:56              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:56              Constant:
 0:56                5 (const uint)
 0:56            Constant:
@@ -798,12 +798,12 @@ gl_FragCoord origin is upper left
 0:57            Construct combined texture-sampler ( temp isampler2DArray)
 0:57              'g_tTex2di4a' ( uniform itexture2DArray)
 0:57              'g_sSamp' (layout( binding=0) uniform sampler)
-0:57            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:57              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c3: direct index for structure ( uniform 3-component vector of float)
+0:57              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57              Constant:
 0:57                2 (const uint)
-0:57            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:57              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            o2: direct index for structure ( uniform 2-component vector of int)
+0:57              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57              Constant:
 0:57                5 (const uint)
 0:57            Constant:
@@ -815,12 +815,12 @@ gl_FragCoord origin is upper left
 0:58            Construct combined texture-sampler ( temp usampler2DArray)
 0:58              'g_tTex2du4a' ( uniform utexture2DArray)
 0:58              'g_sSamp' (layout( binding=0) uniform sampler)
-0:58            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:58              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c3: direct index for structure ( uniform 3-component vector of float)
+0:58              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58              Constant:
 0:58                2 (const uint)
-0:58            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:58              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            o2: direct index for structure ( uniform 2-component vector of int)
+0:58              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58              Constant:
 0:58                5 (const uint)
 0:58            Constant:
@@ -832,25 +832,25 @@ gl_FragCoord origin is upper left
 0:60            Construct combined texture-sampler ( temp sampler2DArray)
 0:60              'g_tTex2df4a' ( uniform texture2DArray)
 0:60              'g_sSamp' (layout( binding=0) uniform sampler)
-0:60            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:60              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:60            c3: direct index for structure ( uniform 3-component vector of float)
+0:60              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:60              Constant:
 0:60                2 (const uint)
 0:60            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:60              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:60                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:60              o2: direct index for structure ( uniform 2-component vector of int)
+0:60                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:60                Constant:
 0:60                  5 (const uint)
-0:60              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:60                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:60              o2: direct index for structure ( uniform 2-component vector of int)
+0:60                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:60                Constant:
 0:60                  5 (const uint)
-0:60              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:60                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:60              o2: direct index for structure ( uniform 2-component vector of int)
+0:60                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:60                Constant:
 0:60                  5 (const uint)
-0:60              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:60                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:60              o2: direct index for structure ( uniform 2-component vector of int)
+0:60                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:60                Constant:
 0:60                  5 (const uint)
 0:60            Constant:
@@ -862,25 +862,25 @@ gl_FragCoord origin is upper left
 0:61            Construct combined texture-sampler ( temp isampler2DArray)
 0:61              'g_tTex2di4a' ( uniform itexture2DArray)
 0:61              'g_sSamp' (layout( binding=0) uniform sampler)
-0:61            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:61              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:61            c3: direct index for structure ( uniform 3-component vector of float)
+0:61              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:61              Constant:
 0:61                2 (const uint)
 0:61            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:61              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:61                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:61              o2: direct index for structure ( uniform 2-component vector of int)
+0:61                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:61                Constant:
 0:61                  5 (const uint)
-0:61              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:61                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:61              o2: direct index for structure ( uniform 2-component vector of int)
+0:61                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:61                Constant:
 0:61                  5 (const uint)
-0:61              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:61                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:61              o2: direct index for structure ( uniform 2-component vector of int)
+0:61                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:61                Constant:
 0:61                  5 (const uint)
-0:61              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:61                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:61              o2: direct index for structure ( uniform 2-component vector of int)
+0:61                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:61                Constant:
 0:61                  5 (const uint)
 0:61            Constant:
@@ -892,25 +892,25 @@ gl_FragCoord origin is upper left
 0:62            Construct combined texture-sampler ( temp usampler2DArray)
 0:62              'g_tTex2du4a' ( uniform utexture2DArray)
 0:62              'g_sSamp' (layout( binding=0) uniform sampler)
-0:62            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:62              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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            c3: direct index for structure ( uniform 3-component vector of float)
+0:62              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62              Constant:
 0:62                2 (const uint)
 0:62            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:62              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:62                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:62                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62                Constant:
 0:62                  5 (const uint)
-0:62              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:62                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:62                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62                Constant:
 0:62                  5 (const uint)
-0:62              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:62                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:62                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62                Constant:
 0:62                  5 (const uint)
-0:62              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:62                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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              o2: direct index for structure ( uniform 2-component vector of int)
+0:62                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62                Constant:
 0:62                  5 (const uint)
 0:62            Constant:
@@ -922,12 +922,12 @@ gl_FragCoord origin is upper left
 0:72            Construct combined texture-sampler ( temp sampler2DArray)
 0:72              'g_tTex2df4a' ( uniform texture2DArray)
 0:72              'g_sSamp' (layout( binding=0) uniform sampler)
-0:72            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:72              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:72            c3: direct index for structure ( uniform 3-component vector of float)
+0:72              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:72              Constant:
 0:72                2 (const uint)
-0:72            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:72              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:72            o2: direct index for structure ( uniform 2-component vector of int)
+0:72              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:72              Constant:
 0:72                5 (const uint)
 0:72            Constant:
@@ -939,12 +939,12 @@ gl_FragCoord origin is upper left
 0:73            Construct combined texture-sampler ( temp isampler2DArray)
 0:73              'g_tTex2di4a' ( uniform itexture2DArray)
 0:73              'g_sSamp' (layout( binding=0) uniform sampler)
-0:73            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:73              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:73            c3: direct index for structure ( uniform 3-component vector of float)
+0:73              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:73              Constant:
 0:73                2 (const uint)
-0:73            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:73              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:73            o2: direct index for structure ( uniform 2-component vector of int)
+0:73              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:73              Constant:
 0:73                5 (const uint)
 0:73            Constant:
@@ -956,12 +956,12 @@ gl_FragCoord origin is upper left
 0:74            Construct combined texture-sampler ( temp usampler2DArray)
 0:74              'g_tTex2du4a' ( uniform utexture2DArray)
 0:74              'g_sSamp' (layout( binding=0) uniform sampler)
-0:74            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:74              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:74            c3: direct index for structure ( uniform 3-component vector of float)
+0:74              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:74              Constant:
 0:74                2 (const uint)
-0:74            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:74              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:74            o2: direct index for structure ( uniform 2-component vector of int)
+0:74              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:74              Constant:
 0:74                5 (const uint)
 0:74            Constant:
@@ -973,25 +973,25 @@ gl_FragCoord origin is upper left
 0:76            Construct combined texture-sampler ( temp sampler2DArray)
 0:76              'g_tTex2df4a' ( uniform texture2DArray)
 0:76              'g_sSamp' (layout( binding=0) uniform sampler)
-0:76            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:76              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:76            c3: direct index for structure ( uniform 3-component vector of float)
+0:76              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:76              Constant:
 0:76                2 (const uint)
 0:76            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:76              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:76                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:76              o2: direct index for structure ( uniform 2-component vector of int)
+0:76                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:76                Constant:
 0:76                  5 (const uint)
-0:76              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:76                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:76              o2: direct index for structure ( uniform 2-component vector of int)
+0:76                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:76                Constant:
 0:76                  5 (const uint)
-0:76              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:76                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:76              o2: direct index for structure ( uniform 2-component vector of int)
+0:76                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:76                Constant:
 0:76                  5 (const uint)
-0:76              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:76                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:76              o2: direct index for structure ( uniform 2-component vector of int)
+0:76                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:76                Constant:
 0:76                  5 (const uint)
 0:76            Constant:
@@ -1003,25 +1003,25 @@ gl_FragCoord origin is upper left
 0:77            Construct combined texture-sampler ( temp isampler2DArray)
 0:77              'g_tTex2di4a' ( uniform itexture2DArray)
 0:77              'g_sSamp' (layout( binding=0) uniform sampler)
-0:77            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:77              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:77            c3: direct index for structure ( uniform 3-component vector of float)
+0:77              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:77              Constant:
 0:77                2 (const uint)
 0:77            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:77              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:77                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:77              o2: direct index for structure ( uniform 2-component vector of int)
+0:77                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:77                Constant:
 0:77                  5 (const uint)
-0:77              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:77                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:77              o2: direct index for structure ( uniform 2-component vector of int)
+0:77                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:77                Constant:
 0:77                  5 (const uint)
-0:77              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:77                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:77              o2: direct index for structure ( uniform 2-component vector of int)
+0:77                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:77                Constant:
 0:77                  5 (const uint)
-0:77              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:77                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:77              o2: direct index for structure ( uniform 2-component vector of int)
+0:77                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:77                Constant:
 0:77                  5 (const uint)
 0:77            Constant:
@@ -1033,25 +1033,25 @@ gl_FragCoord origin is upper left
 0:78            Construct combined texture-sampler ( temp usampler2DArray)
 0:78              'g_tTex2du4a' ( uniform utexture2DArray)
 0:78              'g_sSamp' (layout( binding=0) uniform sampler)
-0:78            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:78              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:78            c3: direct index for structure ( uniform 3-component vector of float)
+0:78              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:78              Constant:
 0:78                2 (const uint)
 0:78            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:78              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:78                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:78              o2: direct index for structure ( uniform 2-component vector of int)
+0:78                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:78                Constant:
 0:78                  5 (const uint)
-0:78              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:78                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:78              o2: direct index for structure ( uniform 2-component vector of int)
+0:78                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:78                Constant:
 0:78                  5 (const uint)
-0:78              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:78                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:78              o2: direct index for structure ( uniform 2-component vector of int)
+0:78                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:78                Constant:
 0:78                  5 (const uint)
-0:78              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:78                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:78              o2: direct index for structure ( uniform 2-component vector of int)
+0:78                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:78                Constant:
 0:78                  5 (const uint)
 0:78            Constant:
@@ -1063,12 +1063,12 @@ gl_FragCoord origin is upper left
 0:88            Construct combined texture-sampler ( temp sampler2DArray)
 0:88              'g_tTex2df4a' ( uniform texture2DArray)
 0:88              'g_sSamp' (layout( binding=0) uniform sampler)
-0:88            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:88              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:88            c3: direct index for structure ( uniform 3-component vector of float)
+0:88              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:88              Constant:
 0:88                2 (const uint)
-0:88            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:88              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:88            o2: direct index for structure ( uniform 2-component vector of int)
+0:88              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:88              Constant:
 0:88                5 (const uint)
 0:88            Constant:
@@ -1080,12 +1080,12 @@ gl_FragCoord origin is upper left
 0:89            Construct combined texture-sampler ( temp isampler2DArray)
 0:89              'g_tTex2di4a' ( uniform itexture2DArray)
 0:89              'g_sSamp' (layout( binding=0) uniform sampler)
-0:89            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:89              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:89            c3: direct index for structure ( uniform 3-component vector of float)
+0:89              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:89              Constant:
 0:89                2 (const uint)
-0:89            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:89              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:89            o2: direct index for structure ( uniform 2-component vector of int)
+0:89              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:89              Constant:
 0:89                5 (const uint)
 0:89            Constant:
@@ -1097,12 +1097,12 @@ gl_FragCoord origin is upper left
 0:90            Construct combined texture-sampler ( temp usampler2DArray)
 0:90              'g_tTex2du4a' ( uniform utexture2DArray)
 0:90              'g_sSamp' (layout( binding=0) uniform sampler)
-0:90            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:90              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:90            c3: direct index for structure ( uniform 3-component vector of float)
+0:90              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:90              Constant:
 0:90                2 (const uint)
-0:90            o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:90              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:90            o2: direct index for structure ( uniform 2-component vector of int)
+0:90              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:90              Constant:
 0:90                5 (const uint)
 0:90            Constant:
@@ -1114,25 +1114,25 @@ gl_FragCoord origin is upper left
 0:92            Construct combined texture-sampler ( temp sampler2DArray)
 0:92              'g_tTex2df4a' ( uniform texture2DArray)
 0:92              'g_sSamp' (layout( binding=0) uniform sampler)
-0:92            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:92              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:92            c3: direct index for structure ( uniform 3-component vector of float)
+0:92              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:92              Constant:
 0:92                2 (const uint)
 0:92            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:92              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:92                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:92              o2: direct index for structure ( uniform 2-component vector of int)
+0:92                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:92                Constant:
 0:92                  5 (const uint)
-0:92              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:92                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:92              o2: direct index for structure ( uniform 2-component vector of int)
+0:92                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:92                Constant:
 0:92                  5 (const uint)
-0:92              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:92                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:92              o2: direct index for structure ( uniform 2-component vector of int)
+0:92                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:92                Constant:
 0:92                  5 (const uint)
-0:92              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:92                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:92              o2: direct index for structure ( uniform 2-component vector of int)
+0:92                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:92                Constant:
 0:92                  5 (const uint)
 0:92            Constant:
@@ -1144,25 +1144,25 @@ gl_FragCoord origin is upper left
 0:93            Construct combined texture-sampler ( temp isampler2DArray)
 0:93              'g_tTex2di4a' ( uniform itexture2DArray)
 0:93              'g_sSamp' (layout( binding=0) uniform sampler)
-0:93            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:93              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:93            c3: direct index for structure ( uniform 3-component vector of float)
+0:93              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:93              Constant:
 0:93                2 (const uint)
 0:93            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:93              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:93                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:93              o2: direct index for structure ( uniform 2-component vector of int)
+0:93                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:93                Constant:
 0:93                  5 (const uint)
-0:93              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:93                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:93              o2: direct index for structure ( uniform 2-component vector of int)
+0:93                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:93                Constant:
 0:93                  5 (const uint)
-0:93              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:93                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:93              o2: direct index for structure ( uniform 2-component vector of int)
+0:93                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:93                Constant:
 0:93                  5 (const uint)
-0:93              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:93                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:93              o2: direct index for structure ( uniform 2-component vector of int)
+0:93                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:93                Constant:
 0:93                  5 (const uint)
 0:93            Constant:
@@ -1174,25 +1174,25 @@ gl_FragCoord origin is upper left
 0:94            Construct combined texture-sampler ( temp usampler2DArray)
 0:94              'g_tTex2du4a' ( uniform utexture2DArray)
 0:94              'g_sSamp' (layout( binding=0) uniform sampler)
-0:94            c3: direct index for structure (layout( offset=16) uniform 3-component vector of float)
-0:94              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:94            c3: direct index for structure ( uniform 3-component vector of float)
+0:94              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:94              Constant:
 0:94                2 (const uint)
 0:94            Construct ivec2 ( temp 4-element array of 2-component vector of int)
-0:94              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:94                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:94              o2: direct index for structure ( uniform 2-component vector of int)
+0:94                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:94                Constant:
 0:94                  5 (const uint)
-0:94              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:94                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:94              o2: direct index for structure ( uniform 2-component vector of int)
+0:94                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:94                Constant:
 0:94                  5 (const uint)
-0:94              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:94                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:94              o2: direct index for structure ( uniform 2-component vector of int)
+0:94                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:94                Constant:
 0:94                  5 (const uint)
-0:94              o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-0:94                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:94              o2: direct index for structure ( uniform 2-component vector of int)
+0:94                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:94                Constant:
 0:94                  5 (const uint)
 0:94            Constant:
@@ -1247,9 +1247,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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
diff --git a/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
index aa5c1977d2c644585e846725c3f6f6c00b54859f..1c7487deb79dd78e2c7dcd0e517d6f94eaef06b7 100644
--- a/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
@@ -12,8 +12,8 @@ gl_FragCoord origin is upper left
 0:45            Construct combined texture-sampler ( temp sampler2DShadow)
 0:45              'g_tTex2df4' ( uniform texture2D)
 0:45              'g_sSampCmp' (layout( binding=0) uniform sampler)
-0:45            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:45              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:45            c2: direct index for structure ( uniform 2-component vector of float)
+0:45              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:45              Constant:
 0:45                1 (const uint)
 0:45            Constant:
@@ -28,8 +28,8 @@ gl_FragCoord origin is upper left
 0:46            Construct combined texture-sampler ( temp isampler2DShadow)
 0:46              'g_tTex2di4' ( uniform itexture2D)
 0:46              'g_sSampCmp' (layout( binding=0) uniform sampler)
-0:46            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:46              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:46            c2: direct index for structure ( uniform 2-component vector of float)
+0:46              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:46              Constant:
 0:46                1 (const uint)
 0:46            Constant:
@@ -44,8 +44,8 @@ gl_FragCoord origin is upper left
 0:47            Construct combined texture-sampler ( temp usampler2DShadow)
 0:47              'g_tTex2du4' ( uniform utexture2D)
 0:47              'g_sSampCmp' (layout( binding=0) uniform sampler)
-0:47            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:47              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:47            c2: direct index for structure ( uniform 2-component vector of float)
+0:47              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:47              Constant:
 0:47                1 (const uint)
 0:47            Constant:
@@ -60,8 +60,8 @@ gl_FragCoord origin is upper left
 0:49            Construct combined texture-sampler ( temp sampler2DShadow)
 0:49              'g_tTex2df4' ( uniform texture2D)
 0:49              'g_sSampCmp' (layout( binding=0) uniform sampler)
-0:49            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:49              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:49            c2: direct index for structure ( uniform 2-component vector of float)
+0:49              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:49              Constant:
 0:49                1 (const uint)
 0:49            Constant:
@@ -82,8 +82,8 @@ gl_FragCoord origin is upper left
 0:50            Construct combined texture-sampler ( temp isampler2DShadow)
 0:50              'g_tTex2di4' ( uniform itexture2D)
 0:50              'g_sSampCmp' (layout( binding=0) uniform sampler)
-0:50            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:50              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:50            c2: direct index for structure ( uniform 2-component vector of float)
+0:50              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:50              Constant:
 0:50                1 (const uint)
 0:50            Constant:
@@ -104,8 +104,8 @@ gl_FragCoord origin is upper left
 0:51            Construct combined texture-sampler ( temp usampler2DShadow)
 0:51              'g_tTex2du4' ( uniform utexture2D)
 0:51              'g_sSampCmp' (layout( binding=0) uniform sampler)
-0:51            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:51              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:51            c2: direct index for structure ( uniform 2-component vector of float)
+0:51              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:51              Constant:
 0:51                1 (const uint)
 0:51            Constant:
@@ -172,9 +172,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4' ( uniform textureCube)
 0:?     'g_tTexcdi4' ( uniform itextureCube)
 0:?     'g_tTexcdu4' ( uniform utextureCube)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
 
 
 Linked fragment stage:
@@ -193,8 +193,8 @@ gl_FragCoord origin is upper left
 0:45            Construct combined texture-sampler ( temp sampler2DShadow)
 0:45              'g_tTex2df4' ( uniform texture2D)
 0:45              'g_sSampCmp' (layout( binding=0) uniform sampler)
-0:45            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:45              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:45            c2: direct index for structure ( uniform 2-component vector of float)
+0:45              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:45              Constant:
 0:45                1 (const uint)
 0:45            Constant:
@@ -209,8 +209,8 @@ gl_FragCoord origin is upper left
 0:46            Construct combined texture-sampler ( temp isampler2DShadow)
 0:46              'g_tTex2di4' ( uniform itexture2D)
 0:46              'g_sSampCmp' (layout( binding=0) uniform sampler)
-0:46            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:46              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:46            c2: direct index for structure ( uniform 2-component vector of float)
+0:46              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:46              Constant:
 0:46                1 (const uint)
 0:46            Constant:
@@ -225,8 +225,8 @@ gl_FragCoord origin is upper left
 0:47            Construct combined texture-sampler ( temp usampler2DShadow)
 0:47              'g_tTex2du4' ( uniform utexture2D)
 0:47              'g_sSampCmp' (layout( binding=0) uniform sampler)
-0:47            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:47              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:47            c2: direct index for structure ( uniform 2-component vector of float)
+0:47              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:47              Constant:
 0:47                1 (const uint)
 0:47            Constant:
@@ -241,8 +241,8 @@ gl_FragCoord origin is upper left
 0:49            Construct combined texture-sampler ( temp sampler2DShadow)
 0:49              'g_tTex2df4' ( uniform texture2D)
 0:49              'g_sSampCmp' (layout( binding=0) uniform sampler)
-0:49            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:49              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:49            c2: direct index for structure ( uniform 2-component vector of float)
+0:49              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:49              Constant:
 0:49                1 (const uint)
 0:49            Constant:
@@ -263,8 +263,8 @@ gl_FragCoord origin is upper left
 0:50            Construct combined texture-sampler ( temp isampler2DShadow)
 0:50              'g_tTex2di4' ( uniform itexture2D)
 0:50              'g_sSampCmp' (layout( binding=0) uniform sampler)
-0:50            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:50              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:50            c2: direct index for structure ( uniform 2-component vector of float)
+0:50              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:50              Constant:
 0:50                1 (const uint)
 0:50            Constant:
@@ -285,8 +285,8 @@ gl_FragCoord origin is upper left
 0:51            Construct combined texture-sampler ( temp usampler2DShadow)
 0:51              'g_tTex2du4' ( uniform utexture2D)
 0:51              'g_sSampCmp' (layout( binding=0) uniform sampler)
-0:51            c2: direct index for structure (layout( offset=8) uniform 2-component vector of float)
-0:51              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
+0:51            c2: direct index for structure ( uniform 2-component vector of float)
+0:51              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:51              Constant:
 0:51                1 (const uint)
 0:51            Constant:
@@ -353,9 +353,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4' ( uniform textureCube)
 0:?     'g_tTexcdi4' ( uniform itextureCube)
 0:?     'g_tTexcdu4' ( uniform utextureCube)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform float c1, layout( offset=8) uniform 2-component vector of float c2, layout( offset=16) uniform 3-component vector of float c3, layout( offset=32) uniform 4-component vector of float c4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
index 3ca04c870e0c27598ebdcec398bcb1b015a9200c..781ed9066329a16671363303d2d0607ed8124b89 100644
--- a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
+++ b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
@@ -351,9 +351,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tBuffF' (layout( rgba32f) uniform imageBuffer)
 0:?     'g_tBuffI' (layout( rgba32i) uniform iimageBuffer)
 0:?     'g_tBuffU' (layout( rgba32ui) uniform uimageBuffer)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:
@@ -711,9 +711,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tBuffF' (layout( rgba32f) uniform imageBuffer)
 0:?     'g_tBuffI' (layout( rgba32i) uniform iimageBuffer)
 0:?     'g_tBuffU' (layout( rgba32ui) uniform uimageBuffer)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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
diff --git a/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out b/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out
index 31481ed26b28e66fb08c81e99f71c2efa6f1d605..e38e621b8f107ac501a7686dba289073e870148e 100644
--- a/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out
@@ -11,8 +11,8 @@ gl_FragCoord origin is upper left
 0:6            Constant:
 0:6              255.001953
 0:6            vector swizzle ( temp 4-component vector of float)
-0:6              col4: direct index for structure (layout( offset=0) uniform 4-component vector of float)
-0:6                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float col4})
+0:6              col4: direct index for structure ( uniform 4-component vector of float)
+0:6                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float col4})
 0:6                Constant:
 0:6                  0 (const uint)
 0:6              Sequence
@@ -31,8 +31,8 @@ gl_FragCoord origin is upper left
 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of int)
 0:5        Function Call: @main( ( temp 4-component vector of int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float col4})
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of int)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float col4})
 
 
 Linked fragment stage:
@@ -50,8 +50,8 @@ gl_FragCoord origin is upper left
 0:6            Constant:
 0:6              255.001953
 0:6            vector swizzle ( temp 4-component vector of float)
-0:6              col4: direct index for structure (layout( offset=0) uniform 4-component vector of float)
-0:6                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float col4})
+0:6              col4: direct index for structure ( uniform 4-component vector of float)
+0:6                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float col4})
 0:6                Constant:
 0:6                  0 (const uint)
 0:6              Sequence
@@ -70,8 +70,8 @@ gl_FragCoord origin is upper left
 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of int)
 0:5        Function Call: @main( ( temp 4-component vector of int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float col4})
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of int)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float col4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.intrinsics.promote.down.frag.out b/Test/baseResults/hlsl.intrinsics.promote.down.frag.out
index 246dcabaf68da6a9a94f7cfb4c4761454af70c66..4f47d86f3178b2fb2451fc8040f2c68a10b538d5 100644
--- a/Test/baseResults/hlsl.intrinsics.promote.down.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.promote.down.frag.out
@@ -10,8 +10,8 @@ gl_FragCoord origin is upper left
 0:16          'r00' ( temp uint)
 0:16          bitCount ( temp uint)
 0:16            Convert float to uint ( temp uint)
-0:16              f: direct index for structure (layout( offset=8) uniform float)
-0:16                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2})
+0:16              f: direct index for structure ( uniform float)
+0:16                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2})
 0:16                Constant:
 0:16                  2 (const uint)
 0:17      Sequence
@@ -19,8 +19,8 @@ gl_FragCoord origin is upper left
 0:17          'r01' ( temp 2-component vector of uint)
 0:17          bitFieldReverse ( temp 2-component vector of uint)
 0:17            Convert float to uint ( temp 2-component vector of uint)
-0:17              f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:17                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2})
+0:17              f2: direct index for structure ( uniform 2-component vector of float)
+0:17                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2})
 0:17                Constant:
 0:17                  6 (const uint)
 0:20      move second child to first child ( temp 4-component vector of float)
@@ -46,8 +46,8 @@ gl_FragCoord origin is upper left
 0:15            Constant:
 0:15              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2})
 0:?     'color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2})
 
 
 Linked fragment stage:
@@ -64,8 +64,8 @@ gl_FragCoord origin is upper left
 0:16          'r00' ( temp uint)
 0:16          bitCount ( temp uint)
 0:16            Convert float to uint ( temp uint)
-0:16              f: direct index for structure (layout( offset=8) uniform float)
-0:16                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2})
+0:16              f: direct index for structure ( uniform float)
+0:16                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2})
 0:16                Constant:
 0:16                  2 (const uint)
 0:17      Sequence
@@ -73,8 +73,8 @@ gl_FragCoord origin is upper left
 0:17          'r01' ( temp 2-component vector of uint)
 0:17          bitFieldReverse ( temp 2-component vector of uint)
 0:17            Convert float to uint ( temp 2-component vector of uint)
-0:17              f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:17                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2})
+0:17              f2: direct index for structure ( uniform 2-component vector of float)
+0:17                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2})
 0:17                Constant:
 0:17                  6 (const uint)
 0:20      move second child to first child ( temp 4-component vector of float)
@@ -100,8 +100,8 @@ gl_FragCoord origin is upper left
 0:15            Constant:
 0:15              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2})
 0:?     'color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.intrinsics.promote.frag.out b/Test/baseResults/hlsl.intrinsics.promote.frag.out
index 6e3b6dfc276c6fc181d49591c33e45464c8e1a05..7fec7a20b81973a0105a6c9e52a4011c2bd75cc1 100644
--- a/Test/baseResults/hlsl.intrinsics.promote.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.promote.frag.out
@@ -10,12 +10,12 @@ gl_FragCoord origin is upper left
 0:23          'r00' ( temp float)
 0:23          max ( temp float)
 0:23            Convert bool to float ( temp float)
-0:23              b: direct index for structure (layout( offset=12) uniform bool)
-0:23                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:23              b: direct index for structure ( uniform bool)
+0:23                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:23                Constant:
 0:23                  3 (const uint)
-0:23            f: direct index for structure (layout( offset=8) uniform float)
-0:23              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:23            f: direct index for structure ( uniform float)
+0:23              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:23              Constant:
 0:23                2 (const uint)
 0:24      Sequence
@@ -23,12 +23,12 @@ gl_FragCoord origin is upper left
 0:24          'r01' ( temp uint)
 0:24          max ( temp uint)
 0:24            Convert bool to uint ( temp uint)
-0:24              b: direct index for structure (layout( offset=12) uniform bool)
-0:24                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:24              b: direct index for structure ( uniform bool)
+0:24                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:24                Constant:
 0:24                  3 (const uint)
-0:24            u: direct index for structure (layout( offset=4) uniform uint)
-0:24              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:24            u: direct index for structure ( uniform uint)
+0:24              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:24              Constant:
 0:24                1 (const uint)
 0:25      Sequence
@@ -36,12 +36,12 @@ gl_FragCoord origin is upper left
 0:25          'r02' ( temp int)
 0:25          max ( temp int)
 0:25            Convert bool to int ( temp int)
-0:25              b: direct index for structure (layout( offset=12) uniform bool)
-0:25                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:25              b: direct index for structure ( uniform bool)
+0:25                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:25                Constant:
 0:25                  3 (const uint)
-0:25            i: direct index for structure (layout( offset=0) uniform int)
-0:25              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:25            i: direct index for structure ( uniform int)
+0:25              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:25              Constant:
 0:25                0 (const uint)
 0:26      Sequence
@@ -49,12 +49,12 @@ gl_FragCoord origin is upper left
 0:26          'r03' ( temp float)
 0:26          max ( temp float)
 0:26            Convert int to float ( temp float)
-0:26              i: direct index for structure (layout( offset=0) uniform int)
-0:26                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:26              i: direct index for structure ( uniform int)
+0:26                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:26                Constant:
 0:26                  0 (const uint)
-0:26            f: direct index for structure (layout( offset=8) uniform float)
-0:26              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:26            f: direct index for structure ( uniform float)
+0:26              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:26              Constant:
 0:26                2 (const uint)
 0:27      Sequence
@@ -62,12 +62,12 @@ gl_FragCoord origin is upper left
 0:27          'r04' ( temp float)
 0:27          max ( temp float)
 0:27            Convert uint to float ( temp float)
-0:27              u: direct index for structure (layout( offset=4) uniform uint)
-0:27                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:27              u: direct index for structure ( uniform uint)
+0:27                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:27                Constant:
 0:27                  1 (const uint)
-0:27            f: direct index for structure (layout( offset=8) uniform float)
-0:27              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:27            f: direct index for structure ( uniform float)
+0:27              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:27              Constant:
 0:27                2 (const uint)
 0:29      Sequence
@@ -75,12 +75,12 @@ gl_FragCoord origin is upper left
 0:29          'r10' ( temp 2-component vector of float)
 0:29          max ( temp 2-component vector of float)
 0:29            Convert bool to float ( temp 2-component vector of float)
-0:29              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:29                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:29              b2: direct index for structure ( uniform 2-component vector of bool)
+0:29                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:29                Constant:
 0:29                  7 (const uint)
-0:29            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:29              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:29            f2: direct index for structure ( uniform 2-component vector of float)
+0:29              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:29              Constant:
 0:29                6 (const uint)
 0:30      Sequence
@@ -88,12 +88,12 @@ gl_FragCoord origin is upper left
 0:30          'r11' ( temp 2-component vector of uint)
 0:30          max ( temp 2-component vector of uint)
 0:30            Convert bool to uint ( temp 2-component vector of uint)
-0:30              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:30                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:30              b2: direct index for structure ( uniform 2-component vector of bool)
+0:30                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:30                Constant:
 0:30                  7 (const uint)
-0:30            u2: direct index for structure (layout( offset=24) uniform 2-component vector of uint)
-0:30              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:30            u2: direct index for structure ( uniform 2-component vector of uint)
+0:30              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:30              Constant:
 0:30                5 (const uint)
 0:31      Sequence
@@ -101,12 +101,12 @@ gl_FragCoord origin is upper left
 0:31          'r12' ( temp 2-component vector of int)
 0:31          max ( temp 2-component vector of int)
 0:31            Convert bool to int ( temp 2-component vector of int)
-0:31              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:31                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:31              b2: direct index for structure ( uniform 2-component vector of bool)
+0:31                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:31                Constant:
 0:31                  7 (const uint)
-0:31            i2: direct index for structure (layout( offset=16) uniform 2-component vector of int)
-0:31              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:31            i2: direct index for structure ( uniform 2-component vector of int)
+0:31              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:31              Constant:
 0:31                4 (const uint)
 0:32      Sequence
@@ -114,12 +114,12 @@ gl_FragCoord origin is upper left
 0:32          'r13' ( temp 2-component vector of float)
 0:32          max ( temp 2-component vector of float)
 0:32            Convert int to float ( temp 2-component vector of float)
-0:32              i2: direct index for structure (layout( offset=16) uniform 2-component vector of int)
-0:32                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:32              i2: direct index for structure ( uniform 2-component vector of int)
+0:32                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:32                Constant:
 0:32                  4 (const uint)
-0:32            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:32              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:32            f2: direct index for structure ( uniform 2-component vector of float)
+0:32              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:32              Constant:
 0:32                6 (const uint)
 0:33      Sequence
@@ -127,12 +127,12 @@ gl_FragCoord origin is upper left
 0:33          'r14' ( temp 2-component vector of float)
 0:33          max ( temp 2-component vector of float)
 0:33            Convert uint to float ( temp 2-component vector of float)
-0:33              u2: direct index for structure (layout( offset=24) uniform 2-component vector of uint)
-0:33                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:33              u2: direct index for structure ( uniform 2-component vector of uint)
+0:33                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:33                Constant:
 0:33                  5 (const uint)
-0:33            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:33              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:33            f2: direct index for structure ( uniform 2-component vector of float)
+0:33              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:33              Constant:
 0:33                6 (const uint)
 0:35      Sequence
@@ -140,17 +140,17 @@ gl_FragCoord origin is upper left
 0:35          'r20' ( temp 2-component vector of float)
 0:35          clamp ( temp 2-component vector of float)
 0:35            Convert int to float ( temp 2-component vector of float)
-0:35              i2: direct index for structure (layout( offset=16) uniform 2-component vector of int)
-0:35                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:35              i2: direct index for structure ( uniform 2-component vector of int)
+0:35                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:35                Constant:
 0:35                  4 (const uint)
 0:35            Convert uint to float ( temp 2-component vector of float)
-0:35              u2: direct index for structure (layout( offset=24) uniform 2-component vector of uint)
-0:35                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:35              u2: direct index for structure ( uniform 2-component vector of uint)
+0:35                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:35                Constant:
 0:35                  5 (const uint)
-0:35            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:35              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:35            f2: direct index for structure ( uniform 2-component vector of float)
+0:35              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:35              Constant:
 0:35                6 (const uint)
 0:36      Sequence
@@ -158,17 +158,17 @@ gl_FragCoord origin is upper left
 0:36          'r21' ( temp 2-component vector of uint)
 0:36          clamp ( temp 2-component vector of uint)
 0:36            Convert bool to uint ( temp 2-component vector of uint)
-0:36              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:36                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:36              b2: direct index for structure ( uniform 2-component vector of bool)
+0:36                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:36                Constant:
 0:36                  7 (const uint)
-0:36            u2: direct index for structure (layout( offset=24) uniform 2-component vector of uint)
-0:36              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:36            u2: direct index for structure ( uniform 2-component vector of uint)
+0:36              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:36              Constant:
 0:36                5 (const uint)
 0:36            Convert bool to uint ( temp 2-component vector of uint)
-0:36              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:36                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:36              b2: direct index for structure ( uniform 2-component vector of bool)
+0:36                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:36                Constant:
 0:36                  7 (const uint)
 0:37      Sequence
@@ -176,17 +176,17 @@ gl_FragCoord origin is upper left
 0:37          'r22' ( temp 2-component vector of float)
 0:37          clamp ( temp 2-component vector of float)
 0:37            Convert bool to float ( temp 2-component vector of float)
-0:37              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:37                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:37              b2: direct index for structure ( uniform 2-component vector of bool)
+0:37                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:37                Constant:
 0:37                  7 (const uint)
-0:37            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:37              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:37            f2: direct index for structure ( uniform 2-component vector of float)
+0:37              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:37              Constant:
 0:37                6 (const uint)
 0:37            Convert bool to float ( temp 2-component vector of float)
-0:37              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:37                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:37              b2: direct index for structure ( uniform 2-component vector of bool)
+0:37                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:37                Constant:
 0:37                  7 (const uint)
 0:40      Sequence
@@ -195,12 +195,12 @@ gl_FragCoord origin is upper left
 0:40          max ( temp 2-component vector of float)
 0:40            Construct vec2 ( in 2-component vector of float)
 0:40              Convert bool to float ( temp float)
-0:40                b: direct index for structure (layout( offset=12) uniform bool)
-0:40                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:40                b: direct index for structure ( uniform bool)
+0:40                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:40                  Constant:
 0:40                    3 (const uint)
-0:40            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:40              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:40            f2: direct index for structure ( uniform 2-component vector of float)
+0:40              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:40              Constant:
 0:40                6 (const uint)
 0:41      Sequence
@@ -209,12 +209,12 @@ gl_FragCoord origin is upper left
 0:41          max ( temp 2-component vector of uint)
 0:41            Construct uvec2 ( in 2-component vector of uint)
 0:41              Convert bool to uint ( temp uint)
-0:41                b: direct index for structure (layout( offset=12) uniform bool)
-0:41                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:41                b: direct index for structure ( uniform bool)
+0:41                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:41                  Constant:
 0:41                    3 (const uint)
-0:41            u2: direct index for structure (layout( offset=24) uniform 2-component vector of uint)
-0:41              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:41            u2: direct index for structure ( uniform 2-component vector of uint)
+0:41              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:41              Constant:
 0:41                5 (const uint)
 0:42      Sequence
@@ -223,12 +223,12 @@ gl_FragCoord origin is upper left
 0:42          max ( temp 2-component vector of int)
 0:42            Construct ivec2 ( in 2-component vector of int)
 0:42              Convert bool to int ( temp int)
-0:42                b: direct index for structure (layout( offset=12) uniform bool)
-0:42                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:42                b: direct index for structure ( uniform bool)
+0:42                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:42                  Constant:
 0:42                    3 (const uint)
-0:42            i2: direct index for structure (layout( offset=16) uniform 2-component vector of int)
-0:42              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:42            i2: direct index for structure ( uniform 2-component vector of int)
+0:42              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:42              Constant:
 0:42                4 (const uint)
 0:43      Sequence
@@ -237,12 +237,12 @@ gl_FragCoord origin is upper left
 0:43          max ( temp 2-component vector of float)
 0:43            Construct vec2 ( in 2-component vector of float)
 0:43              Convert int to float ( temp float)
-0:43                i: direct index for structure (layout( offset=0) uniform int)
-0:43                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:43                i: direct index for structure ( uniform int)
+0:43                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:43                  Constant:
 0:43                    0 (const uint)
-0:43            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:43              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:43            f2: direct index for structure ( uniform 2-component vector of float)
+0:43              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:43              Constant:
 0:43                6 (const uint)
 0:44      Sequence
@@ -251,12 +251,12 @@ gl_FragCoord origin is upper left
 0:44          max ( temp 2-component vector of float)
 0:44            Construct vec2 ( in 2-component vector of float)
 0:44              Convert uint to float ( temp float)
-0:44                u: direct index for structure (layout( offset=4) uniform uint)
-0:44                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:44                u: direct index for structure ( uniform uint)
+0:44                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:44                  Constant:
 0:44                    1 (const uint)
-0:44            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:44              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:44            f2: direct index for structure ( uniform 2-component vector of float)
+0:44              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:44              Constant:
 0:44                6 (const uint)
 0:46      Sequence
@@ -265,17 +265,17 @@ gl_FragCoord origin is upper left
 0:46          clamp ( temp 2-component vector of float)
 0:46            Construct vec2 ( in 2-component vector of float)
 0:46              Convert int to float ( temp float)
-0:46                i: direct index for structure (layout( offset=0) uniform int)
-0:46                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:46                i: direct index for structure ( uniform int)
+0:46                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:46                  Constant:
 0:46                    0 (const uint)
 0:46            Convert uint to float ( temp 2-component vector of float)
-0:46              u2: direct index for structure (layout( offset=24) uniform 2-component vector of uint)
-0:46                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:46              u2: direct index for structure ( uniform 2-component vector of uint)
+0:46                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:46                Constant:
 0:46                  5 (const uint)
-0:46            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:46              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:46            f2: direct index for structure ( uniform 2-component vector of float)
+0:46              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:46              Constant:
 0:46                6 (const uint)
 0:47      Sequence
@@ -283,18 +283,18 @@ gl_FragCoord origin is upper left
 0:47          'r41' ( temp 2-component vector of uint)
 0:47          clamp ( temp 2-component vector of uint)
 0:47            Convert bool to uint ( temp 2-component vector of uint)
-0:47              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:47                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:47              b2: direct index for structure ( uniform 2-component vector of bool)
+0:47                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:47                Constant:
 0:47                  7 (const uint)
 0:47            Construct uvec2 ( in 2-component vector of uint)
-0:47              u: direct index for structure (layout( offset=4) uniform uint)
-0:47                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:47              u: direct index for structure ( uniform uint)
+0:47                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:47                Constant:
 0:47                  1 (const uint)
 0:47            Convert bool to uint ( temp 2-component vector of uint)
-0:47              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:47                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:47              b2: direct index for structure ( uniform 2-component vector of bool)
+0:47                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:47                Constant:
 0:47                  7 (const uint)
 0:48      Sequence
@@ -302,19 +302,19 @@ gl_FragCoord origin is upper left
 0:48          'r42' ( temp 2-component vector of float)
 0:48          clamp ( temp 2-component vector of float)
 0:48            Convert bool to float ( temp 2-component vector of float)
-0:48              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:48                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:48              b2: direct index for structure ( uniform 2-component vector of bool)
+0:48                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:48                Constant:
 0:48                  7 (const uint)
 0:48            Construct vec2 ( in 2-component vector of float)
-0:48              f: direct index for structure (layout( offset=8) uniform float)
-0:48                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:48              f: direct index for structure ( uniform float)
+0:48                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:48                Constant:
 0:48                  2 (const uint)
 0:48            Construct vec2 ( in 2-component vector of float)
 0:48              Convert bool to float ( temp float)
-0:48                b: direct index for structure (layout( offset=12) uniform bool)
-0:48                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:48                b: direct index for structure ( uniform bool)
+0:48                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:48                  Constant:
 0:48                    3 (const uint)
 0:49      Sequence
@@ -324,17 +324,17 @@ gl_FragCoord origin is upper left
 0:49            clamp ( temp 2-component vector of uint)
 0:49              Construct uvec2 ( in 2-component vector of uint)
 0:49                Convert int to uint ( temp uint)
-0:49                  i: direct index for structure (layout( offset=0) uniform int)
-0:49                    'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:49                  i: direct index for structure ( uniform int)
+0:49                    'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:49                    Constant:
 0:49                      0 (const uint)
 0:49              Convert int to uint ( temp 2-component vector of uint)
-0:49                i2: direct index for structure (layout( offset=16) uniform 2-component vector of int)
-0:49                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:49                i2: direct index for structure ( uniform 2-component vector of int)
+0:49                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:49                  Constant:
 0:49                    4 (const uint)
-0:49              u2: direct index for structure (layout( offset=24) uniform 2-component vector of uint)
-0:49                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:49              u2: direct index for structure ( uniform 2-component vector of uint)
+0:49                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:49                Constant:
 0:49                  5 (const uint)
 0:51      Sequence
@@ -344,8 +344,8 @@ gl_FragCoord origin is upper left
 0:?             imageLoad ( temp 4-component vector of float)
 0:51              'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
 0:51              Convert uint to int ( temp int)
-0:51                upos: direct index for structure (layout( offset=48) uniform uint)
-0:51                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:51                upos: direct index for structure ( uniform uint)
+0:51                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:51                  Constant:
 0:51                    8 (const uint)
 0:52      Sequence
@@ -355,8 +355,8 @@ gl_FragCoord origin is upper left
 0:?             imageLoad ( temp 4-component vector of float)
 0:52              'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
 0:52              Convert float to int ( temp int)
-0:52                fpos: direct index for structure (layout( offset=52) uniform float)
-0:52                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:52                fpos: direct index for structure ( uniform float)
+0:52                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:52                  Constant:
 0:52                    9 (const uint)
 0:70      Sequence
@@ -436,10 +436,10 @@ gl_FragCoord origin is upper left
 0:20            Constant:
 0:20              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:?     'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
 0:?     'g_tTex1df4' ( uniform texture1D)
 0:?     'color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
 
 
 Linked fragment stage:
@@ -456,12 +456,12 @@ gl_FragCoord origin is upper left
 0:23          'r00' ( temp float)
 0:23          max ( temp float)
 0:23            Convert bool to float ( temp float)
-0:23              b: direct index for structure (layout( offset=12) uniform bool)
-0:23                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:23              b: direct index for structure ( uniform bool)
+0:23                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:23                Constant:
 0:23                  3 (const uint)
-0:23            f: direct index for structure (layout( offset=8) uniform float)
-0:23              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:23            f: direct index for structure ( uniform float)
+0:23              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:23              Constant:
 0:23                2 (const uint)
 0:24      Sequence
@@ -469,12 +469,12 @@ gl_FragCoord origin is upper left
 0:24          'r01' ( temp uint)
 0:24          max ( temp uint)
 0:24            Convert bool to uint ( temp uint)
-0:24              b: direct index for structure (layout( offset=12) uniform bool)
-0:24                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:24              b: direct index for structure ( uniform bool)
+0:24                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:24                Constant:
 0:24                  3 (const uint)
-0:24            u: direct index for structure (layout( offset=4) uniform uint)
-0:24              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:24            u: direct index for structure ( uniform uint)
+0:24              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:24              Constant:
 0:24                1 (const uint)
 0:25      Sequence
@@ -482,12 +482,12 @@ gl_FragCoord origin is upper left
 0:25          'r02' ( temp int)
 0:25          max ( temp int)
 0:25            Convert bool to int ( temp int)
-0:25              b: direct index for structure (layout( offset=12) uniform bool)
-0:25                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:25              b: direct index for structure ( uniform bool)
+0:25                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:25                Constant:
 0:25                  3 (const uint)
-0:25            i: direct index for structure (layout( offset=0) uniform int)
-0:25              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:25            i: direct index for structure ( uniform int)
+0:25              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:25              Constant:
 0:25                0 (const uint)
 0:26      Sequence
@@ -495,12 +495,12 @@ gl_FragCoord origin is upper left
 0:26          'r03' ( temp float)
 0:26          max ( temp float)
 0:26            Convert int to float ( temp float)
-0:26              i: direct index for structure (layout( offset=0) uniform int)
-0:26                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:26              i: direct index for structure ( uniform int)
+0:26                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:26                Constant:
 0:26                  0 (const uint)
-0:26            f: direct index for structure (layout( offset=8) uniform float)
-0:26              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:26            f: direct index for structure ( uniform float)
+0:26              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:26              Constant:
 0:26                2 (const uint)
 0:27      Sequence
@@ -508,12 +508,12 @@ gl_FragCoord origin is upper left
 0:27          'r04' ( temp float)
 0:27          max ( temp float)
 0:27            Convert uint to float ( temp float)
-0:27              u: direct index for structure (layout( offset=4) uniform uint)
-0:27                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:27              u: direct index for structure ( uniform uint)
+0:27                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:27                Constant:
 0:27                  1 (const uint)
-0:27            f: direct index for structure (layout( offset=8) uniform float)
-0:27              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:27            f: direct index for structure ( uniform float)
+0:27              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:27              Constant:
 0:27                2 (const uint)
 0:29      Sequence
@@ -521,12 +521,12 @@ gl_FragCoord origin is upper left
 0:29          'r10' ( temp 2-component vector of float)
 0:29          max ( temp 2-component vector of float)
 0:29            Convert bool to float ( temp 2-component vector of float)
-0:29              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:29                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:29              b2: direct index for structure ( uniform 2-component vector of bool)
+0:29                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:29                Constant:
 0:29                  7 (const uint)
-0:29            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:29              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:29            f2: direct index for structure ( uniform 2-component vector of float)
+0:29              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:29              Constant:
 0:29                6 (const uint)
 0:30      Sequence
@@ -534,12 +534,12 @@ gl_FragCoord origin is upper left
 0:30          'r11' ( temp 2-component vector of uint)
 0:30          max ( temp 2-component vector of uint)
 0:30            Convert bool to uint ( temp 2-component vector of uint)
-0:30              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:30                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:30              b2: direct index for structure ( uniform 2-component vector of bool)
+0:30                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:30                Constant:
 0:30                  7 (const uint)
-0:30            u2: direct index for structure (layout( offset=24) uniform 2-component vector of uint)
-0:30              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:30            u2: direct index for structure ( uniform 2-component vector of uint)
+0:30              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:30              Constant:
 0:30                5 (const uint)
 0:31      Sequence
@@ -547,12 +547,12 @@ gl_FragCoord origin is upper left
 0:31          'r12' ( temp 2-component vector of int)
 0:31          max ( temp 2-component vector of int)
 0:31            Convert bool to int ( temp 2-component vector of int)
-0:31              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:31                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:31              b2: direct index for structure ( uniform 2-component vector of bool)
+0:31                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:31                Constant:
 0:31                  7 (const uint)
-0:31            i2: direct index for structure (layout( offset=16) uniform 2-component vector of int)
-0:31              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:31            i2: direct index for structure ( uniform 2-component vector of int)
+0:31              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:31              Constant:
 0:31                4 (const uint)
 0:32      Sequence
@@ -560,12 +560,12 @@ gl_FragCoord origin is upper left
 0:32          'r13' ( temp 2-component vector of float)
 0:32          max ( temp 2-component vector of float)
 0:32            Convert int to float ( temp 2-component vector of float)
-0:32              i2: direct index for structure (layout( offset=16) uniform 2-component vector of int)
-0:32                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:32              i2: direct index for structure ( uniform 2-component vector of int)
+0:32                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:32                Constant:
 0:32                  4 (const uint)
-0:32            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:32              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:32            f2: direct index for structure ( uniform 2-component vector of float)
+0:32              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:32              Constant:
 0:32                6 (const uint)
 0:33      Sequence
@@ -573,12 +573,12 @@ gl_FragCoord origin is upper left
 0:33          'r14' ( temp 2-component vector of float)
 0:33          max ( temp 2-component vector of float)
 0:33            Convert uint to float ( temp 2-component vector of float)
-0:33              u2: direct index for structure (layout( offset=24) uniform 2-component vector of uint)
-0:33                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:33              u2: direct index for structure ( uniform 2-component vector of uint)
+0:33                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:33                Constant:
 0:33                  5 (const uint)
-0:33            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:33              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:33            f2: direct index for structure ( uniform 2-component vector of float)
+0:33              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:33              Constant:
 0:33                6 (const uint)
 0:35      Sequence
@@ -586,17 +586,17 @@ gl_FragCoord origin is upper left
 0:35          'r20' ( temp 2-component vector of float)
 0:35          clamp ( temp 2-component vector of float)
 0:35            Convert int to float ( temp 2-component vector of float)
-0:35              i2: direct index for structure (layout( offset=16) uniform 2-component vector of int)
-0:35                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:35              i2: direct index for structure ( uniform 2-component vector of int)
+0:35                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:35                Constant:
 0:35                  4 (const uint)
 0:35            Convert uint to float ( temp 2-component vector of float)
-0:35              u2: direct index for structure (layout( offset=24) uniform 2-component vector of uint)
-0:35                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:35              u2: direct index for structure ( uniform 2-component vector of uint)
+0:35                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:35                Constant:
 0:35                  5 (const uint)
-0:35            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:35              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:35            f2: direct index for structure ( uniform 2-component vector of float)
+0:35              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:35              Constant:
 0:35                6 (const uint)
 0:36      Sequence
@@ -604,17 +604,17 @@ gl_FragCoord origin is upper left
 0:36          'r21' ( temp 2-component vector of uint)
 0:36          clamp ( temp 2-component vector of uint)
 0:36            Convert bool to uint ( temp 2-component vector of uint)
-0:36              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:36                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:36              b2: direct index for structure ( uniform 2-component vector of bool)
+0:36                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:36                Constant:
 0:36                  7 (const uint)
-0:36            u2: direct index for structure (layout( offset=24) uniform 2-component vector of uint)
-0:36              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:36            u2: direct index for structure ( uniform 2-component vector of uint)
+0:36              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:36              Constant:
 0:36                5 (const uint)
 0:36            Convert bool to uint ( temp 2-component vector of uint)
-0:36              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:36                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:36              b2: direct index for structure ( uniform 2-component vector of bool)
+0:36                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:36                Constant:
 0:36                  7 (const uint)
 0:37      Sequence
@@ -622,17 +622,17 @@ gl_FragCoord origin is upper left
 0:37          'r22' ( temp 2-component vector of float)
 0:37          clamp ( temp 2-component vector of float)
 0:37            Convert bool to float ( temp 2-component vector of float)
-0:37              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:37                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:37              b2: direct index for structure ( uniform 2-component vector of bool)
+0:37                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:37                Constant:
 0:37                  7 (const uint)
-0:37            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:37              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:37            f2: direct index for structure ( uniform 2-component vector of float)
+0:37              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:37              Constant:
 0:37                6 (const uint)
 0:37            Convert bool to float ( temp 2-component vector of float)
-0:37              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:37                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:37              b2: direct index for structure ( uniform 2-component vector of bool)
+0:37                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:37                Constant:
 0:37                  7 (const uint)
 0:40      Sequence
@@ -641,12 +641,12 @@ gl_FragCoord origin is upper left
 0:40          max ( temp 2-component vector of float)
 0:40            Construct vec2 ( in 2-component vector of float)
 0:40              Convert bool to float ( temp float)
-0:40                b: direct index for structure (layout( offset=12) uniform bool)
-0:40                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:40                b: direct index for structure ( uniform bool)
+0:40                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:40                  Constant:
 0:40                    3 (const uint)
-0:40            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:40              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:40            f2: direct index for structure ( uniform 2-component vector of float)
+0:40              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:40              Constant:
 0:40                6 (const uint)
 0:41      Sequence
@@ -655,12 +655,12 @@ gl_FragCoord origin is upper left
 0:41          max ( temp 2-component vector of uint)
 0:41            Construct uvec2 ( in 2-component vector of uint)
 0:41              Convert bool to uint ( temp uint)
-0:41                b: direct index for structure (layout( offset=12) uniform bool)
-0:41                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:41                b: direct index for structure ( uniform bool)
+0:41                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:41                  Constant:
 0:41                    3 (const uint)
-0:41            u2: direct index for structure (layout( offset=24) uniform 2-component vector of uint)
-0:41              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:41            u2: direct index for structure ( uniform 2-component vector of uint)
+0:41              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:41              Constant:
 0:41                5 (const uint)
 0:42      Sequence
@@ -669,12 +669,12 @@ gl_FragCoord origin is upper left
 0:42          max ( temp 2-component vector of int)
 0:42            Construct ivec2 ( in 2-component vector of int)
 0:42              Convert bool to int ( temp int)
-0:42                b: direct index for structure (layout( offset=12) uniform bool)
-0:42                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:42                b: direct index for structure ( uniform bool)
+0:42                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:42                  Constant:
 0:42                    3 (const uint)
-0:42            i2: direct index for structure (layout( offset=16) uniform 2-component vector of int)
-0:42              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:42            i2: direct index for structure ( uniform 2-component vector of int)
+0:42              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:42              Constant:
 0:42                4 (const uint)
 0:43      Sequence
@@ -683,12 +683,12 @@ gl_FragCoord origin is upper left
 0:43          max ( temp 2-component vector of float)
 0:43            Construct vec2 ( in 2-component vector of float)
 0:43              Convert int to float ( temp float)
-0:43                i: direct index for structure (layout( offset=0) uniform int)
-0:43                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:43                i: direct index for structure ( uniform int)
+0:43                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:43                  Constant:
 0:43                    0 (const uint)
-0:43            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:43              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:43            f2: direct index for structure ( uniform 2-component vector of float)
+0:43              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:43              Constant:
 0:43                6 (const uint)
 0:44      Sequence
@@ -697,12 +697,12 @@ gl_FragCoord origin is upper left
 0:44          max ( temp 2-component vector of float)
 0:44            Construct vec2 ( in 2-component vector of float)
 0:44              Convert uint to float ( temp float)
-0:44                u: direct index for structure (layout( offset=4) uniform uint)
-0:44                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:44                u: direct index for structure ( uniform uint)
+0:44                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:44                  Constant:
 0:44                    1 (const uint)
-0:44            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:44              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:44            f2: direct index for structure ( uniform 2-component vector of float)
+0:44              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:44              Constant:
 0:44                6 (const uint)
 0:46      Sequence
@@ -711,17 +711,17 @@ gl_FragCoord origin is upper left
 0:46          clamp ( temp 2-component vector of float)
 0:46            Construct vec2 ( in 2-component vector of float)
 0:46              Convert int to float ( temp float)
-0:46                i: direct index for structure (layout( offset=0) uniform int)
-0:46                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:46                i: direct index for structure ( uniform int)
+0:46                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:46                  Constant:
 0:46                    0 (const uint)
 0:46            Convert uint to float ( temp 2-component vector of float)
-0:46              u2: direct index for structure (layout( offset=24) uniform 2-component vector of uint)
-0:46                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:46              u2: direct index for structure ( uniform 2-component vector of uint)
+0:46                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:46                Constant:
 0:46                  5 (const uint)
-0:46            f2: direct index for structure (layout( offset=32) uniform 2-component vector of float)
-0:46              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:46            f2: direct index for structure ( uniform 2-component vector of float)
+0:46              'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:46              Constant:
 0:46                6 (const uint)
 0:47      Sequence
@@ -729,18 +729,18 @@ gl_FragCoord origin is upper left
 0:47          'r41' ( temp 2-component vector of uint)
 0:47          clamp ( temp 2-component vector of uint)
 0:47            Convert bool to uint ( temp 2-component vector of uint)
-0:47              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:47                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:47              b2: direct index for structure ( uniform 2-component vector of bool)
+0:47                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:47                Constant:
 0:47                  7 (const uint)
 0:47            Construct uvec2 ( in 2-component vector of uint)
-0:47              u: direct index for structure (layout( offset=4) uniform uint)
-0:47                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:47              u: direct index for structure ( uniform uint)
+0:47                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:47                Constant:
 0:47                  1 (const uint)
 0:47            Convert bool to uint ( temp 2-component vector of uint)
-0:47              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:47                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:47              b2: direct index for structure ( uniform 2-component vector of bool)
+0:47                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:47                Constant:
 0:47                  7 (const uint)
 0:48      Sequence
@@ -748,19 +748,19 @@ gl_FragCoord origin is upper left
 0:48          'r42' ( temp 2-component vector of float)
 0:48          clamp ( temp 2-component vector of float)
 0:48            Convert bool to float ( temp 2-component vector of float)
-0:48              b2: direct index for structure (layout( offset=40) uniform 2-component vector of bool)
-0:48                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:48              b2: direct index for structure ( uniform 2-component vector of bool)
+0:48                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:48                Constant:
 0:48                  7 (const uint)
 0:48            Construct vec2 ( in 2-component vector of float)
-0:48              f: direct index for structure (layout( offset=8) uniform float)
-0:48                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:48              f: direct index for structure ( uniform float)
+0:48                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:48                Constant:
 0:48                  2 (const uint)
 0:48            Construct vec2 ( in 2-component vector of float)
 0:48              Convert bool to float ( temp float)
-0:48                b: direct index for structure (layout( offset=12) uniform bool)
-0:48                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:48                b: direct index for structure ( uniform bool)
+0:48                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:48                  Constant:
 0:48                    3 (const uint)
 0:49      Sequence
@@ -770,17 +770,17 @@ gl_FragCoord origin is upper left
 0:49            clamp ( temp 2-component vector of uint)
 0:49              Construct uvec2 ( in 2-component vector of uint)
 0:49                Convert int to uint ( temp uint)
-0:49                  i: direct index for structure (layout( offset=0) uniform int)
-0:49                    'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:49                  i: direct index for structure ( uniform int)
+0:49                    'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:49                    Constant:
 0:49                      0 (const uint)
 0:49              Convert int to uint ( temp 2-component vector of uint)
-0:49                i2: direct index for structure (layout( offset=16) uniform 2-component vector of int)
-0:49                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:49                i2: direct index for structure ( uniform 2-component vector of int)
+0:49                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:49                  Constant:
 0:49                    4 (const uint)
-0:49              u2: direct index for structure (layout( offset=24) uniform 2-component vector of uint)
-0:49                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:49              u2: direct index for structure ( uniform 2-component vector of uint)
+0:49                'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:49                Constant:
 0:49                  5 (const uint)
 0:51      Sequence
@@ -790,8 +790,8 @@ gl_FragCoord origin is upper left
 0:?             imageLoad ( temp 4-component vector of float)
 0:51              'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
 0:51              Convert uint to int ( temp int)
-0:51                upos: direct index for structure (layout( offset=48) uniform uint)
-0:51                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:51                upos: direct index for structure ( uniform uint)
+0:51                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:51                  Constant:
 0:51                    8 (const uint)
 0:52      Sequence
@@ -801,8 +801,8 @@ gl_FragCoord origin is upper left
 0:?             imageLoad ( temp 4-component vector of float)
 0:52              'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
 0:52              Convert float to int ( temp int)
-0:52                fpos: direct index for structure (layout( offset=52) uniform float)
-0:52                  'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:52                fpos: direct index for structure ( uniform float)
+0:52                  'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:52                  Constant:
 0:52                    9 (const uint)
 0:70      Sequence
@@ -882,10 +882,10 @@ gl_FragCoord origin is upper left
 0:20            Constant:
 0:20              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:?     'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
 0:?     'g_tTex1df4' ( uniform texture1D)
 0:?     'color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out b/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out
index 5a922db5cc79bc8dbc7ec232f1799d552606450b..7ccc596bdc261e52cddf03dc9783c626602ef41b 100644
--- a/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out
@@ -6,8 +6,8 @@ gl_FragCoord origin is upper left
 0:20    Function Parameters: 
 0:?     Sequence
 0:37      clamp ( temp float)
-0:37        fpos: direct index for structure (layout( offset=52) uniform float)
-0:37          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:37        fpos: direct index for structure ( uniform float)
+0:37          'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:37          Constant:
 0:37            9 (const uint)
 0:37        Constant:
@@ -94,10 +94,10 @@ gl_FragCoord origin is upper left
 0:20            Constant:
 0:20              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:?     'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
 0:?     'g_tTex1df4' ( uniform texture1D)
 0:?     'color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
 
 
 Linked fragment stage:
@@ -110,8 +110,8 @@ gl_FragCoord origin is upper left
 0:20    Function Parameters: 
 0:?     Sequence
 0:37      clamp ( temp float)
-0:37        fpos: direct index for structure (layout( offset=52) uniform float)
-0:37          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
+0:37        fpos: direct index for structure ( uniform float)
+0:37          'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:37          Constant:
 0:37            9 (const uint)
 0:37        Constant:
@@ -198,10 +198,10 @@ gl_FragCoord origin is upper left
 0:20            Constant:
 0:20              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int i,  uniform uint u,  uniform float f,  uniform bool b,  uniform 2-component vector of int i2,  uniform 2-component vector of uint u2,  uniform 2-component vector of float f2,  uniform 2-component vector of bool b2,  uniform uint upos,  uniform float fpos})
 0:?     'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
 0:?     'g_tTex1df4' ( uniform texture1D)
 0:?     'color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int i, layout( offset=4) uniform uint u, layout( offset=8) uniform float f, layout( offset=12) uniform bool b, layout( offset=16) uniform 2-component vector of int i2, layout( offset=24) uniform 2-component vector of uint u2, layout( offset=32) uniform 2-component vector of float f2, layout( offset=40) uniform 2-component vector of bool b2, layout( offset=48) uniform uint upos, layout( offset=52) uniform float fpos})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.2dms.dx10.frag.out b/Test/baseResults/hlsl.load.2dms.dx10.frag.out
index 938df6adf4bd461dbe70152d2665dbb9d41da8db..f436f881933874eef59a9ae13bbba98dceec8165 100644
--- a/Test/baseResults/hlsl.load.2dms.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.2dms.dx10.frag.out
@@ -7,122 +7,122 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 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})
+0:32        c2: direct index for structure ( uniform 2-component vector of int)
+0:32          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:32          Constant:
 0:32            1 (const uint)
 0:32        Constant:
 0:32          3 (const 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})
+0:33        c2: direct index for structure ( uniform 2-component vector of int)
+0:33          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:33          Constant:
 0:33            1 (const uint)
 0:33        Constant:
 0:33          3 (const int)
 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})
+0:34        c2: direct index for structure ( uniform 2-component vector of int)
+0:34          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:34          Constant:
 0:34            1 (const uint)
 0:34        Constant:
 0:34          3 (const int)
 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})
+0:37        c2: direct index for structure ( uniform 2-component vector of int)
+0:37          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:37          Constant:
 0:37            1 (const uint)
 0:37        Constant:
 0:37          3 (const int)
-0:37        o2: direct index for structure (layout( offset=56) 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})
+0:37        o2: direct index for structure ( uniform 2-component vector of int)
+0:37          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:37          Constant:
 0:37            5 (const uint)
 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})
+0:38        c2: direct index for structure ( uniform 2-component vector of int)
+0:38          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:38          Constant:
 0:38            1 (const uint)
 0:38        Constant:
 0:38          3 (const int)
-0:38        o2: direct index for structure (layout( offset=56) 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})
+0:38        o2: direct index for structure ( uniform 2-component vector of int)
+0:38          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:38          Constant:
 0:38            5 (const 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})
+0:39        c2: direct index for structure ( uniform 2-component vector of int)
+0:39          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:39          Constant:
 0:39            1 (const uint)
 0:39        Constant:
 0:39          3 (const int)
-0:39        o2: direct index for structure (layout( offset=56) 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})
+0:39        o2: direct index for structure ( uniform 2-component vector of int)
+0:39          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:39          Constant:
 0:39            5 (const uint)
 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})
+0:42        c3: direct index for structure ( uniform 3-component vector of int)
+0:42          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:42          Constant:
 0:42            2 (const uint)
 0:42        Constant:
 0:42          3 (const 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})
+0:43        c3: direct index for structure ( uniform 3-component vector of int)
+0:43          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:43          Constant:
 0:43            2 (const uint)
 0:43        Constant:
 0:43          3 (const int)
 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})
+0:44        c3: direct index for structure ( uniform 3-component vector of int)
+0:44          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:44          Constant:
 0:44            2 (const uint)
 0:44        Constant:
 0:44          3 (const int)
 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})
+0:47        c3: direct index for structure ( uniform 3-component vector of int)
+0:47          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:47          Constant:
 0:47            2 (const uint)
 0:47        Constant:
 0:47          3 (const int)
-0:47        o2: direct index for structure (layout( offset=56) uniform 2-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})
+0:47        o2: direct index for structure ( uniform 2-component vector of int)
+0:47          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:47          Constant:
 0:47            5 (const uint)
 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})
+0:48        c3: direct index for structure ( uniform 3-component vector of int)
+0:48          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:48          Constant:
 0:48            2 (const uint)
 0:48        Constant:
 0:48          3 (const int)
-0:48        o2: direct index for structure (layout( offset=56) uniform 2-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})
+0:48        o2: direct index for structure ( uniform 2-component vector of int)
+0:48          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:48          Constant:
 0:48            5 (const 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})
+0:49        c3: direct index for structure ( uniform 3-component vector of int)
+0:49          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:49          Constant:
 0:49            2 (const uint)
 0:49        Constant:
 0:49          3 (const int)
-0:49        o2: direct index for structure (layout( offset=56) 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        o2: direct index for structure ( uniform 2-component vector of int)
+0:49          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:49          Constant:
 0:49            5 (const uint)
 0:51      move second child to first child ( temp 4-component vector of float)
@@ -171,9 +171,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTex2dmsf4a' ( uniform texture2DMSArray)
 0:?     'g_tTex2dmsi4a' ( uniform itexture2DMSArray)
 0:?     'g_tTex2dmsu4a' ( uniform utexture2DMSArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:
@@ -187,122 +187,122 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 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})
+0:32        c2: direct index for structure ( uniform 2-component vector of int)
+0:32          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:32          Constant:
 0:32            1 (const uint)
 0:32        Constant:
 0:32          3 (const 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})
+0:33        c2: direct index for structure ( uniform 2-component vector of int)
+0:33          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:33          Constant:
 0:33            1 (const uint)
 0:33        Constant:
 0:33          3 (const int)
 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})
+0:34        c2: direct index for structure ( uniform 2-component vector of int)
+0:34          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:34          Constant:
 0:34            1 (const uint)
 0:34        Constant:
 0:34          3 (const int)
 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})
+0:37        c2: direct index for structure ( uniform 2-component vector of int)
+0:37          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:37          Constant:
 0:37            1 (const uint)
 0:37        Constant:
 0:37          3 (const int)
-0:37        o2: direct index for structure (layout( offset=56) 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})
+0:37        o2: direct index for structure ( uniform 2-component vector of int)
+0:37          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:37          Constant:
 0:37            5 (const uint)
 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})
+0:38        c2: direct index for structure ( uniform 2-component vector of int)
+0:38          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:38          Constant:
 0:38            1 (const uint)
 0:38        Constant:
 0:38          3 (const int)
-0:38        o2: direct index for structure (layout( offset=56) 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})
+0:38        o2: direct index for structure ( uniform 2-component vector of int)
+0:38          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:38          Constant:
 0:38            5 (const 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})
+0:39        c2: direct index for structure ( uniform 2-component vector of int)
+0:39          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:39          Constant:
 0:39            1 (const uint)
 0:39        Constant:
 0:39          3 (const int)
-0:39        o2: direct index for structure (layout( offset=56) 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})
+0:39        o2: direct index for structure ( uniform 2-component vector of int)
+0:39          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:39          Constant:
 0:39            5 (const uint)
 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})
+0:42        c3: direct index for structure ( uniform 3-component vector of int)
+0:42          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:42          Constant:
 0:42            2 (const uint)
 0:42        Constant:
 0:42          3 (const 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})
+0:43        c3: direct index for structure ( uniform 3-component vector of int)
+0:43          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:43          Constant:
 0:43            2 (const uint)
 0:43        Constant:
 0:43          3 (const int)
 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})
+0:44        c3: direct index for structure ( uniform 3-component vector of int)
+0:44          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:44          Constant:
 0:44            2 (const uint)
 0:44        Constant:
 0:44          3 (const int)
 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})
+0:47        c3: direct index for structure ( uniform 3-component vector of int)
+0:47          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:47          Constant:
 0:47            2 (const uint)
 0:47        Constant:
 0:47          3 (const int)
-0:47        o2: direct index for structure (layout( offset=56) uniform 2-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})
+0:47        o2: direct index for structure ( uniform 2-component vector of int)
+0:47          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:47          Constant:
 0:47            5 (const uint)
 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})
+0:48        c3: direct index for structure ( uniform 3-component vector of int)
+0:48          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:48          Constant:
 0:48            2 (const uint)
 0:48        Constant:
 0:48          3 (const int)
-0:48        o2: direct index for structure (layout( offset=56) uniform 2-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})
+0:48        o2: direct index for structure ( uniform 2-component vector of int)
+0:48          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:48          Constant:
 0:48            5 (const 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})
+0:49        c3: direct index for structure ( uniform 3-component vector of int)
+0:49          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:49          Constant:
 0:49            2 (const uint)
 0:49        Constant:
 0:49          3 (const int)
-0:49        o2: direct index for structure (layout( offset=56) 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        o2: direct index for structure ( uniform 2-component vector of int)
+0:49          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:49          Constant:
 0:49            5 (const uint)
 0:51      move second child to first child ( temp 4-component vector of float)
@@ -351,9 +351,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTex2dmsf4a' ( uniform texture2DMSArray)
 0:?     'g_tTex2dmsi4a' ( uniform itexture2DMSArray)
 0:?     'g_tTex2dmsu4a' ( uniform utexture2DMSArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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
diff --git a/Test/baseResults/hlsl.load.array.dx10.frag.out b/Test/baseResults/hlsl.load.array.dx10.frag.out
index d52647d1d3ad780974b89492bd90b9af487e7b07..9430e75d91460695618b39675e8e209e8b4b6a85 100644
--- a/Test/baseResults/hlsl.load.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.array.dx10.frag.out
@@ -8,8 +8,8 @@ gl_FragCoord origin is upper left
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              2 (const uint)
 0:52          Sequence
@@ -18,8 +18,8 @@ gl_FragCoord origin is upper left
 0:52            Constant:
 0:52              1 (const int)
 0:52        direct index ( temp int)
-0:52          c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              2 (const uint)
 0:52          Constant:
@@ -27,8 +27,8 @@ gl_FragCoord origin is upper left
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              2 (const uint)
 0:53          Sequence
@@ -37,8 +37,8 @@ gl_FragCoord origin is upper left
 0:53            Constant:
 0:53              1 (const int)
 0:53        direct index ( temp int)
-0:53          c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              2 (const uint)
 0:53          Constant:
@@ -46,8 +46,8 @@ gl_FragCoord origin is upper left
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54            Constant:
 0:54              2 (const uint)
 0:54          Sequence
@@ -56,8 +56,8 @@ gl_FragCoord origin is upper left
 0:54            Constant:
 0:54              1 (const int)
 0:54        direct index ( temp int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54            Constant:
 0:54              2 (const uint)
 0:54          Constant:
@@ -65,8 +65,8 @@ gl_FragCoord origin is upper left
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              3 (const uint)
 0:57          Sequence
@@ -77,8 +77,8 @@ gl_FragCoord origin is upper left
 0:57            Constant:
 0:57              2 (const int)
 0:57        direct index ( temp int)
-0:57          c4: direct index for structure (layout( offset=32) uniform 4-component vector of 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})
+0:57          c4: direct index for structure ( uniform 4-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              3 (const uint)
 0:57          Constant:
@@ -86,8 +86,8 @@ gl_FragCoord origin is upper left
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              3 (const uint)
 0:58          Sequence
@@ -98,8 +98,8 @@ gl_FragCoord origin is upper left
 0:58            Constant:
 0:58              2 (const int)
 0:58        direct index ( temp int)
-0:58          c4: direct index for structure (layout( offset=32) uniform 4-component vector of int)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              3 (const uint)
 0:58          Constant:
@@ -107,8 +107,8 @@ gl_FragCoord origin is upper left
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59            Constant:
 0:59              3 (const uint)
 0:59          Sequence
@@ -119,8 +119,8 @@ gl_FragCoord origin is upper left
 0:59            Constant:
 0:59              2 (const int)
 0:59        direct index ( temp int)
-0:59          c4: direct index for structure (layout( offset=32) uniform 4-component vector of 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})
+0:59          c4: direct index for structure ( uniform 4-component vector of int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59            Constant:
 0:59              3 (const uint)
 0:59          Constant:
@@ -186,9 +186,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:
@@ -203,8 +203,8 @@ gl_FragCoord origin is upper left
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              2 (const uint)
 0:52          Sequence
@@ -213,8 +213,8 @@ gl_FragCoord origin is upper left
 0:52            Constant:
 0:52              1 (const int)
 0:52        direct index ( temp int)
-0:52          c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              2 (const uint)
 0:52          Constant:
@@ -222,8 +222,8 @@ gl_FragCoord origin is upper left
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              2 (const uint)
 0:53          Sequence
@@ -232,8 +232,8 @@ gl_FragCoord origin is upper left
 0:53            Constant:
 0:53              1 (const int)
 0:53        direct index ( temp int)
-0:53          c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              2 (const uint)
 0:53          Constant:
@@ -241,8 +241,8 @@ gl_FragCoord origin is upper left
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54            Constant:
 0:54              2 (const uint)
 0:54          Sequence
@@ -251,8 +251,8 @@ gl_FragCoord origin is upper left
 0:54            Constant:
 0:54              1 (const int)
 0:54        direct index ( temp int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54            Constant:
 0:54              2 (const uint)
 0:54          Constant:
@@ -260,8 +260,8 @@ gl_FragCoord origin is upper left
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              3 (const uint)
 0:57          Sequence
@@ -272,8 +272,8 @@ gl_FragCoord origin is upper left
 0:57            Constant:
 0:57              2 (const int)
 0:57        direct index ( temp int)
-0:57          c4: direct index for structure (layout( offset=32) uniform 4-component vector of 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})
+0:57          c4: direct index for structure ( uniform 4-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              3 (const uint)
 0:57          Constant:
@@ -281,8 +281,8 @@ gl_FragCoord origin is upper left
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              3 (const uint)
 0:58          Sequence
@@ -293,8 +293,8 @@ gl_FragCoord origin is upper left
 0:58            Constant:
 0:58              2 (const int)
 0:58        direct index ( temp int)
-0:58          c4: direct index for structure (layout( offset=32) uniform 4-component vector of int)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              3 (const uint)
 0:58          Constant:
@@ -302,8 +302,8 @@ gl_FragCoord origin is upper left
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59            Constant:
 0:59              3 (const uint)
 0:59          Sequence
@@ -314,8 +314,8 @@ gl_FragCoord origin is upper left
 0:59            Constant:
 0:59              2 (const int)
 0:59        direct index ( temp int)
-0:59          c4: direct index for structure (layout( offset=32) uniform 4-component vector of 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})
+0:59          c4: direct index for structure ( uniform 4-component vector of int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59            Constant:
 0:59              3 (const uint)
 0:59          Constant:
@@ -381,9 +381,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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
diff --git a/Test/baseResults/hlsl.load.basic.dx10.frag.out b/Test/baseResults/hlsl.load.basic.dx10.frag.out
index bc9374c368f2197ddea4337db48f2cdb489df438..6a976f0910fac997979d8f4e5267c225d4cb7487 100644
--- a/Test/baseResults/hlsl.load.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.basic.dx10.frag.out
@@ -8,16 +8,16 @@ gl_FragCoord origin is upper left
 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              1 (const uint)
 0:52          Sequence
 0:52            Constant:
 0:52              0 (const int)
 0:52        direct index ( temp int)
-0:52          c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              1 (const uint)
 0:52          Constant:
@@ -25,16 +25,16 @@ gl_FragCoord origin is upper left
 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              1 (const uint)
 0:53          Sequence
 0:53            Constant:
 0:53              0 (const int)
 0:53        direct index ( temp int)
-0:53          c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              1 (const uint)
 0:53          Constant:
@@ -42,16 +42,16 @@ gl_FragCoord origin is upper left
 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54            Constant:
 0:54              1 (const uint)
 0:54          Sequence
 0:54            Constant:
 0:54              0 (const int)
 0:54        direct index ( temp int)
-0:54          c2: direct index for structure (layout( offset=8) uniform 2-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54            Constant:
 0:54              1 (const uint)
 0:54          Constant:
@@ -59,8 +59,8 @@ gl_FragCoord origin is upper left
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              2 (const uint)
 0:57          Sequence
@@ -69,8 +69,8 @@ gl_FragCoord origin is upper left
 0:57            Constant:
 0:57              1 (const int)
 0:57        direct index ( temp int)
-0:57          c3: direct index for structure (layout( offset=16) uniform 3-component vector of 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})
+0:57          c3: direct index for structure ( uniform 3-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              2 (const uint)
 0:57          Constant:
@@ -78,8 +78,8 @@ gl_FragCoord origin is upper left
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              2 (const uint)
 0:58          Sequence
@@ -88,8 +88,8 @@ gl_FragCoord origin is upper left
 0:58            Constant:
 0:58              1 (const int)
 0:58        direct index ( temp int)
-0:58          c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              2 (const uint)
 0:58          Constant:
@@ -97,8 +97,8 @@ gl_FragCoord origin is upper left
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59            Constant:
 0:59              2 (const uint)
 0:59          Sequence
@@ -107,8 +107,8 @@ gl_FragCoord origin is upper left
 0:59            Constant:
 0:59              1 (const int)
 0:59        direct index ( temp int)
-0:59          c3: direct index for structure (layout( offset=16) uniform 3-component vector of 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})
+0:59          c3: direct index for structure ( uniform 3-component vector of int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59            Constant:
 0:59              2 (const uint)
 0:59          Constant:
@@ -116,8 +116,8 @@ gl_FragCoord origin is upper left
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:62            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62            Constant:
 0:62              3 (const uint)
 0:62          Sequence
@@ -128,8 +128,8 @@ gl_FragCoord origin is upper left
 0:62            Constant:
 0:62              2 (const int)
 0:62        direct index ( temp int)
-0:62          c4: direct index for structure (layout( offset=32) uniform 4-component vector of int)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:62            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62            Constant:
 0:62              3 (const uint)
 0:62          Constant:
@@ -137,8 +137,8 @@ gl_FragCoord origin is upper left
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:63            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63            Constant:
 0:63              3 (const uint)
 0:63          Sequence
@@ -149,8 +149,8 @@ gl_FragCoord origin is upper left
 0:63            Constant:
 0:63              2 (const int)
 0:63        direct index ( temp int)
-0:63          c4: direct index for structure (layout( offset=32) uniform 4-component vector of int)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:63            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63            Constant:
 0:63              3 (const uint)
 0:63          Constant:
@@ -158,8 +158,8 @@ gl_FragCoord origin is upper left
 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)
-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})
+0:64          c4: direct index for structure ( uniform 4-component vector of int)
+0:64            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:64            Constant:
 0:64              3 (const uint)
 0:64          Sequence
@@ -170,8 +170,8 @@ gl_FragCoord origin is upper left
 0:64            Constant:
 0:64              2 (const int)
 0:64        direct index ( temp int)
-0:64          c4: direct index for structure (layout( offset=32) uniform 4-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})
+0:64          c4: direct index for structure ( uniform 4-component vector of int)
+0:64            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:64            Constant:
 0:64              3 (const uint)
 0:64          Constant:
@@ -237,9 +237,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:
@@ -254,16 +254,16 @@ gl_FragCoord origin is upper left
 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              1 (const uint)
 0:52          Sequence
 0:52            Constant:
 0:52              0 (const int)
 0:52        direct index ( temp int)
-0:52          c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              1 (const uint)
 0:52          Constant:
@@ -271,16 +271,16 @@ gl_FragCoord origin is upper left
 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              1 (const uint)
 0:53          Sequence
 0:53            Constant:
 0:53              0 (const int)
 0:53        direct index ( temp int)
-0:53          c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              1 (const uint)
 0:53          Constant:
@@ -288,16 +288,16 @@ gl_FragCoord origin is upper left
 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54            Constant:
 0:54              1 (const uint)
 0:54          Sequence
 0:54            Constant:
 0:54              0 (const int)
 0:54        direct index ( temp int)
-0:54          c2: direct index for structure (layout( offset=8) uniform 2-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54            Constant:
 0:54              1 (const uint)
 0:54          Constant:
@@ -305,8 +305,8 @@ gl_FragCoord origin is upper left
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              2 (const uint)
 0:57          Sequence
@@ -315,8 +315,8 @@ gl_FragCoord origin is upper left
 0:57            Constant:
 0:57              1 (const int)
 0:57        direct index ( temp int)
-0:57          c3: direct index for structure (layout( offset=16) uniform 3-component vector of 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})
+0:57          c3: direct index for structure ( uniform 3-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              2 (const uint)
 0:57          Constant:
@@ -324,8 +324,8 @@ gl_FragCoord origin is upper left
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              2 (const uint)
 0:58          Sequence
@@ -334,8 +334,8 @@ gl_FragCoord origin is upper left
 0:58            Constant:
 0:58              1 (const int)
 0:58        direct index ( temp int)
-0:58          c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              2 (const uint)
 0:58          Constant:
@@ -343,8 +343,8 @@ gl_FragCoord origin is upper left
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59            Constant:
 0:59              2 (const uint)
 0:59          Sequence
@@ -353,8 +353,8 @@ gl_FragCoord origin is upper left
 0:59            Constant:
 0:59              1 (const int)
 0:59        direct index ( temp int)
-0:59          c3: direct index for structure (layout( offset=16) uniform 3-component vector of 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})
+0:59          c3: direct index for structure ( uniform 3-component vector of int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59            Constant:
 0:59              2 (const uint)
 0:59          Constant:
@@ -362,8 +362,8 @@ gl_FragCoord origin is upper left
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:62            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62            Constant:
 0:62              3 (const uint)
 0:62          Sequence
@@ -374,8 +374,8 @@ gl_FragCoord origin is upper left
 0:62            Constant:
 0:62              2 (const int)
 0:62        direct index ( temp int)
-0:62          c4: direct index for structure (layout( offset=32) uniform 4-component vector of int)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:62            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62            Constant:
 0:62              3 (const uint)
 0:62          Constant:
@@ -383,8 +383,8 @@ gl_FragCoord origin is upper left
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:63            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63            Constant:
 0:63              3 (const uint)
 0:63          Sequence
@@ -395,8 +395,8 @@ gl_FragCoord origin is upper left
 0:63            Constant:
 0:63              2 (const int)
 0:63        direct index ( temp int)
-0:63          c4: direct index for structure (layout( offset=32) uniform 4-component vector of int)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:63            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63            Constant:
 0:63              3 (const uint)
 0:63          Constant:
@@ -404,8 +404,8 @@ gl_FragCoord origin is upper left
 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)
-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})
+0:64          c4: direct index for structure ( uniform 4-component vector of int)
+0:64            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:64            Constant:
 0:64              3 (const uint)
 0:64          Sequence
@@ -416,8 +416,8 @@ gl_FragCoord origin is upper left
 0:64            Constant:
 0:64              2 (const int)
 0:64        direct index ( temp int)
-0:64          c4: direct index for structure (layout( offset=32) uniform 4-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})
+0:64          c4: direct index for structure ( uniform 4-component vector of int)
+0:64            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:64            Constant:
 0:64              3 (const uint)
 0:64          Constant:
@@ -483,9 +483,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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
diff --git a/Test/baseResults/hlsl.load.basic.dx10.vert.out b/Test/baseResults/hlsl.load.basic.dx10.vert.out
index 51547c5f0c4fbbbd4e76ce7d8b11a087f467c0ee..a41675c10b0e7f240aa1ce84db292a00210aa2be 100644
--- a/Test/baseResults/hlsl.load.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.load.basic.dx10.vert.out
@@ -7,16 +7,16 @@ Shader version: 450
 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:51            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51            Constant:
 0:51              1 (const uint)
 0:51          Sequence
 0:51            Constant:
 0:51              0 (const int)
 0:51        direct index ( temp int)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:51            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51            Constant:
 0:51              1 (const uint)
 0:51          Constant:
@@ -24,16 +24,16 @@ Shader version: 450
 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              1 (const uint)
 0:52          Sequence
 0:52            Constant:
 0:52              0 (const int)
 0:52        direct index ( temp int)
-0:52          c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              1 (const uint)
 0:52          Constant:
@@ -41,16 +41,16 @@ Shader version: 450
 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              1 (const uint)
 0:53          Sequence
 0:53            Constant:
 0:53              0 (const int)
 0:53        direct index ( temp int)
-0:53          c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              1 (const uint)
 0:53          Constant:
@@ -58,8 +58,8 @@ Shader version: 450
 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)
-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})
+0:56          c3: direct index for structure ( uniform 3-component vector of int)
+0:56            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:56            Constant:
 0:56              2 (const uint)
 0:56          Sequence
@@ -68,8 +68,8 @@ Shader version: 450
 0:56            Constant:
 0:56              1 (const int)
 0:56        direct index ( temp int)
-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})
+0:56          c3: direct index for structure ( uniform 3-component vector of int)
+0:56            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:56            Constant:
 0:56              2 (const uint)
 0:56          Constant:
@@ -77,8 +77,8 @@ Shader version: 450
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              2 (const uint)
 0:57          Sequence
@@ -87,8 +87,8 @@ Shader version: 450
 0:57            Constant:
 0:57              1 (const int)
 0:57        direct index ( temp int)
-0:57          c3: direct index for structure (layout( offset=16) uniform 3-component vector of 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})
+0:57          c3: direct index for structure ( uniform 3-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              2 (const uint)
 0:57          Constant:
@@ -96,8 +96,8 @@ Shader version: 450
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              2 (const uint)
 0:58          Sequence
@@ -106,8 +106,8 @@ Shader version: 450
 0:58            Constant:
 0:58              1 (const int)
 0:58        direct index ( temp int)
-0:58          c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              2 (const uint)
 0:58          Constant:
@@ -115,8 +115,8 @@ Shader version: 450
 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)
-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})
+0:61          c4: direct index for structure ( uniform 4-component vector of int)
+0:61            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:61            Constant:
 0:61              3 (const uint)
 0:61          Sequence
@@ -127,8 +127,8 @@ Shader version: 450
 0:61            Constant:
 0:61              2 (const int)
 0:61        direct index ( temp int)
-0:61          c4: direct index for structure (layout( offset=32) uniform 4-component vector of 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})
+0:61          c4: direct index for structure ( uniform 4-component vector of int)
+0:61            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:61            Constant:
 0:61              3 (const uint)
 0:61          Constant:
@@ -136,8 +136,8 @@ Shader version: 450
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:62            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62            Constant:
 0:62              3 (const uint)
 0:62          Sequence
@@ -148,8 +148,8 @@ Shader version: 450
 0:62            Constant:
 0:62              2 (const int)
 0:62        direct index ( temp int)
-0:62          c4: direct index for structure (layout( offset=32) uniform 4-component vector of int)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:62            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62            Constant:
 0:62              3 (const uint)
 0:62          Constant:
@@ -157,8 +157,8 @@ Shader version: 450
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:63            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63            Constant:
 0:63              3 (const uint)
 0:63          Sequence
@@ -169,8 +169,8 @@ Shader version: 450
 0:63            Constant:
 0:63              2 (const int)
 0:63        direct index ( temp int)
-0:63          c4: direct index for structure (layout( offset=32) uniform 4-component vector of int)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:63            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63            Constant:
 0:63              3 (const uint)
 0:63          Constant:
@@ -220,8 +220,8 @@ Shader version: 450
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     '@entryPointOutput' (layout( location=0) out structure{})
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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 vertex stage:
@@ -235,16 +235,16 @@ Shader version: 450
 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:51            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51            Constant:
 0:51              1 (const uint)
 0:51          Sequence
 0:51            Constant:
 0:51              0 (const int)
 0:51        direct index ( temp int)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:51            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51            Constant:
 0:51              1 (const uint)
 0:51          Constant:
@@ -252,16 +252,16 @@ Shader version: 450
 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              1 (const uint)
 0:52          Sequence
 0:52            Constant:
 0:52              0 (const int)
 0:52        direct index ( temp int)
-0:52          c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              1 (const uint)
 0:52          Constant:
@@ -269,16 +269,16 @@ Shader version: 450
 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              1 (const uint)
 0:53          Sequence
 0:53            Constant:
 0:53              0 (const int)
 0:53        direct index ( temp int)
-0:53          c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              1 (const uint)
 0:53          Constant:
@@ -286,8 +286,8 @@ Shader version: 450
 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)
-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})
+0:56          c3: direct index for structure ( uniform 3-component vector of int)
+0:56            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:56            Constant:
 0:56              2 (const uint)
 0:56          Sequence
@@ -296,8 +296,8 @@ Shader version: 450
 0:56            Constant:
 0:56              1 (const int)
 0:56        direct index ( temp int)
-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})
+0:56          c3: direct index for structure ( uniform 3-component vector of int)
+0:56            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:56            Constant:
 0:56              2 (const uint)
 0:56          Constant:
@@ -305,8 +305,8 @@ Shader version: 450
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              2 (const uint)
 0:57          Sequence
@@ -315,8 +315,8 @@ Shader version: 450
 0:57            Constant:
 0:57              1 (const int)
 0:57        direct index ( temp int)
-0:57          c3: direct index for structure (layout( offset=16) uniform 3-component vector of 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})
+0:57          c3: direct index for structure ( uniform 3-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              2 (const uint)
 0:57          Constant:
@@ -324,8 +324,8 @@ Shader version: 450
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              2 (const uint)
 0:58          Sequence
@@ -334,8 +334,8 @@ Shader version: 450
 0:58            Constant:
 0:58              1 (const int)
 0:58        direct index ( temp int)
-0:58          c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              2 (const uint)
 0:58          Constant:
@@ -343,8 +343,8 @@ Shader version: 450
 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)
-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})
+0:61          c4: direct index for structure ( uniform 4-component vector of int)
+0:61            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:61            Constant:
 0:61              3 (const uint)
 0:61          Sequence
@@ -355,8 +355,8 @@ Shader version: 450
 0:61            Constant:
 0:61              2 (const int)
 0:61        direct index ( temp int)
-0:61          c4: direct index for structure (layout( offset=32) uniform 4-component vector of 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})
+0:61          c4: direct index for structure ( uniform 4-component vector of int)
+0:61            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:61            Constant:
 0:61              3 (const uint)
 0:61          Constant:
@@ -364,8 +364,8 @@ Shader version: 450
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:62            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62            Constant:
 0:62              3 (const uint)
 0:62          Sequence
@@ -376,8 +376,8 @@ Shader version: 450
 0:62            Constant:
 0:62              2 (const int)
 0:62        direct index ( temp int)
-0:62          c4: direct index for structure (layout( offset=32) uniform 4-component vector of int)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:62            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62            Constant:
 0:62              3 (const uint)
 0:62          Constant:
@@ -385,8 +385,8 @@ Shader version: 450
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:63            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63            Constant:
 0:63              3 (const uint)
 0:63          Sequence
@@ -397,8 +397,8 @@ Shader version: 450
 0:63            Constant:
 0:63              2 (const int)
 0:63        direct index ( temp int)
-0:63          c4: direct index for structure (layout( offset=32) uniform 4-component vector of int)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:63            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63            Constant:
 0:63              3 (const uint)
 0:63          Constant:
@@ -448,8 +448,8 @@ Shader version: 450
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     '@entryPointOutput' (layout( location=0) out structure{})
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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
diff --git a/Test/baseResults/hlsl.load.buffer.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.dx10.frag.out
index 298818b9873e8f4047b41fdacff449d4a1e7606c..134a7fdbca3a658ceb0074dc9531ead640ce0ea4 100644
--- a/Test/baseResults/hlsl.load.buffer.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.buffer.dx10.frag.out
@@ -10,8 +10,8 @@ gl_FragCoord origin is upper left
 0:28          'r00' ( temp 4-component vector of float)
 0:28          imageLoad ( temp 4-component vector of float)
 0:28            'g_tTexbf4' (layout( rgba32f) readonly uniform imageBuffer)
-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            c1: direct index for structure ( uniform int)
+0:28              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:28              Constant:
 0:28                0 (const uint)
 0:29      Sequence
@@ -19,8 +19,8 @@ gl_FragCoord origin is upper left
 0:29          'r01' ( temp 4-component vector of int)
 0:29          imageLoad ( temp 4-component vector of int)
 0:29            'g_tTexbi4' (layout( rgba32i) readonly uniform iimageBuffer)
-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            c1: direct index for structure ( uniform int)
+0:29              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:29              Constant:
 0:29                0 (const uint)
 0:30      Sequence
@@ -28,8 +28,8 @@ gl_FragCoord origin is upper left
 0:30          'r02' ( temp 4-component vector of uint)
 0:30          imageLoad ( temp 4-component vector of uint)
 0:30            'g_tTexbu4' (layout( rgba32ui) readonly uniform uimageBuffer)
-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            c1: direct index for structure ( uniform int)
+0:30              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  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)
@@ -75,9 +75,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexbf4' (layout( rgba32f) readonly uniform imageBuffer)
 0:?     'g_tTexbi4' (layout( rgba32i) readonly uniform iimageBuffer)
 0:?     'g_tTexbu4' (layout( rgba32ui) readonly uniform uimageBuffer)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:
@@ -94,8 +94,8 @@ gl_FragCoord origin is upper left
 0:28          'r00' ( temp 4-component vector of float)
 0:28          imageLoad ( temp 4-component vector of float)
 0:28            'g_tTexbf4' (layout( rgba32f) readonly uniform imageBuffer)
-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            c1: direct index for structure ( uniform int)
+0:28              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:28              Constant:
 0:28                0 (const uint)
 0:29      Sequence
@@ -103,8 +103,8 @@ gl_FragCoord origin is upper left
 0:29          'r01' ( temp 4-component vector of int)
 0:29          imageLoad ( temp 4-component vector of int)
 0:29            'g_tTexbi4' (layout( rgba32i) readonly uniform iimageBuffer)
-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            c1: direct index for structure ( uniform int)
+0:29              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:29              Constant:
 0:29                0 (const uint)
 0:30      Sequence
@@ -112,8 +112,8 @@ gl_FragCoord origin is upper left
 0:30          'r02' ( temp 4-component vector of uint)
 0:30          imageLoad ( temp 4-component vector of uint)
 0:30            'g_tTexbu4' (layout( rgba32ui) readonly uniform uimageBuffer)
-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            c1: direct index for structure ( uniform int)
+0:30              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  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)
@@ -159,9 +159,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexbf4' (layout( rgba32f) readonly uniform imageBuffer)
 0:?     'g_tTexbi4' (layout( rgba32i) readonly uniform iimageBuffer)
 0:?     'g_tTexbu4' (layout( rgba32ui) readonly uniform uimageBuffer)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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
diff --git a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
index 77da1b954641638bd96bf398f530cb641ef6e367..6ba3d993e4041ba907994e2b919453b7e46d9b16 100644
--- a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
@@ -11,8 +11,8 @@ gl_FragCoord origin is upper left
 0:28          Construct float ( temp float)
 0:?             imageLoad ( temp 4-component vector of float)
 0:28              'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
-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              c1: direct index for structure ( uniform int)
+0:28                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:28                Constant:
 0:28                  0 (const uint)
 0:29      Sequence
@@ -21,8 +21,8 @@ gl_FragCoord origin is upper left
 0:29          Construct int ( temp int)
 0:?             imageLoad ( temp 4-component vector of int)
 0:29              'g_tTexbis' (layout( r32i) readonly uniform iimageBuffer)
-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              c1: direct index for structure ( uniform int)
+0:29                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:29                Constant:
 0:29                  0 (const uint)
 0:30      Sequence
@@ -31,8 +31,8 @@ gl_FragCoord origin is upper left
 0:30          Construct uint ( temp uint)
 0:?             imageLoad ( temp 4-component vector of uint)
 0:30              'g_tTexbus' (layout( r32ui) readonly uniform uimageBuffer)
-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              c1: direct index for structure ( uniform int)
+0:30                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  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)
@@ -78,9 +78,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
 0:?     'g_tTexbis' (layout( r32i) readonly uniform iimageBuffer)
 0:?     'g_tTexbus' (layout( r32ui) readonly uniform uimageBuffer)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:
@@ -98,8 +98,8 @@ gl_FragCoord origin is upper left
 0:28          Construct float ( temp float)
 0:?             imageLoad ( temp 4-component vector of float)
 0:28              'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
-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              c1: direct index for structure ( uniform int)
+0:28                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:28                Constant:
 0:28                  0 (const uint)
 0:29      Sequence
@@ -108,8 +108,8 @@ gl_FragCoord origin is upper left
 0:29          Construct int ( temp int)
 0:?             imageLoad ( temp 4-component vector of int)
 0:29              'g_tTexbis' (layout( r32i) readonly uniform iimageBuffer)
-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              c1: direct index for structure ( uniform int)
+0:29                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:29                Constant:
 0:29                  0 (const uint)
 0:30      Sequence
@@ -118,8 +118,8 @@ gl_FragCoord origin is upper left
 0:30          Construct uint ( temp uint)
 0:?             imageLoad ( temp 4-component vector of uint)
 0:30              'g_tTexbus' (layout( r32ui) readonly uniform uimageBuffer)
-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              c1: direct index for structure ( uniform int)
+0:30                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  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)
@@ -165,9 +165,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexbfs' (layout( r32f) readonly uniform imageBuffer)
 0:?     'g_tTexbis' (layout( r32i) readonly uniform iimageBuffer)
 0:?     'g_tTexbus' (layout( r32ui) readonly uniform uimageBuffer)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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
diff --git a/Test/baseResults/hlsl.load.offset.dx10.frag.out b/Test/baseResults/hlsl.load.offset.dx10.frag.out
index 0f4b6191816db1438f3eb58a079fb0b6f96d06b0..7d6c63ab91a2c9d3a876382b9f26b480fddd0585 100644
--- a/Test/baseResults/hlsl.load.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.offset.dx10.frag.out
@@ -8,71 +8,71 @@ gl_FragCoord origin is upper left
 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              1 (const uint)
 0:52          Sequence
 0:52            Constant:
 0:52              0 (const int)
 0:52        direct index ( temp int)
-0:52          c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              1 (const uint)
 0:52          Constant:
 0:52            1 (const int)
-0:52        o1: direct index for structure (layout( offset=48) uniform int)
-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        o1: direct index for structure ( uniform int)
+0:52          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52          Constant:
 0:52            4 (const uint)
 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              1 (const uint)
 0:53          Sequence
 0:53            Constant:
 0:53              0 (const int)
 0:53        direct index ( temp int)
-0:53          c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              1 (const uint)
 0:53          Constant:
 0:53            1 (const int)
-0:53        o1: direct index for structure (layout( offset=48) uniform int)
-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        o1: direct index for structure ( uniform int)
+0:53          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53          Constant:
 0:53            4 (const 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54            Constant:
 0:54              1 (const uint)
 0:54          Sequence
 0:54            Constant:
 0:54              0 (const int)
 0:54        direct index ( temp int)
-0:54          c2: direct index for structure (layout( offset=8) uniform 2-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54            Constant:
 0:54              1 (const uint)
 0:54          Constant:
 0:54            1 (const int)
-0:54        o1: direct index for structure (layout( offset=48) uniform 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        o1: direct index for structure ( uniform int)
+0:54          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54          Constant:
 0:54            4 (const uint)
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              2 (const uint)
 0:57          Sequence
@@ -81,21 +81,21 @@ gl_FragCoord origin is upper left
 0:57            Constant:
 0:57              1 (const int)
 0:57        direct index ( temp int)
-0:57          c3: direct index for structure (layout( offset=16) uniform 3-component vector of 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})
+0:57          c3: direct index for structure ( uniform 3-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              2 (const uint)
 0:57          Constant:
 0:57            2 (const int)
-0:57        o2: direct index for structure (layout( offset=56) uniform 2-component vector of 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})
+0:57        o2: direct index for structure ( uniform 2-component vector of int)
+0:57          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57          Constant:
 0:57            5 (const uint)
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              2 (const uint)
 0:58          Sequence
@@ -104,21 +104,21 @@ gl_FragCoord origin is upper left
 0:58            Constant:
 0:58              1 (const int)
 0:58        direct index ( temp int)
-0:58          c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              2 (const uint)
 0:58          Constant:
 0:58            2 (const int)
-0:58        o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-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        o2: direct index for structure ( uniform 2-component vector of int)
+0:58          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58          Constant:
 0:58            5 (const 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59            Constant:
 0:59              2 (const uint)
 0:59          Sequence
@@ -127,21 +127,21 @@ gl_FragCoord origin is upper left
 0:59            Constant:
 0:59              1 (const int)
 0:59        direct index ( temp int)
-0:59          c3: direct index for structure (layout( offset=16) uniform 3-component vector of 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})
+0:59          c3: direct index for structure ( uniform 3-component vector of int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59            Constant:
 0:59              2 (const uint)
 0:59          Constant:
 0:59            2 (const int)
-0:59        o2: direct index for structure (layout( offset=56) uniform 2-component vector of 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})
+0:59        o2: direct index for structure ( uniform 2-component vector of int)
+0:59          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59          Constant:
 0:59            5 (const uint)
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:62            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62            Constant:
 0:62              3 (const uint)
 0:62          Sequence
@@ -152,21 +152,21 @@ gl_FragCoord origin is upper left
 0:62            Constant:
 0:62              2 (const int)
 0:62        direct index ( temp int)
-0:62          c4: direct index for structure (layout( offset=32) uniform 4-component vector of int)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:62            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62            Constant:
 0:62              3 (const uint)
 0:62          Constant:
 0:62            3 (const int)
-0:62        o3: direct index for structure (layout( offset=64) uniform 3-component vector of int)
-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        o3: direct index for structure ( uniform 3-component vector of int)
+0:62          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62          Constant:
 0:62            6 (const uint)
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:63            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63            Constant:
 0:63              3 (const uint)
 0:63          Sequence
@@ -177,21 +177,21 @@ gl_FragCoord origin is upper left
 0:63            Constant:
 0:63              2 (const int)
 0:63        direct index ( temp int)
-0:63          c4: direct index for structure (layout( offset=32) uniform 4-component vector of int)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:63            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63            Constant:
 0:63              3 (const uint)
 0:63          Constant:
 0:63            3 (const int)
-0:63        o3: direct index for structure (layout( offset=64) uniform 3-component vector of int)
-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        o3: direct index for structure ( uniform 3-component vector of int)
+0:63          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63          Constant:
 0:63            6 (const 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)
-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})
+0:64          c4: direct index for structure ( uniform 4-component vector of int)
+0:64            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:64            Constant:
 0:64              3 (const uint)
 0:64          Sequence
@@ -202,14 +202,14 @@ gl_FragCoord origin is upper left
 0:64            Constant:
 0:64              2 (const int)
 0:64        direct index ( temp int)
-0:64          c4: direct index for structure (layout( offset=32) uniform 4-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})
+0:64          c4: direct index for structure ( uniform 4-component vector of int)
+0:64            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:64            Constant:
 0:64              3 (const uint)
 0:64          Constant:
 0:64            3 (const int)
-0:64        o3: direct index for structure (layout( offset=64) uniform 3-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})
+0:64        o3: direct index for structure ( uniform 3-component vector of int)
+0:64          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:64          Constant:
 0:64            6 (const uint)
 0:72      move second child to first child ( temp 4-component vector of float)
@@ -273,9 +273,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:
@@ -290,71 +290,71 @@ gl_FragCoord origin is upper left
 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              1 (const uint)
 0:52          Sequence
 0:52            Constant:
 0:52              0 (const int)
 0:52        direct index ( temp int)
-0:52          c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              1 (const uint)
 0:52          Constant:
 0:52            1 (const int)
-0:52        o1: direct index for structure (layout( offset=48) uniform int)
-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        o1: direct index for structure ( uniform int)
+0:52          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52          Constant:
 0:52            4 (const uint)
 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              1 (const uint)
 0:53          Sequence
 0:53            Constant:
 0:53              0 (const int)
 0:53        direct index ( temp int)
-0:53          c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              1 (const uint)
 0:53          Constant:
 0:53            1 (const int)
-0:53        o1: direct index for structure (layout( offset=48) uniform int)
-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        o1: direct index for structure ( uniform int)
+0:53          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53          Constant:
 0:53            4 (const 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)
-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54            Constant:
 0:54              1 (const uint)
 0:54          Sequence
 0:54            Constant:
 0:54              0 (const int)
 0:54        direct index ( temp int)
-0:54          c2: direct index for structure (layout( offset=8) uniform 2-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          c2: direct index for structure ( uniform 2-component vector of int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54            Constant:
 0:54              1 (const uint)
 0:54          Constant:
 0:54            1 (const int)
-0:54        o1: direct index for structure (layout( offset=48) uniform 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        o1: direct index for structure ( uniform int)
+0:54          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54          Constant:
 0:54            4 (const uint)
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              2 (const uint)
 0:57          Sequence
@@ -363,21 +363,21 @@ gl_FragCoord origin is upper left
 0:57            Constant:
 0:57              1 (const int)
 0:57        direct index ( temp int)
-0:57          c3: direct index for structure (layout( offset=16) uniform 3-component vector of 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})
+0:57          c3: direct index for structure ( uniform 3-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              2 (const uint)
 0:57          Constant:
 0:57            2 (const int)
-0:57        o2: direct index for structure (layout( offset=56) uniform 2-component vector of 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})
+0:57        o2: direct index for structure ( uniform 2-component vector of int)
+0:57          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57          Constant:
 0:57            5 (const uint)
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              2 (const uint)
 0:58          Sequence
@@ -386,21 +386,21 @@ gl_FragCoord origin is upper left
 0:58            Constant:
 0:58              1 (const int)
 0:58        direct index ( temp int)
-0:58          c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              2 (const uint)
 0:58          Constant:
 0:58            2 (const int)
-0:58        o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-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        o2: direct index for structure ( uniform 2-component vector of int)
+0:58          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58          Constant:
 0:58            5 (const 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59            Constant:
 0:59              2 (const uint)
 0:59          Sequence
@@ -409,21 +409,21 @@ gl_FragCoord origin is upper left
 0:59            Constant:
 0:59              1 (const int)
 0:59        direct index ( temp int)
-0:59          c3: direct index for structure (layout( offset=16) uniform 3-component vector of 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})
+0:59          c3: direct index for structure ( uniform 3-component vector of int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59            Constant:
 0:59              2 (const uint)
 0:59          Constant:
 0:59            2 (const int)
-0:59        o2: direct index for structure (layout( offset=56) uniform 2-component vector of 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})
+0:59        o2: direct index for structure ( uniform 2-component vector of int)
+0:59          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59          Constant:
 0:59            5 (const uint)
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:62            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62            Constant:
 0:62              3 (const uint)
 0:62          Sequence
@@ -434,21 +434,21 @@ gl_FragCoord origin is upper left
 0:62            Constant:
 0:62              2 (const int)
 0:62        direct index ( temp int)
-0:62          c4: direct index for structure (layout( offset=32) uniform 4-component vector of int)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:62            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62            Constant:
 0:62              3 (const uint)
 0:62          Constant:
 0:62            3 (const int)
-0:62        o3: direct index for structure (layout( offset=64) uniform 3-component vector of int)
-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        o3: direct index for structure ( uniform 3-component vector of int)
+0:62          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62          Constant:
 0:62            6 (const uint)
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:63            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63            Constant:
 0:63              3 (const uint)
 0:63          Sequence
@@ -459,21 +459,21 @@ gl_FragCoord origin is upper left
 0:63            Constant:
 0:63              2 (const int)
 0:63        direct index ( temp int)
-0:63          c4: direct index for structure (layout( offset=32) uniform 4-component vector of int)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:63            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63            Constant:
 0:63              3 (const uint)
 0:63          Constant:
 0:63            3 (const int)
-0:63        o3: direct index for structure (layout( offset=64) uniform 3-component vector of int)
-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        o3: direct index for structure ( uniform 3-component vector of int)
+0:63          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63          Constant:
 0:63            6 (const 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)
-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})
+0:64          c4: direct index for structure ( uniform 4-component vector of int)
+0:64            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:64            Constant:
 0:64              3 (const uint)
 0:64          Sequence
@@ -484,14 +484,14 @@ gl_FragCoord origin is upper left
 0:64            Constant:
 0:64              2 (const int)
 0:64        direct index ( temp int)
-0:64          c4: direct index for structure (layout( offset=32) uniform 4-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})
+0:64          c4: direct index for structure ( uniform 4-component vector of int)
+0:64            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:64            Constant:
 0:64              3 (const uint)
 0:64          Constant:
 0:64            3 (const int)
-0:64        o3: direct index for structure (layout( offset=64) uniform 3-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})
+0:64        o3: direct index for structure ( uniform 3-component vector of int)
+0:64          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:64          Constant:
 0:64            6 (const uint)
 0:72      move second child to first child ( temp 4-component vector of float)
@@ -555,9 +555,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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
diff --git a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
index 65d92f03288468dbbfd144b764a93bc7bf6ac6b0..f20b6075d9916d0ec8e2f0e59959bfa06dc391f5 100644
--- a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
@@ -8,8 +8,8 @@ gl_FragCoord origin is upper left
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              2 (const uint)
 0:52          Sequence
@@ -18,21 +18,21 @@ gl_FragCoord origin is upper left
 0:52            Constant:
 0:52              1 (const int)
 0:52        direct index ( temp int)
-0:52          c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              2 (const uint)
 0:52          Constant:
 0:52            2 (const int)
-0:52        o1: direct index for structure (layout( offset=48) uniform int)
-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        o1: direct index for structure ( uniform int)
+0:52          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52          Constant:
 0:52            4 (const uint)
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              2 (const uint)
 0:53          Sequence
@@ -41,21 +41,21 @@ gl_FragCoord origin is upper left
 0:53            Constant:
 0:53              1 (const int)
 0:53        direct index ( temp int)
-0:53          c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              2 (const uint)
 0:53          Constant:
 0:53            2 (const int)
-0:53        o1: direct index for structure (layout( offset=48) uniform int)
-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        o1: direct index for structure ( uniform int)
+0:53          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53          Constant:
 0:53            4 (const 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54            Constant:
 0:54              2 (const uint)
 0:54          Sequence
@@ -64,21 +64,21 @@ gl_FragCoord origin is upper left
 0:54            Constant:
 0:54              1 (const int)
 0:54        direct index ( temp int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54            Constant:
 0:54              2 (const uint)
 0:54          Constant:
 0:54            2 (const int)
-0:54        o1: direct index for structure (layout( offset=48) uniform 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        o1: direct index for structure ( uniform int)
+0:54          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54          Constant:
 0:54            4 (const uint)
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              3 (const uint)
 0:57          Sequence
@@ -89,21 +89,21 @@ gl_FragCoord origin is upper left
 0:57            Constant:
 0:57              2 (const int)
 0:57        direct index ( temp int)
-0:57          c4: direct index for structure (layout( offset=32) uniform 4-component vector of 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})
+0:57          c4: direct index for structure ( uniform 4-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              3 (const uint)
 0:57          Constant:
 0:57            3 (const int)
-0:57        o2: direct index for structure (layout( offset=56) uniform 2-component vector of 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})
+0:57        o2: direct index for structure ( uniform 2-component vector of int)
+0:57          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57          Constant:
 0:57            5 (const uint)
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              3 (const uint)
 0:58          Sequence
@@ -114,21 +114,21 @@ gl_FragCoord origin is upper left
 0:58            Constant:
 0:58              2 (const int)
 0:58        direct index ( temp int)
-0:58          c4: direct index for structure (layout( offset=32) uniform 4-component vector of int)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              3 (const uint)
 0:58          Constant:
 0:58            3 (const int)
-0:58        o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-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        o2: direct index for structure ( uniform 2-component vector of int)
+0:58          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58          Constant:
 0:58            5 (const 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59            Constant:
 0:59              3 (const uint)
 0:59          Sequence
@@ -139,14 +139,14 @@ gl_FragCoord origin is upper left
 0:59            Constant:
 0:59              2 (const int)
 0:59        direct index ( temp int)
-0:59          c4: direct index for structure (layout( offset=32) uniform 4-component vector of 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})
+0:59          c4: direct index for structure ( uniform 4-component vector of int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59            Constant:
 0:59              3 (const uint)
 0:59          Constant:
 0:59            3 (const int)
-0:59        o2: direct index for structure (layout( offset=56) uniform 2-component vector of 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})
+0:59        o2: direct index for structure ( uniform 2-component vector of int)
+0:59          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59          Constant:
 0:59            5 (const uint)
 0:65      move second child to first child ( temp 4-component vector of float)
@@ -210,9 +210,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:
@@ -227,8 +227,8 @@ gl_FragCoord origin is upper left
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              2 (const uint)
 0:52          Sequence
@@ -237,21 +237,21 @@ gl_FragCoord origin is upper left
 0:52            Constant:
 0:52              1 (const int)
 0:52        direct index ( temp int)
-0:52          c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:52            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52            Constant:
 0:52              2 (const uint)
 0:52          Constant:
 0:52            2 (const int)
-0:52        o1: direct index for structure (layout( offset=48) uniform int)
-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        o1: direct index for structure ( uniform int)
+0:52          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52          Constant:
 0:52            4 (const uint)
 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              2 (const uint)
 0:53          Sequence
@@ -260,21 +260,21 @@ gl_FragCoord origin is upper left
 0:53            Constant:
 0:53              1 (const int)
 0:53        direct index ( temp int)
-0:53          c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53            Constant:
 0:53              2 (const uint)
 0:53          Constant:
 0:53            2 (const int)
-0:53        o1: direct index for structure (layout( offset=48) uniform int)
-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        o1: direct index for structure ( uniform int)
+0:53          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53          Constant:
 0:53            4 (const 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)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54            Constant:
 0:54              2 (const uint)
 0:54          Sequence
@@ -283,21 +283,21 @@ gl_FragCoord origin is upper left
 0:54            Constant:
 0:54              1 (const int)
 0:54        direct index ( temp int)
-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          c3: direct index for structure ( uniform 3-component vector of int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54            Constant:
 0:54              2 (const uint)
 0:54          Constant:
 0:54            2 (const int)
-0:54        o1: direct index for structure (layout( offset=48) uniform 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        o1: direct index for structure ( uniform int)
+0:54          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54          Constant:
 0:54            4 (const uint)
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              3 (const uint)
 0:57          Sequence
@@ -308,21 +308,21 @@ gl_FragCoord origin is upper left
 0:57            Constant:
 0:57              2 (const int)
 0:57        direct index ( temp int)
-0:57          c4: direct index for structure (layout( offset=32) uniform 4-component vector of 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})
+0:57          c4: direct index for structure ( uniform 4-component vector of int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57            Constant:
 0:57              3 (const uint)
 0:57          Constant:
 0:57            3 (const int)
-0:57        o2: direct index for structure (layout( offset=56) uniform 2-component vector of 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})
+0:57        o2: direct index for structure ( uniform 2-component vector of int)
+0:57          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57          Constant:
 0:57            5 (const uint)
 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              3 (const uint)
 0:58          Sequence
@@ -333,21 +333,21 @@ gl_FragCoord origin is upper left
 0:58            Constant:
 0:58              2 (const int)
 0:58        direct index ( temp int)
-0:58          c4: direct index for structure (layout( offset=32) uniform 4-component vector of int)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:58            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58            Constant:
 0:58              3 (const uint)
 0:58          Constant:
 0:58            3 (const int)
-0:58        o2: direct index for structure (layout( offset=56) uniform 2-component vector of int)
-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        o2: direct index for structure ( uniform 2-component vector of int)
+0:58          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58          Constant:
 0:58            5 (const 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)
-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          c4: direct index for structure ( uniform 4-component vector of int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59            Constant:
 0:59              3 (const uint)
 0:59          Sequence
@@ -358,14 +358,14 @@ gl_FragCoord origin is upper left
 0:59            Constant:
 0:59              2 (const int)
 0:59        direct index ( temp int)
-0:59          c4: direct index for structure (layout( offset=32) uniform 4-component vector of 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})
+0:59          c4: direct index for structure ( uniform 4-component vector of int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59            Constant:
 0:59              3 (const uint)
 0:59          Constant:
 0:59            3 (const int)
-0:59        o2: direct index for structure (layout( offset=56) uniform 2-component vector of 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})
+0:59        o2: direct index for structure ( uniform 2-component vector of int)
+0:59          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:59          Constant:
 0:59            5 (const uint)
 0:65      move second child to first child ( temp 4-component vector of float)
@@ -429,9 +429,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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
diff --git a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
index 73d5c10ab3d20f4ff24c2b002fc77fb7ce5e934a..ea8bdd2dda4f68b2c27564d9bd7ff339f475a6e7 100644
--- a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
@@ -7,20 +7,20 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 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        c1: direct index for structure ( uniform int)
+0:25          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:25          Constant:
 0:25            0 (const 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        c1: direct index for structure ( uniform int)
+0:26          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:26          Constant:
 0:26            0 (const uint)
 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})
+0:27        c1: direct index for structure ( uniform int)
+0:27          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:27          Constant:
 0:27            0 (const uint)
 0:29      move second child to first child ( temp 4-component vector of float)
@@ -49,8 +49,8 @@ gl_FragCoord origin is upper left
 0:?     'g_tBuffF' (layout( rgba32f) uniform imageBuffer)
 0:?     'g_tBuffI' (layout( rgba32i) uniform iimageBuffer)
 0:?     'g_tBuffU' (layout( rgba32ui) uniform uimageBuffer)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:
@@ -64,20 +64,20 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 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        c1: direct index for structure ( uniform int)
+0:25          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:25          Constant:
 0:25            0 (const 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        c1: direct index for structure ( uniform int)
+0:26          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:26          Constant:
 0:26            0 (const uint)
 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})
+0:27        c1: direct index for structure ( uniform int)
+0:27          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:27          Constant:
 0:27            0 (const uint)
 0:29      move second child to first child ( temp 4-component vector of float)
@@ -106,8 +106,8 @@ gl_FragCoord origin is upper left
 0:?     'g_tBuffF' (layout( rgba32f) uniform imageBuffer)
 0:?     'g_tBuffI' (layout( rgba32i) uniform iimageBuffer)
 0:?     'g_tBuffU' (layout( rgba32ui) uniform uimageBuffer)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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
diff --git a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
index c4cae33d3857d11f6224dd3eae0efeabe372e4fa..fba29c13e44b497451728c01ce0a3ada0062b641 100644
--- a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
@@ -7,38 +7,38 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 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        c2: direct index for structure ( uniform 2-component vector of int)
+0:44          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:44          Constant:
 0:44            1 (const uint)
 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        c2: direct index for structure ( uniform 2-component vector of int)
+0:45          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:45          Constant:
 0:45            1 (const 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        c2: direct index for structure ( uniform 2-component vector of int)
+0:46          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46          Constant:
 0:46            1 (const uint)
 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        c3: direct index for structure ( uniform 3-component vector of int)
+0:49          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:49          Constant:
 0:49            2 (const uint)
 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        c3: direct index for structure ( uniform 3-component vector of int)
+0:50          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:50          Constant:
 0:50            2 (const 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})
+0:51        c3: direct index for structure ( uniform 3-component vector of int)
+0:51          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51          Constant:
 0:51            2 (const uint)
 0:53      move second child to first child ( temp 4-component vector of float)
@@ -96,9 +96,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTex2df4a' (layout( rgba32f) uniform image2DArray)
 0:?     'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray)
 0:?     'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:
@@ -112,38 +112,38 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 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        c2: direct index for structure ( uniform 2-component vector of int)
+0:44          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:44          Constant:
 0:44            1 (const uint)
 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        c2: direct index for structure ( uniform 2-component vector of int)
+0:45          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:45          Constant:
 0:45            1 (const 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        c2: direct index for structure ( uniform 2-component vector of int)
+0:46          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46          Constant:
 0:46            1 (const uint)
 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        c3: direct index for structure ( uniform 3-component vector of int)
+0:49          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:49          Constant:
 0:49            2 (const uint)
 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        c3: direct index for structure ( uniform 3-component vector of int)
+0:50          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:50          Constant:
 0:50            2 (const 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})
+0:51        c3: direct index for structure ( uniform 3-component vector of int)
+0:51          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51          Constant:
 0:51            2 (const uint)
 0:53      move second child to first child ( temp 4-component vector of float)
@@ -201,9 +201,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTex2df4a' (layout( rgba32f) uniform image2DArray)
 0:?     'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray)
 0:?     'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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
diff --git a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
index b8da508f4ac35c9cb6f583ecd26dad669094e36f..2b05b31d06520d4f3791d1e183cdd45a64bfc5a2 100644
--- a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
@@ -7,56 +7,56 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 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        c1: direct index for structure ( uniform int)
+0:44          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:44          Constant:
 0:44            0 (const uint)
 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        c1: direct index for structure ( uniform int)
+0:45          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:45          Constant:
 0:45            0 (const 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        c1: direct index for structure ( uniform int)
+0:46          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46          Constant:
 0:46            0 (const uint)
 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        c2: direct index for structure ( uniform 2-component vector of int)
+0:49          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:49          Constant:
 0:49            1 (const uint)
 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        c2: direct index for structure ( uniform 2-component vector of int)
+0:50          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:50          Constant:
 0:50            1 (const 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        c2: direct index for structure ( uniform 2-component vector of int)
+0:51          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51          Constant:
 0:51            1 (const uint)
 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        c3: direct index for structure ( uniform 3-component vector of int)
+0:54          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54          Constant:
 0:54            2 (const uint)
 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        c3: direct index for structure ( uniform 3-component vector of int)
+0:55          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:55          Constant:
 0:55            2 (const 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})
+0:56        c3: direct index for structure ( uniform 3-component vector of int)
+0:56          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:56          Constant:
 0:56            2 (const uint)
 0:58      move second child to first child ( temp 4-component vector of float)
@@ -114,9 +114,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTex2df4a' (layout( rgba32f) uniform image2DArray)
 0:?     'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray)
 0:?     'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:
@@ -130,56 +130,56 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 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        c1: direct index for structure ( uniform int)
+0:44          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:44          Constant:
 0:44            0 (const uint)
 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        c1: direct index for structure ( uniform int)
+0:45          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:45          Constant:
 0:45            0 (const 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        c1: direct index for structure ( uniform int)
+0:46          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:46          Constant:
 0:46            0 (const uint)
 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        c2: direct index for structure ( uniform 2-component vector of int)
+0:49          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:49          Constant:
 0:49            1 (const uint)
 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        c2: direct index for structure ( uniform 2-component vector of int)
+0:50          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:50          Constant:
 0:50            1 (const 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        c2: direct index for structure ( uniform 2-component vector of int)
+0:51          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51          Constant:
 0:51            1 (const uint)
 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        c3: direct index for structure ( uniform 3-component vector of int)
+0:54          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:54          Constant:
 0:54            2 (const uint)
 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        c3: direct index for structure ( uniform 3-component vector of int)
+0:55          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:55          Constant:
 0:55            2 (const 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})
+0:56        c3: direct index for structure ( uniform 3-component vector of int)
+0:56          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:56          Constant:
 0:56            2 (const uint)
 0:58      move second child to first child ( temp 4-component vector of float)
@@ -237,9 +237,9 @@ gl_FragCoord origin is upper left
 0:?     'g_tTex2df4a' (layout( rgba32f) uniform image2DArray)
 0:?     'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray)
 0:?     'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 0:?     'Depth' ( out float FragDepth)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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
diff --git a/Test/baseResults/hlsl.logical.binary.frag.out b/Test/baseResults/hlsl.logical.binary.frag.out
index e9014401745f2587bbc09986d82e0ddd3bbb414c..7aec275653700916c1aa44686dee47b6dafea07b 100644
--- a/Test/baseResults/hlsl.logical.binary.frag.out
+++ b/Test/baseResults/hlsl.logical.binary.frag.out
@@ -9,14 +9,14 @@ gl_FragCoord origin is upper left
 0:13        Condition
 0:13        logical-and ( temp bool)
 0:13          Convert int to bool ( temp bool)
-0:13            ival: direct index for structure (layout( offset=0) uniform int)
-0:13              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:13            ival: direct index for structure ( uniform int)
+0:13              'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:13              Constant:
 0:13                0 (const uint)
 0:13          Convert int to bool ( temp bool)
 0:13            Convert float to int ( temp int)
-0:13              fval: direct index for structure (layout( offset=32) uniform float)
-0:13                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:13              fval: direct index for structure ( uniform float)
+0:13                'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:13                Constant:
 0:13                  2 (const uint)
 0:13        true case is null
@@ -24,14 +24,14 @@ gl_FragCoord origin is upper left
 0:14        Condition
 0:14        logical-or ( temp bool)
 0:14          Convert int to bool ( temp bool)
-0:14            ival: direct index for structure (layout( offset=0) uniform int)
-0:14              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:14            ival: direct index for structure ( uniform int)
+0:14              'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:14              Constant:
 0:14                0 (const uint)
 0:14          Convert int to bool ( temp bool)
 0:14            Convert float to int ( temp int)
-0:14              fval: direct index for structure (layout( offset=32) uniform float)
-0:14                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:14              fval: direct index for structure ( uniform float)
+0:14                'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:14                Constant:
 0:14                  2 (const uint)
 0:14        true case is null
@@ -58,8 +58,8 @@ gl_FragCoord origin is upper left
 0:12            Constant:
 0:12              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
 
 
 Linked fragment stage:
@@ -75,14 +75,14 @@ gl_FragCoord origin is upper left
 0:13        Condition
 0:13        logical-and ( temp bool)
 0:13          Convert int to bool ( temp bool)
-0:13            ival: direct index for structure (layout( offset=0) uniform int)
-0:13              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:13            ival: direct index for structure ( uniform int)
+0:13              'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:13              Constant:
 0:13                0 (const uint)
 0:13          Convert int to bool ( temp bool)
 0:13            Convert float to int ( temp int)
-0:13              fval: direct index for structure (layout( offset=32) uniform float)
-0:13                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:13              fval: direct index for structure ( uniform float)
+0:13                'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:13                Constant:
 0:13                  2 (const uint)
 0:13        true case is null
@@ -90,14 +90,14 @@ gl_FragCoord origin is upper left
 0:14        Condition
 0:14        logical-or ( temp bool)
 0:14          Convert int to bool ( temp bool)
-0:14            ival: direct index for structure (layout( offset=0) uniform int)
-0:14              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:14            ival: direct index for structure ( uniform int)
+0:14              'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:14              Constant:
 0:14                0 (const uint)
 0:14          Convert int to bool ( temp bool)
 0:14            Convert float to int ( temp int)
-0:14              fval: direct index for structure (layout( offset=32) uniform float)
-0:14                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:14              fval: direct index for structure ( uniform float)
+0:14                'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:14                Constant:
 0:14                  2 (const uint)
 0:14        true case is null
@@ -124,8 +124,8 @@ gl_FragCoord origin is upper left
 0:12            Constant:
 0:12              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.logical.binary.vec.frag.out b/Test/baseResults/hlsl.logical.binary.vec.frag.out
index 2b005f0c6a7a49f247ac2da2dc9b3a6ab68e79f0..38708ef7e027e8c78b38b84592a3b593a300862f 100644
--- a/Test/baseResults/hlsl.logical.binary.vec.frag.out
+++ b/Test/baseResults/hlsl.logical.binary.vec.frag.out
@@ -9,84 +9,84 @@ gl_FragCoord origin is upper left
 0:11        move second child to first child ( temp 4-component vector of bool)
 0:11          'r00' ( temp 4-component vector of bool)
 0:11          Negate conditional ( temp 4-component vector of bool)
-0:11            b4a: direct index for structure (layout( offset=0) uniform 4-component vector of bool)
-0:11              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:11            b4a: direct index for structure ( uniform 4-component vector of bool)
+0:11              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:11              Constant:
 0:11                0 (const uint)
 0:12      Sequence
 0:12        move second child to first child ( temp 4-component vector of bool)
 0:12          'r01' ( temp 4-component vector of bool)
 0:12          logical-and ( temp 4-component vector of bool)
-0:12            b4a: direct index for structure (layout( offset=0) uniform 4-component vector of bool)
-0:12              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:12            b4a: direct index for structure ( uniform 4-component vector of bool)
+0:12              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:12              Constant:
 0:12                0 (const uint)
-0:12            b4b: direct index for structure (layout( offset=16) uniform 4-component vector of bool)
-0:12              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:12            b4b: direct index for structure ( uniform 4-component vector of bool)
+0:12              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:12              Constant:
 0:12                1 (const uint)
 0:13      Sequence
 0:13        move second child to first child ( temp 4-component vector of bool)
 0:13          'r02' ( temp 4-component vector of bool)
 0:13          logical-or ( temp 4-component vector of bool)
-0:13            b4a: direct index for structure (layout( offset=0) uniform 4-component vector of bool)
-0:13              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:13            b4a: direct index for structure ( uniform 4-component vector of bool)
+0:13              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:13              Constant:
 0:13                0 (const uint)
-0:13            b4b: direct index for structure (layout( offset=16) uniform 4-component vector of bool)
-0:13              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:13            b4b: direct index for structure ( uniform 4-component vector of bool)
+0:13              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:13              Constant:
 0:13                1 (const uint)
 0:15      Sequence
 0:15        move second child to first child ( temp 4-component vector of bool)
 0:15          'r10' ( temp 4-component vector of bool)
 0:15          logical-and ( temp 4-component vector of bool)
-0:15            Construct bvec4 (layout( offset=16) uniform 4-component vector of bool)
-0:15              b1a: direct index for structure (layout( offset=32) uniform bool)
-0:15                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:15            Construct bvec4 ( uniform 4-component vector of bool)
+0:15              b1a: direct index for structure ( uniform bool)
+0:15                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:15                Constant:
 0:15                  2 (const uint)
-0:15            b4b: direct index for structure (layout( offset=16) uniform 4-component vector of bool)
-0:15              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:15            b4b: direct index for structure ( uniform 4-component vector of bool)
+0:15              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:15              Constant:
 0:15                1 (const uint)
 0:16      Sequence
 0:16        move second child to first child ( temp 4-component vector of bool)
 0:16          'r11' ( temp 4-component vector of bool)
 0:16          logical-or ( temp 4-component vector of bool)
-0:16            Construct bvec4 (layout( offset=16) uniform 4-component vector of bool)
-0:16              b1a: direct index for structure (layout( offset=32) uniform bool)
-0:16                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:16            Construct bvec4 ( uniform 4-component vector of bool)
+0:16              b1a: direct index for structure ( uniform bool)
+0:16                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:16                Constant:
 0:16                  2 (const uint)
-0:16            b4b: direct index for structure (layout( offset=16) uniform 4-component vector of bool)
-0:16              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:16            b4b: direct index for structure ( uniform 4-component vector of bool)
+0:16              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:16              Constant:
 0:16                1 (const uint)
 0:18      Sequence
 0:18        move second child to first child ( temp 4-component vector of bool)
 0:18          'r20' ( temp 4-component vector of bool)
 0:18          logical-and ( temp 4-component vector of bool)
-0:18            b4a: direct index for structure (layout( offset=0) uniform 4-component vector of bool)
-0:18              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:18            b4a: direct index for structure ( uniform 4-component vector of bool)
+0:18              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:18              Constant:
 0:18                0 (const uint)
-0:18            Construct bvec4 (layout( offset=0) uniform 4-component vector of bool)
-0:18              b1b: direct index for structure (layout( offset=36) uniform bool)
-0:18                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:18            Construct bvec4 ( uniform 4-component vector of bool)
+0:18              b1b: direct index for structure ( uniform bool)
+0:18                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:18                Constant:
 0:18                  3 (const uint)
 0:19      Sequence
 0:19        move second child to first child ( temp 4-component vector of bool)
 0:19          'r21' ( temp 4-component vector of bool)
 0:19          logical-or ( temp 4-component vector of bool)
-0:19            b4a: direct index for structure (layout( offset=0) uniform 4-component vector of bool)
-0:19              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:19            b4a: direct index for structure ( uniform 4-component vector of bool)
+0:19              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:19              Constant:
 0:19                0 (const uint)
-0:19            Construct bvec4 (layout( offset=0) uniform 4-component vector of bool)
-0:19              b1b: direct index for structure (layout( offset=36) uniform bool)
-0:19                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:19            Construct bvec4 ( uniform 4-component vector of bool)
+0:19              b1b: direct index for structure ( uniform bool)
+0:19                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:19                Constant:
 0:19                  3 (const uint)
 0:22      move second child to first child ( temp 4-component vector of float)
@@ -121,8 +121,8 @@ gl_FragCoord origin is upper left
 0:10            Constant:
 0:10              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
 
 
 Linked fragment stage:
@@ -138,84 +138,84 @@ gl_FragCoord origin is upper left
 0:11        move second child to first child ( temp 4-component vector of bool)
 0:11          'r00' ( temp 4-component vector of bool)
 0:11          Negate conditional ( temp 4-component vector of bool)
-0:11            b4a: direct index for structure (layout( offset=0) uniform 4-component vector of bool)
-0:11              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:11            b4a: direct index for structure ( uniform 4-component vector of bool)
+0:11              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:11              Constant:
 0:11                0 (const uint)
 0:12      Sequence
 0:12        move second child to first child ( temp 4-component vector of bool)
 0:12          'r01' ( temp 4-component vector of bool)
 0:12          logical-and ( temp 4-component vector of bool)
-0:12            b4a: direct index for structure (layout( offset=0) uniform 4-component vector of bool)
-0:12              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:12            b4a: direct index for structure ( uniform 4-component vector of bool)
+0:12              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:12              Constant:
 0:12                0 (const uint)
-0:12            b4b: direct index for structure (layout( offset=16) uniform 4-component vector of bool)
-0:12              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:12            b4b: direct index for structure ( uniform 4-component vector of bool)
+0:12              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:12              Constant:
 0:12                1 (const uint)
 0:13      Sequence
 0:13        move second child to first child ( temp 4-component vector of bool)
 0:13          'r02' ( temp 4-component vector of bool)
 0:13          logical-or ( temp 4-component vector of bool)
-0:13            b4a: direct index for structure (layout( offset=0) uniform 4-component vector of bool)
-0:13              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:13            b4a: direct index for structure ( uniform 4-component vector of bool)
+0:13              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:13              Constant:
 0:13                0 (const uint)
-0:13            b4b: direct index for structure (layout( offset=16) uniform 4-component vector of bool)
-0:13              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:13            b4b: direct index for structure ( uniform 4-component vector of bool)
+0:13              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:13              Constant:
 0:13                1 (const uint)
 0:15      Sequence
 0:15        move second child to first child ( temp 4-component vector of bool)
 0:15          'r10' ( temp 4-component vector of bool)
 0:15          logical-and ( temp 4-component vector of bool)
-0:15            Construct bvec4 (layout( offset=16) uniform 4-component vector of bool)
-0:15              b1a: direct index for structure (layout( offset=32) uniform bool)
-0:15                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:15            Construct bvec4 ( uniform 4-component vector of bool)
+0:15              b1a: direct index for structure ( uniform bool)
+0:15                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:15                Constant:
 0:15                  2 (const uint)
-0:15            b4b: direct index for structure (layout( offset=16) uniform 4-component vector of bool)
-0:15              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:15            b4b: direct index for structure ( uniform 4-component vector of bool)
+0:15              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:15              Constant:
 0:15                1 (const uint)
 0:16      Sequence
 0:16        move second child to first child ( temp 4-component vector of bool)
 0:16          'r11' ( temp 4-component vector of bool)
 0:16          logical-or ( temp 4-component vector of bool)
-0:16            Construct bvec4 (layout( offset=16) uniform 4-component vector of bool)
-0:16              b1a: direct index for structure (layout( offset=32) uniform bool)
-0:16                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:16            Construct bvec4 ( uniform 4-component vector of bool)
+0:16              b1a: direct index for structure ( uniform bool)
+0:16                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:16                Constant:
 0:16                  2 (const uint)
-0:16            b4b: direct index for structure (layout( offset=16) uniform 4-component vector of bool)
-0:16              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:16            b4b: direct index for structure ( uniform 4-component vector of bool)
+0:16              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:16              Constant:
 0:16                1 (const uint)
 0:18      Sequence
 0:18        move second child to first child ( temp 4-component vector of bool)
 0:18          'r20' ( temp 4-component vector of bool)
 0:18          logical-and ( temp 4-component vector of bool)
-0:18            b4a: direct index for structure (layout( offset=0) uniform 4-component vector of bool)
-0:18              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:18            b4a: direct index for structure ( uniform 4-component vector of bool)
+0:18              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:18              Constant:
 0:18                0 (const uint)
-0:18            Construct bvec4 (layout( offset=0) uniform 4-component vector of bool)
-0:18              b1b: direct index for structure (layout( offset=36) uniform bool)
-0:18                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:18            Construct bvec4 ( uniform 4-component vector of bool)
+0:18              b1b: direct index for structure ( uniform bool)
+0:18                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:18                Constant:
 0:18                  3 (const uint)
 0:19      Sequence
 0:19        move second child to first child ( temp 4-component vector of bool)
 0:19          'r21' ( temp 4-component vector of bool)
 0:19          logical-or ( temp 4-component vector of bool)
-0:19            b4a: direct index for structure (layout( offset=0) uniform 4-component vector of bool)
-0:19              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:19            b4a: direct index for structure ( uniform 4-component vector of bool)
+0:19              'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:19              Constant:
 0:19                0 (const uint)
-0:19            Construct bvec4 (layout( offset=0) uniform 4-component vector of bool)
-0:19              b1b: direct index for structure (layout( offset=36) uniform bool)
-0:19                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
+0:19            Construct bvec4 ( uniform 4-component vector of bool)
+0:19              b1b: direct index for structure ( uniform bool)
+0:19                'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:19                Constant:
 0:19                  3 (const uint)
 0:22      move second child to first child ( temp 4-component vector of float)
@@ -250,8 +250,8 @@ gl_FragCoord origin is upper left
 0:10            Constant:
 0:10              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of bool b4a,  uniform 4-component vector of bool b4b,  uniform bool b1a,  uniform bool b1b})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of bool b4a, layout( offset=16) uniform 4-component vector of bool b4b, layout( offset=32) uniform bool b1a, layout( offset=36) uniform bool b1b})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.logical.unary.frag.out b/Test/baseResults/hlsl.logical.unary.frag.out
index 2d45c447c908984a743d8f72a03ea848f257adf3..414879469dc5a7b69403b871b08236c557ca22ab 100644
--- a/Test/baseResults/hlsl.logical.unary.frag.out
+++ b/Test/baseResults/hlsl.logical.unary.frag.out
@@ -7,39 +7,39 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 0:13      Negate conditional ( temp bool)
 0:13        Convert int to bool ( temp bool)
-0:13          ival: direct index for structure (layout( offset=0) uniform int)
-0:13            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:13          ival: direct index for structure ( uniform int)
+0:13            'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:13            Constant:
 0:13              0 (const uint)
 0:14      Negate conditional ( temp 4-component vector of bool)
 0:14        Convert int to bool ( temp 4-component vector of bool)
-0:14          ival4: direct index for structure (layout( offset=16) uniform 4-component vector of int)
-0:14            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:14          ival4: direct index for structure ( uniform 4-component vector of int)
+0:14            'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:14            Constant:
 0:14              1 (const uint)
 0:16      Negate conditional ( temp bool)
 0:16        Convert float to bool ( temp bool)
-0:16          fval: direct index for structure (layout( offset=32) uniform float)
-0:16            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:16          fval: direct index for structure ( uniform float)
+0:16            'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:16            Constant:
 0:16              2 (const uint)
 0:17      Negate conditional ( temp 4-component vector of bool)
 0:17        Convert float to bool ( temp 4-component vector of bool)
-0:17          fval4: direct index for structure (layout( offset=48) uniform 4-component vector of float)
-0:17            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:17          fval4: direct index for structure ( uniform 4-component vector of float)
+0:17            'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:17            Constant:
 0:17              3 (const uint)
 0:19      Test condition and select ( temp void)
 0:19        Condition
-0:19        ival: direct index for structure (layout( offset=0) uniform int)
-0:19          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:19        ival: direct index for structure ( uniform int)
+0:19          'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:19          Constant:
 0:19            0 (const uint)
 0:19        true case is null
 0:20      Test condition and select ( temp void)
 0:20        Condition
-0:20        fval: direct index for structure (layout( offset=32) uniform float)
-0:20          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:20        fval: direct index for structure ( uniform float)
+0:20          'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:20          Constant:
 0:20            2 (const uint)
 0:20        true case is null
@@ -47,8 +47,8 @@ gl_FragCoord origin is upper left
 0:21        Condition
 0:21        Negate conditional ( temp bool)
 0:21          Convert int to bool ( temp bool)
-0:21            ival: direct index for structure (layout( offset=0) uniform int)
-0:21              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:21            ival: direct index for structure ( uniform int)
+0:21              'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:21              Constant:
 0:21                0 (const uint)
 0:21        true case is null
@@ -56,8 +56,8 @@ gl_FragCoord origin is upper left
 0:22        Condition
 0:22        Negate conditional ( temp bool)
 0:22          Convert float to bool ( temp bool)
-0:22            fval: direct index for structure (layout( offset=32) uniform float)
-0:22              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:22            fval: direct index for structure ( uniform float)
+0:22              'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:22              Constant:
 0:22                2 (const uint)
 0:22        true case is null
@@ -84,8 +84,8 @@ gl_FragCoord origin is upper left
 0:12            Constant:
 0:12              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
 
 
 Linked fragment stage:
@@ -99,39 +99,39 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 0:13      Negate conditional ( temp bool)
 0:13        Convert int to bool ( temp bool)
-0:13          ival: direct index for structure (layout( offset=0) uniform int)
-0:13            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:13          ival: direct index for structure ( uniform int)
+0:13            'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:13            Constant:
 0:13              0 (const uint)
 0:14      Negate conditional ( temp 4-component vector of bool)
 0:14        Convert int to bool ( temp 4-component vector of bool)
-0:14          ival4: direct index for structure (layout( offset=16) uniform 4-component vector of int)
-0:14            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:14          ival4: direct index for structure ( uniform 4-component vector of int)
+0:14            'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:14            Constant:
 0:14              1 (const uint)
 0:16      Negate conditional ( temp bool)
 0:16        Convert float to bool ( temp bool)
-0:16          fval: direct index for structure (layout( offset=32) uniform float)
-0:16            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:16          fval: direct index for structure ( uniform float)
+0:16            'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:16            Constant:
 0:16              2 (const uint)
 0:17      Negate conditional ( temp 4-component vector of bool)
 0:17        Convert float to bool ( temp 4-component vector of bool)
-0:17          fval4: direct index for structure (layout( offset=48) uniform 4-component vector of float)
-0:17            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:17          fval4: direct index for structure ( uniform 4-component vector of float)
+0:17            'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:17            Constant:
 0:17              3 (const uint)
 0:19      Test condition and select ( temp void)
 0:19        Condition
-0:19        ival: direct index for structure (layout( offset=0) uniform int)
-0:19          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:19        ival: direct index for structure ( uniform int)
+0:19          'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:19          Constant:
 0:19            0 (const uint)
 0:19        true case is null
 0:20      Test condition and select ( temp void)
 0:20        Condition
-0:20        fval: direct index for structure (layout( offset=32) uniform float)
-0:20          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:20        fval: direct index for structure ( uniform float)
+0:20          'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:20          Constant:
 0:20            2 (const uint)
 0:20        true case is null
@@ -139,8 +139,8 @@ gl_FragCoord origin is upper left
 0:21        Condition
 0:21        Negate conditional ( temp bool)
 0:21          Convert int to bool ( temp bool)
-0:21            ival: direct index for structure (layout( offset=0) uniform int)
-0:21              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:21            ival: direct index for structure ( uniform int)
+0:21              'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:21              Constant:
 0:21                0 (const uint)
 0:21        true case is null
@@ -148,8 +148,8 @@ gl_FragCoord origin is upper left
 0:22        Condition
 0:22        Negate conditional ( temp bool)
 0:22          Convert float to bool ( temp bool)
-0:22            fval: direct index for structure (layout( offset=32) uniform float)
-0:22              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
+0:22            fval: direct index for structure ( uniform float)
+0:22              'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:22              Constant:
 0:22                2 (const uint)
 0:22        true case is null
@@ -176,8 +176,8 @@ gl_FragCoord origin is upper left
 0:12            Constant:
 0:12              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int ival, layout( offset=16) uniform 4-component vector of int ival4, layout( offset=32) uniform float fval, layout( offset=48) uniform 4-component vector of float fval4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.matType.frag.out b/Test/baseResults/hlsl.matType.frag.out
index a4a435b8e0755a9e3d9121369bc97e4c466ef06e..ee40879880e8c39072312f3249e3ce20c5a0892d 100755
--- a/Test/baseResults/hlsl.matType.frag.out
+++ b/Test/baseResults/hlsl.matType.frag.out
@@ -10,7 +10,7 @@ gl_FragCoord origin is upper left
 0:10      Branch: Return with expression
 0:10        'inFloat1' ( in 1-component vector of float)
 0:?   Linker Objects
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 1-component vector of float f1, layout( offset=16) uniform 1X1 matrix of float fmat11, layout( offset=32) uniform 4X1 matrix of float fmat41, layout( offset=48) uniform 1X2 matrix of float fmat12, layout( offset=80) uniform 2X3 matrix of double dmat23, layout( offset=128) uniform 4X4 matrix of int int44})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 1-component vector of float f1,  uniform 1X1 matrix of float fmat11,  uniform 4X1 matrix of float fmat41,  uniform 1X2 matrix of float fmat12,  uniform 2X3 matrix of double dmat23,  uniform 4X4 matrix of int int44})
 
 
 Linked fragment stage:
@@ -28,7 +28,7 @@ gl_FragCoord origin is upper left
 0:10      Branch: Return with expression
 0:10        'inFloat1' ( in 1-component vector of float)
 0:?   Linker Objects
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 1-component vector of float f1, layout( offset=16) uniform 1X1 matrix of float fmat11, layout( offset=32) uniform 4X1 matrix of float fmat41, layout( offset=48) uniform 1X2 matrix of float fmat12, layout( offset=80) uniform 2X3 matrix of double dmat23, layout( offset=128) uniform 4X4 matrix of int int44})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 1-component vector of float f1,  uniform 1X1 matrix of float fmat11,  uniform 4X1 matrix of float fmat41,  uniform 1X2 matrix of float fmat12,  uniform 2X3 matrix of double dmat23,  uniform 4X4 matrix of int int44})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.matrixindex.frag.out b/Test/baseResults/hlsl.matrixindex.frag.out
index bd0e6673e77c50ae5f757c6034bfc9ad6eda54d3..6f2339c2fe454088466bd26d682da1cecb3ec616 100644
--- a/Test/baseResults/hlsl.matrixindex.frag.out
+++ b/Test/baseResults/hlsl.matrixindex.frag.out
@@ -94,20 +94,20 @@ gl_FragCoord origin is upper left
 0:43              23.000000
 0:43              24.000000
 0:43              25.000000
-0:43            idx: direct index for structure (layout( offset=0) uniform int)
-0:43              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int idx, layout( offset=16) uniform 3X2 matrix of float um})
+0:43            idx: direct index for structure ( uniform int)
+0:43              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
 0:43              Constant:
 0:43                0 (const uint)
 0:44      Sequence
 0:44        move second child to first child ( temp 2-component vector of float)
 0:44          'r0c' ( temp 2-component vector of float)
-0:44          indirect index (layout( offset=16) temp 2-component vector of float)
-0:44            um: direct index for structure (layout( offset=16) uniform 3X2 matrix of float)
-0:44              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int idx, layout( offset=16) uniform 3X2 matrix of float um})
+0:44          indirect index ( temp 2-component vector of float)
+0:44            um: direct index for structure ( uniform 3X2 matrix of float)
+0:44              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
 0:44              Constant:
 0:44                1 (const uint)
-0:44            idx: direct index for structure (layout( offset=0) uniform int)
-0:44              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int idx, layout( offset=16) uniform 3X2 matrix of float um})
+0:44            idx: direct index for structure ( uniform int)
+0:44              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
 0:44              Constant:
 0:44                0 (const uint)
 0:47      move second child to first child ( temp 4-component vector of float)
@@ -130,8 +130,8 @@ gl_FragCoord origin is upper left
 0:10            Constant:
 0:10              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int idx, layout( offset=16) uniform 3X2 matrix of float um})
 
 
 Linked fragment stage:
@@ -232,20 +232,20 @@ gl_FragCoord origin is upper left
 0:43              23.000000
 0:43              24.000000
 0:43              25.000000
-0:43            idx: direct index for structure (layout( offset=0) uniform int)
-0:43              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int idx, layout( offset=16) uniform 3X2 matrix of float um})
+0:43            idx: direct index for structure ( uniform int)
+0:43              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
 0:43              Constant:
 0:43                0 (const uint)
 0:44      Sequence
 0:44        move second child to first child ( temp 2-component vector of float)
 0:44          'r0c' ( temp 2-component vector of float)
-0:44          indirect index (layout( offset=16) temp 2-component vector of float)
-0:44            um: direct index for structure (layout( offset=16) uniform 3X2 matrix of float)
-0:44              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int idx, layout( offset=16) uniform 3X2 matrix of float um})
+0:44          indirect index ( temp 2-component vector of float)
+0:44            um: direct index for structure ( uniform 3X2 matrix of float)
+0:44              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
 0:44              Constant:
 0:44                1 (const uint)
-0:44            idx: direct index for structure (layout( offset=0) uniform int)
-0:44              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int idx, layout( offset=16) uniform 3X2 matrix of float um})
+0:44            idx: direct index for structure ( uniform int)
+0:44              'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
 0:44              Constant:
 0:44                0 (const uint)
 0:47      move second child to first child ( temp 4-component vector of float)
@@ -268,8 +268,8 @@ gl_FragCoord origin is upper left
 0:10            Constant:
 0:10              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int idx,  uniform 3X2 matrix of float um})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int idx, layout( offset=16) uniform 3X2 matrix of float um})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.mintypes.frag.out b/Test/baseResults/hlsl.mintypes.frag.out
index fbdae5dfe19166164c6abbe63e9c89ed6bdb319d..257d7e48b9faf801ffb376ff423817daac582472 100644
--- a/Test/baseResults/hlsl.mintypes.frag.out
+++ b/Test/baseResults/hlsl.mintypes.frag.out
@@ -43,8 +43,8 @@ gl_FragCoord origin is upper left
 0:9            Constant:
 0:9              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform mediump float b1a,  uniform mediump float b1b})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform mediump float b1a, layout( offset=4) uniform mediump float b1b})
 
 
 Linked fragment stage:
@@ -94,8 +94,8 @@ gl_FragCoord origin is upper left
 0:9            Constant:
 0:9              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform mediump float b1a,  uniform mediump float b1b})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform mediump float b1a, layout( offset=4) uniform mediump float b1b})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.params.default.frag.out b/Test/baseResults/hlsl.params.default.frag.out
index 4722810ebae4570c7ac3d228a4fff3a1a9ffded5..b8ddf0dde93a4b0e22102ee26941981672746ce1 100644
--- a/Test/baseResults/hlsl.params.default.frag.out
+++ b/Test/baseResults/hlsl.params.default.frag.out
@@ -100,8 +100,8 @@ gl_FragCoord origin is upper left
 0:43                          101 (const int)
 0:43                          101 (const int)
 0:43                          101 (const int)
-0:43                        ui4: direct index for structure (layout( offset=0) uniform 4-component vector of int)
-0:43                          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of int ui4})
+0:43                        ui4: direct index for structure ( uniform 4-component vector of int)
+0:43                          'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4})
 0:43                          Constant:
 0:43                            0 (const uint)
 0:15                        Constant:
@@ -115,8 +115,8 @@ gl_FragCoord origin is upper left
 0:44                        102 (const int)
 0:44                        102 (const int)
 0:44                        102 (const int)
-0:44                      ui4: direct index for structure (layout( offset=0) uniform 4-component vector of int)
-0:44                        'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of int ui4})
+0:44                      ui4: direct index for structure ( uniform 4-component vector of int)
+0:44                        'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4})
 0:44                        Constant:
 0:44                          0 (const uint)
 0:44                      'myarray' ( temp 2-element array of int)
@@ -128,8 +128,8 @@ gl_FragCoord origin is upper left
 0:45                      103 (const int)
 0:45                      103 (const int)
 0:45                      103 (const int)
-0:45                    ui4: direct index for structure (layout( offset=0) uniform 4-component vector of int)
-0:45                      'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of int ui4})
+0:45                    ui4: direct index for structure ( uniform 4-component vector of int)
+0:45                      'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4})
 0:45                      Constant:
 0:45                        0 (const uint)
 0:45                    'myarray' ( temp 2-element array of int)
@@ -178,11 +178,11 @@ gl_FragCoord origin is upper left
 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of int)
 0:36        Function Call: @main( ( temp 4-component vector of int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4})
 0:?     'cia' ( const int)
 0:?       -4 (const int)
 0:?     'cib' ( const int)
 0:?       -42 (const int)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of int ui4})
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of int)
 
 
@@ -290,8 +290,8 @@ gl_FragCoord origin is upper left
 0:43                          101 (const int)
 0:43                          101 (const int)
 0:43                          101 (const int)
-0:43                        ui4: direct index for structure (layout( offset=0) uniform 4-component vector of int)
-0:43                          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of int ui4})
+0:43                        ui4: direct index for structure ( uniform 4-component vector of int)
+0:43                          'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4})
 0:43                          Constant:
 0:43                            0 (const uint)
 0:15                        Constant:
@@ -305,8 +305,8 @@ gl_FragCoord origin is upper left
 0:44                        102 (const int)
 0:44                        102 (const int)
 0:44                        102 (const int)
-0:44                      ui4: direct index for structure (layout( offset=0) uniform 4-component vector of int)
-0:44                        'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of int ui4})
+0:44                      ui4: direct index for structure ( uniform 4-component vector of int)
+0:44                        'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4})
 0:44                        Constant:
 0:44                          0 (const uint)
 0:44                      'myarray' ( temp 2-element array of int)
@@ -318,8 +318,8 @@ gl_FragCoord origin is upper left
 0:45                      103 (const int)
 0:45                      103 (const int)
 0:45                      103 (const int)
-0:45                    ui4: direct index for structure (layout( offset=0) uniform 4-component vector of int)
-0:45                      'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of int ui4})
+0:45                    ui4: direct index for structure ( uniform 4-component vector of int)
+0:45                      'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4})
 0:45                      Constant:
 0:45                        0 (const uint)
 0:45                    'myarray' ( temp 2-element array of int)
@@ -368,11 +368,11 @@ gl_FragCoord origin is upper left
 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of int)
 0:36        Function Call: @main( ( temp 4-component vector of int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4})
 0:?     'cia' ( const int)
 0:?       -4 (const int)
 0:?     'cib' ( const int)
 0:?       -42 (const int)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of int ui4})
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of int)
 
 // Module Version 10000
diff --git a/Test/baseResults/hlsl.params.default.negative.frag.out b/Test/baseResults/hlsl.params.default.negative.frag.out
index 44382fdb2a590a38c845b9a50477220a3063bee1..219e920a71c0b507b87d0a7f558c01128ecd0311 100644
--- a/Test/baseResults/hlsl.params.default.negative.frag.out
+++ b/Test/baseResults/hlsl.params.default.negative.frag.out
@@ -101,8 +101,8 @@ ERROR: node is still EOpNull!
 0:41                            101 (const int)
 0:41                            101 (const int)
 0:41                            101 (const int)
-0:41                          ui4: direct index for structure (layout( offset=0) uniform 4-component vector of int)
-0:41                            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of int ui4, layout( offset=16) uniform float ufvar})
+0:41                          ui4: direct index for structure ( uniform 4-component vector of int)
+0:41                            'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4,  uniform float ufvar})
 0:41                            Constant:
 0:41                              0 (const uint)
 0:15                          Constant:
@@ -116,8 +116,8 @@ ERROR: node is still EOpNull!
 0:42                          102 (const int)
 0:42                          102 (const int)
 0:42                          102 (const int)
-0:42                        ui4: direct index for structure (layout( offset=0) uniform 4-component vector of int)
-0:42                          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of int ui4, layout( offset=16) uniform float ufvar})
+0:42                        ui4: direct index for structure ( uniform 4-component vector of int)
+0:42                          'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4,  uniform float ufvar})
 0:42                          Constant:
 0:42                            0 (const uint)
 0:42                        'myarray' ( temp 2-element array of int)
@@ -129,8 +129,8 @@ ERROR: node is still EOpNull!
 0:43                        103 (const int)
 0:43                        103 (const int)
 0:43                        103 (const int)
-0:43                      ui4: direct index for structure (layout( offset=0) uniform 4-component vector of int)
-0:43                        'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of int ui4, layout( offset=16) uniform float ufvar})
+0:43                      ui4: direct index for structure ( uniform 4-component vector of int)
+0:43                        'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4,  uniform float ufvar})
 0:43                        Constant:
 0:43                          0 (const uint)
 0:43                      'myarray' ( temp 2-element array of int)
@@ -185,11 +185,11 @@ ERROR: node is still EOpNull!
 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of int)
 0:37        Function Call: @main( ( temp 4-component vector of int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4,  uniform float ufvar})
 0:?     'cia' ( const int)
 0:?       -4 (const int)
 0:?     'cib' ( const int)
 0:?       -42 (const int)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of int ui4, layout( offset=16) uniform float ufvar})
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of int)
 
 
@@ -291,8 +291,8 @@ ERROR: node is still EOpNull!
 0:41                            101 (const int)
 0:41                            101 (const int)
 0:41                            101 (const int)
-0:41                          ui4: direct index for structure (layout( offset=0) uniform 4-component vector of int)
-0:41                            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of int ui4, layout( offset=16) uniform float ufvar})
+0:41                          ui4: direct index for structure ( uniform 4-component vector of int)
+0:41                            'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4,  uniform float ufvar})
 0:41                            Constant:
 0:41                              0 (const uint)
 0:15                          Constant:
@@ -306,8 +306,8 @@ ERROR: node is still EOpNull!
 0:42                          102 (const int)
 0:42                          102 (const int)
 0:42                          102 (const int)
-0:42                        ui4: direct index for structure (layout( offset=0) uniform 4-component vector of int)
-0:42                          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of int ui4, layout( offset=16) uniform float ufvar})
+0:42                        ui4: direct index for structure ( uniform 4-component vector of int)
+0:42                          'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4,  uniform float ufvar})
 0:42                          Constant:
 0:42                            0 (const uint)
 0:42                        'myarray' ( temp 2-element array of int)
@@ -319,8 +319,8 @@ ERROR: node is still EOpNull!
 0:43                        103 (const int)
 0:43                        103 (const int)
 0:43                        103 (const int)
-0:43                      ui4: direct index for structure (layout( offset=0) uniform 4-component vector of int)
-0:43                        'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of int ui4, layout( offset=16) uniform float ufvar})
+0:43                      ui4: direct index for structure ( uniform 4-component vector of int)
+0:43                        'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4,  uniform float ufvar})
 0:43                        Constant:
 0:43                          0 (const uint)
 0:43                      'myarray' ( temp 2-element array of int)
@@ -375,11 +375,11 @@ ERROR: node is still EOpNull!
 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of int)
 0:37        Function Call: @main( ( temp 4-component vector of int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of int ui4,  uniform float ufvar})
 0:?     'cia' ( const int)
 0:?       -4 (const int)
 0:?     'cib' ( const int)
 0:?       -42 (const int)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of int ui4, layout( offset=16) uniform float ufvar})
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of int)
 
 SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/hlsl.promote.binary.frag.out b/Test/baseResults/hlsl.promote.binary.frag.out
index 358e221681b843789cbefa47f2e6a8753bf86c08..34a46f9865caaf167f1ea4450efcd6e1734c1a2d 100644
--- a/Test/baseResults/hlsl.promote.binary.frag.out
+++ b/Test/baseResults/hlsl.promote.binary.frag.out
@@ -7,42 +7,42 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 0:15      mod ( temp float)
 0:15        Convert int to float ( temp float)
-0:15          ival: direct index for structure (layout( offset=32) uniform int)
-0:15            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:15          ival: direct index for structure ( uniform int)
+0:15            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:15            Constant:
 0:15              2 (const uint)
-0:15        fval: direct index for structure (layout( offset=64) uniform float)
-0:15          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:15        fval: direct index for structure ( uniform float)
+0:15          'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:15          Constant:
 0:15            4 (const uint)
 0:16      mod ( temp 4-component vector of float)
 0:16        Convert int to float ( temp 4-component vector of float)
-0:16          ival4: direct index for structure (layout( offset=48) uniform 4-component vector of int)
-0:16            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:16          ival4: direct index for structure ( uniform 4-component vector of int)
+0:16            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:16            Constant:
 0:16              3 (const uint)
-0:16        fval4: direct index for structure (layout( offset=80) uniform 4-component vector of float)
-0:16          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:16        fval4: direct index for structure ( uniform 4-component vector of float)
+0:16          'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:16          Constant:
 0:16            5 (const uint)
 0:18      mod ( temp float)
 0:18        Convert bool to float ( temp float)
-0:18          bval: direct index for structure (layout( offset=0) uniform bool)
-0:18            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:18          bval: direct index for structure ( uniform bool)
+0:18            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:18            Constant:
 0:18              0 (const uint)
-0:18        fval: direct index for structure (layout( offset=64) uniform float)
-0:18          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:18        fval: direct index for structure ( uniform float)
+0:18          'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:18          Constant:
 0:18            4 (const uint)
 0:19      mod ( temp 4-component vector of float)
 0:19        Convert bool to float ( temp 4-component vector of float)
-0:19          bval4: direct index for structure (layout( offset=16) uniform 4-component vector of bool)
-0:19            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:19          bval4: direct index for structure ( uniform 4-component vector of bool)
+0:19            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:19            Constant:
 0:19              1 (const uint)
-0:19        fval4: direct index for structure (layout( offset=80) uniform 4-component vector of float)
-0:19          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:19        fval4: direct index for structure ( uniform 4-component vector of float)
+0:19          'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:19          Constant:
 0:19            5 (const uint)
 0:21      Sequence
@@ -53,8 +53,8 @@ gl_FragCoord origin is upper left
 0:22      mod second child into first child ( temp int)
 0:22        'l_int' ( temp int)
 0:22        Convert float to int ( temp int)
-0:22          fval: direct index for structure (layout( offset=64) uniform float)
-0:22            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:22          fval: direct index for structure ( uniform float)
+0:22            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:22            Constant:
 0:22              4 (const uint)
 0:25      move second child to first child ( temp 4-component vector of float)
@@ -80,8 +80,8 @@ gl_FragCoord origin is upper left
 0:14            Constant:
 0:14              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
 
 
 Linked fragment stage:
@@ -95,42 +95,42 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 0:15      mod ( temp float)
 0:15        Convert int to float ( temp float)
-0:15          ival: direct index for structure (layout( offset=32) uniform int)
-0:15            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:15          ival: direct index for structure ( uniform int)
+0:15            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:15            Constant:
 0:15              2 (const uint)
-0:15        fval: direct index for structure (layout( offset=64) uniform float)
-0:15          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:15        fval: direct index for structure ( uniform float)
+0:15          'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:15          Constant:
 0:15            4 (const uint)
 0:16      mod ( temp 4-component vector of float)
 0:16        Convert int to float ( temp 4-component vector of float)
-0:16          ival4: direct index for structure (layout( offset=48) uniform 4-component vector of int)
-0:16            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:16          ival4: direct index for structure ( uniform 4-component vector of int)
+0:16            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:16            Constant:
 0:16              3 (const uint)
-0:16        fval4: direct index for structure (layout( offset=80) uniform 4-component vector of float)
-0:16          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:16        fval4: direct index for structure ( uniform 4-component vector of float)
+0:16          'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:16          Constant:
 0:16            5 (const uint)
 0:18      mod ( temp float)
 0:18        Convert bool to float ( temp float)
-0:18          bval: direct index for structure (layout( offset=0) uniform bool)
-0:18            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:18          bval: direct index for structure ( uniform bool)
+0:18            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:18            Constant:
 0:18              0 (const uint)
-0:18        fval: direct index for structure (layout( offset=64) uniform float)
-0:18          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:18        fval: direct index for structure ( uniform float)
+0:18          'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:18          Constant:
 0:18            4 (const uint)
 0:19      mod ( temp 4-component vector of float)
 0:19        Convert bool to float ( temp 4-component vector of float)
-0:19          bval4: direct index for structure (layout( offset=16) uniform 4-component vector of bool)
-0:19            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:19          bval4: direct index for structure ( uniform 4-component vector of bool)
+0:19            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:19            Constant:
 0:19              1 (const uint)
-0:19        fval4: direct index for structure (layout( offset=80) uniform 4-component vector of float)
-0:19          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:19        fval4: direct index for structure ( uniform 4-component vector of float)
+0:19          'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:19          Constant:
 0:19            5 (const uint)
 0:21      Sequence
@@ -141,8 +141,8 @@ gl_FragCoord origin is upper left
 0:22      mod second child into first child ( temp int)
 0:22        'l_int' ( temp int)
 0:22        Convert float to int ( temp int)
-0:22          fval: direct index for structure (layout( offset=64) uniform float)
-0:22            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
+0:22          fval: direct index for structure ( uniform float)
+0:22            'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:22            Constant:
 0:22              4 (const uint)
 0:25      move second child to first child ( temp 4-component vector of float)
@@ -168,8 +168,8 @@ gl_FragCoord origin is upper left
 0:14            Constant:
 0:14              0 (const int)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform bool bval,  uniform 4-component vector of bool bval4,  uniform int ival,  uniform 4-component vector of int ival4,  uniform float fval,  uniform 4-component vector of float fval4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform bool bval, layout( offset=16) uniform 4-component vector of bool bval4, layout( offset=32) uniform int ival, layout( offset=48) uniform 4-component vector of int ival4, layout( offset=64) uniform float fval, layout( offset=80) uniform 4-component vector of float fval4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.promotions.frag.out b/Test/baseResults/hlsl.promotions.frag.out
index 3fbbbfe7c4863c5021b27f71f47dcad9ef3fb1fe..d955195db823f87cd92e8011c4505b243fd0007d 100644
--- a/Test/baseResults/hlsl.promotions.frag.out
+++ b/Test/baseResults/hlsl.promotions.frag.out
@@ -24,14 +24,14 @@ gl_FragCoord origin is upper left
 0:26      move second child to first child ( temp 3-component vector of float)
 0:26        'p' ( out 3-component vector of float)
 0:26        Convert int to float ( temp 3-component vector of float)
-0:26          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:26            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:26          i3: direct index for structure ( uniform 3-component vector of int)
+0:26            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:26            Constant:
 0:26              0 (const uint)
 0:26      Branch: Return with expression
 0:26        Convert int to float ( temp 3-component vector of float)
-0:26          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:26            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:26          i3: direct index for structure ( uniform 3-component vector of int)
+0:26            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:26            Constant:
 0:26              0 (const uint)
 0:27  Function Definition: Fn_R_F3U(vf3; ( temp 3-component vector of float)
@@ -41,14 +41,14 @@ gl_FragCoord origin is upper left
 0:27      move second child to first child ( temp 3-component vector of float)
 0:27        'p' ( out 3-component vector of float)
 0:27        Convert uint to float ( temp 3-component vector of float)
-0:27          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:27            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:27          u3: direct index for structure ( uniform 3-component vector of uint)
+0:27            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:27            Constant:
 0:27              3 (const uint)
 0:27      Branch: Return with expression
 0:27        Convert uint to float ( temp 3-component vector of float)
-0:27          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:27            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:27          u3: direct index for structure ( uniform 3-component vector of uint)
+0:27            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:27            Constant:
 0:27              3 (const uint)
 0:28  Function Definition: Fn_R_F3B(vf3; ( temp 3-component vector of float)
@@ -58,14 +58,14 @@ gl_FragCoord origin is upper left
 0:28      move second child to first child ( temp 3-component vector of float)
 0:28        'p' ( out 3-component vector of float)
 0:28        Convert bool to float ( temp 3-component vector of float)
-0:28          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:28            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:28          b3: direct index for structure ( uniform 3-component vector of bool)
+0:28            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:28            Constant:
 0:28              1 (const uint)
 0:28      Branch: Return with expression
 0:28        Convert bool to float ( temp 3-component vector of float)
-0:28          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:28            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:28          b3: direct index for structure ( uniform 3-component vector of bool)
+0:28            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:28            Constant:
 0:28              1 (const uint)
 0:29  Function Definition: Fn_R_F3D(vf3; ( temp 3-component vector of float)
@@ -75,14 +75,14 @@ gl_FragCoord origin is upper left
 0:29      move second child to first child ( temp 3-component vector of float)
 0:29        'p' ( out 3-component vector of float)
 0:29        Convert double to float ( temp 3-component vector of float)
-0:29          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:29            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:29          d3: direct index for structure ( uniform 3-component vector of double)
+0:29            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:29            Constant:
 0:29              4 (const uint)
 0:29      Branch: Return with expression
 0:29        Convert double to float ( temp 3-component vector of float)
-0:29          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:29            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:29          d3: direct index for structure ( uniform 3-component vector of double)
+0:29            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:29            Constant:
 0:29              4 (const uint)
 0:31  Function Definition: Fn_R_I3U(vi3; ( temp 3-component vector of int)
@@ -92,14 +92,14 @@ gl_FragCoord origin is upper left
 0:31      move second child to first child ( temp 3-component vector of int)
 0:31        'p' ( out 3-component vector of int)
 0:31        Convert uint to int ( temp 3-component vector of int)
-0:31          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:31            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:31          u3: direct index for structure ( uniform 3-component vector of uint)
+0:31            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:31            Constant:
 0:31              3 (const uint)
 0:31      Branch: Return with expression
 0:31        Convert uint to int ( temp 3-component vector of int)
-0:31          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:31            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:31          u3: direct index for structure ( uniform 3-component vector of uint)
+0:31            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:31            Constant:
 0:31              3 (const uint)
 0:32  Function Definition: Fn_R_I3B(vi3; ( temp 3-component vector of int)
@@ -109,14 +109,14 @@ gl_FragCoord origin is upper left
 0:32      move second child to first child ( temp 3-component vector of int)
 0:32        'p' ( out 3-component vector of int)
 0:32        Convert bool to int ( temp 3-component vector of int)
-0:32          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:32            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:32          b3: direct index for structure ( uniform 3-component vector of bool)
+0:32            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:32            Constant:
 0:32              1 (const uint)
 0:32      Branch: Return with expression
 0:32        Convert bool to int ( temp 3-component vector of int)
-0:32          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:32            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:32          b3: direct index for structure ( uniform 3-component vector of bool)
+0:32            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:32            Constant:
 0:32              1 (const uint)
 0:33  Function Definition: Fn_R_I3F(vi3; ( temp 3-component vector of int)
@@ -126,14 +126,14 @@ gl_FragCoord origin is upper left
 0:33      move second child to first child ( temp 3-component vector of int)
 0:33        'p' ( out 3-component vector of int)
 0:33        Convert float to int ( temp 3-component vector of int)
-0:33          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:33            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:33          f3: direct index for structure ( uniform 3-component vector of float)
+0:33            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:33            Constant:
 0:33              2 (const uint)
 0:33      Branch: Return with expression
 0:33        Convert float to int ( temp 3-component vector of int)
-0:33          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:33            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:33          f3: direct index for structure ( uniform 3-component vector of float)
+0:33            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:33            Constant:
 0:33              2 (const uint)
 0:34  Function Definition: Fn_R_I3D(vi3; ( temp 3-component vector of int)
@@ -143,14 +143,14 @@ gl_FragCoord origin is upper left
 0:34      move second child to first child ( temp 3-component vector of int)
 0:34        'p' ( out 3-component vector of int)
 0:34        Convert double to int ( temp 3-component vector of int)
-0:34          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:34            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:34          d3: direct index for structure ( uniform 3-component vector of double)
+0:34            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:34            Constant:
 0:34              4 (const uint)
 0:34      Branch: Return with expression
 0:34        Convert double to int ( temp 3-component vector of int)
-0:34          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:34            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:34          d3: direct index for structure ( uniform 3-component vector of double)
+0:34            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:34            Constant:
 0:34              4 (const uint)
 0:36  Function Definition: Fn_R_U3I(vu3; ( temp 3-component vector of uint)
@@ -160,14 +160,14 @@ gl_FragCoord origin is upper left
 0:36      move second child to first child ( temp 3-component vector of uint)
 0:36        'p' ( out 3-component vector of uint)
 0:36        Convert int to uint ( temp 3-component vector of uint)
-0:36          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:36            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:36          i3: direct index for structure ( uniform 3-component vector of int)
+0:36            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:36            Constant:
 0:36              0 (const uint)
 0:36      Branch: Return with expression
 0:36        Convert int to uint ( temp 3-component vector of uint)
-0:36          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:36            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:36          i3: direct index for structure ( uniform 3-component vector of int)
+0:36            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:36            Constant:
 0:36              0 (const uint)
 0:37  Function Definition: Fn_R_U3F(vu3; ( temp 3-component vector of uint)
@@ -177,14 +177,14 @@ gl_FragCoord origin is upper left
 0:37      move second child to first child ( temp 3-component vector of uint)
 0:37        'p' ( out 3-component vector of uint)
 0:37        Convert float to uint ( temp 3-component vector of uint)
-0:37          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:37            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:37          f3: direct index for structure ( uniform 3-component vector of float)
+0:37            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:37            Constant:
 0:37              2 (const uint)
 0:37      Branch: Return with expression
 0:37        Convert float to uint ( temp 3-component vector of uint)
-0:37          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:37            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:37          f3: direct index for structure ( uniform 3-component vector of float)
+0:37            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:37            Constant:
 0:37              2 (const uint)
 0:38  Function Definition: Fn_R_U3B(vu3; ( temp 3-component vector of uint)
@@ -194,14 +194,14 @@ gl_FragCoord origin is upper left
 0:38      move second child to first child ( temp 3-component vector of uint)
 0:38        'p' ( out 3-component vector of uint)
 0:38        Convert bool to uint ( temp 3-component vector of uint)
-0:38          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:38            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:38          b3: direct index for structure ( uniform 3-component vector of bool)
+0:38            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:38            Constant:
 0:38              1 (const uint)
 0:38      Branch: Return with expression
 0:38        Convert bool to uint ( temp 3-component vector of uint)
-0:38          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:38            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:38          b3: direct index for structure ( uniform 3-component vector of bool)
+0:38            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:38            Constant:
 0:38              1 (const uint)
 0:39  Function Definition: Fn_R_U3D(vu3; ( temp 3-component vector of uint)
@@ -211,14 +211,14 @@ gl_FragCoord origin is upper left
 0:39      move second child to first child ( temp 3-component vector of uint)
 0:39        'p' ( out 3-component vector of uint)
 0:39        Convert double to uint ( temp 3-component vector of uint)
-0:39          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:39            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:39          d3: direct index for structure ( uniform 3-component vector of double)
+0:39            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:39            Constant:
 0:39              4 (const uint)
 0:39      Branch: Return with expression
 0:39        Convert double to uint ( temp 3-component vector of uint)
-0:39          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:39            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:39          d3: direct index for structure ( uniform 3-component vector of double)
+0:39            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:39            Constant:
 0:39              4 (const uint)
 0:41  Function Definition: Fn_R_B3I(vb3; ( temp 3-component vector of bool)
@@ -228,14 +228,14 @@ gl_FragCoord origin is upper left
 0:41      move second child to first child ( temp 3-component vector of bool)
 0:41        'p' ( out 3-component vector of bool)
 0:41        Convert int to bool ( temp 3-component vector of bool)
-0:41          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:41            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:41          i3: direct index for structure ( uniform 3-component vector of int)
+0:41            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:41            Constant:
 0:41              0 (const uint)
 0:41      Branch: Return with expression
 0:41        Convert int to bool ( temp 3-component vector of bool)
-0:41          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:41            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:41          i3: direct index for structure ( uniform 3-component vector of int)
+0:41            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:41            Constant:
 0:41              0 (const uint)
 0:42  Function Definition: Fn_R_B3U(vb3; ( temp 3-component vector of bool)
@@ -245,14 +245,14 @@ gl_FragCoord origin is upper left
 0:42      move second child to first child ( temp 3-component vector of bool)
 0:42        'p' ( out 3-component vector of bool)
 0:42        Convert uint to bool ( temp 3-component vector of bool)
-0:42          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:42            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:42          u3: direct index for structure ( uniform 3-component vector of uint)
+0:42            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:42            Constant:
 0:42              3 (const uint)
 0:42      Branch: Return with expression
 0:42        Convert uint to bool ( temp 3-component vector of bool)
-0:42          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:42            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:42          u3: direct index for structure ( uniform 3-component vector of uint)
+0:42            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:42            Constant:
 0:42              3 (const uint)
 0:43  Function Definition: Fn_R_B3F(vb3; ( temp 3-component vector of bool)
@@ -262,14 +262,14 @@ gl_FragCoord origin is upper left
 0:43      move second child to first child ( temp 3-component vector of bool)
 0:43        'p' ( out 3-component vector of bool)
 0:43        Convert float to bool ( temp 3-component vector of bool)
-0:43          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:43            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:43          f3: direct index for structure ( uniform 3-component vector of float)
+0:43            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:43            Constant:
 0:43              2 (const uint)
 0:43      Branch: Return with expression
 0:43        Convert float to bool ( temp 3-component vector of bool)
-0:43          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:43            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:43          f3: direct index for structure ( uniform 3-component vector of float)
+0:43            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:43            Constant:
 0:43              2 (const uint)
 0:44  Function Definition: Fn_R_B3D(vb3; ( temp 3-component vector of bool)
@@ -279,14 +279,14 @@ gl_FragCoord origin is upper left
 0:44      move second child to first child ( temp 3-component vector of bool)
 0:44        'p' ( out 3-component vector of bool)
 0:44        Convert double to bool ( temp 3-component vector of bool)
-0:44          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:44            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:44          d3: direct index for structure ( uniform 3-component vector of double)
+0:44            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:44            Constant:
 0:44              4 (const uint)
 0:44      Branch: Return with expression
 0:44        Convert double to bool ( temp 3-component vector of bool)
-0:44          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:44            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:44          d3: direct index for structure ( uniform 3-component vector of double)
+0:44            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:44            Constant:
 0:44              4 (const uint)
 0:46  Function Definition: Fn_R_D3I(vd3; ( temp 3-component vector of double)
@@ -296,14 +296,14 @@ gl_FragCoord origin is upper left
 0:46      move second child to first child ( temp 3-component vector of double)
 0:46        'p' ( out 3-component vector of double)
 0:46        Convert int to double ( temp 3-component vector of double)
-0:46          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:46            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:46          i3: direct index for structure ( uniform 3-component vector of int)
+0:46            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:46            Constant:
 0:46              0 (const uint)
 0:46      Branch: Return with expression
 0:46        Convert int to double ( temp 3-component vector of double)
-0:46          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:46            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:46          i3: direct index for structure ( uniform 3-component vector of int)
+0:46            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:46            Constant:
 0:46              0 (const uint)
 0:47  Function Definition: Fn_R_D3U(vd3; ( temp 3-component vector of double)
@@ -313,14 +313,14 @@ gl_FragCoord origin is upper left
 0:47      move second child to first child ( temp 3-component vector of double)
 0:47        'p' ( out 3-component vector of double)
 0:47        Convert uint to double ( temp 3-component vector of double)
-0:47          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:47            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:47          u3: direct index for structure ( uniform 3-component vector of uint)
+0:47            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:47            Constant:
 0:47              3 (const uint)
 0:47      Branch: Return with expression
 0:47        Convert uint to double ( temp 3-component vector of double)
-0:47          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:47            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:47          u3: direct index for structure ( uniform 3-component vector of uint)
+0:47            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:47            Constant:
 0:47              3 (const uint)
 0:48  Function Definition: Fn_R_D3B(vd3; ( temp 3-component vector of double)
@@ -330,14 +330,14 @@ gl_FragCoord origin is upper left
 0:48      move second child to first child ( temp 3-component vector of double)
 0:48        'p' ( out 3-component vector of double)
 0:48        Convert bool to double ( temp 3-component vector of double)
-0:48          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:48            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:48          b3: direct index for structure ( uniform 3-component vector of bool)
+0:48            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:48            Constant:
 0:48              1 (const uint)
 0:48      Branch: Return with expression
 0:48        Convert bool to double ( temp 3-component vector of double)
-0:48          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:48            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:48          b3: direct index for structure ( uniform 3-component vector of bool)
+0:48            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:48            Constant:
 0:48              1 (const uint)
 0:49  Function Definition: Fn_R_D3F(vd3; ( temp 3-component vector of double)
@@ -347,14 +347,14 @@ gl_FragCoord origin is upper left
 0:49      move second child to first child ( temp 3-component vector of double)
 0:49        'p' ( out 3-component vector of double)
 0:49        Convert float to double ( temp 3-component vector of double)
-0:49          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:49            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:49          f3: direct index for structure ( uniform 3-component vector of float)
+0:49            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:49            Constant:
 0:49              2 (const uint)
 0:49      Branch: Return with expression
 0:49        Convert float to double ( temp 3-component vector of double)
-0:49          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:49            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:49          f3: direct index for structure ( uniform 3-component vector of float)
+0:49            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:49            Constant:
 0:49              2 (const uint)
 0:52  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
@@ -364,384 +364,384 @@ gl_FragCoord origin is upper left
 0:54        move second child to first child ( temp 3-component vector of float)
 0:54          'r00' ( temp 3-component vector of float)
 0:54          Convert int to float ( temp 3-component vector of float)
-0:54            i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:54              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:54            i3: direct index for structure ( uniform 3-component vector of int)
+0:54              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:54              Constant:
 0:54                0 (const uint)
 0:55      Sequence
 0:55        move second child to first child ( temp 3-component vector of float)
 0:55          'r01' ( temp 3-component vector of float)
 0:55          Convert bool to float ( temp 3-component vector of float)
-0:55            b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:55              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:55            b3: direct index for structure ( uniform 3-component vector of bool)
+0:55              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:55              Constant:
 0:55                1 (const uint)
 0:56      Sequence
 0:56        move second child to first child ( temp 3-component vector of float)
 0:56          'r02' ( temp 3-component vector of float)
 0:56          Convert uint to float ( temp 3-component vector of float)
-0:56            u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:56              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:56            u3: direct index for structure ( uniform 3-component vector of uint)
+0:56              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:56              Constant:
 0:56                3 (const uint)
 0:57      Sequence
 0:57        move second child to first child ( temp 3-component vector of float)
 0:57          'r03' ( temp 3-component vector of float)
 0:57          Convert double to float ( temp 3-component vector of float)
-0:57            d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:57              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:57            d3: direct index for structure ( uniform 3-component vector of double)
+0:57              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:57              Constant:
 0:57                4 (const uint)
 0:59      Sequence
 0:59        move second child to first child ( temp 3-component vector of int)
 0:59          'r10' ( temp 3-component vector of int)
 0:59          Convert bool to int ( temp 3-component vector of int)
-0:59            b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:59              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:59            b3: direct index for structure ( uniform 3-component vector of bool)
+0:59              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:59              Constant:
 0:59                1 (const uint)
 0:60      Sequence
 0:60        move second child to first child ( temp 3-component vector of int)
 0:60          'r11' ( temp 3-component vector of int)
 0:60          Convert uint to int ( temp 3-component vector of int)
-0:60            u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:60              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:60            u3: direct index for structure ( uniform 3-component vector of uint)
+0:60              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:60              Constant:
 0:60                3 (const uint)
 0:61      Sequence
 0:61        move second child to first child ( temp 3-component vector of int)
 0:61          'r12' ( temp 3-component vector of int)
 0:61          Convert float to int ( temp 3-component vector of int)
-0:61            f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:61              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:61            f3: direct index for structure ( uniform 3-component vector of float)
+0:61              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:61              Constant:
 0:61                2 (const uint)
 0:62      Sequence
 0:62        move second child to first child ( temp 3-component vector of int)
 0:62          'r13' ( temp 3-component vector of int)
 0:62          Convert double to int ( temp 3-component vector of int)
-0:62            d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:62              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:62            d3: direct index for structure ( uniform 3-component vector of double)
+0:62              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:62              Constant:
 0:62                4 (const uint)
 0:64      Sequence
 0:64        move second child to first child ( temp 3-component vector of uint)
 0:64          'r20' ( temp 3-component vector of uint)
 0:64          Convert bool to uint ( temp 3-component vector of uint)
-0:64            b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:64              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:64            b3: direct index for structure ( uniform 3-component vector of bool)
+0:64              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:64              Constant:
 0:64                1 (const uint)
 0:65      Sequence
 0:65        move second child to first child ( temp 3-component vector of uint)
 0:65          'r21' ( temp 3-component vector of uint)
 0:65          Convert int to uint ( temp 3-component vector of uint)
-0:65            i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:65              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:65            i3: direct index for structure ( uniform 3-component vector of int)
+0:65              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:65              Constant:
 0:65                0 (const uint)
 0:66      Sequence
 0:66        move second child to first child ( temp 3-component vector of uint)
 0:66          'r22' ( temp 3-component vector of uint)
 0:66          Convert float to uint ( temp 3-component vector of uint)
-0:66            f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:66              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:66            f3: direct index for structure ( uniform 3-component vector of float)
+0:66              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:66              Constant:
 0:66                2 (const uint)
 0:67      Sequence
 0:67        move second child to first child ( temp 3-component vector of uint)
 0:67          'r23' ( temp 3-component vector of uint)
 0:67          Convert double to uint ( temp 3-component vector of uint)
-0:67            d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:67              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:67            d3: direct index for structure ( uniform 3-component vector of double)
+0:67              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:67              Constant:
 0:67                4 (const uint)
 0:69      Sequence
 0:69        move second child to first child ( temp 3-component vector of bool)
 0:69          'r30' ( temp 3-component vector of bool)
 0:69          Convert int to bool ( temp 3-component vector of bool)
-0:69            i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:69              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:69            i3: direct index for structure ( uniform 3-component vector of int)
+0:69              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:69              Constant:
 0:69                0 (const uint)
 0:70      Sequence
 0:70        move second child to first child ( temp 3-component vector of bool)
 0:70          'r31' ( temp 3-component vector of bool)
 0:70          Convert uint to bool ( temp 3-component vector of bool)
-0:70            u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:70              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:70            u3: direct index for structure ( uniform 3-component vector of uint)
+0:70              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:70              Constant:
 0:70                3 (const uint)
 0:71      Sequence
 0:71        move second child to first child ( temp 3-component vector of bool)
 0:71          'r32' ( temp 3-component vector of bool)
 0:71          Convert float to bool ( temp 3-component vector of bool)
-0:71            f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:71              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:71            f3: direct index for structure ( uniform 3-component vector of float)
+0:71              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:71              Constant:
 0:71                2 (const uint)
 0:72      Sequence
 0:72        move second child to first child ( temp 3-component vector of bool)
 0:72          'r33' ( temp 3-component vector of bool)
 0:72          Convert double to bool ( temp 3-component vector of bool)
-0:72            d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:72              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:72            d3: direct index for structure ( uniform 3-component vector of double)
+0:72              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:72              Constant:
 0:72                4 (const uint)
 0:74      Sequence
 0:74        move second child to first child ( temp 3-component vector of double)
 0:74          'r40' ( temp 3-component vector of double)
 0:74          Convert int to double ( temp 3-component vector of double)
-0:74            i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:74              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:74            i3: direct index for structure ( uniform 3-component vector of int)
+0:74              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:74              Constant:
 0:74                0 (const uint)
 0:75      Sequence
 0:75        move second child to first child ( temp 3-component vector of double)
 0:75          'r41' ( temp 3-component vector of double)
 0:75          Convert uint to double ( temp 3-component vector of double)
-0:75            u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:75              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:75            u3: direct index for structure ( uniform 3-component vector of uint)
+0:75              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:75              Constant:
 0:75                3 (const uint)
 0:76      Sequence
 0:76        move second child to first child ( temp 3-component vector of double)
 0:76          'r42' ( temp 3-component vector of double)
 0:76          Convert float to double ( temp 3-component vector of double)
-0:76            f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:76              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:76            f3: direct index for structure ( uniform 3-component vector of float)
+0:76              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:76              Constant:
 0:76                2 (const uint)
 0:77      Sequence
 0:77        move second child to first child ( temp 3-component vector of double)
 0:77          'r43' ( temp 3-component vector of double)
 0:77          Convert bool to double ( temp 3-component vector of double)
-0:77            b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:77              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:77            b3: direct index for structure ( uniform 3-component vector of bool)
+0:77              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:77              Constant:
 0:77                1 (const uint)
 0:80      multiply second child into first child ( temp 3-component vector of float)
 0:80        'r00' ( temp 3-component vector of float)
 0:80        Convert int to float ( temp 3-component vector of float)
-0:80          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:80            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:80          i3: direct index for structure ( uniform 3-component vector of int)
+0:80            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:80            Constant:
 0:80              0 (const uint)
 0:81      multiply second child into first child ( temp 3-component vector of float)
 0:81        'r01' ( temp 3-component vector of float)
 0:81        Convert bool to float ( temp 3-component vector of float)
-0:81          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:81            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:81          b3: direct index for structure ( uniform 3-component vector of bool)
+0:81            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:81            Constant:
 0:81              1 (const uint)
 0:82      multiply second child into first child ( temp 3-component vector of float)
 0:82        'r02' ( temp 3-component vector of float)
 0:82        Convert uint to float ( temp 3-component vector of float)
-0:82          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:82            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:82          u3: direct index for structure ( uniform 3-component vector of uint)
+0:82            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:82            Constant:
 0:82              3 (const uint)
 0:83      multiply second child into first child ( temp 3-component vector of float)
 0:83        'r03' ( temp 3-component vector of float)
 0:83        Convert double to float ( temp 3-component vector of float)
-0:83          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:83            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:83          d3: direct index for structure ( uniform 3-component vector of double)
+0:83            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:83            Constant:
 0:83              4 (const uint)
 0:85      multiply second child into first child ( temp 3-component vector of int)
 0:85        'r10' ( temp 3-component vector of int)
 0:85        Convert bool to int ( temp 3-component vector of int)
-0:85          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:85            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:85          b3: direct index for structure ( uniform 3-component vector of bool)
+0:85            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:85            Constant:
 0:85              1 (const uint)
 0:86      multiply second child into first child ( temp 3-component vector of int)
 0:86        'r11' ( temp 3-component vector of int)
 0:86        Convert uint to int ( temp 3-component vector of int)
-0:86          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:86            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:86          u3: direct index for structure ( uniform 3-component vector of uint)
+0:86            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:86            Constant:
 0:86              3 (const uint)
 0:87      multiply second child into first child ( temp 3-component vector of int)
 0:87        'r12' ( temp 3-component vector of int)
 0:87        Convert float to int ( temp 3-component vector of int)
-0:87          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:87            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:87          f3: direct index for structure ( uniform 3-component vector of float)
+0:87            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:87            Constant:
 0:87              2 (const uint)
 0:88      multiply second child into first child ( temp 3-component vector of int)
 0:88        'r13' ( temp 3-component vector of int)
 0:88        Convert double to int ( temp 3-component vector of int)
-0:88          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:88            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:88          d3: direct index for structure ( uniform 3-component vector of double)
+0:88            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:88            Constant:
 0:88              4 (const uint)
 0:90      multiply second child into first child ( temp 3-component vector of uint)
 0:90        'r20' ( temp 3-component vector of uint)
 0:90        Convert bool to uint ( temp 3-component vector of uint)
-0:90          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:90            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:90          b3: direct index for structure ( uniform 3-component vector of bool)
+0:90            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:90            Constant:
 0:90              1 (const uint)
 0:91      multiply second child into first child ( temp 3-component vector of uint)
 0:91        'r21' ( temp 3-component vector of uint)
 0:91        Convert int to uint ( temp 3-component vector of uint)
-0:91          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:91            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:91          i3: direct index for structure ( uniform 3-component vector of int)
+0:91            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:91            Constant:
 0:91              0 (const uint)
 0:92      multiply second child into first child ( temp 3-component vector of uint)
 0:92        'r22' ( temp 3-component vector of uint)
 0:92        Convert float to uint ( temp 3-component vector of uint)
-0:92          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:92            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:92          f3: direct index for structure ( uniform 3-component vector of float)
+0:92            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:92            Constant:
 0:92              2 (const uint)
 0:93      multiply second child into first child ( temp 3-component vector of uint)
 0:93        'r23' ( temp 3-component vector of uint)
 0:93        Convert double to uint ( temp 3-component vector of uint)
-0:93          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:93            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:93          d3: direct index for structure ( uniform 3-component vector of double)
+0:93            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:93            Constant:
 0:93              4 (const uint)
 0:97      multiply second child into first child ( temp 3-component vector of double)
 0:97        'r40' ( temp 3-component vector of double)
 0:97        Convert int to double ( temp 3-component vector of double)
-0:97          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:97            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:97          i3: direct index for structure ( uniform 3-component vector of int)
+0:97            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:97            Constant:
 0:97              0 (const uint)
 0:98      multiply second child into first child ( temp 3-component vector of double)
 0:98        'r41' ( temp 3-component vector of double)
 0:98        Convert uint to double ( temp 3-component vector of double)
-0:98          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:98            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:98          u3: direct index for structure ( uniform 3-component vector of uint)
+0:98            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:98            Constant:
 0:98              3 (const uint)
 0:99      multiply second child into first child ( temp 3-component vector of double)
 0:99        'r42' ( temp 3-component vector of double)
 0:99        Convert float to double ( temp 3-component vector of double)
-0:99          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:99            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:99          f3: direct index for structure ( uniform 3-component vector of float)
+0:99            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:99            Constant:
 0:99              2 (const uint)
 0:100      multiply second child into first child ( temp 3-component vector of double)
 0:100        'r43' ( temp 3-component vector of double)
 0:100        Convert bool to double ( temp 3-component vector of double)
-0:100          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:100            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:100          b3: direct index for structure ( uniform 3-component vector of bool)
+0:100            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:100            Constant:
 0:100              1 (const uint)
 0:103      vector scale second child into first child ( temp 3-component vector of float)
 0:103        'r00' ( temp 3-component vector of float)
 0:103        Convert int to float ( temp float)
-0:103          is: direct index for structure (layout( offset=88) uniform int)
-0:103            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:103          is: direct index for structure ( uniform int)
+0:103            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:103            Constant:
 0:103              5 (const uint)
 0:104      vector scale second child into first child ( temp 3-component vector of float)
 0:104        'r01' ( temp 3-component vector of float)
 0:104        Convert bool to float ( temp float)
-0:104          bs: direct index for structure (layout( offset=92) uniform bool)
-0:104            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:104          bs: direct index for structure ( uniform bool)
+0:104            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:104            Constant:
 0:104              6 (const uint)
 0:105      vector scale second child into first child ( temp 3-component vector of float)
 0:105        'r02' ( temp 3-component vector of float)
 0:105        Convert uint to float ( temp float)
-0:105          us: direct index for structure (layout( offset=100) uniform uint)
-0:105            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:105          us: direct index for structure ( uniform uint)
+0:105            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:105            Constant:
 0:105              8 (const uint)
 0:106      vector scale second child into first child ( temp 3-component vector of float)
 0:106        'r03' ( temp 3-component vector of float)
 0:106        Convert double to float ( temp float)
-0:106          ds: direct index for structure (layout( offset=104) uniform double)
-0:106            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:106          ds: direct index for structure ( uniform double)
+0:106            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:106            Constant:
 0:106              9 (const uint)
 0:108      vector scale second child into first child ( temp 3-component vector of int)
 0:108        'r10' ( temp 3-component vector of int)
 0:108        Convert bool to int ( temp int)
-0:108          bs: direct index for structure (layout( offset=92) uniform bool)
-0:108            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:108          bs: direct index for structure ( uniform bool)
+0:108            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:108            Constant:
 0:108              6 (const uint)
 0:109      vector scale second child into first child ( temp 3-component vector of int)
 0:109        'r11' ( temp 3-component vector of int)
 0:109        Convert uint to int ( temp int)
-0:109          us: direct index for structure (layout( offset=100) uniform uint)
-0:109            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:109          us: direct index for structure ( uniform uint)
+0:109            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:109            Constant:
 0:109              8 (const uint)
 0:110      vector scale second child into first child ( temp 3-component vector of int)
 0:110        'r12' ( temp 3-component vector of int)
 0:110        Convert float to int ( temp int)
-0:110          fs: direct index for structure (layout( offset=96) uniform float)
-0:110            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:110          fs: direct index for structure ( uniform float)
+0:110            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:110            Constant:
 0:110              7 (const uint)
 0:111      vector scale second child into first child ( temp 3-component vector of int)
 0:111        'r13' ( temp 3-component vector of int)
 0:111        Convert double to int ( temp int)
-0:111          ds: direct index for structure (layout( offset=104) uniform double)
-0:111            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:111          ds: direct index for structure ( uniform double)
+0:111            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:111            Constant:
 0:111              9 (const uint)
 0:113      vector scale second child into first child ( temp 3-component vector of uint)
 0:113        'r20' ( temp 3-component vector of uint)
 0:113        Convert bool to uint ( temp uint)
-0:113          bs: direct index for structure (layout( offset=92) uniform bool)
-0:113            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:113          bs: direct index for structure ( uniform bool)
+0:113            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:113            Constant:
 0:113              6 (const uint)
 0:114      vector scale second child into first child ( temp 3-component vector of uint)
 0:114        'r21' ( temp 3-component vector of uint)
 0:114        Convert int to uint ( temp uint)
-0:114          is: direct index for structure (layout( offset=88) uniform int)
-0:114            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:114          is: direct index for structure ( uniform int)
+0:114            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:114            Constant:
 0:114              5 (const uint)
 0:115      vector scale second child into first child ( temp 3-component vector of uint)
 0:115        'r22' ( temp 3-component vector of uint)
 0:115        Convert float to uint ( temp uint)
-0:115          fs: direct index for structure (layout( offset=96) uniform float)
-0:115            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:115          fs: direct index for structure ( uniform float)
+0:115            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:115            Constant:
 0:115              7 (const uint)
 0:116      vector scale second child into first child ( temp 3-component vector of uint)
 0:116        'r23' ( temp 3-component vector of uint)
 0:116        Convert double to uint ( temp uint)
-0:116          ds: direct index for structure (layout( offset=104) uniform double)
-0:116            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:116          ds: direct index for structure ( uniform double)
+0:116            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:116            Constant:
 0:116              9 (const uint)
 0:120      vector scale second child into first child ( temp 3-component vector of double)
 0:120        'r40' ( temp 3-component vector of double)
 0:120        Convert int to double ( temp double)
-0:120          is: direct index for structure (layout( offset=88) uniform int)
-0:120            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:120          is: direct index for structure ( uniform int)
+0:120            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:120            Constant:
 0:120              5 (const uint)
 0:121      vector scale second child into first child ( temp 3-component vector of double)
 0:121        'r41' ( temp 3-component vector of double)
 0:121        Convert uint to double ( temp double)
-0:121          us: direct index for structure (layout( offset=100) uniform uint)
-0:121            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:121          us: direct index for structure ( uniform uint)
+0:121            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:121            Constant:
 0:121              8 (const uint)
 0:122      vector scale second child into first child ( temp 3-component vector of double)
 0:122        'r42' ( temp 3-component vector of double)
 0:122        Convert float to double ( temp double)
-0:122          fs: direct index for structure (layout( offset=96) uniform float)
-0:122            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:122          fs: direct index for structure ( uniform float)
+0:122            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:122            Constant:
 0:122              7 (const uint)
 0:123      vector scale second child into first child ( temp 3-component vector of double)
 0:123        'r43' ( temp 3-component vector of double)
 0:123        Convert bool to double ( temp double)
-0:123          bs: direct index for structure (layout( offset=92) uniform bool)
-0:123            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:123          bs: direct index for structure ( uniform bool)
+0:123            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:123            Constant:
 0:123              6 (const uint)
 0:193      Sequence
@@ -785,7 +785,7 @@ gl_FragCoord origin is upper left
 0:52            Constant:
 0:52              0 (const int)
 0:?   Linker Objects
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 
 
@@ -817,14 +817,14 @@ gl_FragCoord origin is upper left
 0:26      move second child to first child ( temp 3-component vector of float)
 0:26        'p' ( out 3-component vector of float)
 0:26        Convert int to float ( temp 3-component vector of float)
-0:26          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:26            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:26          i3: direct index for structure ( uniform 3-component vector of int)
+0:26            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:26            Constant:
 0:26              0 (const uint)
 0:26      Branch: Return with expression
 0:26        Convert int to float ( temp 3-component vector of float)
-0:26          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:26            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:26          i3: direct index for structure ( uniform 3-component vector of int)
+0:26            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:26            Constant:
 0:26              0 (const uint)
 0:27  Function Definition: Fn_R_F3U(vf3; ( temp 3-component vector of float)
@@ -834,14 +834,14 @@ gl_FragCoord origin is upper left
 0:27      move second child to first child ( temp 3-component vector of float)
 0:27        'p' ( out 3-component vector of float)
 0:27        Convert uint to float ( temp 3-component vector of float)
-0:27          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:27            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:27          u3: direct index for structure ( uniform 3-component vector of uint)
+0:27            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:27            Constant:
 0:27              3 (const uint)
 0:27      Branch: Return with expression
 0:27        Convert uint to float ( temp 3-component vector of float)
-0:27          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:27            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:27          u3: direct index for structure ( uniform 3-component vector of uint)
+0:27            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:27            Constant:
 0:27              3 (const uint)
 0:28  Function Definition: Fn_R_F3B(vf3; ( temp 3-component vector of float)
@@ -851,14 +851,14 @@ gl_FragCoord origin is upper left
 0:28      move second child to first child ( temp 3-component vector of float)
 0:28        'p' ( out 3-component vector of float)
 0:28        Convert bool to float ( temp 3-component vector of float)
-0:28          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:28            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:28          b3: direct index for structure ( uniform 3-component vector of bool)
+0:28            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:28            Constant:
 0:28              1 (const uint)
 0:28      Branch: Return with expression
 0:28        Convert bool to float ( temp 3-component vector of float)
-0:28          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:28            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:28          b3: direct index for structure ( uniform 3-component vector of bool)
+0:28            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:28            Constant:
 0:28              1 (const uint)
 0:29  Function Definition: Fn_R_F3D(vf3; ( temp 3-component vector of float)
@@ -868,14 +868,14 @@ gl_FragCoord origin is upper left
 0:29      move second child to first child ( temp 3-component vector of float)
 0:29        'p' ( out 3-component vector of float)
 0:29        Convert double to float ( temp 3-component vector of float)
-0:29          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:29            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:29          d3: direct index for structure ( uniform 3-component vector of double)
+0:29            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:29            Constant:
 0:29              4 (const uint)
 0:29      Branch: Return with expression
 0:29        Convert double to float ( temp 3-component vector of float)
-0:29          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:29            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:29          d3: direct index for structure ( uniform 3-component vector of double)
+0:29            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:29            Constant:
 0:29              4 (const uint)
 0:31  Function Definition: Fn_R_I3U(vi3; ( temp 3-component vector of int)
@@ -885,14 +885,14 @@ gl_FragCoord origin is upper left
 0:31      move second child to first child ( temp 3-component vector of int)
 0:31        'p' ( out 3-component vector of int)
 0:31        Convert uint to int ( temp 3-component vector of int)
-0:31          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:31            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:31          u3: direct index for structure ( uniform 3-component vector of uint)
+0:31            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:31            Constant:
 0:31              3 (const uint)
 0:31      Branch: Return with expression
 0:31        Convert uint to int ( temp 3-component vector of int)
-0:31          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:31            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:31          u3: direct index for structure ( uniform 3-component vector of uint)
+0:31            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:31            Constant:
 0:31              3 (const uint)
 0:32  Function Definition: Fn_R_I3B(vi3; ( temp 3-component vector of int)
@@ -902,14 +902,14 @@ gl_FragCoord origin is upper left
 0:32      move second child to first child ( temp 3-component vector of int)
 0:32        'p' ( out 3-component vector of int)
 0:32        Convert bool to int ( temp 3-component vector of int)
-0:32          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:32            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:32          b3: direct index for structure ( uniform 3-component vector of bool)
+0:32            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:32            Constant:
 0:32              1 (const uint)
 0:32      Branch: Return with expression
 0:32        Convert bool to int ( temp 3-component vector of int)
-0:32          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:32            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:32          b3: direct index for structure ( uniform 3-component vector of bool)
+0:32            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:32            Constant:
 0:32              1 (const uint)
 0:33  Function Definition: Fn_R_I3F(vi3; ( temp 3-component vector of int)
@@ -919,14 +919,14 @@ gl_FragCoord origin is upper left
 0:33      move second child to first child ( temp 3-component vector of int)
 0:33        'p' ( out 3-component vector of int)
 0:33        Convert float to int ( temp 3-component vector of int)
-0:33          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:33            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:33          f3: direct index for structure ( uniform 3-component vector of float)
+0:33            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:33            Constant:
 0:33              2 (const uint)
 0:33      Branch: Return with expression
 0:33        Convert float to int ( temp 3-component vector of int)
-0:33          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:33            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:33          f3: direct index for structure ( uniform 3-component vector of float)
+0:33            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:33            Constant:
 0:33              2 (const uint)
 0:34  Function Definition: Fn_R_I3D(vi3; ( temp 3-component vector of int)
@@ -936,14 +936,14 @@ gl_FragCoord origin is upper left
 0:34      move second child to first child ( temp 3-component vector of int)
 0:34        'p' ( out 3-component vector of int)
 0:34        Convert double to int ( temp 3-component vector of int)
-0:34          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:34            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:34          d3: direct index for structure ( uniform 3-component vector of double)
+0:34            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:34            Constant:
 0:34              4 (const uint)
 0:34      Branch: Return with expression
 0:34        Convert double to int ( temp 3-component vector of int)
-0:34          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:34            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:34          d3: direct index for structure ( uniform 3-component vector of double)
+0:34            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:34            Constant:
 0:34              4 (const uint)
 0:36  Function Definition: Fn_R_U3I(vu3; ( temp 3-component vector of uint)
@@ -953,14 +953,14 @@ gl_FragCoord origin is upper left
 0:36      move second child to first child ( temp 3-component vector of uint)
 0:36        'p' ( out 3-component vector of uint)
 0:36        Convert int to uint ( temp 3-component vector of uint)
-0:36          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:36            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:36          i3: direct index for structure ( uniform 3-component vector of int)
+0:36            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:36            Constant:
 0:36              0 (const uint)
 0:36      Branch: Return with expression
 0:36        Convert int to uint ( temp 3-component vector of uint)
-0:36          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:36            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:36          i3: direct index for structure ( uniform 3-component vector of int)
+0:36            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:36            Constant:
 0:36              0 (const uint)
 0:37  Function Definition: Fn_R_U3F(vu3; ( temp 3-component vector of uint)
@@ -970,14 +970,14 @@ gl_FragCoord origin is upper left
 0:37      move second child to first child ( temp 3-component vector of uint)
 0:37        'p' ( out 3-component vector of uint)
 0:37        Convert float to uint ( temp 3-component vector of uint)
-0:37          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:37            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:37          f3: direct index for structure ( uniform 3-component vector of float)
+0:37            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:37            Constant:
 0:37              2 (const uint)
 0:37      Branch: Return with expression
 0:37        Convert float to uint ( temp 3-component vector of uint)
-0:37          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:37            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:37          f3: direct index for structure ( uniform 3-component vector of float)
+0:37            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:37            Constant:
 0:37              2 (const uint)
 0:38  Function Definition: Fn_R_U3B(vu3; ( temp 3-component vector of uint)
@@ -987,14 +987,14 @@ gl_FragCoord origin is upper left
 0:38      move second child to first child ( temp 3-component vector of uint)
 0:38        'p' ( out 3-component vector of uint)
 0:38        Convert bool to uint ( temp 3-component vector of uint)
-0:38          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:38            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:38          b3: direct index for structure ( uniform 3-component vector of bool)
+0:38            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:38            Constant:
 0:38              1 (const uint)
 0:38      Branch: Return with expression
 0:38        Convert bool to uint ( temp 3-component vector of uint)
-0:38          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:38            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:38          b3: direct index for structure ( uniform 3-component vector of bool)
+0:38            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:38            Constant:
 0:38              1 (const uint)
 0:39  Function Definition: Fn_R_U3D(vu3; ( temp 3-component vector of uint)
@@ -1004,14 +1004,14 @@ gl_FragCoord origin is upper left
 0:39      move second child to first child ( temp 3-component vector of uint)
 0:39        'p' ( out 3-component vector of uint)
 0:39        Convert double to uint ( temp 3-component vector of uint)
-0:39          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:39            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:39          d3: direct index for structure ( uniform 3-component vector of double)
+0:39            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:39            Constant:
 0:39              4 (const uint)
 0:39      Branch: Return with expression
 0:39        Convert double to uint ( temp 3-component vector of uint)
-0:39          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:39            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:39          d3: direct index for structure ( uniform 3-component vector of double)
+0:39            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:39            Constant:
 0:39              4 (const uint)
 0:41  Function Definition: Fn_R_B3I(vb3; ( temp 3-component vector of bool)
@@ -1021,14 +1021,14 @@ gl_FragCoord origin is upper left
 0:41      move second child to first child ( temp 3-component vector of bool)
 0:41        'p' ( out 3-component vector of bool)
 0:41        Convert int to bool ( temp 3-component vector of bool)
-0:41          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:41            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:41          i3: direct index for structure ( uniform 3-component vector of int)
+0:41            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:41            Constant:
 0:41              0 (const uint)
 0:41      Branch: Return with expression
 0:41        Convert int to bool ( temp 3-component vector of bool)
-0:41          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:41            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:41          i3: direct index for structure ( uniform 3-component vector of int)
+0:41            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:41            Constant:
 0:41              0 (const uint)
 0:42  Function Definition: Fn_R_B3U(vb3; ( temp 3-component vector of bool)
@@ -1038,14 +1038,14 @@ gl_FragCoord origin is upper left
 0:42      move second child to first child ( temp 3-component vector of bool)
 0:42        'p' ( out 3-component vector of bool)
 0:42        Convert uint to bool ( temp 3-component vector of bool)
-0:42          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:42            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:42          u3: direct index for structure ( uniform 3-component vector of uint)
+0:42            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:42            Constant:
 0:42              3 (const uint)
 0:42      Branch: Return with expression
 0:42        Convert uint to bool ( temp 3-component vector of bool)
-0:42          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:42            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:42          u3: direct index for structure ( uniform 3-component vector of uint)
+0:42            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:42            Constant:
 0:42              3 (const uint)
 0:43  Function Definition: Fn_R_B3F(vb3; ( temp 3-component vector of bool)
@@ -1055,14 +1055,14 @@ gl_FragCoord origin is upper left
 0:43      move second child to first child ( temp 3-component vector of bool)
 0:43        'p' ( out 3-component vector of bool)
 0:43        Convert float to bool ( temp 3-component vector of bool)
-0:43          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:43            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:43          f3: direct index for structure ( uniform 3-component vector of float)
+0:43            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:43            Constant:
 0:43              2 (const uint)
 0:43      Branch: Return with expression
 0:43        Convert float to bool ( temp 3-component vector of bool)
-0:43          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:43            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:43          f3: direct index for structure ( uniform 3-component vector of float)
+0:43            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:43            Constant:
 0:43              2 (const uint)
 0:44  Function Definition: Fn_R_B3D(vb3; ( temp 3-component vector of bool)
@@ -1072,14 +1072,14 @@ gl_FragCoord origin is upper left
 0:44      move second child to first child ( temp 3-component vector of bool)
 0:44        'p' ( out 3-component vector of bool)
 0:44        Convert double to bool ( temp 3-component vector of bool)
-0:44          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:44            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:44          d3: direct index for structure ( uniform 3-component vector of double)
+0:44            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:44            Constant:
 0:44              4 (const uint)
 0:44      Branch: Return with expression
 0:44        Convert double to bool ( temp 3-component vector of bool)
-0:44          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:44            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:44          d3: direct index for structure ( uniform 3-component vector of double)
+0:44            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:44            Constant:
 0:44              4 (const uint)
 0:46  Function Definition: Fn_R_D3I(vd3; ( temp 3-component vector of double)
@@ -1089,14 +1089,14 @@ gl_FragCoord origin is upper left
 0:46      move second child to first child ( temp 3-component vector of double)
 0:46        'p' ( out 3-component vector of double)
 0:46        Convert int to double ( temp 3-component vector of double)
-0:46          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:46            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:46          i3: direct index for structure ( uniform 3-component vector of int)
+0:46            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:46            Constant:
 0:46              0 (const uint)
 0:46      Branch: Return with expression
 0:46        Convert int to double ( temp 3-component vector of double)
-0:46          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:46            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:46          i3: direct index for structure ( uniform 3-component vector of int)
+0:46            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:46            Constant:
 0:46              0 (const uint)
 0:47  Function Definition: Fn_R_D3U(vd3; ( temp 3-component vector of double)
@@ -1106,14 +1106,14 @@ gl_FragCoord origin is upper left
 0:47      move second child to first child ( temp 3-component vector of double)
 0:47        'p' ( out 3-component vector of double)
 0:47        Convert uint to double ( temp 3-component vector of double)
-0:47          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:47            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:47          u3: direct index for structure ( uniform 3-component vector of uint)
+0:47            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:47            Constant:
 0:47              3 (const uint)
 0:47      Branch: Return with expression
 0:47        Convert uint to double ( temp 3-component vector of double)
-0:47          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:47            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:47          u3: direct index for structure ( uniform 3-component vector of uint)
+0:47            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:47            Constant:
 0:47              3 (const uint)
 0:48  Function Definition: Fn_R_D3B(vd3; ( temp 3-component vector of double)
@@ -1123,14 +1123,14 @@ gl_FragCoord origin is upper left
 0:48      move second child to first child ( temp 3-component vector of double)
 0:48        'p' ( out 3-component vector of double)
 0:48        Convert bool to double ( temp 3-component vector of double)
-0:48          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:48            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:48          b3: direct index for structure ( uniform 3-component vector of bool)
+0:48            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:48            Constant:
 0:48              1 (const uint)
 0:48      Branch: Return with expression
 0:48        Convert bool to double ( temp 3-component vector of double)
-0:48          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:48            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:48          b3: direct index for structure ( uniform 3-component vector of bool)
+0:48            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:48            Constant:
 0:48              1 (const uint)
 0:49  Function Definition: Fn_R_D3F(vd3; ( temp 3-component vector of double)
@@ -1140,14 +1140,14 @@ gl_FragCoord origin is upper left
 0:49      move second child to first child ( temp 3-component vector of double)
 0:49        'p' ( out 3-component vector of double)
 0:49        Convert float to double ( temp 3-component vector of double)
-0:49          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:49            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:49          f3: direct index for structure ( uniform 3-component vector of float)
+0:49            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:49            Constant:
 0:49              2 (const uint)
 0:49      Branch: Return with expression
 0:49        Convert float to double ( temp 3-component vector of double)
-0:49          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:49            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:49          f3: direct index for structure ( uniform 3-component vector of float)
+0:49            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:49            Constant:
 0:49              2 (const uint)
 0:52  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
@@ -1157,384 +1157,384 @@ gl_FragCoord origin is upper left
 0:54        move second child to first child ( temp 3-component vector of float)
 0:54          'r00' ( temp 3-component vector of float)
 0:54          Convert int to float ( temp 3-component vector of float)
-0:54            i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:54              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:54            i3: direct index for structure ( uniform 3-component vector of int)
+0:54              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:54              Constant:
 0:54                0 (const uint)
 0:55      Sequence
 0:55        move second child to first child ( temp 3-component vector of float)
 0:55          'r01' ( temp 3-component vector of float)
 0:55          Convert bool to float ( temp 3-component vector of float)
-0:55            b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:55              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:55            b3: direct index for structure ( uniform 3-component vector of bool)
+0:55              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:55              Constant:
 0:55                1 (const uint)
 0:56      Sequence
 0:56        move second child to first child ( temp 3-component vector of float)
 0:56          'r02' ( temp 3-component vector of float)
 0:56          Convert uint to float ( temp 3-component vector of float)
-0:56            u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:56              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:56            u3: direct index for structure ( uniform 3-component vector of uint)
+0:56              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:56              Constant:
 0:56                3 (const uint)
 0:57      Sequence
 0:57        move second child to first child ( temp 3-component vector of float)
 0:57          'r03' ( temp 3-component vector of float)
 0:57          Convert double to float ( temp 3-component vector of float)
-0:57            d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:57              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:57            d3: direct index for structure ( uniform 3-component vector of double)
+0:57              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:57              Constant:
 0:57                4 (const uint)
 0:59      Sequence
 0:59        move second child to first child ( temp 3-component vector of int)
 0:59          'r10' ( temp 3-component vector of int)
 0:59          Convert bool to int ( temp 3-component vector of int)
-0:59            b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:59              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:59            b3: direct index for structure ( uniform 3-component vector of bool)
+0:59              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:59              Constant:
 0:59                1 (const uint)
 0:60      Sequence
 0:60        move second child to first child ( temp 3-component vector of int)
 0:60          'r11' ( temp 3-component vector of int)
 0:60          Convert uint to int ( temp 3-component vector of int)
-0:60            u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:60              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:60            u3: direct index for structure ( uniform 3-component vector of uint)
+0:60              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:60              Constant:
 0:60                3 (const uint)
 0:61      Sequence
 0:61        move second child to first child ( temp 3-component vector of int)
 0:61          'r12' ( temp 3-component vector of int)
 0:61          Convert float to int ( temp 3-component vector of int)
-0:61            f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:61              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:61            f3: direct index for structure ( uniform 3-component vector of float)
+0:61              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:61              Constant:
 0:61                2 (const uint)
 0:62      Sequence
 0:62        move second child to first child ( temp 3-component vector of int)
 0:62          'r13' ( temp 3-component vector of int)
 0:62          Convert double to int ( temp 3-component vector of int)
-0:62            d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:62              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:62            d3: direct index for structure ( uniform 3-component vector of double)
+0:62              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:62              Constant:
 0:62                4 (const uint)
 0:64      Sequence
 0:64        move second child to first child ( temp 3-component vector of uint)
 0:64          'r20' ( temp 3-component vector of uint)
 0:64          Convert bool to uint ( temp 3-component vector of uint)
-0:64            b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:64              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:64            b3: direct index for structure ( uniform 3-component vector of bool)
+0:64              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:64              Constant:
 0:64                1 (const uint)
 0:65      Sequence
 0:65        move second child to first child ( temp 3-component vector of uint)
 0:65          'r21' ( temp 3-component vector of uint)
 0:65          Convert int to uint ( temp 3-component vector of uint)
-0:65            i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:65              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:65            i3: direct index for structure ( uniform 3-component vector of int)
+0:65              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:65              Constant:
 0:65                0 (const uint)
 0:66      Sequence
 0:66        move second child to first child ( temp 3-component vector of uint)
 0:66          'r22' ( temp 3-component vector of uint)
 0:66          Convert float to uint ( temp 3-component vector of uint)
-0:66            f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:66              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:66            f3: direct index for structure ( uniform 3-component vector of float)
+0:66              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:66              Constant:
 0:66                2 (const uint)
 0:67      Sequence
 0:67        move second child to first child ( temp 3-component vector of uint)
 0:67          'r23' ( temp 3-component vector of uint)
 0:67          Convert double to uint ( temp 3-component vector of uint)
-0:67            d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:67              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:67            d3: direct index for structure ( uniform 3-component vector of double)
+0:67              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:67              Constant:
 0:67                4 (const uint)
 0:69      Sequence
 0:69        move second child to first child ( temp 3-component vector of bool)
 0:69          'r30' ( temp 3-component vector of bool)
 0:69          Convert int to bool ( temp 3-component vector of bool)
-0:69            i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:69              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:69            i3: direct index for structure ( uniform 3-component vector of int)
+0:69              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:69              Constant:
 0:69                0 (const uint)
 0:70      Sequence
 0:70        move second child to first child ( temp 3-component vector of bool)
 0:70          'r31' ( temp 3-component vector of bool)
 0:70          Convert uint to bool ( temp 3-component vector of bool)
-0:70            u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:70              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:70            u3: direct index for structure ( uniform 3-component vector of uint)
+0:70              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:70              Constant:
 0:70                3 (const uint)
 0:71      Sequence
 0:71        move second child to first child ( temp 3-component vector of bool)
 0:71          'r32' ( temp 3-component vector of bool)
 0:71          Convert float to bool ( temp 3-component vector of bool)
-0:71            f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:71              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:71            f3: direct index for structure ( uniform 3-component vector of float)
+0:71              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:71              Constant:
 0:71                2 (const uint)
 0:72      Sequence
 0:72        move second child to first child ( temp 3-component vector of bool)
 0:72          'r33' ( temp 3-component vector of bool)
 0:72          Convert double to bool ( temp 3-component vector of bool)
-0:72            d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:72              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:72            d3: direct index for structure ( uniform 3-component vector of double)
+0:72              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:72              Constant:
 0:72                4 (const uint)
 0:74      Sequence
 0:74        move second child to first child ( temp 3-component vector of double)
 0:74          'r40' ( temp 3-component vector of double)
 0:74          Convert int to double ( temp 3-component vector of double)
-0:74            i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:74              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:74            i3: direct index for structure ( uniform 3-component vector of int)
+0:74              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:74              Constant:
 0:74                0 (const uint)
 0:75      Sequence
 0:75        move second child to first child ( temp 3-component vector of double)
 0:75          'r41' ( temp 3-component vector of double)
 0:75          Convert uint to double ( temp 3-component vector of double)
-0:75            u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:75              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:75            u3: direct index for structure ( uniform 3-component vector of uint)
+0:75              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:75              Constant:
 0:75                3 (const uint)
 0:76      Sequence
 0:76        move second child to first child ( temp 3-component vector of double)
 0:76          'r42' ( temp 3-component vector of double)
 0:76          Convert float to double ( temp 3-component vector of double)
-0:76            f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:76              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:76            f3: direct index for structure ( uniform 3-component vector of float)
+0:76              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:76              Constant:
 0:76                2 (const uint)
 0:77      Sequence
 0:77        move second child to first child ( temp 3-component vector of double)
 0:77          'r43' ( temp 3-component vector of double)
 0:77          Convert bool to double ( temp 3-component vector of double)
-0:77            b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:77              'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:77            b3: direct index for structure ( uniform 3-component vector of bool)
+0:77              'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:77              Constant:
 0:77                1 (const uint)
 0:80      multiply second child into first child ( temp 3-component vector of float)
 0:80        'r00' ( temp 3-component vector of float)
 0:80        Convert int to float ( temp 3-component vector of float)
-0:80          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:80            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:80          i3: direct index for structure ( uniform 3-component vector of int)
+0:80            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:80            Constant:
 0:80              0 (const uint)
 0:81      multiply second child into first child ( temp 3-component vector of float)
 0:81        'r01' ( temp 3-component vector of float)
 0:81        Convert bool to float ( temp 3-component vector of float)
-0:81          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:81            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:81          b3: direct index for structure ( uniform 3-component vector of bool)
+0:81            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:81            Constant:
 0:81              1 (const uint)
 0:82      multiply second child into first child ( temp 3-component vector of float)
 0:82        'r02' ( temp 3-component vector of float)
 0:82        Convert uint to float ( temp 3-component vector of float)
-0:82          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:82            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:82          u3: direct index for structure ( uniform 3-component vector of uint)
+0:82            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:82            Constant:
 0:82              3 (const uint)
 0:83      multiply second child into first child ( temp 3-component vector of float)
 0:83        'r03' ( temp 3-component vector of float)
 0:83        Convert double to float ( temp 3-component vector of float)
-0:83          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:83            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:83          d3: direct index for structure ( uniform 3-component vector of double)
+0:83            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:83            Constant:
 0:83              4 (const uint)
 0:85      multiply second child into first child ( temp 3-component vector of int)
 0:85        'r10' ( temp 3-component vector of int)
 0:85        Convert bool to int ( temp 3-component vector of int)
-0:85          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:85            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:85          b3: direct index for structure ( uniform 3-component vector of bool)
+0:85            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:85            Constant:
 0:85              1 (const uint)
 0:86      multiply second child into first child ( temp 3-component vector of int)
 0:86        'r11' ( temp 3-component vector of int)
 0:86        Convert uint to int ( temp 3-component vector of int)
-0:86          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:86            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:86          u3: direct index for structure ( uniform 3-component vector of uint)
+0:86            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:86            Constant:
 0:86              3 (const uint)
 0:87      multiply second child into first child ( temp 3-component vector of int)
 0:87        'r12' ( temp 3-component vector of int)
 0:87        Convert float to int ( temp 3-component vector of int)
-0:87          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:87            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:87          f3: direct index for structure ( uniform 3-component vector of float)
+0:87            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:87            Constant:
 0:87              2 (const uint)
 0:88      multiply second child into first child ( temp 3-component vector of int)
 0:88        'r13' ( temp 3-component vector of int)
 0:88        Convert double to int ( temp 3-component vector of int)
-0:88          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:88            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:88          d3: direct index for structure ( uniform 3-component vector of double)
+0:88            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:88            Constant:
 0:88              4 (const uint)
 0:90      multiply second child into first child ( temp 3-component vector of uint)
 0:90        'r20' ( temp 3-component vector of uint)
 0:90        Convert bool to uint ( temp 3-component vector of uint)
-0:90          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:90            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:90          b3: direct index for structure ( uniform 3-component vector of bool)
+0:90            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:90            Constant:
 0:90              1 (const uint)
 0:91      multiply second child into first child ( temp 3-component vector of uint)
 0:91        'r21' ( temp 3-component vector of uint)
 0:91        Convert int to uint ( temp 3-component vector of uint)
-0:91          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:91            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:91          i3: direct index for structure ( uniform 3-component vector of int)
+0:91            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:91            Constant:
 0:91              0 (const uint)
 0:92      multiply second child into first child ( temp 3-component vector of uint)
 0:92        'r22' ( temp 3-component vector of uint)
 0:92        Convert float to uint ( temp 3-component vector of uint)
-0:92          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:92            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:92          f3: direct index for structure ( uniform 3-component vector of float)
+0:92            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:92            Constant:
 0:92              2 (const uint)
 0:93      multiply second child into first child ( temp 3-component vector of uint)
 0:93        'r23' ( temp 3-component vector of uint)
 0:93        Convert double to uint ( temp 3-component vector of uint)
-0:93          d3: direct index for structure (layout( offset=64) uniform 3-component vector of double)
-0:93            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:93          d3: direct index for structure ( uniform 3-component vector of double)
+0:93            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:93            Constant:
 0:93              4 (const uint)
 0:97      multiply second child into first child ( temp 3-component vector of double)
 0:97        'r40' ( temp 3-component vector of double)
 0:97        Convert int to double ( temp 3-component vector of double)
-0:97          i3: direct index for structure (layout( offset=0) uniform 3-component vector of int)
-0:97            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:97          i3: direct index for structure ( uniform 3-component vector of int)
+0:97            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:97            Constant:
 0:97              0 (const uint)
 0:98      multiply second child into first child ( temp 3-component vector of double)
 0:98        'r41' ( temp 3-component vector of double)
 0:98        Convert uint to double ( temp 3-component vector of double)
-0:98          u3: direct index for structure (layout( offset=48) uniform 3-component vector of uint)
-0:98            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:98          u3: direct index for structure ( uniform 3-component vector of uint)
+0:98            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:98            Constant:
 0:98              3 (const uint)
 0:99      multiply second child into first child ( temp 3-component vector of double)
 0:99        'r42' ( temp 3-component vector of double)
 0:99        Convert float to double ( temp 3-component vector of double)
-0:99          f3: direct index for structure (layout( offset=32) uniform 3-component vector of float)
-0:99            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:99          f3: direct index for structure ( uniform 3-component vector of float)
+0:99            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:99            Constant:
 0:99              2 (const uint)
 0:100      multiply second child into first child ( temp 3-component vector of double)
 0:100        'r43' ( temp 3-component vector of double)
 0:100        Convert bool to double ( temp 3-component vector of double)
-0:100          b3: direct index for structure (layout( offset=16) uniform 3-component vector of bool)
-0:100            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:100          b3: direct index for structure ( uniform 3-component vector of bool)
+0:100            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:100            Constant:
 0:100              1 (const uint)
 0:103      vector scale second child into first child ( temp 3-component vector of float)
 0:103        'r00' ( temp 3-component vector of float)
 0:103        Convert int to float ( temp float)
-0:103          is: direct index for structure (layout( offset=88) uniform int)
-0:103            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:103          is: direct index for structure ( uniform int)
+0:103            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:103            Constant:
 0:103              5 (const uint)
 0:104      vector scale second child into first child ( temp 3-component vector of float)
 0:104        'r01' ( temp 3-component vector of float)
 0:104        Convert bool to float ( temp float)
-0:104          bs: direct index for structure (layout( offset=92) uniform bool)
-0:104            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:104          bs: direct index for structure ( uniform bool)
+0:104            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:104            Constant:
 0:104              6 (const uint)
 0:105      vector scale second child into first child ( temp 3-component vector of float)
 0:105        'r02' ( temp 3-component vector of float)
 0:105        Convert uint to float ( temp float)
-0:105          us: direct index for structure (layout( offset=100) uniform uint)
-0:105            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:105          us: direct index for structure ( uniform uint)
+0:105            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:105            Constant:
 0:105              8 (const uint)
 0:106      vector scale second child into first child ( temp 3-component vector of float)
 0:106        'r03' ( temp 3-component vector of float)
 0:106        Convert double to float ( temp float)
-0:106          ds: direct index for structure (layout( offset=104) uniform double)
-0:106            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:106          ds: direct index for structure ( uniform double)
+0:106            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:106            Constant:
 0:106              9 (const uint)
 0:108      vector scale second child into first child ( temp 3-component vector of int)
 0:108        'r10' ( temp 3-component vector of int)
 0:108        Convert bool to int ( temp int)
-0:108          bs: direct index for structure (layout( offset=92) uniform bool)
-0:108            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:108          bs: direct index for structure ( uniform bool)
+0:108            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:108            Constant:
 0:108              6 (const uint)
 0:109      vector scale second child into first child ( temp 3-component vector of int)
 0:109        'r11' ( temp 3-component vector of int)
 0:109        Convert uint to int ( temp int)
-0:109          us: direct index for structure (layout( offset=100) uniform uint)
-0:109            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:109          us: direct index for structure ( uniform uint)
+0:109            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:109            Constant:
 0:109              8 (const uint)
 0:110      vector scale second child into first child ( temp 3-component vector of int)
 0:110        'r12' ( temp 3-component vector of int)
 0:110        Convert float to int ( temp int)
-0:110          fs: direct index for structure (layout( offset=96) uniform float)
-0:110            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:110          fs: direct index for structure ( uniform float)
+0:110            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:110            Constant:
 0:110              7 (const uint)
 0:111      vector scale second child into first child ( temp 3-component vector of int)
 0:111        'r13' ( temp 3-component vector of int)
 0:111        Convert double to int ( temp int)
-0:111          ds: direct index for structure (layout( offset=104) uniform double)
-0:111            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:111          ds: direct index for structure ( uniform double)
+0:111            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:111            Constant:
 0:111              9 (const uint)
 0:113      vector scale second child into first child ( temp 3-component vector of uint)
 0:113        'r20' ( temp 3-component vector of uint)
 0:113        Convert bool to uint ( temp uint)
-0:113          bs: direct index for structure (layout( offset=92) uniform bool)
-0:113            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:113          bs: direct index for structure ( uniform bool)
+0:113            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:113            Constant:
 0:113              6 (const uint)
 0:114      vector scale second child into first child ( temp 3-component vector of uint)
 0:114        'r21' ( temp 3-component vector of uint)
 0:114        Convert int to uint ( temp uint)
-0:114          is: direct index for structure (layout( offset=88) uniform int)
-0:114            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:114          is: direct index for structure ( uniform int)
+0:114            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:114            Constant:
 0:114              5 (const uint)
 0:115      vector scale second child into first child ( temp 3-component vector of uint)
 0:115        'r22' ( temp 3-component vector of uint)
 0:115        Convert float to uint ( temp uint)
-0:115          fs: direct index for structure (layout( offset=96) uniform float)
-0:115            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:115          fs: direct index for structure ( uniform float)
+0:115            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:115            Constant:
 0:115              7 (const uint)
 0:116      vector scale second child into first child ( temp 3-component vector of uint)
 0:116        'r23' ( temp 3-component vector of uint)
 0:116        Convert double to uint ( temp uint)
-0:116          ds: direct index for structure (layout( offset=104) uniform double)
-0:116            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:116          ds: direct index for structure ( uniform double)
+0:116            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:116            Constant:
 0:116              9 (const uint)
 0:120      vector scale second child into first child ( temp 3-component vector of double)
 0:120        'r40' ( temp 3-component vector of double)
 0:120        Convert int to double ( temp double)
-0:120          is: direct index for structure (layout( offset=88) uniform int)
-0:120            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:120          is: direct index for structure ( uniform int)
+0:120            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:120            Constant:
 0:120              5 (const uint)
 0:121      vector scale second child into first child ( temp 3-component vector of double)
 0:121        'r41' ( temp 3-component vector of double)
 0:121        Convert uint to double ( temp double)
-0:121          us: direct index for structure (layout( offset=100) uniform uint)
-0:121            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:121          us: direct index for structure ( uniform uint)
+0:121            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:121            Constant:
 0:121              8 (const uint)
 0:122      vector scale second child into first child ( temp 3-component vector of double)
 0:122        'r42' ( temp 3-component vector of double)
 0:122        Convert float to double ( temp double)
-0:122          fs: direct index for structure (layout( offset=96) uniform float)
-0:122            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:122          fs: direct index for structure ( uniform float)
+0:122            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:122            Constant:
 0:122              7 (const uint)
 0:123      vector scale second child into first child ( temp 3-component vector of double)
 0:123        'r43' ( temp 3-component vector of double)
 0:123        Convert bool to double ( temp double)
-0:123          bs: direct index for structure (layout( offset=92) uniform bool)
-0:123            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:123          bs: direct index for structure ( uniform bool)
+0:123            'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:123            Constant:
 0:123              6 (const uint)
 0:193      Sequence
@@ -1578,7 +1578,7 @@ gl_FragCoord origin is upper left
 0:52            Constant:
 0:52              0 (const int)
 0:?   Linker Objects
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 3-component vector of int i3, layout( offset=16) uniform 3-component vector of bool b3, layout( offset=32) uniform 3-component vector of float f3, layout( offset=48) uniform 3-component vector of uint u3, layout( offset=64) uniform 3-component vector of double d3, layout( offset=88) uniform int is, layout( offset=92) uniform bool bs, layout( offset=96) uniform float fs, layout( offset=100) uniform uint us, layout( offset=104) uniform double ds})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 3-component vector of int i3,  uniform 3-component vector of bool b3,  uniform 3-component vector of float f3,  uniform 3-component vector of uint u3,  uniform 3-component vector of double d3,  uniform int is,  uniform bool bs,  uniform float fs,  uniform uint us,  uniform double ds})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
diff --git a/Test/baseResults/hlsl.rw.atomics.frag.out b/Test/baseResults/hlsl.rw.atomics.frag.out
index d7b363d8ed29daabc1b9f674cc1f319223da8396..a2e53584936211e92eb3935ddb12adc4dd694f9f 100644
--- a/Test/baseResults/hlsl.rw.atomics.frag.out
+++ b/Test/baseResults/hlsl.rw.atomics.frag.out
@@ -7,1922 +7,1922 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 0:50      imageAtomicAdd ( temp int)
 0:50        'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:50        i1: direct index for structure (layout( offset=36) uniform int)
-0:50          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:50        i1: direct index for structure ( uniform int)
+0:50          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:50          Constant:
 0:50            5 (const uint)
-0:50        i1b: direct index for structure (layout( offset=60) uniform int)
-0:50          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:50        i1b: direct index for structure ( uniform int)
+0:50          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:50          Constant:
 0:50            8 (const uint)
 0:51      move second child to first child ( temp int)
 0:51        'out_i1' ( temp int)
 0:51        imageAtomicAdd ( temp int)
 0:51          'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:51          i1: direct index for structure (layout( offset=36) uniform int)
-0:51            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:51          i1: direct index for structure ( uniform int)
+0:51            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:51            Constant:
 0:51              5 (const uint)
-0:51          i1: direct index for structure (layout( offset=36) uniform int)
-0:51            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:51          i1: direct index for structure ( uniform int)
+0:51            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:51            Constant:
 0:51              5 (const uint)
 0:52      imageAtomicAnd ( temp int)
 0:52        'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:52        i1: direct index for structure (layout( offset=36) uniform int)
-0:52          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:52        i1: direct index for structure ( uniform int)
+0:52          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:52          Constant:
 0:52            5 (const uint)
-0:52        i1b: direct index for structure (layout( offset=60) uniform int)
-0:52          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:52        i1b: direct index for structure ( uniform int)
+0:52          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:52          Constant:
 0:52            8 (const uint)
 0:53      move second child to first child ( temp int)
 0:53        'out_i1' ( temp int)
 0:53        imageAtomicAnd ( temp int)
 0:53          'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:53          i1: direct index for structure (layout( offset=36) uniform int)
-0:53            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:53          i1: direct index for structure ( uniform int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:53            Constant:
 0:53              5 (const uint)
-0:53          i1: direct index for structure (layout( offset=36) uniform int)
-0:53            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:53          i1: direct index for structure ( uniform int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:53            Constant:
 0:53              5 (const uint)
 0:54      move second child to first child ( temp int)
 0:54        'out_i1' ( temp int)
 0:54        imageAtomicCompSwap ( temp int)
 0:54          'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:54          i1: direct index for structure (layout( offset=36) uniform int)
-0:54            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:54          i1: direct index for structure ( uniform int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:54            Constant:
 0:54              5 (const uint)
-0:54          i1b: direct index for structure (layout( offset=60) uniform int)
-0:54            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:54          i1b: direct index for structure ( uniform int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:54            Constant:
 0:54              8 (const uint)
-0:54          i1c: direct index for structure (layout( offset=64) uniform int)
-0:54            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:54          i1c: direct index for structure ( uniform int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:54            Constant:
 0:54              9 (const uint)
 0:55      move second child to first child ( temp int)
 0:55        'out_i1' ( temp int)
 0:55        imageAtomicExchange ( temp int)
 0:55          'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:55          i1: direct index for structure (layout( offset=36) uniform int)
-0:55            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:55          i1: direct index for structure ( uniform int)
+0:55            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:55            Constant:
 0:55              5 (const uint)
-0:55          i1: direct index for structure (layout( offset=36) uniform int)
-0:55            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:55          i1: direct index for structure ( uniform int)
+0:55            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:55            Constant:
 0:55              5 (const uint)
 0:56      imageAtomicMax ( temp int)
 0:56        'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:56        i1: direct index for structure (layout( offset=36) uniform int)
-0:56          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:56        i1: direct index for structure ( uniform int)
+0:56          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:56          Constant:
 0:56            5 (const uint)
-0:56        i1b: direct index for structure (layout( offset=60) uniform int)
-0:56          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:56        i1b: direct index for structure ( uniform int)
+0:56          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:56          Constant:
 0:56            8 (const uint)
 0:57      move second child to first child ( temp int)
 0:57        'out_i1' ( temp int)
 0:57        imageAtomicMax ( temp int)
 0:57          'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:57          i1: direct index for structure (layout( offset=36) uniform int)
-0:57            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:57          i1: direct index for structure ( uniform int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:57            Constant:
 0:57              5 (const uint)
-0:57          i1: direct index for structure (layout( offset=36) uniform int)
-0:57            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:57          i1: direct index for structure ( uniform int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:57            Constant:
 0:57              5 (const uint)
 0:58      imageAtomicMin ( temp int)
 0:58        'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:58        i1: direct index for structure (layout( offset=36) uniform int)
-0:58          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:58        i1: direct index for structure ( uniform int)
+0:58          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:58          Constant:
 0:58            5 (const uint)
-0:58        i1b: direct index for structure (layout( offset=60) uniform int)
-0:58          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:58        i1b: direct index for structure ( uniform int)
+0:58          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:58          Constant:
 0:58            8 (const uint)
 0:59      move second child to first child ( temp int)
 0:59        'out_i1' ( temp int)
 0:59        imageAtomicMin ( temp int)
 0:59          'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:59          i1: direct index for structure (layout( offset=36) uniform int)
-0:59            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:59          i1: direct index for structure ( uniform int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:59            Constant:
 0:59              5 (const uint)
-0:59          i1: direct index for structure (layout( offset=36) uniform int)
-0:59            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:59          i1: direct index for structure ( uniform int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:59            Constant:
 0:59              5 (const uint)
 0:60      imageAtomicOr ( temp int)
 0:60        'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:60        i1: direct index for structure (layout( offset=36) uniform int)
-0:60          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:60        i1: direct index for structure ( uniform int)
+0:60          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:60          Constant:
 0:60            5 (const uint)
-0:60        i1b: direct index for structure (layout( offset=60) uniform int)
-0:60          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:60        i1b: direct index for structure ( uniform int)
+0:60          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:60          Constant:
 0:60            8 (const uint)
 0:61      move second child to first child ( temp int)
 0:61        'out_i1' ( temp int)
 0:61        imageAtomicOr ( temp int)
 0:61          'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:61          i1: direct index for structure (layout( offset=36) uniform int)
-0:61            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:61          i1: direct index for structure ( uniform int)
+0:61            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:61            Constant:
 0:61              5 (const uint)
-0:61          i1: direct index for structure (layout( offset=36) uniform int)
-0:61            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:61          i1: direct index for structure ( uniform int)
+0:61            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:61            Constant:
 0:61              5 (const uint)
 0:62      imageAtomicXor ( temp int)
 0:62        'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:62        i1: direct index for structure (layout( offset=36) uniform int)
-0:62          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:62        i1: direct index for structure ( uniform int)
+0:62          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:62          Constant:
 0:62            5 (const uint)
-0:62        i1b: direct index for structure (layout( offset=60) uniform int)
-0:62          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:62        i1b: direct index for structure ( uniform int)
+0:62          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:62          Constant:
 0:62            8 (const uint)
 0:63      move second child to first child ( temp int)
 0:63        'out_i1' ( temp int)
 0:63        imageAtomicXor ( temp int)
 0:63          'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:63          i1: direct index for structure (layout( offset=36) uniform int)
-0:63            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:63          i1: direct index for structure ( uniform int)
+0:63            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:63            Constant:
 0:63              5 (const uint)
-0:63          i1: direct index for structure (layout( offset=36) uniform int)
-0:63            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:63          i1: direct index for structure ( uniform int)
+0:63            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:63            Constant:
 0:63              5 (const uint)
 0:66      imageAtomicAdd ( temp uint)
 0:66        'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:66        u1: direct index for structure (layout( offset=0) uniform uint)
-0:66          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:66        u1: direct index for structure ( uniform uint)
+0:66          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:66          Constant:
 0:66            0 (const uint)
-0:66        u1: direct index for structure (layout( offset=0) uniform uint)
-0:66          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:66        u1: direct index for structure ( uniform uint)
+0:66          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:66          Constant:
 0:66            0 (const uint)
 0:67      move second child to first child ( temp uint)
 0:67        'out_u1' ( temp uint)
 0:67        imageAtomicAdd ( temp uint)
 0:67          'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:67          u1: direct index for structure (layout( offset=0) uniform uint)
-0:67            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:67          u1: direct index for structure ( uniform uint)
+0:67            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:67            Constant:
 0:67              0 (const uint)
-0:67          u1: direct index for structure (layout( offset=0) uniform uint)
-0:67            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:67          u1: direct index for structure ( uniform uint)
+0:67            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:67            Constant:
 0:67              0 (const uint)
 0:68      imageAtomicAnd ( temp uint)
 0:68        'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:68        u1: direct index for structure (layout( offset=0) uniform uint)
-0:68          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:68        u1: direct index for structure ( uniform uint)
+0:68          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:68          Constant:
 0:68            0 (const uint)
-0:68        u1: direct index for structure (layout( offset=0) uniform uint)
-0:68          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:68        u1: direct index for structure ( uniform uint)
+0:68          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:68          Constant:
 0:68            0 (const uint)
 0:69      move second child to first child ( temp uint)
 0:69        'out_u1' ( temp uint)
 0:69        imageAtomicAnd ( temp uint)
 0:69          'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:69          u1: direct index for structure (layout( offset=0) uniform uint)
-0:69            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:69          u1: direct index for structure ( uniform uint)
+0:69            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:69            Constant:
 0:69              0 (const uint)
-0:69          u1: direct index for structure (layout( offset=0) uniform uint)
-0:69            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:69          u1: direct index for structure ( uniform uint)
+0:69            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:69            Constant:
 0:69              0 (const uint)
 0:70      move second child to first child ( temp uint)
 0:70        'out_u1' ( temp uint)
 0:70        imageAtomicCompSwap ( temp uint)
 0:70          'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:70          u1: direct index for structure (layout( offset=0) uniform uint)
-0:70            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:70          u1: direct index for structure ( uniform uint)
+0:70            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:70            Constant:
 0:70              0 (const uint)
-0:70          u1b: direct index for structure (layout( offset=28) uniform uint)
-0:70            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:70          u1b: direct index for structure ( uniform uint)
+0:70            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:70            Constant:
 0:70              3 (const uint)
-0:70          u1c: direct index for structure (layout( offset=32) uniform uint)
-0:70            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:70          u1c: direct index for structure ( uniform uint)
+0:70            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:70            Constant:
 0:70              4 (const uint)
 0:71      move second child to first child ( temp uint)
 0:71        'out_u1' ( temp uint)
 0:71        imageAtomicExchange ( temp uint)
 0:71          'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:71          u1: direct index for structure (layout( offset=0) uniform uint)
-0:71            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:71          u1: direct index for structure ( uniform uint)
+0:71            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:71            Constant:
 0:71              0 (const uint)
-0:71          u1: direct index for structure (layout( offset=0) uniform uint)
-0:71            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:71          u1: direct index for structure ( uniform uint)
+0:71            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:71            Constant:
 0:71              0 (const uint)
 0:72      imageAtomicMax ( temp uint)
 0:72        'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:72        u1: direct index for structure (layout( offset=0) uniform uint)
-0:72          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:72        u1: direct index for structure ( uniform uint)
+0:72          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:72          Constant:
 0:72            0 (const uint)
-0:72        u1: direct index for structure (layout( offset=0) uniform uint)
-0:72          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:72        u1: direct index for structure ( uniform uint)
+0:72          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:72          Constant:
 0:72            0 (const uint)
 0:73      move second child to first child ( temp uint)
 0:73        'out_u1' ( temp uint)
 0:73        imageAtomicMax ( temp uint)
 0:73          'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:73          u1: direct index for structure (layout( offset=0) uniform uint)
-0:73            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:73          u1: direct index for structure ( uniform uint)
+0:73            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:73            Constant:
 0:73              0 (const uint)
-0:73          u1: direct index for structure (layout( offset=0) uniform uint)
-0:73            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:73          u1: direct index for structure ( uniform uint)
+0:73            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:73            Constant:
 0:73              0 (const uint)
 0:74      imageAtomicMin ( temp uint)
 0:74        'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:74        u1: direct index for structure (layout( offset=0) uniform uint)
-0:74          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:74        u1: direct index for structure ( uniform uint)
+0:74          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:74          Constant:
 0:74            0 (const uint)
-0:74        u1: direct index for structure (layout( offset=0) uniform uint)
-0:74          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:74        u1: direct index for structure ( uniform uint)
+0:74          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:74          Constant:
 0:74            0 (const uint)
 0:75      move second child to first child ( temp uint)
 0:75        'out_u1' ( temp uint)
 0:75        imageAtomicMin ( temp uint)
 0:75          'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:75          u1: direct index for structure (layout( offset=0) uniform uint)
-0:75            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:75          u1: direct index for structure ( uniform uint)
+0:75            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:75            Constant:
 0:75              0 (const uint)
-0:75          u1: direct index for structure (layout( offset=0) uniform uint)
-0:75            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:75          u1: direct index for structure ( uniform uint)
+0:75            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:75            Constant:
 0:75              0 (const uint)
 0:76      imageAtomicOr ( temp uint)
 0:76        'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:76        u1: direct index for structure (layout( offset=0) uniform uint)
-0:76          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:76        u1: direct index for structure ( uniform uint)
+0:76          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:76          Constant:
 0:76            0 (const uint)
-0:76        u1: direct index for structure (layout( offset=0) uniform uint)
-0:76          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:76        u1: direct index for structure ( uniform uint)
+0:76          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:76          Constant:
 0:76            0 (const uint)
 0:77      move second child to first child ( temp uint)
 0:77        'out_u1' ( temp uint)
 0:77        imageAtomicOr ( temp uint)
 0:77          'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:77          u1: direct index for structure (layout( offset=0) uniform uint)
-0:77            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:77          u1: direct index for structure ( uniform uint)
+0:77            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:77            Constant:
 0:77              0 (const uint)
-0:77          u1: direct index for structure (layout( offset=0) uniform uint)
-0:77            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:77          u1: direct index for structure ( uniform uint)
+0:77            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:77            Constant:
 0:77              0 (const uint)
 0:78      imageAtomicXor ( temp uint)
 0:78        'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:78        u1: direct index for structure (layout( offset=0) uniform uint)
-0:78          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:78        u1: direct index for structure ( uniform uint)
+0:78          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:78          Constant:
 0:78            0 (const uint)
-0:78        u1: direct index for structure (layout( offset=0) uniform uint)
-0:78          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:78        u1: direct index for structure ( uniform uint)
+0:78          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:78          Constant:
 0:78            0 (const uint)
 0:79      move second child to first child ( temp uint)
 0:79        'out_u1' ( temp uint)
 0:79        imageAtomicXor ( temp uint)
 0:79          'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:79          u1: direct index for structure (layout( offset=0) uniform uint)
-0:79            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:79          u1: direct index for structure ( uniform uint)
+0:79            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:79            Constant:
 0:79              0 (const uint)
-0:79          u1: direct index for structure (layout( offset=0) uniform uint)
-0:79            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:79          u1: direct index for structure ( uniform uint)
+0:79            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:79            Constant:
 0:79              0 (const uint)
 0:82      imageAtomicAdd ( temp int)
 0:82        'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:82        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:82          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:82        i2: direct index for structure ( uniform 2-component vector of int)
+0:82          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:82          Constant:
 0:82            6 (const uint)
-0:82        i1b: direct index for structure (layout( offset=60) uniform int)
-0:82          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:82        i1b: direct index for structure ( uniform int)
+0:82          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:82          Constant:
 0:82            8 (const uint)
 0:83      move second child to first child ( temp int)
 0:83        'out_i1' ( temp int)
 0:83        imageAtomicAdd ( temp int)
 0:83          'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:83          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:83            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:83          i2: direct index for structure ( uniform 2-component vector of int)
+0:83            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:83            Constant:
 0:83              6 (const uint)
-0:83          i1: direct index for structure (layout( offset=36) uniform int)
-0:83            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:83          i1: direct index for structure ( uniform int)
+0:83            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:83            Constant:
 0:83              5 (const uint)
 0:84      imageAtomicAnd ( temp int)
 0:84        'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:84        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:84          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:84        i2: direct index for structure ( uniform 2-component vector of int)
+0:84          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:84          Constant:
 0:84            6 (const uint)
-0:84        i1b: direct index for structure (layout( offset=60) uniform int)
-0:84          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:84        i1b: direct index for structure ( uniform int)
+0:84          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:84          Constant:
 0:84            8 (const uint)
 0:85      move second child to first child ( temp int)
 0:85        'out_i1' ( temp int)
 0:85        imageAtomicAnd ( temp int)
 0:85          'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:85          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:85            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:85          i2: direct index for structure ( uniform 2-component vector of int)
+0:85            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:85            Constant:
 0:85              6 (const uint)
-0:85          i1: direct index for structure (layout( offset=36) uniform int)
-0:85            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:85          i1: direct index for structure ( uniform int)
+0:85            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:85            Constant:
 0:85              5 (const uint)
 0:86      move second child to first child ( temp int)
 0:86        'out_i1' ( temp int)
 0:86        imageAtomicCompSwap ( temp int)
 0:86          'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:86          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:86            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:86          i2: direct index for structure ( uniform 2-component vector of int)
+0:86            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:86            Constant:
 0:86              6 (const uint)
-0:86          i1b: direct index for structure (layout( offset=60) uniform int)
-0:86            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:86          i1b: direct index for structure ( uniform int)
+0:86            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:86            Constant:
 0:86              8 (const uint)
-0:86          i1c: direct index for structure (layout( offset=64) uniform int)
-0:86            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:86          i1c: direct index for structure ( uniform int)
+0:86            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:86            Constant:
 0:86              9 (const uint)
 0:87      move second child to first child ( temp int)
 0:87        'out_i1' ( temp int)
 0:87        imageAtomicExchange ( temp int)
 0:87          'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:87          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:87            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:87          i2: direct index for structure ( uniform 2-component vector of int)
+0:87            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:87            Constant:
 0:87              6 (const uint)
-0:87          i1: direct index for structure (layout( offset=36) uniform int)
-0:87            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:87          i1: direct index for structure ( uniform int)
+0:87            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:87            Constant:
 0:87              5 (const uint)
 0:88      imageAtomicMax ( temp int)
 0:88        'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:88        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:88          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:88        i2: direct index for structure ( uniform 2-component vector of int)
+0:88          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:88          Constant:
 0:88            6 (const uint)
-0:88        i1b: direct index for structure (layout( offset=60) uniform int)
-0:88          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:88        i1b: direct index for structure ( uniform int)
+0:88          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:88          Constant:
 0:88            8 (const uint)
 0:89      move second child to first child ( temp int)
 0:89        'out_i1' ( temp int)
 0:89        imageAtomicMax ( temp int)
 0:89          'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:89          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:89            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:89          i2: direct index for structure ( uniform 2-component vector of int)
+0:89            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:89            Constant:
 0:89              6 (const uint)
-0:89          i1: direct index for structure (layout( offset=36) uniform int)
-0:89            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:89          i1: direct index for structure ( uniform int)
+0:89            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:89            Constant:
 0:89              5 (const uint)
 0:90      imageAtomicMin ( temp int)
 0:90        'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:90        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:90          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:90        i2: direct index for structure ( uniform 2-component vector of int)
+0:90          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:90          Constant:
 0:90            6 (const uint)
-0:90        i1b: direct index for structure (layout( offset=60) uniform int)
-0:90          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:90        i1b: direct index for structure ( uniform int)
+0:90          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:90          Constant:
 0:90            8 (const uint)
 0:91      move second child to first child ( temp int)
 0:91        'out_i1' ( temp int)
 0:91        imageAtomicMin ( temp int)
 0:91          'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:91          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:91            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:91          i2: direct index for structure ( uniform 2-component vector of int)
+0:91            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:91            Constant:
 0:91              6 (const uint)
-0:91          i1: direct index for structure (layout( offset=36) uniform int)
-0:91            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:91          i1: direct index for structure ( uniform int)
+0:91            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:91            Constant:
 0:91              5 (const uint)
 0:92      imageAtomicOr ( temp int)
 0:92        'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:92        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:92          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:92        i2: direct index for structure ( uniform 2-component vector of int)
+0:92          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:92          Constant:
 0:92            6 (const uint)
-0:92        i1b: direct index for structure (layout( offset=60) uniform int)
-0:92          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:92        i1b: direct index for structure ( uniform int)
+0:92          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:92          Constant:
 0:92            8 (const uint)
 0:93      move second child to first child ( temp int)
 0:93        'out_i1' ( temp int)
 0:93        imageAtomicOr ( temp int)
 0:93          'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:93          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:93            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:93          i2: direct index for structure ( uniform 2-component vector of int)
+0:93            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:93            Constant:
 0:93              6 (const uint)
-0:93          i1: direct index for structure (layout( offset=36) uniform int)
-0:93            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:93          i1: direct index for structure ( uniform int)
+0:93            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:93            Constant:
 0:93              5 (const uint)
 0:94      imageAtomicXor ( temp int)
 0:94        'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:94        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:94          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:94        i2: direct index for structure ( uniform 2-component vector of int)
+0:94          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:94          Constant:
 0:94            6 (const uint)
-0:94        i1b: direct index for structure (layout( offset=60) uniform int)
-0:94          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:94        i1b: direct index for structure ( uniform int)
+0:94          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:94          Constant:
 0:94            8 (const uint)
 0:95      move second child to first child ( temp int)
 0:95        'out_i1' ( temp int)
 0:95        imageAtomicXor ( temp int)
 0:95          'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:95          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:95            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:95          i2: direct index for structure ( uniform 2-component vector of int)
+0:95            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:95            Constant:
 0:95              6 (const uint)
-0:95          i1: direct index for structure (layout( offset=36) uniform int)
-0:95            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:95          i1: direct index for structure ( uniform int)
+0:95            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:95            Constant:
 0:95              5 (const uint)
 0:98      imageAtomicAdd ( temp uint)
 0:98        'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:98        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:98          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:98        u2: direct index for structure ( uniform 2-component vector of uint)
+0:98          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:98          Constant:
 0:98            1 (const uint)
-0:98        u1: direct index for structure (layout( offset=0) uniform uint)
-0:98          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:98        u1: direct index for structure ( uniform uint)
+0:98          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:98          Constant:
 0:98            0 (const uint)
 0:99      move second child to first child ( temp uint)
 0:99        'out_u1' ( temp uint)
 0:99        imageAtomicAdd ( temp uint)
 0:99          'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:99          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:99            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:99          u2: direct index for structure ( uniform 2-component vector of uint)
+0:99            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:99            Constant:
 0:99              1 (const uint)
-0:99          u1: direct index for structure (layout( offset=0) uniform uint)
-0:99            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:99          u1: direct index for structure ( uniform uint)
+0:99            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:99            Constant:
 0:99              0 (const uint)
 0:100      imageAtomicAnd ( temp uint)
 0:100        'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:100        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:100          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:100        u2: direct index for structure ( uniform 2-component vector of uint)
+0:100          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:100          Constant:
 0:100            1 (const uint)
-0:100        u1: direct index for structure (layout( offset=0) uniform uint)
-0:100          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:100        u1: direct index for structure ( uniform uint)
+0:100          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:100          Constant:
 0:100            0 (const uint)
 0:101      move second child to first child ( temp uint)
 0:101        'out_u1' ( temp uint)
 0:101        imageAtomicAnd ( temp uint)
 0:101          'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:101          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:101            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:101          u2: direct index for structure ( uniform 2-component vector of uint)
+0:101            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:101            Constant:
 0:101              1 (const uint)
-0:101          u1: direct index for structure (layout( offset=0) uniform uint)
-0:101            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:101          u1: direct index for structure ( uniform uint)
+0:101            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:101            Constant:
 0:101              0 (const uint)
 0:102      move second child to first child ( temp uint)
 0:102        'out_u1' ( temp uint)
 0:102        imageAtomicCompSwap ( temp uint)
 0:102          'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:102          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:102            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:102          u2: direct index for structure ( uniform 2-component vector of uint)
+0:102            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:102            Constant:
 0:102              1 (const uint)
-0:102          u1b: direct index for structure (layout( offset=28) uniform uint)
-0:102            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:102          u1b: direct index for structure ( uniform uint)
+0:102            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:102            Constant:
 0:102              3 (const uint)
-0:102          u1c: direct index for structure (layout( offset=32) uniform uint)
-0:102            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:102          u1c: direct index for structure ( uniform uint)
+0:102            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:102            Constant:
 0:102              4 (const uint)
 0:103      move second child to first child ( temp uint)
 0:103        'out_u1' ( temp uint)
 0:103        imageAtomicExchange ( temp uint)
 0:103          'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:103          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:103            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:103          u2: direct index for structure ( uniform 2-component vector of uint)
+0:103            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:103            Constant:
 0:103              1 (const uint)
-0:103          u1: direct index for structure (layout( offset=0) uniform uint)
-0:103            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:103          u1: direct index for structure ( uniform uint)
+0:103            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:103            Constant:
 0:103              0 (const uint)
 0:104      imageAtomicMax ( temp uint)
 0:104        'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:104        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:104          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:104        u2: direct index for structure ( uniform 2-component vector of uint)
+0:104          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:104          Constant:
 0:104            1 (const uint)
-0:104        u1: direct index for structure (layout( offset=0) uniform uint)
-0:104          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:104        u1: direct index for structure ( uniform uint)
+0:104          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:104          Constant:
 0:104            0 (const uint)
 0:105      move second child to first child ( temp uint)
 0:105        'out_u1' ( temp uint)
 0:105        imageAtomicMax ( temp uint)
 0:105          'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:105          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:105            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:105          u2: direct index for structure ( uniform 2-component vector of uint)
+0:105            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:105            Constant:
 0:105              1 (const uint)
-0:105          u1: direct index for structure (layout( offset=0) uniform uint)
-0:105            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:105          u1: direct index for structure ( uniform uint)
+0:105            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:105            Constant:
 0:105              0 (const uint)
 0:106      imageAtomicMin ( temp uint)
 0:106        'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:106        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:106          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:106        u2: direct index for structure ( uniform 2-component vector of uint)
+0:106          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:106          Constant:
 0:106            1 (const uint)
-0:106        u1: direct index for structure (layout( offset=0) uniform uint)
-0:106          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:106        u1: direct index for structure ( uniform uint)
+0:106          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:106          Constant:
 0:106            0 (const uint)
 0:107      move second child to first child ( temp uint)
 0:107        'out_u1' ( temp uint)
 0:107        imageAtomicMin ( temp uint)
 0:107          'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:107          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:107            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:107          u2: direct index for structure ( uniform 2-component vector of uint)
+0:107            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:107            Constant:
 0:107              1 (const uint)
-0:107          u1: direct index for structure (layout( offset=0) uniform uint)
-0:107            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:107          u1: direct index for structure ( uniform uint)
+0:107            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:107            Constant:
 0:107              0 (const uint)
 0:108      imageAtomicOr ( temp uint)
 0:108        'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:108        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:108          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:108        u2: direct index for structure ( uniform 2-component vector of uint)
+0:108          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:108          Constant:
 0:108            1 (const uint)
-0:108        u1: direct index for structure (layout( offset=0) uniform uint)
-0:108          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:108        u1: direct index for structure ( uniform uint)
+0:108          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:108          Constant:
 0:108            0 (const uint)
 0:109      move second child to first child ( temp uint)
 0:109        'out_u1' ( temp uint)
 0:109        imageAtomicOr ( temp uint)
 0:109          'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:109          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:109            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:109          u2: direct index for structure ( uniform 2-component vector of uint)
+0:109            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:109            Constant:
 0:109              1 (const uint)
-0:109          u1: direct index for structure (layout( offset=0) uniform uint)
-0:109            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:109          u1: direct index for structure ( uniform uint)
+0:109            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:109            Constant:
 0:109              0 (const uint)
 0:110      imageAtomicXor ( temp uint)
 0:110        'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:110        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:110          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:110        u2: direct index for structure ( uniform 2-component vector of uint)
+0:110          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:110          Constant:
 0:110            1 (const uint)
-0:110        u1: direct index for structure (layout( offset=0) uniform uint)
-0:110          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:110        u1: direct index for structure ( uniform uint)
+0:110          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:110          Constant:
 0:110            0 (const uint)
 0:111      move second child to first child ( temp uint)
 0:111        'out_u1' ( temp uint)
 0:111        imageAtomicXor ( temp uint)
 0:111          'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:111          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:111            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:111          u2: direct index for structure ( uniform 2-component vector of uint)
+0:111            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:111            Constant:
 0:111              1 (const uint)
-0:111          u1: direct index for structure (layout( offset=0) uniform uint)
-0:111            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:111          u1: direct index for structure ( uniform uint)
+0:111            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:111            Constant:
 0:111              0 (const uint)
 0:114      imageAtomicAdd ( temp int)
 0:114        'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:114        i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:114          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:114        i3: direct index for structure ( uniform 3-component vector of int)
+0:114          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:114          Constant:
 0:114            7 (const uint)
-0:114        i1b: direct index for structure (layout( offset=60) uniform int)
-0:114          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:114        i1b: direct index for structure ( uniform int)
+0:114          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:114          Constant:
 0:114            8 (const uint)
 0:115      move second child to first child ( temp int)
 0:115        'out_i1' ( temp int)
 0:115        imageAtomicAdd ( temp int)
 0:115          'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:115          i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:115            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:115          i3: direct index for structure ( uniform 3-component vector of int)
+0:115            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:115            Constant:
 0:115              7 (const uint)
-0:115          i1: direct index for structure (layout( offset=36) uniform int)
-0:115            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:115          i1: direct index for structure ( uniform int)
+0:115            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:115            Constant:
 0:115              5 (const uint)
 0:116      imageAtomicAnd ( temp int)
 0:116        'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:116        i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:116          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:116        i3: direct index for structure ( uniform 3-component vector of int)
+0:116          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:116          Constant:
 0:116            7 (const uint)
-0:116        i1b: direct index for structure (layout( offset=60) uniform int)
-0:116          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:116        i1b: direct index for structure ( uniform int)
+0:116          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:116          Constant:
 0:116            8 (const uint)
 0:117      move second child to first child ( temp int)
 0:117        'out_i1' ( temp int)
 0:117        imageAtomicAnd ( temp int)
 0:117          'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:117          i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:117            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:117          i3: direct index for structure ( uniform 3-component vector of int)
+0:117            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:117            Constant:
 0:117              7 (const uint)
-0:117          i1: direct index for structure (layout( offset=36) uniform int)
-0:117            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:117          i1: direct index for structure ( uniform int)
+0:117            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:117            Constant:
 0:117              5 (const uint)
 0:118      move second child to first child ( temp int)
 0:118        'out_i1' ( temp int)
 0:118        imageAtomicCompSwap ( temp int)
 0:118          'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:118          i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:118            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:118          i3: direct index for structure ( uniform 3-component vector of int)
+0:118            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:118            Constant:
 0:118              7 (const uint)
-0:118          i1b: direct index for structure (layout( offset=60) uniform int)
-0:118            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:118          i1b: direct index for structure ( uniform int)
+0:118            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:118            Constant:
 0:118              8 (const uint)
-0:118          i1c: direct index for structure (layout( offset=64) uniform int)
-0:118            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:118          i1c: direct index for structure ( uniform int)
+0:118            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:118            Constant:
 0:118              9 (const uint)
 0:119      move second child to first child ( temp int)
 0:119        'out_i1' ( temp int)
 0:119        imageAtomicExchange ( temp int)
 0:119          'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:119          i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:119            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:119          i3: direct index for structure ( uniform 3-component vector of int)
+0:119            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:119            Constant:
 0:119              7 (const uint)
-0:119          i1: direct index for structure (layout( offset=36) uniform int)
-0:119            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:119          i1: direct index for structure ( uniform int)
+0:119            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:119            Constant:
 0:119              5 (const uint)
 0:120      imageAtomicMax ( temp int)
 0:120        'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:120        i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:120          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:120        i3: direct index for structure ( uniform 3-component vector of int)
+0:120          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:120          Constant:
 0:120            7 (const uint)
-0:120        i1b: direct index for structure (layout( offset=60) uniform int)
-0:120          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:120        i1b: direct index for structure ( uniform int)
+0:120          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:120          Constant:
 0:120            8 (const uint)
 0:121      move second child to first child ( temp int)
 0:121        'out_i1' ( temp int)
 0:121        imageAtomicMax ( temp int)
 0:121          'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:121          i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:121            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:121          i3: direct index for structure ( uniform 3-component vector of int)
+0:121            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:121            Constant:
 0:121              7 (const uint)
-0:121          i1: direct index for structure (layout( offset=36) uniform int)
-0:121            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:121          i1: direct index for structure ( uniform int)
+0:121            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:121            Constant:
 0:121              5 (const uint)
 0:122      imageAtomicMin ( temp int)
 0:122        'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:122        i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:122          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:122        i3: direct index for structure ( uniform 3-component vector of int)
+0:122          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:122          Constant:
 0:122            7 (const uint)
-0:122        i1b: direct index for structure (layout( offset=60) uniform int)
-0:122          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:122        i1b: direct index for structure ( uniform int)
+0:122          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:122          Constant:
 0:122            8 (const uint)
 0:123      move second child to first child ( temp int)
 0:123        'out_i1' ( temp int)
 0:123        imageAtomicMin ( temp int)
 0:123          'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:123          i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:123            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:123          i3: direct index for structure ( uniform 3-component vector of int)
+0:123            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:123            Constant:
 0:123              7 (const uint)
-0:123          i1: direct index for structure (layout( offset=36) uniform int)
-0:123            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:123          i1: direct index for structure ( uniform int)
+0:123            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:123            Constant:
 0:123              5 (const uint)
 0:124      imageAtomicOr ( temp int)
 0:124        'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:124        i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:124          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:124        i3: direct index for structure ( uniform 3-component vector of int)
+0:124          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:124          Constant:
 0:124            7 (const uint)
-0:124        i1b: direct index for structure (layout( offset=60) uniform int)
-0:124          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:124        i1b: direct index for structure ( uniform int)
+0:124          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:124          Constant:
 0:124            8 (const uint)
 0:125      move second child to first child ( temp int)
 0:125        'out_i1' ( temp int)
 0:125        imageAtomicOr ( temp int)
 0:125          'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:125          i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:125            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:125          i3: direct index for structure ( uniform 3-component vector of int)
+0:125            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:125            Constant:
 0:125              7 (const uint)
-0:125          i1: direct index for structure (layout( offset=36) uniform int)
-0:125            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:125          i1: direct index for structure ( uniform int)
+0:125            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:125            Constant:
 0:125              5 (const uint)
 0:126      imageAtomicXor ( temp int)
 0:126        'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:126        i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:126          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:126        i3: direct index for structure ( uniform 3-component vector of int)
+0:126          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:126          Constant:
 0:126            7 (const uint)
-0:126        i1b: direct index for structure (layout( offset=60) uniform int)
-0:126          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:126        i1b: direct index for structure ( uniform int)
+0:126          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:126          Constant:
 0:126            8 (const uint)
 0:127      move second child to first child ( temp int)
 0:127        'out_i1' ( temp int)
 0:127        imageAtomicXor ( temp int)
 0:127          'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:127          i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:127            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:127          i3: direct index for structure ( uniform 3-component vector of int)
+0:127            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:127            Constant:
 0:127              7 (const uint)
-0:127          i1: direct index for structure (layout( offset=36) uniform int)
-0:127            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:127          i1: direct index for structure ( uniform int)
+0:127            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:127            Constant:
 0:127              5 (const uint)
 0:130      imageAtomicAdd ( temp uint)
 0:130        'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:130        u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:130          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:130        u3: direct index for structure ( uniform 3-component vector of uint)
+0:130          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:130          Constant:
 0:130            2 (const uint)
-0:130        u1: direct index for structure (layout( offset=0) uniform uint)
-0:130          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:130        u1: direct index for structure ( uniform uint)
+0:130          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:130          Constant:
 0:130            0 (const uint)
 0:131      move second child to first child ( temp uint)
 0:131        'out_u1' ( temp uint)
 0:131        imageAtomicAdd ( temp uint)
 0:131          'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:131          u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:131            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:131          u3: direct index for structure ( uniform 3-component vector of uint)
+0:131            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:131            Constant:
 0:131              2 (const uint)
-0:131          u1: direct index for structure (layout( offset=0) uniform uint)
-0:131            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:131          u1: direct index for structure ( uniform uint)
+0:131            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:131            Constant:
 0:131              0 (const uint)
 0:132      imageAtomicAnd ( temp uint)
 0:132        'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:132        u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:132          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:132        u3: direct index for structure ( uniform 3-component vector of uint)
+0:132          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:132          Constant:
 0:132            2 (const uint)
-0:132        u1: direct index for structure (layout( offset=0) uniform uint)
-0:132          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:132        u1: direct index for structure ( uniform uint)
+0:132          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:132          Constant:
 0:132            0 (const uint)
 0:133      move second child to first child ( temp uint)
 0:133        'out_u1' ( temp uint)
 0:133        imageAtomicAnd ( temp uint)
 0:133          'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:133          u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:133            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:133          u3: direct index for structure ( uniform 3-component vector of uint)
+0:133            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:133            Constant:
 0:133              2 (const uint)
-0:133          u1: direct index for structure (layout( offset=0) uniform uint)
-0:133            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:133          u1: direct index for structure ( uniform uint)
+0:133            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:133            Constant:
 0:133              0 (const uint)
 0:134      move second child to first child ( temp uint)
 0:134        'out_u1' ( temp uint)
 0:134        imageAtomicCompSwap ( temp uint)
 0:134          'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:134          u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:134            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:134          u3: direct index for structure ( uniform 3-component vector of uint)
+0:134            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:134            Constant:
 0:134              2 (const uint)
-0:134          u1b: direct index for structure (layout( offset=28) uniform uint)
-0:134            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:134          u1b: direct index for structure ( uniform uint)
+0:134            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:134            Constant:
 0:134              3 (const uint)
-0:134          u1c: direct index for structure (layout( offset=32) uniform uint)
-0:134            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:134          u1c: direct index for structure ( uniform uint)
+0:134            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:134            Constant:
 0:134              4 (const uint)
 0:135      move second child to first child ( temp uint)
 0:135        'out_u1' ( temp uint)
 0:135        imageAtomicExchange ( temp uint)
 0:135          'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:135          u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:135            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:135          u3: direct index for structure ( uniform 3-component vector of uint)
+0:135            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:135            Constant:
 0:135              2 (const uint)
-0:135          u1: direct index for structure (layout( offset=0) uniform uint)
-0:135            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:135          u1: direct index for structure ( uniform uint)
+0:135            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:135            Constant:
 0:135              0 (const uint)
 0:136      imageAtomicMax ( temp uint)
 0:136        'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:136        u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:136          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:136        u3: direct index for structure ( uniform 3-component vector of uint)
+0:136          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:136          Constant:
 0:136            2 (const uint)
-0:136        u1: direct index for structure (layout( offset=0) uniform uint)
-0:136          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:136        u1: direct index for structure ( uniform uint)
+0:136          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:136          Constant:
 0:136            0 (const uint)
 0:137      move second child to first child ( temp uint)
 0:137        'out_u1' ( temp uint)
 0:137        imageAtomicMax ( temp uint)
 0:137          'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:137          u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:137            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:137          u3: direct index for structure ( uniform 3-component vector of uint)
+0:137            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:137            Constant:
 0:137              2 (const uint)
-0:137          u1: direct index for structure (layout( offset=0) uniform uint)
-0:137            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:137          u1: direct index for structure ( uniform uint)
+0:137            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:137            Constant:
 0:137              0 (const uint)
 0:138      imageAtomicMin ( temp uint)
 0:138        'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:138        u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:138          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:138        u3: direct index for structure ( uniform 3-component vector of uint)
+0:138          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:138          Constant:
 0:138            2 (const uint)
-0:138        u1: direct index for structure (layout( offset=0) uniform uint)
-0:138          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:138        u1: direct index for structure ( uniform uint)
+0:138          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:138          Constant:
 0:138            0 (const uint)
 0:139      move second child to first child ( temp uint)
 0:139        'out_u1' ( temp uint)
 0:139        imageAtomicMin ( temp uint)
 0:139          'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:139          u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:139            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:139          u3: direct index for structure ( uniform 3-component vector of uint)
+0:139            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:139            Constant:
 0:139              2 (const uint)
-0:139          u1: direct index for structure (layout( offset=0) uniform uint)
-0:139            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:139          u1: direct index for structure ( uniform uint)
+0:139            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:139            Constant:
 0:139              0 (const uint)
 0:140      imageAtomicOr ( temp uint)
 0:140        'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:140        u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:140          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:140        u3: direct index for structure ( uniform 3-component vector of uint)
+0:140          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:140          Constant:
 0:140            2 (const uint)
-0:140        u1: direct index for structure (layout( offset=0) uniform uint)
-0:140          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:140        u1: direct index for structure ( uniform uint)
+0:140          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:140          Constant:
 0:140            0 (const uint)
 0:141      move second child to first child ( temp uint)
 0:141        'out_u1' ( temp uint)
 0:141        imageAtomicOr ( temp uint)
 0:141          'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:141          u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:141            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:141          u3: direct index for structure ( uniform 3-component vector of uint)
+0:141            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:141            Constant:
 0:141              2 (const uint)
-0:141          u1: direct index for structure (layout( offset=0) uniform uint)
-0:141            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:141          u1: direct index for structure ( uniform uint)
+0:141            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:141            Constant:
 0:141              0 (const uint)
 0:142      imageAtomicXor ( temp uint)
 0:142        'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:142        u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:142          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:142        u3: direct index for structure ( uniform 3-component vector of uint)
+0:142          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:142          Constant:
 0:142            2 (const uint)
-0:142        u1: direct index for structure (layout( offset=0) uniform uint)
-0:142          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:142        u1: direct index for structure ( uniform uint)
+0:142          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:142          Constant:
 0:142            0 (const uint)
 0:143      move second child to first child ( temp uint)
 0:143        'out_u1' ( temp uint)
 0:143        imageAtomicXor ( temp uint)
 0:143          'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:143          u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:143            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:143          u3: direct index for structure ( uniform 3-component vector of uint)
+0:143            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:143            Constant:
 0:143              2 (const uint)
-0:143          u1: direct index for structure (layout( offset=0) uniform uint)
-0:143            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:143          u1: direct index for structure ( uniform uint)
+0:143            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:143            Constant:
 0:143              0 (const uint)
 0:146      imageAtomicAdd ( temp int)
 0:146        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:146        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:146          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:146        i2: direct index for structure ( uniform 2-component vector of int)
+0:146          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:146          Constant:
 0:146            6 (const uint)
-0:146        i1b: direct index for structure (layout( offset=60) uniform int)
-0:146          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:146        i1b: direct index for structure ( uniform int)
+0:146          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:146          Constant:
 0:146            8 (const uint)
 0:147      move second child to first child ( temp int)
 0:147        'out_i1' ( temp int)
 0:147        imageAtomicAdd ( temp int)
 0:147          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:147          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:147            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:147          i2: direct index for structure ( uniform 2-component vector of int)
+0:147            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:147            Constant:
 0:147              6 (const uint)
-0:147          i1: direct index for structure (layout( offset=36) uniform int)
-0:147            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:147          i1: direct index for structure ( uniform int)
+0:147            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:147            Constant:
 0:147              5 (const uint)
 0:148      imageAtomicAnd ( temp int)
 0:148        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:148        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:148          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:148        i2: direct index for structure ( uniform 2-component vector of int)
+0:148          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:148          Constant:
 0:148            6 (const uint)
-0:148        i1b: direct index for structure (layout( offset=60) uniform int)
-0:148          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:148        i1b: direct index for structure ( uniform int)
+0:148          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:148          Constant:
 0:148            8 (const uint)
 0:149      move second child to first child ( temp int)
 0:149        'out_i1' ( temp int)
 0:149        imageAtomicAnd ( temp int)
 0:149          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:149          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:149            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:149          i2: direct index for structure ( uniform 2-component vector of int)
+0:149            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:149            Constant:
 0:149              6 (const uint)
-0:149          i1: direct index for structure (layout( offset=36) uniform int)
-0:149            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:149          i1: direct index for structure ( uniform int)
+0:149            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:149            Constant:
 0:149              5 (const uint)
 0:150      move second child to first child ( temp int)
 0:150        'out_i1' ( temp int)
 0:150        imageAtomicCompSwap ( temp int)
 0:150          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:150          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:150            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:150          i2: direct index for structure ( uniform 2-component vector of int)
+0:150            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:150            Constant:
 0:150              6 (const uint)
-0:150          i1b: direct index for structure (layout( offset=60) uniform int)
-0:150            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:150          i1b: direct index for structure ( uniform int)
+0:150            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:150            Constant:
 0:150              8 (const uint)
-0:150          i1c: direct index for structure (layout( offset=64) uniform int)
-0:150            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:150          i1c: direct index for structure ( uniform int)
+0:150            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:150            Constant:
 0:150              9 (const uint)
 0:151      move second child to first child ( temp int)
 0:151        'out_i1' ( temp int)
 0:151        imageAtomicExchange ( temp int)
 0:151          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:151          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:151            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:151          i2: direct index for structure ( uniform 2-component vector of int)
+0:151            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:151            Constant:
 0:151              6 (const uint)
-0:151          i1: direct index for structure (layout( offset=36) uniform int)
-0:151            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:151          i1: direct index for structure ( uniform int)
+0:151            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:151            Constant:
 0:151              5 (const uint)
 0:152      imageAtomicMax ( temp int)
 0:152        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:152        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:152          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:152        i2: direct index for structure ( uniform 2-component vector of int)
+0:152          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:152          Constant:
 0:152            6 (const uint)
-0:152        i1b: direct index for structure (layout( offset=60) uniform int)
-0:152          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:152        i1b: direct index for structure ( uniform int)
+0:152          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:152          Constant:
 0:152            8 (const uint)
 0:153      move second child to first child ( temp int)
 0:153        'out_i1' ( temp int)
 0:153        imageAtomicMax ( temp int)
 0:153          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:153          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:153            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:153          i2: direct index for structure ( uniform 2-component vector of int)
+0:153            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:153            Constant:
 0:153              6 (const uint)
-0:153          i1: direct index for structure (layout( offset=36) uniform int)
-0:153            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:153          i1: direct index for structure ( uniform int)
+0:153            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:153            Constant:
 0:153              5 (const uint)
 0:154      imageAtomicMin ( temp int)
 0:154        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:154        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:154          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:154        i2: direct index for structure ( uniform 2-component vector of int)
+0:154          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:154          Constant:
 0:154            6 (const uint)
-0:154        i1b: direct index for structure (layout( offset=60) uniform int)
-0:154          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:154        i1b: direct index for structure ( uniform int)
+0:154          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:154          Constant:
 0:154            8 (const uint)
 0:155      move second child to first child ( temp int)
 0:155        'out_i1' ( temp int)
 0:155        imageAtomicMin ( temp int)
 0:155          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:155          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:155            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:155          i2: direct index for structure ( uniform 2-component vector of int)
+0:155            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:155            Constant:
 0:155              6 (const uint)
-0:155          i1: direct index for structure (layout( offset=36) uniform int)
-0:155            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:155          i1: direct index for structure ( uniform int)
+0:155            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:155            Constant:
 0:155              5 (const uint)
 0:156      imageAtomicOr ( temp int)
 0:156        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:156        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:156          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:156        i2: direct index for structure ( uniform 2-component vector of int)
+0:156          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:156          Constant:
 0:156            6 (const uint)
-0:156        i1b: direct index for structure (layout( offset=60) uniform int)
-0:156          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:156        i1b: direct index for structure ( uniform int)
+0:156          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:156          Constant:
 0:156            8 (const uint)
 0:157      move second child to first child ( temp int)
 0:157        'out_i1' ( temp int)
 0:157        imageAtomicOr ( temp int)
 0:157          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:157          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:157            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:157          i2: direct index for structure ( uniform 2-component vector of int)
+0:157            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:157            Constant:
 0:157              6 (const uint)
-0:157          i1: direct index for structure (layout( offset=36) uniform int)
-0:157            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:157          i1: direct index for structure ( uniform int)
+0:157            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:157            Constant:
 0:157              5 (const uint)
 0:158      imageAtomicXor ( temp int)
 0:158        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:158        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:158          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:158        i2: direct index for structure ( uniform 2-component vector of int)
+0:158          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:158          Constant:
 0:158            6 (const uint)
-0:158        i1b: direct index for structure (layout( offset=60) uniform int)
-0:158          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:158        i1b: direct index for structure ( uniform int)
+0:158          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:158          Constant:
 0:158            8 (const uint)
 0:159      move second child to first child ( temp int)
 0:159        'out_i1' ( temp int)
 0:159        imageAtomicXor ( temp int)
 0:159          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:159          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:159            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:159          i2: direct index for structure ( uniform 2-component vector of int)
+0:159            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:159            Constant:
 0:159              6 (const uint)
-0:159          i1: direct index for structure (layout( offset=36) uniform int)
-0:159            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:159          i1: direct index for structure ( uniform int)
+0:159            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:159            Constant:
 0:159              5 (const uint)
 0:162      imageAtomicAdd ( temp uint)
 0:162        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:162        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:162          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:162        u2: direct index for structure ( uniform 2-component vector of uint)
+0:162          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:162          Constant:
 0:162            1 (const uint)
-0:162        u1: direct index for structure (layout( offset=0) uniform uint)
-0:162          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:162        u1: direct index for structure ( uniform uint)
+0:162          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:162          Constant:
 0:162            0 (const uint)
 0:163      move second child to first child ( temp uint)
 0:163        'out_u1' ( temp uint)
 0:163        imageAtomicAdd ( temp uint)
 0:163          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:163          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:163            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:163          u2: direct index for structure ( uniform 2-component vector of uint)
+0:163            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:163            Constant:
 0:163              1 (const uint)
-0:163          u1: direct index for structure (layout( offset=0) uniform uint)
-0:163            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:163          u1: direct index for structure ( uniform uint)
+0:163            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:163            Constant:
 0:163              0 (const uint)
 0:164      imageAtomicAnd ( temp uint)
 0:164        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:164        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:164          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:164        u2: direct index for structure ( uniform 2-component vector of uint)
+0:164          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:164          Constant:
 0:164            1 (const uint)
-0:164        u1: direct index for structure (layout( offset=0) uniform uint)
-0:164          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:164        u1: direct index for structure ( uniform uint)
+0:164          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:164          Constant:
 0:164            0 (const uint)
 0:165      move second child to first child ( temp uint)
 0:165        'out_u1' ( temp uint)
 0:165        imageAtomicAnd ( temp uint)
 0:165          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:165          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:165            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:165          u2: direct index for structure ( uniform 2-component vector of uint)
+0:165            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:165            Constant:
 0:165              1 (const uint)
-0:165          u1: direct index for structure (layout( offset=0) uniform uint)
-0:165            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:165          u1: direct index for structure ( uniform uint)
+0:165            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:165            Constant:
 0:165              0 (const uint)
 0:166      move second child to first child ( temp uint)
 0:166        'out_u1' ( temp uint)
 0:166        imageAtomicCompSwap ( temp uint)
 0:166          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:166          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:166            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:166          u2: direct index for structure ( uniform 2-component vector of uint)
+0:166            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:166            Constant:
 0:166              1 (const uint)
-0:166          u1b: direct index for structure (layout( offset=28) uniform uint)
-0:166            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:166          u1b: direct index for structure ( uniform uint)
+0:166            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:166            Constant:
 0:166              3 (const uint)
-0:166          u1c: direct index for structure (layout( offset=32) uniform uint)
-0:166            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:166          u1c: direct index for structure ( uniform uint)
+0:166            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:166            Constant:
 0:166              4 (const uint)
 0:167      move second child to first child ( temp uint)
 0:167        'out_u1' ( temp uint)
 0:167        imageAtomicExchange ( temp uint)
 0:167          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:167          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:167            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:167          u2: direct index for structure ( uniform 2-component vector of uint)
+0:167            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:167            Constant:
 0:167              1 (const uint)
-0:167          u1: direct index for structure (layout( offset=0) uniform uint)
-0:167            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:167          u1: direct index for structure ( uniform uint)
+0:167            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:167            Constant:
 0:167              0 (const uint)
 0:168      imageAtomicMax ( temp uint)
 0:168        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:168        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:168          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:168        u2: direct index for structure ( uniform 2-component vector of uint)
+0:168          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:168          Constant:
 0:168            1 (const uint)
-0:168        u1: direct index for structure (layout( offset=0) uniform uint)
-0:168          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:168        u1: direct index for structure ( uniform uint)
+0:168          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:168          Constant:
 0:168            0 (const uint)
 0:169      move second child to first child ( temp uint)
 0:169        'out_u1' ( temp uint)
 0:169        imageAtomicMax ( temp uint)
 0:169          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:169          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:169            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:169          u2: direct index for structure ( uniform 2-component vector of uint)
+0:169            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:169            Constant:
 0:169              1 (const uint)
-0:169          u1: direct index for structure (layout( offset=0) uniform uint)
-0:169            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:169          u1: direct index for structure ( uniform uint)
+0:169            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:169            Constant:
 0:169              0 (const uint)
 0:170      imageAtomicMin ( temp uint)
 0:170        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:170        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:170          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:170        u2: direct index for structure ( uniform 2-component vector of uint)
+0:170          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:170          Constant:
 0:170            1 (const uint)
-0:170        u1: direct index for structure (layout( offset=0) uniform uint)
-0:170          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:170        u1: direct index for structure ( uniform uint)
+0:170          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:170          Constant:
 0:170            0 (const uint)
 0:171      move second child to first child ( temp uint)
 0:171        'out_u1' ( temp uint)
 0:171        imageAtomicMin ( temp uint)
 0:171          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:171          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:171            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:171          u2: direct index for structure ( uniform 2-component vector of uint)
+0:171            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:171            Constant:
 0:171              1 (const uint)
-0:171          u1: direct index for structure (layout( offset=0) uniform uint)
-0:171            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:171          u1: direct index for structure ( uniform uint)
+0:171            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:171            Constant:
 0:171              0 (const uint)
 0:172      imageAtomicOr ( temp uint)
 0:172        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:172        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:172          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:172        u2: direct index for structure ( uniform 2-component vector of uint)
+0:172          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:172          Constant:
 0:172            1 (const uint)
-0:172        u1: direct index for structure (layout( offset=0) uniform uint)
-0:172          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:172        u1: direct index for structure ( uniform uint)
+0:172          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:172          Constant:
 0:172            0 (const uint)
 0:173      move second child to first child ( temp uint)
 0:173        'out_u1' ( temp uint)
 0:173        imageAtomicOr ( temp uint)
 0:173          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:173          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:173            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:173          u2: direct index for structure ( uniform 2-component vector of uint)
+0:173            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:173            Constant:
 0:173              1 (const uint)
-0:173          u1: direct index for structure (layout( offset=0) uniform uint)
-0:173            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:173          u1: direct index for structure ( uniform uint)
+0:173            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:173            Constant:
 0:173              0 (const uint)
 0:174      imageAtomicXor ( temp uint)
 0:174        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:174        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:174          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:174        u2: direct index for structure ( uniform 2-component vector of uint)
+0:174          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:174          Constant:
 0:174            1 (const uint)
-0:174        u1: direct index for structure (layout( offset=0) uniform uint)
-0:174          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:174        u1: direct index for structure ( uniform uint)
+0:174          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:174          Constant:
 0:174            0 (const uint)
 0:175      move second child to first child ( temp uint)
 0:175        'out_u1' ( temp uint)
 0:175        imageAtomicXor ( temp uint)
 0:175          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:175          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:175            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:175          u2: direct index for structure ( uniform 2-component vector of uint)
+0:175            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:175            Constant:
 0:175              1 (const uint)
-0:175          u1: direct index for structure (layout( offset=0) uniform uint)
-0:175            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:175          u1: direct index for structure ( uniform uint)
+0:175            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:175            Constant:
 0:175              0 (const uint)
 0:178      imageAtomicAdd ( temp int)
 0:178        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:178        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:178          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:178        i2: direct index for structure ( uniform 2-component vector of int)
+0:178          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:178          Constant:
 0:178            6 (const uint)
-0:178        i1b: direct index for structure (layout( offset=60) uniform int)
-0:178          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:178        i1b: direct index for structure ( uniform int)
+0:178          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:178          Constant:
 0:178            8 (const uint)
 0:179      move second child to first child ( temp int)
 0:179        'out_i1' ( temp int)
 0:179        imageAtomicAdd ( temp int)
 0:179          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:179          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:179            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:179          i2: direct index for structure ( uniform 2-component vector of int)
+0:179            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:179            Constant:
 0:179              6 (const uint)
-0:179          i1: direct index for structure (layout( offset=36) uniform int)
-0:179            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:179          i1: direct index for structure ( uniform int)
+0:179            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:179            Constant:
 0:179              5 (const uint)
 0:180      imageAtomicAnd ( temp int)
 0:180        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:180        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:180          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:180        i2: direct index for structure ( uniform 2-component vector of int)
+0:180          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:180          Constant:
 0:180            6 (const uint)
-0:180        i1b: direct index for structure (layout( offset=60) uniform int)
-0:180          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:180        i1b: direct index for structure ( uniform int)
+0:180          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:180          Constant:
 0:180            8 (const uint)
 0:181      move second child to first child ( temp int)
 0:181        'out_i1' ( temp int)
 0:181        imageAtomicAnd ( temp int)
 0:181          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:181          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:181            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:181          i2: direct index for structure ( uniform 2-component vector of int)
+0:181            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:181            Constant:
 0:181              6 (const uint)
-0:181          i1: direct index for structure (layout( offset=36) uniform int)
-0:181            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:181          i1: direct index for structure ( uniform int)
+0:181            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:181            Constant:
 0:181              5 (const uint)
 0:182      move second child to first child ( temp int)
 0:182        'out_i1' ( temp int)
 0:182        imageAtomicCompSwap ( temp int)
 0:182          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:182          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:182            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:182          i2: direct index for structure ( uniform 2-component vector of int)
+0:182            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:182            Constant:
 0:182              6 (const uint)
-0:182          i1b: direct index for structure (layout( offset=60) uniform int)
-0:182            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:182          i1b: direct index for structure ( uniform int)
+0:182            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:182            Constant:
 0:182              8 (const uint)
-0:182          i1c: direct index for structure (layout( offset=64) uniform int)
-0:182            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:182          i1c: direct index for structure ( uniform int)
+0:182            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:182            Constant:
 0:182              9 (const uint)
 0:183      move second child to first child ( temp int)
 0:183        'out_i1' ( temp int)
 0:183        imageAtomicExchange ( temp int)
 0:183          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:183          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:183            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:183          i2: direct index for structure ( uniform 2-component vector of int)
+0:183            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:183            Constant:
 0:183              6 (const uint)
-0:183          i1: direct index for structure (layout( offset=36) uniform int)
-0:183            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:183          i1: direct index for structure ( uniform int)
+0:183            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:183            Constant:
 0:183              5 (const uint)
 0:184      imageAtomicMax ( temp int)
 0:184        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:184        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:184          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:184        i2: direct index for structure ( uniform 2-component vector of int)
+0:184          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:184          Constant:
 0:184            6 (const uint)
-0:184        i1b: direct index for structure (layout( offset=60) uniform int)
-0:184          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:184        i1b: direct index for structure ( uniform int)
+0:184          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:184          Constant:
 0:184            8 (const uint)
 0:185      move second child to first child ( temp int)
 0:185        'out_i1' ( temp int)
 0:185        imageAtomicMax ( temp int)
 0:185          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:185          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:185            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:185          i2: direct index for structure ( uniform 2-component vector of int)
+0:185            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:185            Constant:
 0:185              6 (const uint)
-0:185          i1: direct index for structure (layout( offset=36) uniform int)
-0:185            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:185          i1: direct index for structure ( uniform int)
+0:185            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:185            Constant:
 0:185              5 (const uint)
 0:186      imageAtomicMin ( temp int)
 0:186        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:186        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:186          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:186        i2: direct index for structure ( uniform 2-component vector of int)
+0:186          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:186          Constant:
 0:186            6 (const uint)
-0:186        i1b: direct index for structure (layout( offset=60) uniform int)
-0:186          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:186        i1b: direct index for structure ( uniform int)
+0:186          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:186          Constant:
 0:186            8 (const uint)
 0:187      move second child to first child ( temp int)
 0:187        'out_i1' ( temp int)
 0:187        imageAtomicMin ( temp int)
 0:187          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:187          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:187            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:187          i2: direct index for structure ( uniform 2-component vector of int)
+0:187            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:187            Constant:
 0:187              6 (const uint)
-0:187          i1: direct index for structure (layout( offset=36) uniform int)
-0:187            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:187          i1: direct index for structure ( uniform int)
+0:187            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:187            Constant:
 0:187              5 (const uint)
 0:188      imageAtomicOr ( temp int)
 0:188        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:188        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:188          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:188        i2: direct index for structure ( uniform 2-component vector of int)
+0:188          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:188          Constant:
 0:188            6 (const uint)
-0:188        i1b: direct index for structure (layout( offset=60) uniform int)
-0:188          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:188        i1b: direct index for structure ( uniform int)
+0:188          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:188          Constant:
 0:188            8 (const uint)
 0:189      move second child to first child ( temp int)
 0:189        'out_i1' ( temp int)
 0:189        imageAtomicOr ( temp int)
 0:189          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:189          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:189            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:189          i2: direct index for structure ( uniform 2-component vector of int)
+0:189            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:189            Constant:
 0:189              6 (const uint)
-0:189          i1: direct index for structure (layout( offset=36) uniform int)
-0:189            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:189          i1: direct index for structure ( uniform int)
+0:189            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:189            Constant:
 0:189              5 (const uint)
 0:190      imageAtomicXor ( temp int)
 0:190        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:190        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:190          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:190        i2: direct index for structure ( uniform 2-component vector of int)
+0:190          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:190          Constant:
 0:190            6 (const uint)
-0:190        i1b: direct index for structure (layout( offset=60) uniform int)
-0:190          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:190        i1b: direct index for structure ( uniform int)
+0:190          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:190          Constant:
 0:190            8 (const uint)
 0:191      move second child to first child ( temp int)
 0:191        'out_i1' ( temp int)
 0:191        imageAtomicXor ( temp int)
 0:191          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:191          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:191            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:191          i2: direct index for structure ( uniform 2-component vector of int)
+0:191            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:191            Constant:
 0:191              6 (const uint)
-0:191          i1: direct index for structure (layout( offset=36) uniform int)
-0:191            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:191          i1: direct index for structure ( uniform int)
+0:191            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:191            Constant:
 0:191              5 (const uint)
 0:194      imageAtomicAdd ( temp uint)
 0:194        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:194        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:194          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:194        u2: direct index for structure ( uniform 2-component vector of uint)
+0:194          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:194          Constant:
 0:194            1 (const uint)
-0:194        u1: direct index for structure (layout( offset=0) uniform uint)
-0:194          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:194        u1: direct index for structure ( uniform uint)
+0:194          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:194          Constant:
 0:194            0 (const uint)
 0:195      move second child to first child ( temp uint)
 0:195        'out_u1' ( temp uint)
 0:195        imageAtomicAdd ( temp uint)
 0:195          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:195          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:195            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:195          u2: direct index for structure ( uniform 2-component vector of uint)
+0:195            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:195            Constant:
 0:195              1 (const uint)
-0:195          u1: direct index for structure (layout( offset=0) uniform uint)
-0:195            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:195          u1: direct index for structure ( uniform uint)
+0:195            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:195            Constant:
 0:195              0 (const uint)
 0:196      imageAtomicAnd ( temp uint)
 0:196        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:196        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:196          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:196        u2: direct index for structure ( uniform 2-component vector of uint)
+0:196          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:196          Constant:
 0:196            1 (const uint)
-0:196        u1: direct index for structure (layout( offset=0) uniform uint)
-0:196          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:196        u1: direct index for structure ( uniform uint)
+0:196          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:196          Constant:
 0:196            0 (const uint)
 0:197      move second child to first child ( temp uint)
 0:197        'out_u1' ( temp uint)
 0:197        imageAtomicAnd ( temp uint)
 0:197          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:197          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:197            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:197          u2: direct index for structure ( uniform 2-component vector of uint)
+0:197            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:197            Constant:
 0:197              1 (const uint)
-0:197          u1: direct index for structure (layout( offset=0) uniform uint)
-0:197            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:197          u1: direct index for structure ( uniform uint)
+0:197            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:197            Constant:
 0:197              0 (const uint)
 0:198      move second child to first child ( temp uint)
 0:198        'out_u1' ( temp uint)
 0:198        imageAtomicCompSwap ( temp uint)
 0:198          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:198          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:198            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:198          u2: direct index for structure ( uniform 2-component vector of uint)
+0:198            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:198            Constant:
 0:198              1 (const uint)
-0:198          u1b: direct index for structure (layout( offset=28) uniform uint)
-0:198            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:198          u1b: direct index for structure ( uniform uint)
+0:198            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:198            Constant:
 0:198              3 (const uint)
-0:198          u1c: direct index for structure (layout( offset=32) uniform uint)
-0:198            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:198          u1c: direct index for structure ( uniform uint)
+0:198            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:198            Constant:
 0:198              4 (const uint)
 0:199      move second child to first child ( temp uint)
 0:199        'out_u1' ( temp uint)
 0:199        imageAtomicExchange ( temp uint)
 0:199          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:199          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:199            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:199          u2: direct index for structure ( uniform 2-component vector of uint)
+0:199            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:199            Constant:
 0:199              1 (const uint)
-0:199          u1: direct index for structure (layout( offset=0) uniform uint)
-0:199            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:199          u1: direct index for structure ( uniform uint)
+0:199            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:199            Constant:
 0:199              0 (const uint)
 0:200      imageAtomicMax ( temp uint)
 0:200        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:200        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:200          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:200        u2: direct index for structure ( uniform 2-component vector of uint)
+0:200          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:200          Constant:
 0:200            1 (const uint)
-0:200        u1: direct index for structure (layout( offset=0) uniform uint)
-0:200          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:200        u1: direct index for structure ( uniform uint)
+0:200          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:200          Constant:
 0:200            0 (const uint)
 0:201      move second child to first child ( temp uint)
 0:201        'out_u1' ( temp uint)
 0:201        imageAtomicMax ( temp uint)
 0:201          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:201          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:201            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:201          u2: direct index for structure ( uniform 2-component vector of uint)
+0:201            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:201            Constant:
 0:201              1 (const uint)
-0:201          u1: direct index for structure (layout( offset=0) uniform uint)
-0:201            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:201          u1: direct index for structure ( uniform uint)
+0:201            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:201            Constant:
 0:201              0 (const uint)
 0:202      imageAtomicMin ( temp uint)
 0:202        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:202        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:202          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:202        u2: direct index for structure ( uniform 2-component vector of uint)
+0:202          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:202          Constant:
 0:202            1 (const uint)
-0:202        u1: direct index for structure (layout( offset=0) uniform uint)
-0:202          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:202        u1: direct index for structure ( uniform uint)
+0:202          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:202          Constant:
 0:202            0 (const uint)
 0:203      move second child to first child ( temp uint)
 0:203        'out_u1' ( temp uint)
 0:203        imageAtomicMin ( temp uint)
 0:203          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:203          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:203            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:203          u2: direct index for structure ( uniform 2-component vector of uint)
+0:203            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:203            Constant:
 0:203              1 (const uint)
-0:203          u1: direct index for structure (layout( offset=0) uniform uint)
-0:203            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:203          u1: direct index for structure ( uniform uint)
+0:203            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:203            Constant:
 0:203              0 (const uint)
 0:204      imageAtomicOr ( temp uint)
 0:204        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:204        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:204          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:204        u2: direct index for structure ( uniform 2-component vector of uint)
+0:204          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:204          Constant:
 0:204            1 (const uint)
-0:204        u1: direct index for structure (layout( offset=0) uniform uint)
-0:204          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:204        u1: direct index for structure ( uniform uint)
+0:204          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:204          Constant:
 0:204            0 (const uint)
 0:205      move second child to first child ( temp uint)
 0:205        'out_u1' ( temp uint)
 0:205        imageAtomicOr ( temp uint)
 0:205          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:205          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:205            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:205          u2: direct index for structure ( uniform 2-component vector of uint)
+0:205            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:205            Constant:
 0:205              1 (const uint)
-0:205          u1: direct index for structure (layout( offset=0) uniform uint)
-0:205            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:205          u1: direct index for structure ( uniform uint)
+0:205            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:205            Constant:
 0:205              0 (const uint)
 0:206      imageAtomicXor ( temp uint)
 0:206        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:206        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:206          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:206        u2: direct index for structure ( uniform 2-component vector of uint)
+0:206          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:206          Constant:
 0:206            1 (const uint)
-0:206        u1: direct index for structure (layout( offset=0) uniform uint)
-0:206          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:206        u1: direct index for structure ( uniform uint)
+0:206          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:206          Constant:
 0:206            0 (const uint)
 0:207      move second child to first child ( temp uint)
 0:207        'out_u1' ( temp uint)
 0:207        imageAtomicXor ( temp uint)
 0:207          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:207          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:207            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:207          u2: direct index for structure ( uniform 2-component vector of uint)
+0:207            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:207            Constant:
 0:207              1 (const uint)
-0:207          u1: direct index for structure (layout( offset=0) uniform uint)
-0:207            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:207          u1: direct index for structure ( uniform uint)
+0:207            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:207            Constant:
 0:207              0 (const uint)
 0:210      imageAtomicAdd ( temp int)
 0:210        'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:210        i1: direct index for structure (layout( offset=36) uniform int)
-0:210          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:210        i1: direct index for structure ( uniform int)
+0:210          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:210          Constant:
 0:210            5 (const uint)
-0:210        i1b: direct index for structure (layout( offset=60) uniform int)
-0:210          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:210        i1b: direct index for structure ( uniform int)
+0:210          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:210          Constant:
 0:210            8 (const uint)
 0:211      move second child to first child ( temp int)
 0:211        'out_i1' ( temp int)
 0:211        imageAtomicAdd ( temp int)
 0:211          'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:211          i1: direct index for structure (layout( offset=36) uniform int)
-0:211            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:211          i1: direct index for structure ( uniform int)
+0:211            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:211            Constant:
 0:211              5 (const uint)
-0:211          i1: direct index for structure (layout( offset=36) uniform int)
-0:211            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:211          i1: direct index for structure ( uniform int)
+0:211            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:211            Constant:
 0:211              5 (const uint)
 0:212      imageAtomicAnd ( temp int)
 0:212        'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:212        i1: direct index for structure (layout( offset=36) uniform int)
-0:212          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:212        i1: direct index for structure ( uniform int)
+0:212          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:212          Constant:
 0:212            5 (const uint)
-0:212        i1b: direct index for structure (layout( offset=60) uniform int)
-0:212          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:212        i1b: direct index for structure ( uniform int)
+0:212          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:212          Constant:
 0:212            8 (const uint)
 0:213      move second child to first child ( temp int)
 0:213        'out_i1' ( temp int)
 0:213        imageAtomicAnd ( temp int)
 0:213          'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:213          i1: direct index for structure (layout( offset=36) uniform int)
-0:213            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:213          i1: direct index for structure ( uniform int)
+0:213            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:213            Constant:
 0:213              5 (const uint)
-0:213          i1: direct index for structure (layout( offset=36) uniform int)
-0:213            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:213          i1: direct index for structure ( uniform int)
+0:213            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:213            Constant:
 0:213              5 (const uint)
 0:214      move second child to first child ( temp int)
 0:214        'out_i1' ( temp int)
 0:214        imageAtomicCompSwap ( temp int)
 0:214          'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:214          i1: direct index for structure (layout( offset=36) uniform int)
-0:214            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:214          i1: direct index for structure ( uniform int)
+0:214            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:214            Constant:
 0:214              5 (const uint)
-0:214          i1b: direct index for structure (layout( offset=60) uniform int)
-0:214            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:214          i1b: direct index for structure ( uniform int)
+0:214            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:214            Constant:
 0:214              8 (const uint)
-0:214          i1c: direct index for structure (layout( offset=64) uniform int)
-0:214            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:214          i1c: direct index for structure ( uniform int)
+0:214            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:214            Constant:
 0:214              9 (const uint)
 0:215      move second child to first child ( temp int)
 0:215        'out_i1' ( temp int)
 0:215        imageAtomicExchange ( temp int)
 0:215          'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:215          i1: direct index for structure (layout( offset=36) uniform int)
-0:215            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:215          i1: direct index for structure ( uniform int)
+0:215            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:215            Constant:
 0:215              5 (const uint)
-0:215          i1: direct index for structure (layout( offset=36) uniform int)
-0:215            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:215          i1: direct index for structure ( uniform int)
+0:215            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:215            Constant:
 0:215              5 (const uint)
 0:216      imageAtomicMax ( temp int)
 0:216        'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:216        i1: direct index for structure (layout( offset=36) uniform int)
-0:216          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:216        i1: direct index for structure ( uniform int)
+0:216          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:216          Constant:
 0:216            5 (const uint)
-0:216        i1b: direct index for structure (layout( offset=60) uniform int)
-0:216          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:216        i1b: direct index for structure ( uniform int)
+0:216          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:216          Constant:
 0:216            8 (const uint)
 0:217      move second child to first child ( temp int)
 0:217        'out_i1' ( temp int)
 0:217        imageAtomicMax ( temp int)
 0:217          'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:217          i1: direct index for structure (layout( offset=36) uniform int)
-0:217            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:217          i1: direct index for structure ( uniform int)
+0:217            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:217            Constant:
 0:217              5 (const uint)
-0:217          i1: direct index for structure (layout( offset=36) uniform int)
-0:217            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:217          i1: direct index for structure ( uniform int)
+0:217            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:217            Constant:
 0:217              5 (const uint)
 0:218      imageAtomicMin ( temp int)
 0:218        'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:218        i1: direct index for structure (layout( offset=36) uniform int)
-0:218          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:218        i1: direct index for structure ( uniform int)
+0:218          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:218          Constant:
 0:218            5 (const uint)
-0:218        i1b: direct index for structure (layout( offset=60) uniform int)
-0:218          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:218        i1b: direct index for structure ( uniform int)
+0:218          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:218          Constant:
 0:218            8 (const uint)
 0:219      move second child to first child ( temp int)
 0:219        'out_i1' ( temp int)
 0:219        imageAtomicMin ( temp int)
 0:219          'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:219          i1: direct index for structure (layout( offset=36) uniform int)
-0:219            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:219          i1: direct index for structure ( uniform int)
+0:219            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:219            Constant:
 0:219              5 (const uint)
-0:219          i1: direct index for structure (layout( offset=36) uniform int)
-0:219            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:219          i1: direct index for structure ( uniform int)
+0:219            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:219            Constant:
 0:219              5 (const uint)
 0:220      imageAtomicOr ( temp int)
 0:220        'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:220        i1: direct index for structure (layout( offset=36) uniform int)
-0:220          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:220        i1: direct index for structure ( uniform int)
+0:220          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:220          Constant:
 0:220            5 (const uint)
-0:220        i1b: direct index for structure (layout( offset=60) uniform int)
-0:220          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:220        i1b: direct index for structure ( uniform int)
+0:220          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:220          Constant:
 0:220            8 (const uint)
 0:221      move second child to first child ( temp int)
 0:221        'out_i1' ( temp int)
 0:221        imageAtomicOr ( temp int)
 0:221          'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:221          i1: direct index for structure (layout( offset=36) uniform int)
-0:221            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:221          i1: direct index for structure ( uniform int)
+0:221            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:221            Constant:
 0:221              5 (const uint)
-0:221          i1: direct index for structure (layout( offset=36) uniform int)
-0:221            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:221          i1: direct index for structure ( uniform int)
+0:221            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:221            Constant:
 0:221              5 (const uint)
 0:222      imageAtomicXor ( temp int)
 0:222        'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:222        i1: direct index for structure (layout( offset=36) uniform int)
-0:222          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:222        i1: direct index for structure ( uniform int)
+0:222          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:222          Constant:
 0:222            5 (const uint)
-0:222        i1b: direct index for structure (layout( offset=60) uniform int)
-0:222          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:222        i1b: direct index for structure ( uniform int)
+0:222          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:222          Constant:
 0:222            8 (const uint)
 0:223      move second child to first child ( temp int)
 0:223        'out_i1' ( temp int)
 0:223        imageAtomicXor ( temp int)
 0:223          'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:223          i1: direct index for structure (layout( offset=36) uniform int)
-0:223            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:223          i1: direct index for structure ( uniform int)
+0:223            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:223            Constant:
 0:223              5 (const uint)
-0:223          i1: direct index for structure (layout( offset=36) uniform int)
-0:223            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:223          i1: direct index for structure ( uniform int)
+0:223            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:223            Constant:
 0:223              5 (const uint)
 0:226      imageAtomicAdd ( temp uint)
 0:226        'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:226        u1: direct index for structure (layout( offset=0) uniform uint)
-0:226          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:226        u1: direct index for structure ( uniform uint)
+0:226          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:226          Constant:
 0:226            0 (const uint)
-0:226        u1: direct index for structure (layout( offset=0) uniform uint)
-0:226          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:226        u1: direct index for structure ( uniform uint)
+0:226          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:226          Constant:
 0:226            0 (const uint)
 0:227      move second child to first child ( temp uint)
 0:227        'out_u1' ( temp uint)
 0:227        imageAtomicAdd ( temp uint)
 0:227          'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:227          u1: direct index for structure (layout( offset=0) uniform uint)
-0:227            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:227          u1: direct index for structure ( uniform uint)
+0:227            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:227            Constant:
 0:227              0 (const uint)
-0:227          u1: direct index for structure (layout( offset=0) uniform uint)
-0:227            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:227          u1: direct index for structure ( uniform uint)
+0:227            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:227            Constant:
 0:227              0 (const uint)
 0:228      imageAtomicAnd ( temp uint)
 0:228        'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:228        u1: direct index for structure (layout( offset=0) uniform uint)
-0:228          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:228        u1: direct index for structure ( uniform uint)
+0:228          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:228          Constant:
 0:228            0 (const uint)
-0:228        u1: direct index for structure (layout( offset=0) uniform uint)
-0:228          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:228        u1: direct index for structure ( uniform uint)
+0:228          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:228          Constant:
 0:228            0 (const uint)
 0:229      move second child to first child ( temp uint)
 0:229        'out_u1' ( temp uint)
 0:229        imageAtomicAnd ( temp uint)
 0:229          'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:229          u1: direct index for structure (layout( offset=0) uniform uint)
-0:229            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:229          u1: direct index for structure ( uniform uint)
+0:229            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:229            Constant:
 0:229              0 (const uint)
-0:229          u1: direct index for structure (layout( offset=0) uniform uint)
-0:229            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:229          u1: direct index for structure ( uniform uint)
+0:229            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:229            Constant:
 0:229              0 (const uint)
 0:230      move second child to first child ( temp uint)
 0:230        'out_u1' ( temp uint)
 0:230        imageAtomicCompSwap ( temp uint)
 0:230          'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:230          u1: direct index for structure (layout( offset=0) uniform uint)
-0:230            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:230          u1: direct index for structure ( uniform uint)
+0:230            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:230            Constant:
 0:230              0 (const uint)
-0:230          u1b: direct index for structure (layout( offset=28) uniform uint)
-0:230            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:230          u1b: direct index for structure ( uniform uint)
+0:230            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:230            Constant:
 0:230              3 (const uint)
-0:230          u1c: direct index for structure (layout( offset=32) uniform uint)
-0:230            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:230          u1c: direct index for structure ( uniform uint)
+0:230            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:230            Constant:
 0:230              4 (const uint)
 0:231      move second child to first child ( temp uint)
 0:231        'out_u1' ( temp uint)
 0:231        imageAtomicExchange ( temp uint)
 0:231          'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:231          u1: direct index for structure (layout( offset=0) uniform uint)
-0:231            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:231          u1: direct index for structure ( uniform uint)
+0:231            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:231            Constant:
 0:231              0 (const uint)
-0:231          u1: direct index for structure (layout( offset=0) uniform uint)
-0:231            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:231          u1: direct index for structure ( uniform uint)
+0:231            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:231            Constant:
 0:231              0 (const uint)
 0:232      imageAtomicMax ( temp uint)
 0:232        'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:232        u1: direct index for structure (layout( offset=0) uniform uint)
-0:232          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:232        u1: direct index for structure ( uniform uint)
+0:232          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:232          Constant:
 0:232            0 (const uint)
-0:232        u1: direct index for structure (layout( offset=0) uniform uint)
-0:232          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:232        u1: direct index for structure ( uniform uint)
+0:232          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:232          Constant:
 0:232            0 (const uint)
 0:233      move second child to first child ( temp uint)
 0:233        'out_u1' ( temp uint)
 0:233        imageAtomicMax ( temp uint)
 0:233          'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:233          u1: direct index for structure (layout( offset=0) uniform uint)
-0:233            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:233          u1: direct index for structure ( uniform uint)
+0:233            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:233            Constant:
 0:233              0 (const uint)
-0:233          u1: direct index for structure (layout( offset=0) uniform uint)
-0:233            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:233          u1: direct index for structure ( uniform uint)
+0:233            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:233            Constant:
 0:233              0 (const uint)
 0:234      imageAtomicMin ( temp uint)
 0:234        'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:234        u1: direct index for structure (layout( offset=0) uniform uint)
-0:234          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:234        u1: direct index for structure ( uniform uint)
+0:234          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:234          Constant:
 0:234            0 (const uint)
-0:234        u1: direct index for structure (layout( offset=0) uniform uint)
-0:234          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:234        u1: direct index for structure ( uniform uint)
+0:234          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:234          Constant:
 0:234            0 (const uint)
 0:235      move second child to first child ( temp uint)
 0:235        'out_u1' ( temp uint)
 0:235        imageAtomicMin ( temp uint)
 0:235          'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:235          u1: direct index for structure (layout( offset=0) uniform uint)
-0:235            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:235          u1: direct index for structure ( uniform uint)
+0:235            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:235            Constant:
 0:235              0 (const uint)
-0:235          u1: direct index for structure (layout( offset=0) uniform uint)
-0:235            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:235          u1: direct index for structure ( uniform uint)
+0:235            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:235            Constant:
 0:235              0 (const uint)
 0:236      imageAtomicOr ( temp uint)
 0:236        'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:236        u1: direct index for structure (layout( offset=0) uniform uint)
-0:236          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:236        u1: direct index for structure ( uniform uint)
+0:236          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:236          Constant:
 0:236            0 (const uint)
-0:236        u1: direct index for structure (layout( offset=0) uniform uint)
-0:236          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:236        u1: direct index for structure ( uniform uint)
+0:236          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:236          Constant:
 0:236            0 (const uint)
 0:237      move second child to first child ( temp uint)
 0:237        'out_u1' ( temp uint)
 0:237        imageAtomicOr ( temp uint)
 0:237          'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:237          u1: direct index for structure (layout( offset=0) uniform uint)
-0:237            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:237          u1: direct index for structure ( uniform uint)
+0:237            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:237            Constant:
 0:237              0 (const uint)
-0:237          u1: direct index for structure (layout( offset=0) uniform uint)
-0:237            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:237          u1: direct index for structure ( uniform uint)
+0:237            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:237            Constant:
 0:237              0 (const uint)
 0:238      imageAtomicXor ( temp uint)
 0:238        'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:238        u1: direct index for structure (layout( offset=0) uniform uint)
-0:238          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:238        u1: direct index for structure ( uniform uint)
+0:238          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:238          Constant:
 0:238            0 (const uint)
-0:238        u1: direct index for structure (layout( offset=0) uniform uint)
-0:238          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:238        u1: direct index for structure ( uniform uint)
+0:238          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:238          Constant:
 0:238            0 (const uint)
 0:239      move second child to first child ( temp uint)
 0:239        'out_u1' ( temp uint)
 0:239        imageAtomicXor ( temp uint)
 0:239          'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:239          u1: direct index for structure (layout( offset=0) uniform uint)
-0:239            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:239          u1: direct index for structure ( uniform uint)
+0:239            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:239            Constant:
 0:239              0 (const uint)
-0:239          u1: direct index for structure (layout( offset=0) uniform uint)
-0:239            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:239          u1: direct index for structure ( uniform uint)
+0:239            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:239            Constant:
 0:239              0 (const uint)
 0:242      move second child to first child ( temp 4-component vector of float)
@@ -1967,8 +1967,8 @@ gl_FragCoord origin is upper left
 0:?     'g_tBuffF' (layout( r32f) uniform imageBuffer)
 0:?     'g_tBuffI' (layout( r32i) uniform iimageBuffer)
 0:?     'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
 
 
 Linked fragment stage:
@@ -1982,1922 +1982,1922 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 0:50      imageAtomicAdd ( temp int)
 0:50        'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:50        i1: direct index for structure (layout( offset=36) uniform int)
-0:50          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:50        i1: direct index for structure ( uniform int)
+0:50          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:50          Constant:
 0:50            5 (const uint)
-0:50        i1b: direct index for structure (layout( offset=60) uniform int)
-0:50          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:50        i1b: direct index for structure ( uniform int)
+0:50          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:50          Constant:
 0:50            8 (const uint)
 0:51      move second child to first child ( temp int)
 0:51        'out_i1' ( temp int)
 0:51        imageAtomicAdd ( temp int)
 0:51          'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:51          i1: direct index for structure (layout( offset=36) uniform int)
-0:51            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:51          i1: direct index for structure ( uniform int)
+0:51            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:51            Constant:
 0:51              5 (const uint)
-0:51          i1: direct index for structure (layout( offset=36) uniform int)
-0:51            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:51          i1: direct index for structure ( uniform int)
+0:51            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:51            Constant:
 0:51              5 (const uint)
 0:52      imageAtomicAnd ( temp int)
 0:52        'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:52        i1: direct index for structure (layout( offset=36) uniform int)
-0:52          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:52        i1: direct index for structure ( uniform int)
+0:52          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:52          Constant:
 0:52            5 (const uint)
-0:52        i1b: direct index for structure (layout( offset=60) uniform int)
-0:52          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:52        i1b: direct index for structure ( uniform int)
+0:52          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:52          Constant:
 0:52            8 (const uint)
 0:53      move second child to first child ( temp int)
 0:53        'out_i1' ( temp int)
 0:53        imageAtomicAnd ( temp int)
 0:53          'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:53          i1: direct index for structure (layout( offset=36) uniform int)
-0:53            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:53          i1: direct index for structure ( uniform int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:53            Constant:
 0:53              5 (const uint)
-0:53          i1: direct index for structure (layout( offset=36) uniform int)
-0:53            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:53          i1: direct index for structure ( uniform int)
+0:53            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:53            Constant:
 0:53              5 (const uint)
 0:54      move second child to first child ( temp int)
 0:54        'out_i1' ( temp int)
 0:54        imageAtomicCompSwap ( temp int)
 0:54          'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:54          i1: direct index for structure (layout( offset=36) uniform int)
-0:54            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:54          i1: direct index for structure ( uniform int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:54            Constant:
 0:54              5 (const uint)
-0:54          i1b: direct index for structure (layout( offset=60) uniform int)
-0:54            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:54          i1b: direct index for structure ( uniform int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:54            Constant:
 0:54              8 (const uint)
-0:54          i1c: direct index for structure (layout( offset=64) uniform int)
-0:54            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:54          i1c: direct index for structure ( uniform int)
+0:54            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:54            Constant:
 0:54              9 (const uint)
 0:55      move second child to first child ( temp int)
 0:55        'out_i1' ( temp int)
 0:55        imageAtomicExchange ( temp int)
 0:55          'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:55          i1: direct index for structure (layout( offset=36) uniform int)
-0:55            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:55          i1: direct index for structure ( uniform int)
+0:55            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:55            Constant:
 0:55              5 (const uint)
-0:55          i1: direct index for structure (layout( offset=36) uniform int)
-0:55            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:55          i1: direct index for structure ( uniform int)
+0:55            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:55            Constant:
 0:55              5 (const uint)
 0:56      imageAtomicMax ( temp int)
 0:56        'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:56        i1: direct index for structure (layout( offset=36) uniform int)
-0:56          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:56        i1: direct index for structure ( uniform int)
+0:56          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:56          Constant:
 0:56            5 (const uint)
-0:56        i1b: direct index for structure (layout( offset=60) uniform int)
-0:56          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:56        i1b: direct index for structure ( uniform int)
+0:56          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:56          Constant:
 0:56            8 (const uint)
 0:57      move second child to first child ( temp int)
 0:57        'out_i1' ( temp int)
 0:57        imageAtomicMax ( temp int)
 0:57          'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:57          i1: direct index for structure (layout( offset=36) uniform int)
-0:57            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:57          i1: direct index for structure ( uniform int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:57            Constant:
 0:57              5 (const uint)
-0:57          i1: direct index for structure (layout( offset=36) uniform int)
-0:57            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:57          i1: direct index for structure ( uniform int)
+0:57            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:57            Constant:
 0:57              5 (const uint)
 0:58      imageAtomicMin ( temp int)
 0:58        'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:58        i1: direct index for structure (layout( offset=36) uniform int)
-0:58          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:58        i1: direct index for structure ( uniform int)
+0:58          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:58          Constant:
 0:58            5 (const uint)
-0:58        i1b: direct index for structure (layout( offset=60) uniform int)
-0:58          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:58        i1b: direct index for structure ( uniform int)
+0:58          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:58          Constant:
 0:58            8 (const uint)
 0:59      move second child to first child ( temp int)
 0:59        'out_i1' ( temp int)
 0:59        imageAtomicMin ( temp int)
 0:59          'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:59          i1: direct index for structure (layout( offset=36) uniform int)
-0:59            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:59          i1: direct index for structure ( uniform int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:59            Constant:
 0:59              5 (const uint)
-0:59          i1: direct index for structure (layout( offset=36) uniform int)
-0:59            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:59          i1: direct index for structure ( uniform int)
+0:59            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:59            Constant:
 0:59              5 (const uint)
 0:60      imageAtomicOr ( temp int)
 0:60        'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:60        i1: direct index for structure (layout( offset=36) uniform int)
-0:60          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:60        i1: direct index for structure ( uniform int)
+0:60          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:60          Constant:
 0:60            5 (const uint)
-0:60        i1b: direct index for structure (layout( offset=60) uniform int)
-0:60          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:60        i1b: direct index for structure ( uniform int)
+0:60          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:60          Constant:
 0:60            8 (const uint)
 0:61      move second child to first child ( temp int)
 0:61        'out_i1' ( temp int)
 0:61        imageAtomicOr ( temp int)
 0:61          'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:61          i1: direct index for structure (layout( offset=36) uniform int)
-0:61            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:61          i1: direct index for structure ( uniform int)
+0:61            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:61            Constant:
 0:61              5 (const uint)
-0:61          i1: direct index for structure (layout( offset=36) uniform int)
-0:61            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:61          i1: direct index for structure ( uniform int)
+0:61            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:61            Constant:
 0:61              5 (const uint)
 0:62      imageAtomicXor ( temp int)
 0:62        'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:62        i1: direct index for structure (layout( offset=36) uniform int)
-0:62          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:62        i1: direct index for structure ( uniform int)
+0:62          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:62          Constant:
 0:62            5 (const uint)
-0:62        i1b: direct index for structure (layout( offset=60) uniform int)
-0:62          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:62        i1b: direct index for structure ( uniform int)
+0:62          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:62          Constant:
 0:62            8 (const uint)
 0:63      move second child to first child ( temp int)
 0:63        'out_i1' ( temp int)
 0:63        imageAtomicXor ( temp int)
 0:63          'g_tTex1di1' (layout( r32i) uniform iimage1D)
-0:63          i1: direct index for structure (layout( offset=36) uniform int)
-0:63            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:63          i1: direct index for structure ( uniform int)
+0:63            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:63            Constant:
 0:63              5 (const uint)
-0:63          i1: direct index for structure (layout( offset=36) uniform int)
-0:63            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:63          i1: direct index for structure ( uniform int)
+0:63            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:63            Constant:
 0:63              5 (const uint)
 0:66      imageAtomicAdd ( temp uint)
 0:66        'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:66        u1: direct index for structure (layout( offset=0) uniform uint)
-0:66          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:66        u1: direct index for structure ( uniform uint)
+0:66          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:66          Constant:
 0:66            0 (const uint)
-0:66        u1: direct index for structure (layout( offset=0) uniform uint)
-0:66          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:66        u1: direct index for structure ( uniform uint)
+0:66          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:66          Constant:
 0:66            0 (const uint)
 0:67      move second child to first child ( temp uint)
 0:67        'out_u1' ( temp uint)
 0:67        imageAtomicAdd ( temp uint)
 0:67          'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:67          u1: direct index for structure (layout( offset=0) uniform uint)
-0:67            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:67          u1: direct index for structure ( uniform uint)
+0:67            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:67            Constant:
 0:67              0 (const uint)
-0:67          u1: direct index for structure (layout( offset=0) uniform uint)
-0:67            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:67          u1: direct index for structure ( uniform uint)
+0:67            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:67            Constant:
 0:67              0 (const uint)
 0:68      imageAtomicAnd ( temp uint)
 0:68        'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:68        u1: direct index for structure (layout( offset=0) uniform uint)
-0:68          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:68        u1: direct index for structure ( uniform uint)
+0:68          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:68          Constant:
 0:68            0 (const uint)
-0:68        u1: direct index for structure (layout( offset=0) uniform uint)
-0:68          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:68        u1: direct index for structure ( uniform uint)
+0:68          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:68          Constant:
 0:68            0 (const uint)
 0:69      move second child to first child ( temp uint)
 0:69        'out_u1' ( temp uint)
 0:69        imageAtomicAnd ( temp uint)
 0:69          'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:69          u1: direct index for structure (layout( offset=0) uniform uint)
-0:69            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:69          u1: direct index for structure ( uniform uint)
+0:69            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:69            Constant:
 0:69              0 (const uint)
-0:69          u1: direct index for structure (layout( offset=0) uniform uint)
-0:69            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:69          u1: direct index for structure ( uniform uint)
+0:69            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:69            Constant:
 0:69              0 (const uint)
 0:70      move second child to first child ( temp uint)
 0:70        'out_u1' ( temp uint)
 0:70        imageAtomicCompSwap ( temp uint)
 0:70          'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:70          u1: direct index for structure (layout( offset=0) uniform uint)
-0:70            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:70          u1: direct index for structure ( uniform uint)
+0:70            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:70            Constant:
 0:70              0 (const uint)
-0:70          u1b: direct index for structure (layout( offset=28) uniform uint)
-0:70            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:70          u1b: direct index for structure ( uniform uint)
+0:70            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:70            Constant:
 0:70              3 (const uint)
-0:70          u1c: direct index for structure (layout( offset=32) uniform uint)
-0:70            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:70          u1c: direct index for structure ( uniform uint)
+0:70            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:70            Constant:
 0:70              4 (const uint)
 0:71      move second child to first child ( temp uint)
 0:71        'out_u1' ( temp uint)
 0:71        imageAtomicExchange ( temp uint)
 0:71          'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:71          u1: direct index for structure (layout( offset=0) uniform uint)
-0:71            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:71          u1: direct index for structure ( uniform uint)
+0:71            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:71            Constant:
 0:71              0 (const uint)
-0:71          u1: direct index for structure (layout( offset=0) uniform uint)
-0:71            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:71          u1: direct index for structure ( uniform uint)
+0:71            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:71            Constant:
 0:71              0 (const uint)
 0:72      imageAtomicMax ( temp uint)
 0:72        'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:72        u1: direct index for structure (layout( offset=0) uniform uint)
-0:72          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:72        u1: direct index for structure ( uniform uint)
+0:72          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:72          Constant:
 0:72            0 (const uint)
-0:72        u1: direct index for structure (layout( offset=0) uniform uint)
-0:72          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:72        u1: direct index for structure ( uniform uint)
+0:72          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:72          Constant:
 0:72            0 (const uint)
 0:73      move second child to first child ( temp uint)
 0:73        'out_u1' ( temp uint)
 0:73        imageAtomicMax ( temp uint)
 0:73          'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:73          u1: direct index for structure (layout( offset=0) uniform uint)
-0:73            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:73          u1: direct index for structure ( uniform uint)
+0:73            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:73            Constant:
 0:73              0 (const uint)
-0:73          u1: direct index for structure (layout( offset=0) uniform uint)
-0:73            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:73          u1: direct index for structure ( uniform uint)
+0:73            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:73            Constant:
 0:73              0 (const uint)
 0:74      imageAtomicMin ( temp uint)
 0:74        'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:74        u1: direct index for structure (layout( offset=0) uniform uint)
-0:74          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:74        u1: direct index for structure ( uniform uint)
+0:74          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:74          Constant:
 0:74            0 (const uint)
-0:74        u1: direct index for structure (layout( offset=0) uniform uint)
-0:74          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:74        u1: direct index for structure ( uniform uint)
+0:74          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:74          Constant:
 0:74            0 (const uint)
 0:75      move second child to first child ( temp uint)
 0:75        'out_u1' ( temp uint)
 0:75        imageAtomicMin ( temp uint)
 0:75          'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:75          u1: direct index for structure (layout( offset=0) uniform uint)
-0:75            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:75          u1: direct index for structure ( uniform uint)
+0:75            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:75            Constant:
 0:75              0 (const uint)
-0:75          u1: direct index for structure (layout( offset=0) uniform uint)
-0:75            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:75          u1: direct index for structure ( uniform uint)
+0:75            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:75            Constant:
 0:75              0 (const uint)
 0:76      imageAtomicOr ( temp uint)
 0:76        'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:76        u1: direct index for structure (layout( offset=0) uniform uint)
-0:76          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:76        u1: direct index for structure ( uniform uint)
+0:76          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:76          Constant:
 0:76            0 (const uint)
-0:76        u1: direct index for structure (layout( offset=0) uniform uint)
-0:76          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:76        u1: direct index for structure ( uniform uint)
+0:76          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:76          Constant:
 0:76            0 (const uint)
 0:77      move second child to first child ( temp uint)
 0:77        'out_u1' ( temp uint)
 0:77        imageAtomicOr ( temp uint)
 0:77          'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:77          u1: direct index for structure (layout( offset=0) uniform uint)
-0:77            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:77          u1: direct index for structure ( uniform uint)
+0:77            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:77            Constant:
 0:77              0 (const uint)
-0:77          u1: direct index for structure (layout( offset=0) uniform uint)
-0:77            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:77          u1: direct index for structure ( uniform uint)
+0:77            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:77            Constant:
 0:77              0 (const uint)
 0:78      imageAtomicXor ( temp uint)
 0:78        'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:78        u1: direct index for structure (layout( offset=0) uniform uint)
-0:78          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:78        u1: direct index for structure ( uniform uint)
+0:78          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:78          Constant:
 0:78            0 (const uint)
-0:78        u1: direct index for structure (layout( offset=0) uniform uint)
-0:78          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:78        u1: direct index for structure ( uniform uint)
+0:78          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:78          Constant:
 0:78            0 (const uint)
 0:79      move second child to first child ( temp uint)
 0:79        'out_u1' ( temp uint)
 0:79        imageAtomicXor ( temp uint)
 0:79          'g_tTex1du1' (layout( r32ui) uniform uimage1D)
-0:79          u1: direct index for structure (layout( offset=0) uniform uint)
-0:79            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:79          u1: direct index for structure ( uniform uint)
+0:79            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:79            Constant:
 0:79              0 (const uint)
-0:79          u1: direct index for structure (layout( offset=0) uniform uint)
-0:79            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:79          u1: direct index for structure ( uniform uint)
+0:79            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:79            Constant:
 0:79              0 (const uint)
 0:82      imageAtomicAdd ( temp int)
 0:82        'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:82        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:82          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:82        i2: direct index for structure ( uniform 2-component vector of int)
+0:82          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:82          Constant:
 0:82            6 (const uint)
-0:82        i1b: direct index for structure (layout( offset=60) uniform int)
-0:82          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:82        i1b: direct index for structure ( uniform int)
+0:82          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:82          Constant:
 0:82            8 (const uint)
 0:83      move second child to first child ( temp int)
 0:83        'out_i1' ( temp int)
 0:83        imageAtomicAdd ( temp int)
 0:83          'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:83          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:83            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:83          i2: direct index for structure ( uniform 2-component vector of int)
+0:83            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:83            Constant:
 0:83              6 (const uint)
-0:83          i1: direct index for structure (layout( offset=36) uniform int)
-0:83            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:83          i1: direct index for structure ( uniform int)
+0:83            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:83            Constant:
 0:83              5 (const uint)
 0:84      imageAtomicAnd ( temp int)
 0:84        'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:84        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:84          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:84        i2: direct index for structure ( uniform 2-component vector of int)
+0:84          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:84          Constant:
 0:84            6 (const uint)
-0:84        i1b: direct index for structure (layout( offset=60) uniform int)
-0:84          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:84        i1b: direct index for structure ( uniform int)
+0:84          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:84          Constant:
 0:84            8 (const uint)
 0:85      move second child to first child ( temp int)
 0:85        'out_i1' ( temp int)
 0:85        imageAtomicAnd ( temp int)
 0:85          'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:85          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:85            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:85          i2: direct index for structure ( uniform 2-component vector of int)
+0:85            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:85            Constant:
 0:85              6 (const uint)
-0:85          i1: direct index for structure (layout( offset=36) uniform int)
-0:85            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:85          i1: direct index for structure ( uniform int)
+0:85            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:85            Constant:
 0:85              5 (const uint)
 0:86      move second child to first child ( temp int)
 0:86        'out_i1' ( temp int)
 0:86        imageAtomicCompSwap ( temp int)
 0:86          'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:86          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:86            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:86          i2: direct index for structure ( uniform 2-component vector of int)
+0:86            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:86            Constant:
 0:86              6 (const uint)
-0:86          i1b: direct index for structure (layout( offset=60) uniform int)
-0:86            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:86          i1b: direct index for structure ( uniform int)
+0:86            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:86            Constant:
 0:86              8 (const uint)
-0:86          i1c: direct index for structure (layout( offset=64) uniform int)
-0:86            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:86          i1c: direct index for structure ( uniform int)
+0:86            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:86            Constant:
 0:86              9 (const uint)
 0:87      move second child to first child ( temp int)
 0:87        'out_i1' ( temp int)
 0:87        imageAtomicExchange ( temp int)
 0:87          'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:87          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:87            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:87          i2: direct index for structure ( uniform 2-component vector of int)
+0:87            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:87            Constant:
 0:87              6 (const uint)
-0:87          i1: direct index for structure (layout( offset=36) uniform int)
-0:87            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:87          i1: direct index for structure ( uniform int)
+0:87            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:87            Constant:
 0:87              5 (const uint)
 0:88      imageAtomicMax ( temp int)
 0:88        'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:88        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:88          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:88        i2: direct index for structure ( uniform 2-component vector of int)
+0:88          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:88          Constant:
 0:88            6 (const uint)
-0:88        i1b: direct index for structure (layout( offset=60) uniform int)
-0:88          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:88        i1b: direct index for structure ( uniform int)
+0:88          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:88          Constant:
 0:88            8 (const uint)
 0:89      move second child to first child ( temp int)
 0:89        'out_i1' ( temp int)
 0:89        imageAtomicMax ( temp int)
 0:89          'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:89          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:89            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:89          i2: direct index for structure ( uniform 2-component vector of int)
+0:89            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:89            Constant:
 0:89              6 (const uint)
-0:89          i1: direct index for structure (layout( offset=36) uniform int)
-0:89            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:89          i1: direct index for structure ( uniform int)
+0:89            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:89            Constant:
 0:89              5 (const uint)
 0:90      imageAtomicMin ( temp int)
 0:90        'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:90        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:90          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:90        i2: direct index for structure ( uniform 2-component vector of int)
+0:90          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:90          Constant:
 0:90            6 (const uint)
-0:90        i1b: direct index for structure (layout( offset=60) uniform int)
-0:90          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:90        i1b: direct index for structure ( uniform int)
+0:90          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:90          Constant:
 0:90            8 (const uint)
 0:91      move second child to first child ( temp int)
 0:91        'out_i1' ( temp int)
 0:91        imageAtomicMin ( temp int)
 0:91          'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:91          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:91            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:91          i2: direct index for structure ( uniform 2-component vector of int)
+0:91            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:91            Constant:
 0:91              6 (const uint)
-0:91          i1: direct index for structure (layout( offset=36) uniform int)
-0:91            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:91          i1: direct index for structure ( uniform int)
+0:91            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:91            Constant:
 0:91              5 (const uint)
 0:92      imageAtomicOr ( temp int)
 0:92        'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:92        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:92          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:92        i2: direct index for structure ( uniform 2-component vector of int)
+0:92          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:92          Constant:
 0:92            6 (const uint)
-0:92        i1b: direct index for structure (layout( offset=60) uniform int)
-0:92          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:92        i1b: direct index for structure ( uniform int)
+0:92          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:92          Constant:
 0:92            8 (const uint)
 0:93      move second child to first child ( temp int)
 0:93        'out_i1' ( temp int)
 0:93        imageAtomicOr ( temp int)
 0:93          'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:93          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:93            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:93          i2: direct index for structure ( uniform 2-component vector of int)
+0:93            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:93            Constant:
 0:93              6 (const uint)
-0:93          i1: direct index for structure (layout( offset=36) uniform int)
-0:93            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:93          i1: direct index for structure ( uniform int)
+0:93            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:93            Constant:
 0:93              5 (const uint)
 0:94      imageAtomicXor ( temp int)
 0:94        'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:94        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:94          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:94        i2: direct index for structure ( uniform 2-component vector of int)
+0:94          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:94          Constant:
 0:94            6 (const uint)
-0:94        i1b: direct index for structure (layout( offset=60) uniform int)
-0:94          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:94        i1b: direct index for structure ( uniform int)
+0:94          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:94          Constant:
 0:94            8 (const uint)
 0:95      move second child to first child ( temp int)
 0:95        'out_i1' ( temp int)
 0:95        imageAtomicXor ( temp int)
 0:95          'g_tTex2di1' (layout( r32i) uniform iimage2D)
-0:95          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:95            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:95          i2: direct index for structure ( uniform 2-component vector of int)
+0:95            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:95            Constant:
 0:95              6 (const uint)
-0:95          i1: direct index for structure (layout( offset=36) uniform int)
-0:95            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:95          i1: direct index for structure ( uniform int)
+0:95            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:95            Constant:
 0:95              5 (const uint)
 0:98      imageAtomicAdd ( temp uint)
 0:98        'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:98        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:98          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:98        u2: direct index for structure ( uniform 2-component vector of uint)
+0:98          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:98          Constant:
 0:98            1 (const uint)
-0:98        u1: direct index for structure (layout( offset=0) uniform uint)
-0:98          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:98        u1: direct index for structure ( uniform uint)
+0:98          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:98          Constant:
 0:98            0 (const uint)
 0:99      move second child to first child ( temp uint)
 0:99        'out_u1' ( temp uint)
 0:99        imageAtomicAdd ( temp uint)
 0:99          'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:99          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:99            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:99          u2: direct index for structure ( uniform 2-component vector of uint)
+0:99            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:99            Constant:
 0:99              1 (const uint)
-0:99          u1: direct index for structure (layout( offset=0) uniform uint)
-0:99            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:99          u1: direct index for structure ( uniform uint)
+0:99            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:99            Constant:
 0:99              0 (const uint)
 0:100      imageAtomicAnd ( temp uint)
 0:100        'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:100        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:100          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:100        u2: direct index for structure ( uniform 2-component vector of uint)
+0:100          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:100          Constant:
 0:100            1 (const uint)
-0:100        u1: direct index for structure (layout( offset=0) uniform uint)
-0:100          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:100        u1: direct index for structure ( uniform uint)
+0:100          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:100          Constant:
 0:100            0 (const uint)
 0:101      move second child to first child ( temp uint)
 0:101        'out_u1' ( temp uint)
 0:101        imageAtomicAnd ( temp uint)
 0:101          'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:101          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:101            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:101          u2: direct index for structure ( uniform 2-component vector of uint)
+0:101            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:101            Constant:
 0:101              1 (const uint)
-0:101          u1: direct index for structure (layout( offset=0) uniform uint)
-0:101            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:101          u1: direct index for structure ( uniform uint)
+0:101            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:101            Constant:
 0:101              0 (const uint)
 0:102      move second child to first child ( temp uint)
 0:102        'out_u1' ( temp uint)
 0:102        imageAtomicCompSwap ( temp uint)
 0:102          'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:102          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:102            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:102          u2: direct index for structure ( uniform 2-component vector of uint)
+0:102            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:102            Constant:
 0:102              1 (const uint)
-0:102          u1b: direct index for structure (layout( offset=28) uniform uint)
-0:102            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:102          u1b: direct index for structure ( uniform uint)
+0:102            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:102            Constant:
 0:102              3 (const uint)
-0:102          u1c: direct index for structure (layout( offset=32) uniform uint)
-0:102            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:102          u1c: direct index for structure ( uniform uint)
+0:102            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:102            Constant:
 0:102              4 (const uint)
 0:103      move second child to first child ( temp uint)
 0:103        'out_u1' ( temp uint)
 0:103        imageAtomicExchange ( temp uint)
 0:103          'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:103          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:103            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:103          u2: direct index for structure ( uniform 2-component vector of uint)
+0:103            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:103            Constant:
 0:103              1 (const uint)
-0:103          u1: direct index for structure (layout( offset=0) uniform uint)
-0:103            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:103          u1: direct index for structure ( uniform uint)
+0:103            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:103            Constant:
 0:103              0 (const uint)
 0:104      imageAtomicMax ( temp uint)
 0:104        'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:104        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:104          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:104        u2: direct index for structure ( uniform 2-component vector of uint)
+0:104          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:104          Constant:
 0:104            1 (const uint)
-0:104        u1: direct index for structure (layout( offset=0) uniform uint)
-0:104          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:104        u1: direct index for structure ( uniform uint)
+0:104          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:104          Constant:
 0:104            0 (const uint)
 0:105      move second child to first child ( temp uint)
 0:105        'out_u1' ( temp uint)
 0:105        imageAtomicMax ( temp uint)
 0:105          'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:105          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:105            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:105          u2: direct index for structure ( uniform 2-component vector of uint)
+0:105            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:105            Constant:
 0:105              1 (const uint)
-0:105          u1: direct index for structure (layout( offset=0) uniform uint)
-0:105            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:105          u1: direct index for structure ( uniform uint)
+0:105            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:105            Constant:
 0:105              0 (const uint)
 0:106      imageAtomicMin ( temp uint)
 0:106        'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:106        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:106          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:106        u2: direct index for structure ( uniform 2-component vector of uint)
+0:106          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:106          Constant:
 0:106            1 (const uint)
-0:106        u1: direct index for structure (layout( offset=0) uniform uint)
-0:106          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:106        u1: direct index for structure ( uniform uint)
+0:106          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:106          Constant:
 0:106            0 (const uint)
 0:107      move second child to first child ( temp uint)
 0:107        'out_u1' ( temp uint)
 0:107        imageAtomicMin ( temp uint)
 0:107          'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:107          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:107            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:107          u2: direct index for structure ( uniform 2-component vector of uint)
+0:107            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:107            Constant:
 0:107              1 (const uint)
-0:107          u1: direct index for structure (layout( offset=0) uniform uint)
-0:107            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:107          u1: direct index for structure ( uniform uint)
+0:107            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:107            Constant:
 0:107              0 (const uint)
 0:108      imageAtomicOr ( temp uint)
 0:108        'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:108        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:108          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:108        u2: direct index for structure ( uniform 2-component vector of uint)
+0:108          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:108          Constant:
 0:108            1 (const uint)
-0:108        u1: direct index for structure (layout( offset=0) uniform uint)
-0:108          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:108        u1: direct index for structure ( uniform uint)
+0:108          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:108          Constant:
 0:108            0 (const uint)
 0:109      move second child to first child ( temp uint)
 0:109        'out_u1' ( temp uint)
 0:109        imageAtomicOr ( temp uint)
 0:109          'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:109          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:109            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:109          u2: direct index for structure ( uniform 2-component vector of uint)
+0:109            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:109            Constant:
 0:109              1 (const uint)
-0:109          u1: direct index for structure (layout( offset=0) uniform uint)
-0:109            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:109          u1: direct index for structure ( uniform uint)
+0:109            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:109            Constant:
 0:109              0 (const uint)
 0:110      imageAtomicXor ( temp uint)
 0:110        'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:110        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:110          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:110        u2: direct index for structure ( uniform 2-component vector of uint)
+0:110          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:110          Constant:
 0:110            1 (const uint)
-0:110        u1: direct index for structure (layout( offset=0) uniform uint)
-0:110          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:110        u1: direct index for structure ( uniform uint)
+0:110          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:110          Constant:
 0:110            0 (const uint)
 0:111      move second child to first child ( temp uint)
 0:111        'out_u1' ( temp uint)
 0:111        imageAtomicXor ( temp uint)
 0:111          'g_tTex2du1' (layout( r32ui) uniform uimage2D)
-0:111          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:111            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:111          u2: direct index for structure ( uniform 2-component vector of uint)
+0:111            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:111            Constant:
 0:111              1 (const uint)
-0:111          u1: direct index for structure (layout( offset=0) uniform uint)
-0:111            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:111          u1: direct index for structure ( uniform uint)
+0:111            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:111            Constant:
 0:111              0 (const uint)
 0:114      imageAtomicAdd ( temp int)
 0:114        'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:114        i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:114          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:114        i3: direct index for structure ( uniform 3-component vector of int)
+0:114          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:114          Constant:
 0:114            7 (const uint)
-0:114        i1b: direct index for structure (layout( offset=60) uniform int)
-0:114          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:114        i1b: direct index for structure ( uniform int)
+0:114          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:114          Constant:
 0:114            8 (const uint)
 0:115      move second child to first child ( temp int)
 0:115        'out_i1' ( temp int)
 0:115        imageAtomicAdd ( temp int)
 0:115          'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:115          i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:115            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:115          i3: direct index for structure ( uniform 3-component vector of int)
+0:115            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:115            Constant:
 0:115              7 (const uint)
-0:115          i1: direct index for structure (layout( offset=36) uniform int)
-0:115            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:115          i1: direct index for structure ( uniform int)
+0:115            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:115            Constant:
 0:115              5 (const uint)
 0:116      imageAtomicAnd ( temp int)
 0:116        'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:116        i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:116          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:116        i3: direct index for structure ( uniform 3-component vector of int)
+0:116          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:116          Constant:
 0:116            7 (const uint)
-0:116        i1b: direct index for structure (layout( offset=60) uniform int)
-0:116          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:116        i1b: direct index for structure ( uniform int)
+0:116          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:116          Constant:
 0:116            8 (const uint)
 0:117      move second child to first child ( temp int)
 0:117        'out_i1' ( temp int)
 0:117        imageAtomicAnd ( temp int)
 0:117          'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:117          i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:117            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:117          i3: direct index for structure ( uniform 3-component vector of int)
+0:117            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:117            Constant:
 0:117              7 (const uint)
-0:117          i1: direct index for structure (layout( offset=36) uniform int)
-0:117            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:117          i1: direct index for structure ( uniform int)
+0:117            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:117            Constant:
 0:117              5 (const uint)
 0:118      move second child to first child ( temp int)
 0:118        'out_i1' ( temp int)
 0:118        imageAtomicCompSwap ( temp int)
 0:118          'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:118          i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:118            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:118          i3: direct index for structure ( uniform 3-component vector of int)
+0:118            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:118            Constant:
 0:118              7 (const uint)
-0:118          i1b: direct index for structure (layout( offset=60) uniform int)
-0:118            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:118          i1b: direct index for structure ( uniform int)
+0:118            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:118            Constant:
 0:118              8 (const uint)
-0:118          i1c: direct index for structure (layout( offset=64) uniform int)
-0:118            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:118          i1c: direct index for structure ( uniform int)
+0:118            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:118            Constant:
 0:118              9 (const uint)
 0:119      move second child to first child ( temp int)
 0:119        'out_i1' ( temp int)
 0:119        imageAtomicExchange ( temp int)
 0:119          'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:119          i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:119            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:119          i3: direct index for structure ( uniform 3-component vector of int)
+0:119            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:119            Constant:
 0:119              7 (const uint)
-0:119          i1: direct index for structure (layout( offset=36) uniform int)
-0:119            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:119          i1: direct index for structure ( uniform int)
+0:119            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:119            Constant:
 0:119              5 (const uint)
 0:120      imageAtomicMax ( temp int)
 0:120        'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:120        i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:120          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:120        i3: direct index for structure ( uniform 3-component vector of int)
+0:120          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:120          Constant:
 0:120            7 (const uint)
-0:120        i1b: direct index for structure (layout( offset=60) uniform int)
-0:120          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:120        i1b: direct index for structure ( uniform int)
+0:120          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:120          Constant:
 0:120            8 (const uint)
 0:121      move second child to first child ( temp int)
 0:121        'out_i1' ( temp int)
 0:121        imageAtomicMax ( temp int)
 0:121          'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:121          i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:121            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:121          i3: direct index for structure ( uniform 3-component vector of int)
+0:121            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:121            Constant:
 0:121              7 (const uint)
-0:121          i1: direct index for structure (layout( offset=36) uniform int)
-0:121            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:121          i1: direct index for structure ( uniform int)
+0:121            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:121            Constant:
 0:121              5 (const uint)
 0:122      imageAtomicMin ( temp int)
 0:122        'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:122        i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:122          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:122        i3: direct index for structure ( uniform 3-component vector of int)
+0:122          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:122          Constant:
 0:122            7 (const uint)
-0:122        i1b: direct index for structure (layout( offset=60) uniform int)
-0:122          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:122        i1b: direct index for structure ( uniform int)
+0:122          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:122          Constant:
 0:122            8 (const uint)
 0:123      move second child to first child ( temp int)
 0:123        'out_i1' ( temp int)
 0:123        imageAtomicMin ( temp int)
 0:123          'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:123          i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:123            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:123          i3: direct index for structure ( uniform 3-component vector of int)
+0:123            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:123            Constant:
 0:123              7 (const uint)
-0:123          i1: direct index for structure (layout( offset=36) uniform int)
-0:123            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:123          i1: direct index for structure ( uniform int)
+0:123            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:123            Constant:
 0:123              5 (const uint)
 0:124      imageAtomicOr ( temp int)
 0:124        'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:124        i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:124          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:124        i3: direct index for structure ( uniform 3-component vector of int)
+0:124          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:124          Constant:
 0:124            7 (const uint)
-0:124        i1b: direct index for structure (layout( offset=60) uniform int)
-0:124          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:124        i1b: direct index for structure ( uniform int)
+0:124          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:124          Constant:
 0:124            8 (const uint)
 0:125      move second child to first child ( temp int)
 0:125        'out_i1' ( temp int)
 0:125        imageAtomicOr ( temp int)
 0:125          'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:125          i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:125            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:125          i3: direct index for structure ( uniform 3-component vector of int)
+0:125            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:125            Constant:
 0:125              7 (const uint)
-0:125          i1: direct index for structure (layout( offset=36) uniform int)
-0:125            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:125          i1: direct index for structure ( uniform int)
+0:125            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:125            Constant:
 0:125              5 (const uint)
 0:126      imageAtomicXor ( temp int)
 0:126        'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:126        i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:126          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:126        i3: direct index for structure ( uniform 3-component vector of int)
+0:126          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:126          Constant:
 0:126            7 (const uint)
-0:126        i1b: direct index for structure (layout( offset=60) uniform int)
-0:126          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:126        i1b: direct index for structure ( uniform int)
+0:126          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:126          Constant:
 0:126            8 (const uint)
 0:127      move second child to first child ( temp int)
 0:127        'out_i1' ( temp int)
 0:127        imageAtomicXor ( temp int)
 0:127          'g_tTex3di1' (layout( r32i) uniform iimage3D)
-0:127          i3: direct index for structure (layout( offset=48) uniform 3-component vector of int)
-0:127            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:127          i3: direct index for structure ( uniform 3-component vector of int)
+0:127            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:127            Constant:
 0:127              7 (const uint)
-0:127          i1: direct index for structure (layout( offset=36) uniform int)
-0:127            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:127          i1: direct index for structure ( uniform int)
+0:127            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:127            Constant:
 0:127              5 (const uint)
 0:130      imageAtomicAdd ( temp uint)
 0:130        'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:130        u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:130          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:130        u3: direct index for structure ( uniform 3-component vector of uint)
+0:130          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:130          Constant:
 0:130            2 (const uint)
-0:130        u1: direct index for structure (layout( offset=0) uniform uint)
-0:130          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:130        u1: direct index for structure ( uniform uint)
+0:130          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:130          Constant:
 0:130            0 (const uint)
 0:131      move second child to first child ( temp uint)
 0:131        'out_u1' ( temp uint)
 0:131        imageAtomicAdd ( temp uint)
 0:131          'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:131          u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:131            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:131          u3: direct index for structure ( uniform 3-component vector of uint)
+0:131            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:131            Constant:
 0:131              2 (const uint)
-0:131          u1: direct index for structure (layout( offset=0) uniform uint)
-0:131            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:131          u1: direct index for structure ( uniform uint)
+0:131            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:131            Constant:
 0:131              0 (const uint)
 0:132      imageAtomicAnd ( temp uint)
 0:132        'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:132        u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:132          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:132        u3: direct index for structure ( uniform 3-component vector of uint)
+0:132          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:132          Constant:
 0:132            2 (const uint)
-0:132        u1: direct index for structure (layout( offset=0) uniform uint)
-0:132          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:132        u1: direct index for structure ( uniform uint)
+0:132          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:132          Constant:
 0:132            0 (const uint)
 0:133      move second child to first child ( temp uint)
 0:133        'out_u1' ( temp uint)
 0:133        imageAtomicAnd ( temp uint)
 0:133          'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:133          u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:133            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:133          u3: direct index for structure ( uniform 3-component vector of uint)
+0:133            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:133            Constant:
 0:133              2 (const uint)
-0:133          u1: direct index for structure (layout( offset=0) uniform uint)
-0:133            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:133          u1: direct index for structure ( uniform uint)
+0:133            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:133            Constant:
 0:133              0 (const uint)
 0:134      move second child to first child ( temp uint)
 0:134        'out_u1' ( temp uint)
 0:134        imageAtomicCompSwap ( temp uint)
 0:134          'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:134          u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:134            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:134          u3: direct index for structure ( uniform 3-component vector of uint)
+0:134            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:134            Constant:
 0:134              2 (const uint)
-0:134          u1b: direct index for structure (layout( offset=28) uniform uint)
-0:134            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:134          u1b: direct index for structure ( uniform uint)
+0:134            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:134            Constant:
 0:134              3 (const uint)
-0:134          u1c: direct index for structure (layout( offset=32) uniform uint)
-0:134            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:134          u1c: direct index for structure ( uniform uint)
+0:134            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:134            Constant:
 0:134              4 (const uint)
 0:135      move second child to first child ( temp uint)
 0:135        'out_u1' ( temp uint)
 0:135        imageAtomicExchange ( temp uint)
 0:135          'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:135          u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:135            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:135          u3: direct index for structure ( uniform 3-component vector of uint)
+0:135            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:135            Constant:
 0:135              2 (const uint)
-0:135          u1: direct index for structure (layout( offset=0) uniform uint)
-0:135            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:135          u1: direct index for structure ( uniform uint)
+0:135            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:135            Constant:
 0:135              0 (const uint)
 0:136      imageAtomicMax ( temp uint)
 0:136        'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:136        u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:136          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:136        u3: direct index for structure ( uniform 3-component vector of uint)
+0:136          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:136          Constant:
 0:136            2 (const uint)
-0:136        u1: direct index for structure (layout( offset=0) uniform uint)
-0:136          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:136        u1: direct index for structure ( uniform uint)
+0:136          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:136          Constant:
 0:136            0 (const uint)
 0:137      move second child to first child ( temp uint)
 0:137        'out_u1' ( temp uint)
 0:137        imageAtomicMax ( temp uint)
 0:137          'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:137          u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:137            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:137          u3: direct index for structure ( uniform 3-component vector of uint)
+0:137            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:137            Constant:
 0:137              2 (const uint)
-0:137          u1: direct index for structure (layout( offset=0) uniform uint)
-0:137            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:137          u1: direct index for structure ( uniform uint)
+0:137            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:137            Constant:
 0:137              0 (const uint)
 0:138      imageAtomicMin ( temp uint)
 0:138        'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:138        u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:138          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:138        u3: direct index for structure ( uniform 3-component vector of uint)
+0:138          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:138          Constant:
 0:138            2 (const uint)
-0:138        u1: direct index for structure (layout( offset=0) uniform uint)
-0:138          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:138        u1: direct index for structure ( uniform uint)
+0:138          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:138          Constant:
 0:138            0 (const uint)
 0:139      move second child to first child ( temp uint)
 0:139        'out_u1' ( temp uint)
 0:139        imageAtomicMin ( temp uint)
 0:139          'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:139          u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:139            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:139          u3: direct index for structure ( uniform 3-component vector of uint)
+0:139            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:139            Constant:
 0:139              2 (const uint)
-0:139          u1: direct index for structure (layout( offset=0) uniform uint)
-0:139            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:139          u1: direct index for structure ( uniform uint)
+0:139            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:139            Constant:
 0:139              0 (const uint)
 0:140      imageAtomicOr ( temp uint)
 0:140        'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:140        u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:140          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:140        u3: direct index for structure ( uniform 3-component vector of uint)
+0:140          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:140          Constant:
 0:140            2 (const uint)
-0:140        u1: direct index for structure (layout( offset=0) uniform uint)
-0:140          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:140        u1: direct index for structure ( uniform uint)
+0:140          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:140          Constant:
 0:140            0 (const uint)
 0:141      move second child to first child ( temp uint)
 0:141        'out_u1' ( temp uint)
 0:141        imageAtomicOr ( temp uint)
 0:141          'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:141          u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:141            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:141          u3: direct index for structure ( uniform 3-component vector of uint)
+0:141            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:141            Constant:
 0:141              2 (const uint)
-0:141          u1: direct index for structure (layout( offset=0) uniform uint)
-0:141            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:141          u1: direct index for structure ( uniform uint)
+0:141            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:141            Constant:
 0:141              0 (const uint)
 0:142      imageAtomicXor ( temp uint)
 0:142        'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:142        u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:142          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:142        u3: direct index for structure ( uniform 3-component vector of uint)
+0:142          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:142          Constant:
 0:142            2 (const uint)
-0:142        u1: direct index for structure (layout( offset=0) uniform uint)
-0:142          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:142        u1: direct index for structure ( uniform uint)
+0:142          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:142          Constant:
 0:142            0 (const uint)
 0:143      move second child to first child ( temp uint)
 0:143        'out_u1' ( temp uint)
 0:143        imageAtomicXor ( temp uint)
 0:143          'g_tTex3du1' (layout( r32ui) uniform uimage3D)
-0:143          u3: direct index for structure (layout( offset=16) uniform 3-component vector of uint)
-0:143            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:143          u3: direct index for structure ( uniform 3-component vector of uint)
+0:143            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:143            Constant:
 0:143              2 (const uint)
-0:143          u1: direct index for structure (layout( offset=0) uniform uint)
-0:143            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:143          u1: direct index for structure ( uniform uint)
+0:143            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:143            Constant:
 0:143              0 (const uint)
 0:146      imageAtomicAdd ( temp int)
 0:146        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:146        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:146          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:146        i2: direct index for structure ( uniform 2-component vector of int)
+0:146          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:146          Constant:
 0:146            6 (const uint)
-0:146        i1b: direct index for structure (layout( offset=60) uniform int)
-0:146          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:146        i1b: direct index for structure ( uniform int)
+0:146          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:146          Constant:
 0:146            8 (const uint)
 0:147      move second child to first child ( temp int)
 0:147        'out_i1' ( temp int)
 0:147        imageAtomicAdd ( temp int)
 0:147          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:147          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:147            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:147          i2: direct index for structure ( uniform 2-component vector of int)
+0:147            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:147            Constant:
 0:147              6 (const uint)
-0:147          i1: direct index for structure (layout( offset=36) uniform int)
-0:147            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:147          i1: direct index for structure ( uniform int)
+0:147            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:147            Constant:
 0:147              5 (const uint)
 0:148      imageAtomicAnd ( temp int)
 0:148        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:148        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:148          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:148        i2: direct index for structure ( uniform 2-component vector of int)
+0:148          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:148          Constant:
 0:148            6 (const uint)
-0:148        i1b: direct index for structure (layout( offset=60) uniform int)
-0:148          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:148        i1b: direct index for structure ( uniform int)
+0:148          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:148          Constant:
 0:148            8 (const uint)
 0:149      move second child to first child ( temp int)
 0:149        'out_i1' ( temp int)
 0:149        imageAtomicAnd ( temp int)
 0:149          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:149          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:149            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:149          i2: direct index for structure ( uniform 2-component vector of int)
+0:149            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:149            Constant:
 0:149              6 (const uint)
-0:149          i1: direct index for structure (layout( offset=36) uniform int)
-0:149            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:149          i1: direct index for structure ( uniform int)
+0:149            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:149            Constant:
 0:149              5 (const uint)
 0:150      move second child to first child ( temp int)
 0:150        'out_i1' ( temp int)
 0:150        imageAtomicCompSwap ( temp int)
 0:150          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:150          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:150            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:150          i2: direct index for structure ( uniform 2-component vector of int)
+0:150            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:150            Constant:
 0:150              6 (const uint)
-0:150          i1b: direct index for structure (layout( offset=60) uniform int)
-0:150            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:150          i1b: direct index for structure ( uniform int)
+0:150            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:150            Constant:
 0:150              8 (const uint)
-0:150          i1c: direct index for structure (layout( offset=64) uniform int)
-0:150            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:150          i1c: direct index for structure ( uniform int)
+0:150            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:150            Constant:
 0:150              9 (const uint)
 0:151      move second child to first child ( temp int)
 0:151        'out_i1' ( temp int)
 0:151        imageAtomicExchange ( temp int)
 0:151          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:151          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:151            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:151          i2: direct index for structure ( uniform 2-component vector of int)
+0:151            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:151            Constant:
 0:151              6 (const uint)
-0:151          i1: direct index for structure (layout( offset=36) uniform int)
-0:151            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:151          i1: direct index for structure ( uniform int)
+0:151            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:151            Constant:
 0:151              5 (const uint)
 0:152      imageAtomicMax ( temp int)
 0:152        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:152        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:152          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:152        i2: direct index for structure ( uniform 2-component vector of int)
+0:152          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:152          Constant:
 0:152            6 (const uint)
-0:152        i1b: direct index for structure (layout( offset=60) uniform int)
-0:152          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:152        i1b: direct index for structure ( uniform int)
+0:152          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:152          Constant:
 0:152            8 (const uint)
 0:153      move second child to first child ( temp int)
 0:153        'out_i1' ( temp int)
 0:153        imageAtomicMax ( temp int)
 0:153          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:153          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:153            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:153          i2: direct index for structure ( uniform 2-component vector of int)
+0:153            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:153            Constant:
 0:153              6 (const uint)
-0:153          i1: direct index for structure (layout( offset=36) uniform int)
-0:153            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:153          i1: direct index for structure ( uniform int)
+0:153            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:153            Constant:
 0:153              5 (const uint)
 0:154      imageAtomicMin ( temp int)
 0:154        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:154        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:154          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:154        i2: direct index for structure ( uniform 2-component vector of int)
+0:154          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:154          Constant:
 0:154            6 (const uint)
-0:154        i1b: direct index for structure (layout( offset=60) uniform int)
-0:154          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:154        i1b: direct index for structure ( uniform int)
+0:154          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:154          Constant:
 0:154            8 (const uint)
 0:155      move second child to first child ( temp int)
 0:155        'out_i1' ( temp int)
 0:155        imageAtomicMin ( temp int)
 0:155          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:155          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:155            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:155          i2: direct index for structure ( uniform 2-component vector of int)
+0:155            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:155            Constant:
 0:155              6 (const uint)
-0:155          i1: direct index for structure (layout( offset=36) uniform int)
-0:155            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:155          i1: direct index for structure ( uniform int)
+0:155            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:155            Constant:
 0:155              5 (const uint)
 0:156      imageAtomicOr ( temp int)
 0:156        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:156        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:156          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:156        i2: direct index for structure ( uniform 2-component vector of int)
+0:156          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:156          Constant:
 0:156            6 (const uint)
-0:156        i1b: direct index for structure (layout( offset=60) uniform int)
-0:156          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:156        i1b: direct index for structure ( uniform int)
+0:156          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:156          Constant:
 0:156            8 (const uint)
 0:157      move second child to first child ( temp int)
 0:157        'out_i1' ( temp int)
 0:157        imageAtomicOr ( temp int)
 0:157          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:157          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:157            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:157          i2: direct index for structure ( uniform 2-component vector of int)
+0:157            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:157            Constant:
 0:157              6 (const uint)
-0:157          i1: direct index for structure (layout( offset=36) uniform int)
-0:157            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:157          i1: direct index for structure ( uniform int)
+0:157            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:157            Constant:
 0:157              5 (const uint)
 0:158      imageAtomicXor ( temp int)
 0:158        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:158        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:158          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:158        i2: direct index for structure ( uniform 2-component vector of int)
+0:158          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:158          Constant:
 0:158            6 (const uint)
-0:158        i1b: direct index for structure (layout( offset=60) uniform int)
-0:158          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:158        i1b: direct index for structure ( uniform int)
+0:158          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:158          Constant:
 0:158            8 (const uint)
 0:159      move second child to first child ( temp int)
 0:159        'out_i1' ( temp int)
 0:159        imageAtomicXor ( temp int)
 0:159          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:159          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:159            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:159          i2: direct index for structure ( uniform 2-component vector of int)
+0:159            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:159            Constant:
 0:159              6 (const uint)
-0:159          i1: direct index for structure (layout( offset=36) uniform int)
-0:159            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:159          i1: direct index for structure ( uniform int)
+0:159            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:159            Constant:
 0:159              5 (const uint)
 0:162      imageAtomicAdd ( temp uint)
 0:162        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:162        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:162          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:162        u2: direct index for structure ( uniform 2-component vector of uint)
+0:162          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:162          Constant:
 0:162            1 (const uint)
-0:162        u1: direct index for structure (layout( offset=0) uniform uint)
-0:162          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:162        u1: direct index for structure ( uniform uint)
+0:162          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:162          Constant:
 0:162            0 (const uint)
 0:163      move second child to first child ( temp uint)
 0:163        'out_u1' ( temp uint)
 0:163        imageAtomicAdd ( temp uint)
 0:163          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:163          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:163            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:163          u2: direct index for structure ( uniform 2-component vector of uint)
+0:163            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:163            Constant:
 0:163              1 (const uint)
-0:163          u1: direct index for structure (layout( offset=0) uniform uint)
-0:163            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:163          u1: direct index for structure ( uniform uint)
+0:163            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:163            Constant:
 0:163              0 (const uint)
 0:164      imageAtomicAnd ( temp uint)
 0:164        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:164        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:164          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:164        u2: direct index for structure ( uniform 2-component vector of uint)
+0:164          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:164          Constant:
 0:164            1 (const uint)
-0:164        u1: direct index for structure (layout( offset=0) uniform uint)
-0:164          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:164        u1: direct index for structure ( uniform uint)
+0:164          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:164          Constant:
 0:164            0 (const uint)
 0:165      move second child to first child ( temp uint)
 0:165        'out_u1' ( temp uint)
 0:165        imageAtomicAnd ( temp uint)
 0:165          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:165          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:165            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:165          u2: direct index for structure ( uniform 2-component vector of uint)
+0:165            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:165            Constant:
 0:165              1 (const uint)
-0:165          u1: direct index for structure (layout( offset=0) uniform uint)
-0:165            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:165          u1: direct index for structure ( uniform uint)
+0:165            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:165            Constant:
 0:165              0 (const uint)
 0:166      move second child to first child ( temp uint)
 0:166        'out_u1' ( temp uint)
 0:166        imageAtomicCompSwap ( temp uint)
 0:166          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:166          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:166            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:166          u2: direct index for structure ( uniform 2-component vector of uint)
+0:166            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:166            Constant:
 0:166              1 (const uint)
-0:166          u1b: direct index for structure (layout( offset=28) uniform uint)
-0:166            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:166          u1b: direct index for structure ( uniform uint)
+0:166            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:166            Constant:
 0:166              3 (const uint)
-0:166          u1c: direct index for structure (layout( offset=32) uniform uint)
-0:166            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:166          u1c: direct index for structure ( uniform uint)
+0:166            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:166            Constant:
 0:166              4 (const uint)
 0:167      move second child to first child ( temp uint)
 0:167        'out_u1' ( temp uint)
 0:167        imageAtomicExchange ( temp uint)
 0:167          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:167          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:167            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:167          u2: direct index for structure ( uniform 2-component vector of uint)
+0:167            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:167            Constant:
 0:167              1 (const uint)
-0:167          u1: direct index for structure (layout( offset=0) uniform uint)
-0:167            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:167          u1: direct index for structure ( uniform uint)
+0:167            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:167            Constant:
 0:167              0 (const uint)
 0:168      imageAtomicMax ( temp uint)
 0:168        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:168        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:168          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:168        u2: direct index for structure ( uniform 2-component vector of uint)
+0:168          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:168          Constant:
 0:168            1 (const uint)
-0:168        u1: direct index for structure (layout( offset=0) uniform uint)
-0:168          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:168        u1: direct index for structure ( uniform uint)
+0:168          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:168          Constant:
 0:168            0 (const uint)
 0:169      move second child to first child ( temp uint)
 0:169        'out_u1' ( temp uint)
 0:169        imageAtomicMax ( temp uint)
 0:169          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:169          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:169            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:169          u2: direct index for structure ( uniform 2-component vector of uint)
+0:169            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:169            Constant:
 0:169              1 (const uint)
-0:169          u1: direct index for structure (layout( offset=0) uniform uint)
-0:169            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:169          u1: direct index for structure ( uniform uint)
+0:169            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:169            Constant:
 0:169              0 (const uint)
 0:170      imageAtomicMin ( temp uint)
 0:170        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:170        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:170          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:170        u2: direct index for structure ( uniform 2-component vector of uint)
+0:170          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:170          Constant:
 0:170            1 (const uint)
-0:170        u1: direct index for structure (layout( offset=0) uniform uint)
-0:170          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:170        u1: direct index for structure ( uniform uint)
+0:170          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:170          Constant:
 0:170            0 (const uint)
 0:171      move second child to first child ( temp uint)
 0:171        'out_u1' ( temp uint)
 0:171        imageAtomicMin ( temp uint)
 0:171          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:171          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:171            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:171          u2: direct index for structure ( uniform 2-component vector of uint)
+0:171            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:171            Constant:
 0:171              1 (const uint)
-0:171          u1: direct index for structure (layout( offset=0) uniform uint)
-0:171            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:171          u1: direct index for structure ( uniform uint)
+0:171            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:171            Constant:
 0:171              0 (const uint)
 0:172      imageAtomicOr ( temp uint)
 0:172        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:172        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:172          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:172        u2: direct index for structure ( uniform 2-component vector of uint)
+0:172          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:172          Constant:
 0:172            1 (const uint)
-0:172        u1: direct index for structure (layout( offset=0) uniform uint)
-0:172          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:172        u1: direct index for structure ( uniform uint)
+0:172          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:172          Constant:
 0:172            0 (const uint)
 0:173      move second child to first child ( temp uint)
 0:173        'out_u1' ( temp uint)
 0:173        imageAtomicOr ( temp uint)
 0:173          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:173          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:173            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:173          u2: direct index for structure ( uniform 2-component vector of uint)
+0:173            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:173            Constant:
 0:173              1 (const uint)
-0:173          u1: direct index for structure (layout( offset=0) uniform uint)
-0:173            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:173          u1: direct index for structure ( uniform uint)
+0:173            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:173            Constant:
 0:173              0 (const uint)
 0:174      imageAtomicXor ( temp uint)
 0:174        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:174        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:174          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:174        u2: direct index for structure ( uniform 2-component vector of uint)
+0:174          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:174          Constant:
 0:174            1 (const uint)
-0:174        u1: direct index for structure (layout( offset=0) uniform uint)
-0:174          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:174        u1: direct index for structure ( uniform uint)
+0:174          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:174          Constant:
 0:174            0 (const uint)
 0:175      move second child to first child ( temp uint)
 0:175        'out_u1' ( temp uint)
 0:175        imageAtomicXor ( temp uint)
 0:175          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:175          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:175            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:175          u2: direct index for structure ( uniform 2-component vector of uint)
+0:175            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:175            Constant:
 0:175              1 (const uint)
-0:175          u1: direct index for structure (layout( offset=0) uniform uint)
-0:175            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:175          u1: direct index for structure ( uniform uint)
+0:175            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:175            Constant:
 0:175              0 (const uint)
 0:178      imageAtomicAdd ( temp int)
 0:178        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:178        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:178          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:178        i2: direct index for structure ( uniform 2-component vector of int)
+0:178          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:178          Constant:
 0:178            6 (const uint)
-0:178        i1b: direct index for structure (layout( offset=60) uniform int)
-0:178          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:178        i1b: direct index for structure ( uniform int)
+0:178          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:178          Constant:
 0:178            8 (const uint)
 0:179      move second child to first child ( temp int)
 0:179        'out_i1' ( temp int)
 0:179        imageAtomicAdd ( temp int)
 0:179          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:179          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:179            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:179          i2: direct index for structure ( uniform 2-component vector of int)
+0:179            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:179            Constant:
 0:179              6 (const uint)
-0:179          i1: direct index for structure (layout( offset=36) uniform int)
-0:179            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:179          i1: direct index for structure ( uniform int)
+0:179            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:179            Constant:
 0:179              5 (const uint)
 0:180      imageAtomicAnd ( temp int)
 0:180        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:180        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:180          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:180        i2: direct index for structure ( uniform 2-component vector of int)
+0:180          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:180          Constant:
 0:180            6 (const uint)
-0:180        i1b: direct index for structure (layout( offset=60) uniform int)
-0:180          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:180        i1b: direct index for structure ( uniform int)
+0:180          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:180          Constant:
 0:180            8 (const uint)
 0:181      move second child to first child ( temp int)
 0:181        'out_i1' ( temp int)
 0:181        imageAtomicAnd ( temp int)
 0:181          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:181          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:181            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:181          i2: direct index for structure ( uniform 2-component vector of int)
+0:181            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:181            Constant:
 0:181              6 (const uint)
-0:181          i1: direct index for structure (layout( offset=36) uniform int)
-0:181            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:181          i1: direct index for structure ( uniform int)
+0:181            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:181            Constant:
 0:181              5 (const uint)
 0:182      move second child to first child ( temp int)
 0:182        'out_i1' ( temp int)
 0:182        imageAtomicCompSwap ( temp int)
 0:182          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:182          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:182            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:182          i2: direct index for structure ( uniform 2-component vector of int)
+0:182            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:182            Constant:
 0:182              6 (const uint)
-0:182          i1b: direct index for structure (layout( offset=60) uniform int)
-0:182            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:182          i1b: direct index for structure ( uniform int)
+0:182            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:182            Constant:
 0:182              8 (const uint)
-0:182          i1c: direct index for structure (layout( offset=64) uniform int)
-0:182            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:182          i1c: direct index for structure ( uniform int)
+0:182            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:182            Constant:
 0:182              9 (const uint)
 0:183      move second child to first child ( temp int)
 0:183        'out_i1' ( temp int)
 0:183        imageAtomicExchange ( temp int)
 0:183          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:183          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:183            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:183          i2: direct index for structure ( uniform 2-component vector of int)
+0:183            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:183            Constant:
 0:183              6 (const uint)
-0:183          i1: direct index for structure (layout( offset=36) uniform int)
-0:183            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:183          i1: direct index for structure ( uniform int)
+0:183            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:183            Constant:
 0:183              5 (const uint)
 0:184      imageAtomicMax ( temp int)
 0:184        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:184        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:184          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:184        i2: direct index for structure ( uniform 2-component vector of int)
+0:184          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:184          Constant:
 0:184            6 (const uint)
-0:184        i1b: direct index for structure (layout( offset=60) uniform int)
-0:184          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:184        i1b: direct index for structure ( uniform int)
+0:184          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:184          Constant:
 0:184            8 (const uint)
 0:185      move second child to first child ( temp int)
 0:185        'out_i1' ( temp int)
 0:185        imageAtomicMax ( temp int)
 0:185          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:185          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:185            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:185          i2: direct index for structure ( uniform 2-component vector of int)
+0:185            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:185            Constant:
 0:185              6 (const uint)
-0:185          i1: direct index for structure (layout( offset=36) uniform int)
-0:185            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:185          i1: direct index for structure ( uniform int)
+0:185            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:185            Constant:
 0:185              5 (const uint)
 0:186      imageAtomicMin ( temp int)
 0:186        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:186        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:186          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:186        i2: direct index for structure ( uniform 2-component vector of int)
+0:186          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:186          Constant:
 0:186            6 (const uint)
-0:186        i1b: direct index for structure (layout( offset=60) uniform int)
-0:186          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:186        i1b: direct index for structure ( uniform int)
+0:186          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:186          Constant:
 0:186            8 (const uint)
 0:187      move second child to first child ( temp int)
 0:187        'out_i1' ( temp int)
 0:187        imageAtomicMin ( temp int)
 0:187          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:187          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:187            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:187          i2: direct index for structure ( uniform 2-component vector of int)
+0:187            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:187            Constant:
 0:187              6 (const uint)
-0:187          i1: direct index for structure (layout( offset=36) uniform int)
-0:187            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:187          i1: direct index for structure ( uniform int)
+0:187            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:187            Constant:
 0:187              5 (const uint)
 0:188      imageAtomicOr ( temp int)
 0:188        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:188        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:188          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:188        i2: direct index for structure ( uniform 2-component vector of int)
+0:188          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:188          Constant:
 0:188            6 (const uint)
-0:188        i1b: direct index for structure (layout( offset=60) uniform int)
-0:188          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:188        i1b: direct index for structure ( uniform int)
+0:188          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:188          Constant:
 0:188            8 (const uint)
 0:189      move second child to first child ( temp int)
 0:189        'out_i1' ( temp int)
 0:189        imageAtomicOr ( temp int)
 0:189          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:189          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:189            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:189          i2: direct index for structure ( uniform 2-component vector of int)
+0:189            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:189            Constant:
 0:189              6 (const uint)
-0:189          i1: direct index for structure (layout( offset=36) uniform int)
-0:189            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:189          i1: direct index for structure ( uniform int)
+0:189            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:189            Constant:
 0:189              5 (const uint)
 0:190      imageAtomicXor ( temp int)
 0:190        'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:190        i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:190          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:190        i2: direct index for structure ( uniform 2-component vector of int)
+0:190          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:190          Constant:
 0:190            6 (const uint)
-0:190        i1b: direct index for structure (layout( offset=60) uniform int)
-0:190          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:190        i1b: direct index for structure ( uniform int)
+0:190          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:190          Constant:
 0:190            8 (const uint)
 0:191      move second child to first child ( temp int)
 0:191        'out_i1' ( temp int)
 0:191        imageAtomicXor ( temp int)
 0:191          'g_tTex1di1a' (layout( r32i) uniform iimage1DArray)
-0:191          i2: direct index for structure (layout( offset=40) uniform 2-component vector of int)
-0:191            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:191          i2: direct index for structure ( uniform 2-component vector of int)
+0:191            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:191            Constant:
 0:191              6 (const uint)
-0:191          i1: direct index for structure (layout( offset=36) uniform int)
-0:191            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:191          i1: direct index for structure ( uniform int)
+0:191            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:191            Constant:
 0:191              5 (const uint)
 0:194      imageAtomicAdd ( temp uint)
 0:194        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:194        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:194          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:194        u2: direct index for structure ( uniform 2-component vector of uint)
+0:194          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:194          Constant:
 0:194            1 (const uint)
-0:194        u1: direct index for structure (layout( offset=0) uniform uint)
-0:194          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:194        u1: direct index for structure ( uniform uint)
+0:194          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:194          Constant:
 0:194            0 (const uint)
 0:195      move second child to first child ( temp uint)
 0:195        'out_u1' ( temp uint)
 0:195        imageAtomicAdd ( temp uint)
 0:195          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:195          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:195            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:195          u2: direct index for structure ( uniform 2-component vector of uint)
+0:195            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:195            Constant:
 0:195              1 (const uint)
-0:195          u1: direct index for structure (layout( offset=0) uniform uint)
-0:195            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:195          u1: direct index for structure ( uniform uint)
+0:195            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:195            Constant:
 0:195              0 (const uint)
 0:196      imageAtomicAnd ( temp uint)
 0:196        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:196        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:196          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:196        u2: direct index for structure ( uniform 2-component vector of uint)
+0:196          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:196          Constant:
 0:196            1 (const uint)
-0:196        u1: direct index for structure (layout( offset=0) uniform uint)
-0:196          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:196        u1: direct index for structure ( uniform uint)
+0:196          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:196          Constant:
 0:196            0 (const uint)
 0:197      move second child to first child ( temp uint)
 0:197        'out_u1' ( temp uint)
 0:197        imageAtomicAnd ( temp uint)
 0:197          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:197          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:197            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:197          u2: direct index for structure ( uniform 2-component vector of uint)
+0:197            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:197            Constant:
 0:197              1 (const uint)
-0:197          u1: direct index for structure (layout( offset=0) uniform uint)
-0:197            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:197          u1: direct index for structure ( uniform uint)
+0:197            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:197            Constant:
 0:197              0 (const uint)
 0:198      move second child to first child ( temp uint)
 0:198        'out_u1' ( temp uint)
 0:198        imageAtomicCompSwap ( temp uint)
 0:198          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:198          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:198            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:198          u2: direct index for structure ( uniform 2-component vector of uint)
+0:198            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:198            Constant:
 0:198              1 (const uint)
-0:198          u1b: direct index for structure (layout( offset=28) uniform uint)
-0:198            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:198          u1b: direct index for structure ( uniform uint)
+0:198            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:198            Constant:
 0:198              3 (const uint)
-0:198          u1c: direct index for structure (layout( offset=32) uniform uint)
-0:198            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:198          u1c: direct index for structure ( uniform uint)
+0:198            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:198            Constant:
 0:198              4 (const uint)
 0:199      move second child to first child ( temp uint)
 0:199        'out_u1' ( temp uint)
 0:199        imageAtomicExchange ( temp uint)
 0:199          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:199          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:199            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:199          u2: direct index for structure ( uniform 2-component vector of uint)
+0:199            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:199            Constant:
 0:199              1 (const uint)
-0:199          u1: direct index for structure (layout( offset=0) uniform uint)
-0:199            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:199          u1: direct index for structure ( uniform uint)
+0:199            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:199            Constant:
 0:199              0 (const uint)
 0:200      imageAtomicMax ( temp uint)
 0:200        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:200        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:200          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:200        u2: direct index for structure ( uniform 2-component vector of uint)
+0:200          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:200          Constant:
 0:200            1 (const uint)
-0:200        u1: direct index for structure (layout( offset=0) uniform uint)
-0:200          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:200        u1: direct index for structure ( uniform uint)
+0:200          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:200          Constant:
 0:200            0 (const uint)
 0:201      move second child to first child ( temp uint)
 0:201        'out_u1' ( temp uint)
 0:201        imageAtomicMax ( temp uint)
 0:201          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:201          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:201            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:201          u2: direct index for structure ( uniform 2-component vector of uint)
+0:201            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:201            Constant:
 0:201              1 (const uint)
-0:201          u1: direct index for structure (layout( offset=0) uniform uint)
-0:201            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:201          u1: direct index for structure ( uniform uint)
+0:201            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:201            Constant:
 0:201              0 (const uint)
 0:202      imageAtomicMin ( temp uint)
 0:202        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:202        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:202          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:202        u2: direct index for structure ( uniform 2-component vector of uint)
+0:202          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:202          Constant:
 0:202            1 (const uint)
-0:202        u1: direct index for structure (layout( offset=0) uniform uint)
-0:202          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:202        u1: direct index for structure ( uniform uint)
+0:202          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:202          Constant:
 0:202            0 (const uint)
 0:203      move second child to first child ( temp uint)
 0:203        'out_u1' ( temp uint)
 0:203        imageAtomicMin ( temp uint)
 0:203          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:203          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:203            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:203          u2: direct index for structure ( uniform 2-component vector of uint)
+0:203            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:203            Constant:
 0:203              1 (const uint)
-0:203          u1: direct index for structure (layout( offset=0) uniform uint)
-0:203            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:203          u1: direct index for structure ( uniform uint)
+0:203            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:203            Constant:
 0:203              0 (const uint)
 0:204      imageAtomicOr ( temp uint)
 0:204        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:204        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:204          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:204        u2: direct index for structure ( uniform 2-component vector of uint)
+0:204          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:204          Constant:
 0:204            1 (const uint)
-0:204        u1: direct index for structure (layout( offset=0) uniform uint)
-0:204          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:204        u1: direct index for structure ( uniform uint)
+0:204          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:204          Constant:
 0:204            0 (const uint)
 0:205      move second child to first child ( temp uint)
 0:205        'out_u1' ( temp uint)
 0:205        imageAtomicOr ( temp uint)
 0:205          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:205          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:205            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:205          u2: direct index for structure ( uniform 2-component vector of uint)
+0:205            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:205            Constant:
 0:205              1 (const uint)
-0:205          u1: direct index for structure (layout( offset=0) uniform uint)
-0:205            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:205          u1: direct index for structure ( uniform uint)
+0:205            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:205            Constant:
 0:205              0 (const uint)
 0:206      imageAtomicXor ( temp uint)
 0:206        'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:206        u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:206          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:206        u2: direct index for structure ( uniform 2-component vector of uint)
+0:206          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:206          Constant:
 0:206            1 (const uint)
-0:206        u1: direct index for structure (layout( offset=0) uniform uint)
-0:206          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:206        u1: direct index for structure ( uniform uint)
+0:206          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:206          Constant:
 0:206            0 (const uint)
 0:207      move second child to first child ( temp uint)
 0:207        'out_u1' ( temp uint)
 0:207        imageAtomicXor ( temp uint)
 0:207          'g_tTex1du1a' (layout( r32ui) uniform uimage1DArray)
-0:207          u2: direct index for structure (layout( offset=8) uniform 2-component vector of uint)
-0:207            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:207          u2: direct index for structure ( uniform 2-component vector of uint)
+0:207            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:207            Constant:
 0:207              1 (const uint)
-0:207          u1: direct index for structure (layout( offset=0) uniform uint)
-0:207            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:207          u1: direct index for structure ( uniform uint)
+0:207            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:207            Constant:
 0:207              0 (const uint)
 0:210      imageAtomicAdd ( temp int)
 0:210        'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:210        i1: direct index for structure (layout( offset=36) uniform int)
-0:210          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:210        i1: direct index for structure ( uniform int)
+0:210          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:210          Constant:
 0:210            5 (const uint)
-0:210        i1b: direct index for structure (layout( offset=60) uniform int)
-0:210          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:210        i1b: direct index for structure ( uniform int)
+0:210          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:210          Constant:
 0:210            8 (const uint)
 0:211      move second child to first child ( temp int)
 0:211        'out_i1' ( temp int)
 0:211        imageAtomicAdd ( temp int)
 0:211          'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:211          i1: direct index for structure (layout( offset=36) uniform int)
-0:211            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:211          i1: direct index for structure ( uniform int)
+0:211            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:211            Constant:
 0:211              5 (const uint)
-0:211          i1: direct index for structure (layout( offset=36) uniform int)
-0:211            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:211          i1: direct index for structure ( uniform int)
+0:211            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:211            Constant:
 0:211              5 (const uint)
 0:212      imageAtomicAnd ( temp int)
 0:212        'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:212        i1: direct index for structure (layout( offset=36) uniform int)
-0:212          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:212        i1: direct index for structure ( uniform int)
+0:212          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:212          Constant:
 0:212            5 (const uint)
-0:212        i1b: direct index for structure (layout( offset=60) uniform int)
-0:212          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:212        i1b: direct index for structure ( uniform int)
+0:212          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:212          Constant:
 0:212            8 (const uint)
 0:213      move second child to first child ( temp int)
 0:213        'out_i1' ( temp int)
 0:213        imageAtomicAnd ( temp int)
 0:213          'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:213          i1: direct index for structure (layout( offset=36) uniform int)
-0:213            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:213          i1: direct index for structure ( uniform int)
+0:213            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:213            Constant:
 0:213              5 (const uint)
-0:213          i1: direct index for structure (layout( offset=36) uniform int)
-0:213            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:213          i1: direct index for structure ( uniform int)
+0:213            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:213            Constant:
 0:213              5 (const uint)
 0:214      move second child to first child ( temp int)
 0:214        'out_i1' ( temp int)
 0:214        imageAtomicCompSwap ( temp int)
 0:214          'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:214          i1: direct index for structure (layout( offset=36) uniform int)
-0:214            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:214          i1: direct index for structure ( uniform int)
+0:214            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:214            Constant:
 0:214              5 (const uint)
-0:214          i1b: direct index for structure (layout( offset=60) uniform int)
-0:214            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:214          i1b: direct index for structure ( uniform int)
+0:214            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:214            Constant:
 0:214              8 (const uint)
-0:214          i1c: direct index for structure (layout( offset=64) uniform int)
-0:214            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:214          i1c: direct index for structure ( uniform int)
+0:214            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:214            Constant:
 0:214              9 (const uint)
 0:215      move second child to first child ( temp int)
 0:215        'out_i1' ( temp int)
 0:215        imageAtomicExchange ( temp int)
 0:215          'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:215          i1: direct index for structure (layout( offset=36) uniform int)
-0:215            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:215          i1: direct index for structure ( uniform int)
+0:215            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:215            Constant:
 0:215              5 (const uint)
-0:215          i1: direct index for structure (layout( offset=36) uniform int)
-0:215            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:215          i1: direct index for structure ( uniform int)
+0:215            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:215            Constant:
 0:215              5 (const uint)
 0:216      imageAtomicMax ( temp int)
 0:216        'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:216        i1: direct index for structure (layout( offset=36) uniform int)
-0:216          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:216        i1: direct index for structure ( uniform int)
+0:216          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:216          Constant:
 0:216            5 (const uint)
-0:216        i1b: direct index for structure (layout( offset=60) uniform int)
-0:216          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:216        i1b: direct index for structure ( uniform int)
+0:216          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:216          Constant:
 0:216            8 (const uint)
 0:217      move second child to first child ( temp int)
 0:217        'out_i1' ( temp int)
 0:217        imageAtomicMax ( temp int)
 0:217          'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:217          i1: direct index for structure (layout( offset=36) uniform int)
-0:217            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:217          i1: direct index for structure ( uniform int)
+0:217            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:217            Constant:
 0:217              5 (const uint)
-0:217          i1: direct index for structure (layout( offset=36) uniform int)
-0:217            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:217          i1: direct index for structure ( uniform int)
+0:217            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:217            Constant:
 0:217              5 (const uint)
 0:218      imageAtomicMin ( temp int)
 0:218        'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:218        i1: direct index for structure (layout( offset=36) uniform int)
-0:218          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:218        i1: direct index for structure ( uniform int)
+0:218          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:218          Constant:
 0:218            5 (const uint)
-0:218        i1b: direct index for structure (layout( offset=60) uniform int)
-0:218          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:218        i1b: direct index for structure ( uniform int)
+0:218          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:218          Constant:
 0:218            8 (const uint)
 0:219      move second child to first child ( temp int)
 0:219        'out_i1' ( temp int)
 0:219        imageAtomicMin ( temp int)
 0:219          'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:219          i1: direct index for structure (layout( offset=36) uniform int)
-0:219            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:219          i1: direct index for structure ( uniform int)
+0:219            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:219            Constant:
 0:219              5 (const uint)
-0:219          i1: direct index for structure (layout( offset=36) uniform int)
-0:219            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:219          i1: direct index for structure ( uniform int)
+0:219            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:219            Constant:
 0:219              5 (const uint)
 0:220      imageAtomicOr ( temp int)
 0:220        'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:220        i1: direct index for structure (layout( offset=36) uniform int)
-0:220          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:220        i1: direct index for structure ( uniform int)
+0:220          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:220          Constant:
 0:220            5 (const uint)
-0:220        i1b: direct index for structure (layout( offset=60) uniform int)
-0:220          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:220        i1b: direct index for structure ( uniform int)
+0:220          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:220          Constant:
 0:220            8 (const uint)
 0:221      move second child to first child ( temp int)
 0:221        'out_i1' ( temp int)
 0:221        imageAtomicOr ( temp int)
 0:221          'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:221          i1: direct index for structure (layout( offset=36) uniform int)
-0:221            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:221          i1: direct index for structure ( uniform int)
+0:221            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:221            Constant:
 0:221              5 (const uint)
-0:221          i1: direct index for structure (layout( offset=36) uniform int)
-0:221            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:221          i1: direct index for structure ( uniform int)
+0:221            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:221            Constant:
 0:221              5 (const uint)
 0:222      imageAtomicXor ( temp int)
 0:222        'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:222        i1: direct index for structure (layout( offset=36) uniform int)
-0:222          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:222        i1: direct index for structure ( uniform int)
+0:222          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:222          Constant:
 0:222            5 (const uint)
-0:222        i1b: direct index for structure (layout( offset=60) uniform int)
-0:222          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:222        i1b: direct index for structure ( uniform int)
+0:222          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:222          Constant:
 0:222            8 (const uint)
 0:223      move second child to first child ( temp int)
 0:223        'out_i1' ( temp int)
 0:223        imageAtomicXor ( temp int)
 0:223          'g_tBuffI' (layout( r32i) uniform iimageBuffer)
-0:223          i1: direct index for structure (layout( offset=36) uniform int)
-0:223            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:223          i1: direct index for structure ( uniform int)
+0:223            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:223            Constant:
 0:223              5 (const uint)
-0:223          i1: direct index for structure (layout( offset=36) uniform int)
-0:223            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:223          i1: direct index for structure ( uniform int)
+0:223            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:223            Constant:
 0:223              5 (const uint)
 0:226      imageAtomicAdd ( temp uint)
 0:226        'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:226        u1: direct index for structure (layout( offset=0) uniform uint)
-0:226          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:226        u1: direct index for structure ( uniform uint)
+0:226          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:226          Constant:
 0:226            0 (const uint)
-0:226        u1: direct index for structure (layout( offset=0) uniform uint)
-0:226          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:226        u1: direct index for structure ( uniform uint)
+0:226          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:226          Constant:
 0:226            0 (const uint)
 0:227      move second child to first child ( temp uint)
 0:227        'out_u1' ( temp uint)
 0:227        imageAtomicAdd ( temp uint)
 0:227          'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:227          u1: direct index for structure (layout( offset=0) uniform uint)
-0:227            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:227          u1: direct index for structure ( uniform uint)
+0:227            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:227            Constant:
 0:227              0 (const uint)
-0:227          u1: direct index for structure (layout( offset=0) uniform uint)
-0:227            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:227          u1: direct index for structure ( uniform uint)
+0:227            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:227            Constant:
 0:227              0 (const uint)
 0:228      imageAtomicAnd ( temp uint)
 0:228        'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:228        u1: direct index for structure (layout( offset=0) uniform uint)
-0:228          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:228        u1: direct index for structure ( uniform uint)
+0:228          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:228          Constant:
 0:228            0 (const uint)
-0:228        u1: direct index for structure (layout( offset=0) uniform uint)
-0:228          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:228        u1: direct index for structure ( uniform uint)
+0:228          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:228          Constant:
 0:228            0 (const uint)
 0:229      move second child to first child ( temp uint)
 0:229        'out_u1' ( temp uint)
 0:229        imageAtomicAnd ( temp uint)
 0:229          'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:229          u1: direct index for structure (layout( offset=0) uniform uint)
-0:229            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:229          u1: direct index for structure ( uniform uint)
+0:229            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:229            Constant:
 0:229              0 (const uint)
-0:229          u1: direct index for structure (layout( offset=0) uniform uint)
-0:229            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:229          u1: direct index for structure ( uniform uint)
+0:229            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:229            Constant:
 0:229              0 (const uint)
 0:230      move second child to first child ( temp uint)
 0:230        'out_u1' ( temp uint)
 0:230        imageAtomicCompSwap ( temp uint)
 0:230          'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:230          u1: direct index for structure (layout( offset=0) uniform uint)
-0:230            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:230          u1: direct index for structure ( uniform uint)
+0:230            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:230            Constant:
 0:230              0 (const uint)
-0:230          u1b: direct index for structure (layout( offset=28) uniform uint)
-0:230            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:230          u1b: direct index for structure ( uniform uint)
+0:230            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:230            Constant:
 0:230              3 (const uint)
-0:230          u1c: direct index for structure (layout( offset=32) uniform uint)
-0:230            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:230          u1c: direct index for structure ( uniform uint)
+0:230            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:230            Constant:
 0:230              4 (const uint)
 0:231      move second child to first child ( temp uint)
 0:231        'out_u1' ( temp uint)
 0:231        imageAtomicExchange ( temp uint)
 0:231          'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:231          u1: direct index for structure (layout( offset=0) uniform uint)
-0:231            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:231          u1: direct index for structure ( uniform uint)
+0:231            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:231            Constant:
 0:231              0 (const uint)
-0:231          u1: direct index for structure (layout( offset=0) uniform uint)
-0:231            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:231          u1: direct index for structure ( uniform uint)
+0:231            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:231            Constant:
 0:231              0 (const uint)
 0:232      imageAtomicMax ( temp uint)
 0:232        'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:232        u1: direct index for structure (layout( offset=0) uniform uint)
-0:232          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:232        u1: direct index for structure ( uniform uint)
+0:232          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:232          Constant:
 0:232            0 (const uint)
-0:232        u1: direct index for structure (layout( offset=0) uniform uint)
-0:232          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:232        u1: direct index for structure ( uniform uint)
+0:232          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:232          Constant:
 0:232            0 (const uint)
 0:233      move second child to first child ( temp uint)
 0:233        'out_u1' ( temp uint)
 0:233        imageAtomicMax ( temp uint)
 0:233          'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:233          u1: direct index for structure (layout( offset=0) uniform uint)
-0:233            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:233          u1: direct index for structure ( uniform uint)
+0:233            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:233            Constant:
 0:233              0 (const uint)
-0:233          u1: direct index for structure (layout( offset=0) uniform uint)
-0:233            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:233          u1: direct index for structure ( uniform uint)
+0:233            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:233            Constant:
 0:233              0 (const uint)
 0:234      imageAtomicMin ( temp uint)
 0:234        'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:234        u1: direct index for structure (layout( offset=0) uniform uint)
-0:234          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:234        u1: direct index for structure ( uniform uint)
+0:234          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:234          Constant:
 0:234            0 (const uint)
-0:234        u1: direct index for structure (layout( offset=0) uniform uint)
-0:234          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:234        u1: direct index for structure ( uniform uint)
+0:234          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:234          Constant:
 0:234            0 (const uint)
 0:235      move second child to first child ( temp uint)
 0:235        'out_u1' ( temp uint)
 0:235        imageAtomicMin ( temp uint)
 0:235          'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:235          u1: direct index for structure (layout( offset=0) uniform uint)
-0:235            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:235          u1: direct index for structure ( uniform uint)
+0:235            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:235            Constant:
 0:235              0 (const uint)
-0:235          u1: direct index for structure (layout( offset=0) uniform uint)
-0:235            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:235          u1: direct index for structure ( uniform uint)
+0:235            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:235            Constant:
 0:235              0 (const uint)
 0:236      imageAtomicOr ( temp uint)
 0:236        'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:236        u1: direct index for structure (layout( offset=0) uniform uint)
-0:236          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:236        u1: direct index for structure ( uniform uint)
+0:236          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:236          Constant:
 0:236            0 (const uint)
-0:236        u1: direct index for structure (layout( offset=0) uniform uint)
-0:236          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:236        u1: direct index for structure ( uniform uint)
+0:236          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:236          Constant:
 0:236            0 (const uint)
 0:237      move second child to first child ( temp uint)
 0:237        'out_u1' ( temp uint)
 0:237        imageAtomicOr ( temp uint)
 0:237          'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:237          u1: direct index for structure (layout( offset=0) uniform uint)
-0:237            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:237          u1: direct index for structure ( uniform uint)
+0:237            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:237            Constant:
 0:237              0 (const uint)
-0:237          u1: direct index for structure (layout( offset=0) uniform uint)
-0:237            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:237          u1: direct index for structure ( uniform uint)
+0:237            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:237            Constant:
 0:237              0 (const uint)
 0:238      imageAtomicXor ( temp uint)
 0:238        'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:238        u1: direct index for structure (layout( offset=0) uniform uint)
-0:238          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:238        u1: direct index for structure ( uniform uint)
+0:238          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:238          Constant:
 0:238            0 (const uint)
-0:238        u1: direct index for structure (layout( offset=0) uniform uint)
-0:238          'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:238        u1: direct index for structure ( uniform uint)
+0:238          'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:238          Constant:
 0:238            0 (const uint)
 0:239      move second child to first child ( temp uint)
 0:239        'out_u1' ( temp uint)
 0:239        imageAtomicXor ( temp uint)
 0:239          'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
-0:239          u1: direct index for structure (layout( offset=0) uniform uint)
-0:239            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:239          u1: direct index for structure ( uniform uint)
+0:239            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:239            Constant:
 0:239              0 (const uint)
-0:239          u1: direct index for structure (layout( offset=0) uniform uint)
-0:239            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
+0:239          u1: direct index for structure ( uniform uint)
+0:239            'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:239            Constant:
 0:239              0 (const uint)
 0:242      move second child to first child ( temp 4-component vector of float)
@@ -3942,8 +3942,8 @@ gl_FragCoord origin is upper left
 0:?     'g_tBuffF' (layout( r32f) uniform imageBuffer)
 0:?     'g_tBuffI' (layout( r32i) uniform iimageBuffer)
 0:?     'g_tBuffU' (layout( r32ui) uniform uimageBuffer)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform uint u1,  uniform 2-component vector of uint u2,  uniform 3-component vector of uint u3,  uniform uint u1b,  uniform uint u1c,  uniform int i1,  uniform 2-component vector of int i2,  uniform 3-component vector of int i3,  uniform int i1b,  uniform int i1c})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform uint u1, layout( offset=8) uniform 2-component vector of uint u2, layout( offset=16) uniform 3-component vector of uint u3, layout( offset=28) uniform uint u1b, layout( offset=32) uniform uint u1c, layout( offset=36) uniform int i1, layout( offset=40) uniform 2-component vector of int i2, layout( offset=48) uniform 3-component vector of int i3, layout( offset=60) uniform int i1b, layout( offset=64) uniform int i1c})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.rw.bracket.frag.out b/Test/baseResults/hlsl.rw.bracket.frag.out
index ca3e144e2b4eb129482d200253cd298865ec1a6c..ece7bfa3e32963a9d5399ee8166f239376e4a718 100644
--- a/Test/baseResults/hlsl.rw.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.bracket.frag.out
@@ -58,8 +58,8 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 0:50      Branch: Return with expression
 0:50        Convert int to float ( temp 4-component vector of float)
-0:50          c4: direct index for structure (layout( offset=32) uniform 4-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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:50          c4: direct index for structure ( uniform 4-component vector of int)
+0:50            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:50            Constant:
 0:50              3 (const uint)
 0:53  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
@@ -67,8 +67,8 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 0:57      imageLoad ( temp 4-component vector of float)
 0:57        'g_tTex1df4' (layout( binding=0 rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:57        c1: direct index for structure ( uniform int)
+0:57          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:57          Constant:
 0:57            0 (const uint)
 0:59      Sequence
@@ -76,8 +76,8 @@ gl_FragCoord origin is upper left
 0:59          'r00' ( temp 4-component vector of float)
 0:59          imageLoad ( temp 4-component vector of float)
 0:59            'g_tTex1df4' (layout( binding=0 rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:59            c1: direct index for structure ( uniform int)
+0:59              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:59              Constant:
 0:59                0 (const uint)
 0:60      Sequence
@@ -85,8 +85,8 @@ gl_FragCoord origin is upper left
 0:60          'r01' ( temp 4-component vector of int)
 0:60          imageLoad ( temp 4-component vector of int)
 0:60            'g_tTex1di4' (layout( rgba32i) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:60            c1: direct index for structure ( uniform int)
+0:60              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:60              Constant:
 0:60                0 (const uint)
 0:61      Sequence
@@ -94,8 +94,8 @@ gl_FragCoord origin is upper left
 0:61          'r02' ( temp 4-component vector of uint)
 0:61          imageLoad ( temp 4-component vector of uint)
 0:61            'g_tTex1du4' (layout( rgba32ui) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:61            c1: direct index for structure ( uniform int)
+0:61              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:61              Constant:
 0:61                0 (const uint)
 0:64      Sequence
@@ -103,8 +103,8 @@ gl_FragCoord origin is upper left
 0:64          'r10' ( temp 4-component vector of float)
 0:64          imageLoad ( temp 4-component vector of float)
 0:64            'g_tTex2df4' (layout( rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:64            c2: direct index for structure ( uniform 2-component vector of int)
+0:64              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:64              Constant:
 0:64                1 (const uint)
 0:65      Sequence
@@ -112,8 +112,8 @@ gl_FragCoord origin is upper left
 0:65          'r11' ( temp 4-component vector of int)
 0:65          imageLoad ( temp 4-component vector of int)
 0:65            'g_tTex2di4' (layout( rgba32i) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:65            c2: direct index for structure ( uniform 2-component vector of int)
+0:65              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:65              Constant:
 0:65                1 (const uint)
 0:66      Sequence
@@ -121,8 +121,8 @@ gl_FragCoord origin is upper left
 0:66          'r12' ( temp 4-component vector of uint)
 0:66          imageLoad ( temp 4-component vector of uint)
 0:66            'g_tTex2du4' (layout( rgba32ui) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:66            c2: direct index for structure ( uniform 2-component vector of int)
+0:66              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:66              Constant:
 0:66                1 (const uint)
 0:69      Sequence
@@ -130,8 +130,8 @@ gl_FragCoord origin is upper left
 0:69          'r20' ( temp 4-component vector of float)
 0:69          imageLoad ( temp 4-component vector of float)
 0:69            'g_tTex3df4' (layout( rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:69            c3: direct index for structure ( uniform 3-component vector of int)
+0:69              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:69              Constant:
 0:69                2 (const uint)
 0:70      Sequence
@@ -139,8 +139,8 @@ gl_FragCoord origin is upper left
 0:70          'r21' ( temp 4-component vector of int)
 0:70          imageLoad ( temp 4-component vector of int)
 0:70            'g_tTex3di4' (layout( rgba32i) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:70            c3: direct index for structure ( uniform 3-component vector of int)
+0:70              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:70              Constant:
 0:70                2 (const uint)
 0:71      Sequence
@@ -148,15 +148,15 @@ gl_FragCoord origin is upper left
 0:71          'r22' ( temp 4-component vector of uint)
 0:71          imageLoad ( temp 4-component vector of uint)
 0:71            'g_tTex3du4' (layout( rgba32ui) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:71            c3: direct index for structure ( uniform 3-component vector of int)
+0:71              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:71              Constant:
 0:71                2 (const uint)
 0:73      Sequence
 0:73        move second child to first child ( temp 4-component vector of float)
 0:73          'lf4' ( temp 4-component vector of float)
-0:73          uf4: direct index for structure (layout( offset=96) uniform 4-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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:73          uf4: direct index for structure ( uniform 4-component vector of float)
+0:73            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:73            Constant:
 0:73              8 (const uint)
 0:77      Sequence
@@ -165,8 +165,8 @@ gl_FragCoord origin is upper left
 0:77          Function Call: SomeValue( ( temp 4-component vector of float)
 0:77        imageStore ( temp void)
 0:77          'g_tTex1df4' (layout( binding=0 rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:77          c1: direct index for structure ( uniform int)
+0:77            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:77            Constant:
 0:77              0 (const uint)
 0:77          'storeTemp' ( temp 4-component vector of float)
@@ -174,8 +174,8 @@ gl_FragCoord origin is upper left
 0:78      Sequence
 0:78        imageStore ( temp void)
 0:78          'g_tTex1df4' (layout( binding=0 rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:78          c1: direct index for structure ( uniform int)
+0:78            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:78            Constant:
 0:78              0 (const uint)
 0:78          'lf4' ( temp 4-component vector of float)
@@ -190,8 +190,8 @@ gl_FragCoord origin is upper left
 0:?             4 (const int)
 0:79        imageStore ( temp void)
 0:79          'g_tTex1di4' (layout( rgba32i) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:79          c1: direct index for structure ( uniform int)
+0:79            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:79            Constant:
 0:79              0 (const uint)
 0:79          'storeTemp' ( temp 4-component vector of int)
@@ -206,8 +206,8 @@ gl_FragCoord origin is upper left
 0:?             4 (const uint)
 0:80        imageStore ( temp void)
 0:80          'g_tTex1du4' (layout( rgba32ui) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:80          c1: direct index for structure ( uniform int)
+0:80            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:80            Constant:
 0:80              0 (const uint)
 0:80          'storeTemp' ( temp 4-component vector of uint)
@@ -218,8 +218,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:83              c1: direct index for structure ( uniform int)
+0:83                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:83                Constant:
 0:83                  0 (const uint)
 0:83            move second child to first child ( temp 4-component vector of float)
@@ -239,8 +239,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:84          c1: direct index for structure ( uniform int)
+0:84            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:84            Constant:
 0:84              0 (const uint)
 0:84        move second child to first child ( temp 4-component vector of float)
@@ -260,8 +260,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:85          c1: direct index for structure ( uniform int)
+0:85            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:85            Constant:
 0:85              0 (const uint)
 0:85        move second child to first child ( temp 4-component vector of float)
@@ -281,8 +281,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:87          c1: direct index for structure ( uniform int)
+0:87            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:87            Constant:
 0:87              0 (const uint)
 0:87        move second child to first child ( temp 4-component vector of int)
@@ -302,8 +302,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:88          c1: direct index for structure ( uniform int)
+0:88            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:88            Constant:
 0:88              0 (const uint)
 0:88        move second child to first child ( temp 4-component vector of int)
@@ -323,8 +323,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:89          c1: direct index for structure ( uniform int)
+0:89            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:89            Constant:
 0:89              0 (const uint)
 0:89        move second child to first child ( temp 4-component vector of int)
@@ -344,8 +344,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:90          c1: direct index for structure ( uniform int)
+0:90            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:90            Constant:
 0:90              0 (const uint)
 0:90        move second child to first child ( temp 4-component vector of int)
@@ -365,8 +365,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:91          c1: direct index for structure ( uniform int)
+0:91            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:91            Constant:
 0:91              0 (const uint)
 0:91        move second child to first child ( temp 4-component vector of int)
@@ -386,8 +386,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:92          c1: direct index for structure ( uniform int)
+0:92            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:92            Constant:
 0:92              0 (const uint)
 0:92        move second child to first child ( temp 4-component vector of int)
@@ -410,8 +410,8 @@ gl_FragCoord origin is upper left
 0:95          Function Call: SomeValue( ( temp 4-component vector of float)
 0:95        imageStore ( temp void)
 0:95          'g_tTex2df4' (layout( rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:95          c2: direct index for structure ( uniform 2-component vector of int)
+0:95            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:95            Constant:
 0:95              1 (const uint)
 0:95          'storeTemp' ( temp 4-component vector of float)
@@ -419,8 +419,8 @@ gl_FragCoord origin is upper left
 0:96      Sequence
 0:96        imageStore ( temp void)
 0:96          'g_tTex2df4' (layout( rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:96          c2: direct index for structure ( uniform 2-component vector of int)
+0:96            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:96            Constant:
 0:96              1 (const uint)
 0:96          'lf4' ( temp 4-component vector of float)
@@ -435,8 +435,8 @@ gl_FragCoord origin is upper left
 0:?             4 (const int)
 0:97        imageStore ( temp void)
 0:97          'g_tTex2di4' (layout( rgba32i) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:97          c2: direct index for structure ( uniform 2-component vector of int)
+0:97            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:97            Constant:
 0:97              1 (const uint)
 0:97          'storeTemp' ( temp 4-component vector of int)
@@ -451,8 +451,8 @@ gl_FragCoord origin is upper left
 0:?             4 (const uint)
 0:98        imageStore ( temp void)
 0:98          'g_tTex2du4' (layout( rgba32ui) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:98          c2: direct index for structure ( uniform 2-component vector of int)
+0:98            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:98            Constant:
 0:98              1 (const uint)
 0:98          'storeTemp' ( temp 4-component vector of uint)
@@ -463,8 +463,8 @@ gl_FragCoord origin is upper left
 0:101          Function Call: SomeValue( ( temp 4-component vector of float)
 0:101        imageStore ( temp void)
 0:101          'g_tTex3df4' (layout( rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:101          c3: direct index for structure ( uniform 3-component vector of int)
+0:101            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:101            Constant:
 0:101              2 (const uint)
 0:101          'storeTemp' ( temp 4-component vector of float)
@@ -472,8 +472,8 @@ gl_FragCoord origin is upper left
 0:102      Sequence
 0:102        imageStore ( temp void)
 0:102          'g_tTex3df4' (layout( rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:102          c3: direct index for structure ( uniform 3-component vector of int)
+0:102            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:102            Constant:
 0:102              2 (const uint)
 0:102          'lf4' ( temp 4-component vector of float)
@@ -488,8 +488,8 @@ gl_FragCoord origin is upper left
 0:?             8 (const int)
 0:103        imageStore ( temp void)
 0:103          'g_tTex3di4' (layout( rgba32i) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:103          c3: direct index for structure ( uniform 3-component vector of int)
+0:103            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:103            Constant:
 0:103              2 (const uint)
 0:103          'storeTemp' ( temp 4-component vector of int)
@@ -504,8 +504,8 @@ gl_FragCoord origin is upper left
 0:?             4 (const uint)
 0:104        imageStore ( temp void)
 0:104          'g_tTex3du4' (layout( rgba32ui) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:104          c3: direct index for structure ( uniform 3-component vector of int)
+0:104            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:104            Constant:
 0:104              2 (const uint)
 0:104          'storeTemp' ( temp 4-component vector of uint)
@@ -513,22 +513,22 @@ gl_FragCoord origin is upper left
 0:107      Function Call: Fn1(vf4; ( temp 4-component vector of float)
 0:107        imageLoad ( temp 4-component vector of float)
 0:107          'g_tTex1df4' (layout( binding=0 rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:107          c1: direct index for structure ( uniform int)
+0:107            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:107            Constant:
 0:107              0 (const uint)
 0:108      Function Call: Fn1(vi4; ( temp 4-component vector of int)
 0:108        imageLoad ( temp 4-component vector of int)
 0:108          'g_tTex1di4' (layout( rgba32i) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:108          c1: direct index for structure ( uniform int)
+0:108            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:108            Constant:
 0:108              0 (const uint)
 0:109      Function Call: Fn1(vu4; ( temp 4-component vector of uint)
 0:109        imageLoad ( temp 4-component vector of uint)
 0:109          'g_tTex1du4' (layout( rgba32ui) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:109          c1: direct index for structure ( uniform int)
+0:109            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:109            Constant:
 0:109              0 (const uint)
 0:111      Comma ( temp void)
@@ -537,8 +537,8 @@ gl_FragCoord origin is upper left
 0:111        Sequence
 0:111          imageStore ( temp void)
 0:111            'g_tTex1df4' (layout( binding=0 rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:111            c1: direct index for structure ( uniform int)
+0:111              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:111              Constant:
 0:111                0 (const uint)
 0:111            'tempArg' ( temp 4-component vector of float)
@@ -549,8 +549,8 @@ gl_FragCoord origin is upper left
 0:112        Sequence
 0:112          imageStore ( temp void)
 0:112            'g_tTex1di4' (layout( rgba32i) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:112            c1: direct index for structure ( uniform int)
+0:112              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:112              Constant:
 0:112                0 (const uint)
 0:112            'tempArg' ( temp 4-component vector of int)
@@ -561,8 +561,8 @@ gl_FragCoord origin is upper left
 0:113        Sequence
 0:113          imageStore ( temp void)
 0:113            'g_tTex1du4' (layout( rgba32ui) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:113            c1: direct index for structure ( uniform int)
+0:113              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:113              Constant:
 0:113                0 (const uint)
 0:113            'tempArg' ( temp 4-component vector of uint)
@@ -570,8 +570,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:117          c1: direct index for structure ( uniform int)
+0:117            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:117            Constant:
 0:117              0 (const uint)
 0:117        move second child to first child ( temp 4-component vector of float)
@@ -589,8 +589,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:118          c1: direct index for structure ( uniform int)
+0:118            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:118            Constant:
 0:118              0 (const uint)
 0:118        move second child to first child ( temp 4-component vector of int)
@@ -608,8 +608,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:119          c1: direct index for structure ( uniform int)
+0:119            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:119            Constant:
 0:119              0 (const uint)
 0:119        move second child to first child ( temp 4-component vector of uint)
@@ -627,8 +627,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:121          c1: direct index for structure ( uniform int)
+0:121            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:121            Constant:
 0:121              0 (const uint)
 0:121        move second child to first child ( temp 4-component vector of float)
@@ -646,8 +646,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:122          c1: direct index for structure ( uniform int)
+0:122            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:122            Constant:
 0:122              0 (const uint)
 0:122        move second child to first child ( temp 4-component vector of int)
@@ -665,8 +665,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:123          c1: direct index for structure ( uniform int)
+0:123            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:123            Constant:
 0:123              0 (const uint)
 0:123        move second child to first child ( temp 4-component vector of uint)
@@ -684,8 +684,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:126          c1: direct index for structure ( uniform int)
+0:126            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:126            Constant:
 0:126              0 (const uint)
 0:126        move second child to first child ( temp 4-component vector of float)
@@ -706,8 +706,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:127          c1: direct index for structure ( uniform int)
+0:127            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:127            Constant:
 0:127              0 (const uint)
 0:127        move second child to first child ( temp 4-component vector of uint)
@@ -728,8 +728,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:128          c1: direct index for structure ( uniform int)
+0:128            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:128            Constant:
 0:128              0 (const uint)
 0:128        move second child to first child ( temp 4-component vector of int)
@@ -750,8 +750,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:130          c1: direct index for structure ( uniform int)
+0:130            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:130            Constant:
 0:130              0 (const uint)
 0:130        move second child to first child ( temp 4-component vector of float)
@@ -772,8 +772,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:131          c1: direct index for structure ( uniform int)
+0:131            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:131            Constant:
 0:131              0 (const uint)
 0:131        move second child to first child ( temp 4-component vector of int)
@@ -794,8 +794,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:132          c1: direct index for structure ( uniform int)
+0:132            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:132            Constant:
 0:132              0 (const uint)
 0:132        move second child to first child ( temp 4-component vector of uint)
@@ -866,7 +866,7 @@ gl_FragCoord origin is upper left
 0:?     'g_tTex2df4a' (layout( rgba32f) uniform image2DArray)
 0:?     'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray)
 0:?     'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 
 
@@ -932,8 +932,8 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 0:50      Branch: Return with expression
 0:50        Convert int to float ( temp 4-component vector of float)
-0:50          c4: direct index for structure (layout( offset=32) uniform 4-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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:50          c4: direct index for structure ( uniform 4-component vector of int)
+0:50            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:50            Constant:
 0:50              3 (const uint)
 0:53  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
@@ -941,8 +941,8 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 0:57      imageLoad ( temp 4-component vector of float)
 0:57        'g_tTex1df4' (layout( binding=0 rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:57        c1: direct index for structure ( uniform int)
+0:57          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:57          Constant:
 0:57            0 (const uint)
 0:59      Sequence
@@ -950,8 +950,8 @@ gl_FragCoord origin is upper left
 0:59          'r00' ( temp 4-component vector of float)
 0:59          imageLoad ( temp 4-component vector of float)
 0:59            'g_tTex1df4' (layout( binding=0 rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:59            c1: direct index for structure ( uniform int)
+0:59              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:59              Constant:
 0:59                0 (const uint)
 0:60      Sequence
@@ -959,8 +959,8 @@ gl_FragCoord origin is upper left
 0:60          'r01' ( temp 4-component vector of int)
 0:60          imageLoad ( temp 4-component vector of int)
 0:60            'g_tTex1di4' (layout( rgba32i) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:60            c1: direct index for structure ( uniform int)
+0:60              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:60              Constant:
 0:60                0 (const uint)
 0:61      Sequence
@@ -968,8 +968,8 @@ gl_FragCoord origin is upper left
 0:61          'r02' ( temp 4-component vector of uint)
 0:61          imageLoad ( temp 4-component vector of uint)
 0:61            'g_tTex1du4' (layout( rgba32ui) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:61            c1: direct index for structure ( uniform int)
+0:61              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:61              Constant:
 0:61                0 (const uint)
 0:64      Sequence
@@ -977,8 +977,8 @@ gl_FragCoord origin is upper left
 0:64          'r10' ( temp 4-component vector of float)
 0:64          imageLoad ( temp 4-component vector of float)
 0:64            'g_tTex2df4' (layout( rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:64            c2: direct index for structure ( uniform 2-component vector of int)
+0:64              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:64              Constant:
 0:64                1 (const uint)
 0:65      Sequence
@@ -986,8 +986,8 @@ gl_FragCoord origin is upper left
 0:65          'r11' ( temp 4-component vector of int)
 0:65          imageLoad ( temp 4-component vector of int)
 0:65            'g_tTex2di4' (layout( rgba32i) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:65            c2: direct index for structure ( uniform 2-component vector of int)
+0:65              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:65              Constant:
 0:65                1 (const uint)
 0:66      Sequence
@@ -995,8 +995,8 @@ gl_FragCoord origin is upper left
 0:66          'r12' ( temp 4-component vector of uint)
 0:66          imageLoad ( temp 4-component vector of uint)
 0:66            'g_tTex2du4' (layout( rgba32ui) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:66            c2: direct index for structure ( uniform 2-component vector of int)
+0:66              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:66              Constant:
 0:66                1 (const uint)
 0:69      Sequence
@@ -1004,8 +1004,8 @@ gl_FragCoord origin is upper left
 0:69          'r20' ( temp 4-component vector of float)
 0:69          imageLoad ( temp 4-component vector of float)
 0:69            'g_tTex3df4' (layout( rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:69            c3: direct index for structure ( uniform 3-component vector of int)
+0:69              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:69              Constant:
 0:69                2 (const uint)
 0:70      Sequence
@@ -1013,8 +1013,8 @@ gl_FragCoord origin is upper left
 0:70          'r21' ( temp 4-component vector of int)
 0:70          imageLoad ( temp 4-component vector of int)
 0:70            'g_tTex3di4' (layout( rgba32i) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:70            c3: direct index for structure ( uniform 3-component vector of int)
+0:70              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:70              Constant:
 0:70                2 (const uint)
 0:71      Sequence
@@ -1022,15 +1022,15 @@ gl_FragCoord origin is upper left
 0:71          'r22' ( temp 4-component vector of uint)
 0:71          imageLoad ( temp 4-component vector of uint)
 0:71            'g_tTex3du4' (layout( rgba32ui) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:71            c3: direct index for structure ( uniform 3-component vector of int)
+0:71              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:71              Constant:
 0:71                2 (const uint)
 0:73      Sequence
 0:73        move second child to first child ( temp 4-component vector of float)
 0:73          'lf4' ( temp 4-component vector of float)
-0:73          uf4: direct index for structure (layout( offset=96) uniform 4-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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:73          uf4: direct index for structure ( uniform 4-component vector of float)
+0:73            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:73            Constant:
 0:73              8 (const uint)
 0:77      Sequence
@@ -1039,8 +1039,8 @@ gl_FragCoord origin is upper left
 0:77          Function Call: SomeValue( ( temp 4-component vector of float)
 0:77        imageStore ( temp void)
 0:77          'g_tTex1df4' (layout( binding=0 rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:77          c1: direct index for structure ( uniform int)
+0:77            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:77            Constant:
 0:77              0 (const uint)
 0:77          'storeTemp' ( temp 4-component vector of float)
@@ -1048,8 +1048,8 @@ gl_FragCoord origin is upper left
 0:78      Sequence
 0:78        imageStore ( temp void)
 0:78          'g_tTex1df4' (layout( binding=0 rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:78          c1: direct index for structure ( uniform int)
+0:78            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:78            Constant:
 0:78              0 (const uint)
 0:78          'lf4' ( temp 4-component vector of float)
@@ -1064,8 +1064,8 @@ gl_FragCoord origin is upper left
 0:?             4 (const int)
 0:79        imageStore ( temp void)
 0:79          'g_tTex1di4' (layout( rgba32i) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:79          c1: direct index for structure ( uniform int)
+0:79            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:79            Constant:
 0:79              0 (const uint)
 0:79          'storeTemp' ( temp 4-component vector of int)
@@ -1080,8 +1080,8 @@ gl_FragCoord origin is upper left
 0:?             4 (const uint)
 0:80        imageStore ( temp void)
 0:80          'g_tTex1du4' (layout( rgba32ui) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:80          c1: direct index for structure ( uniform int)
+0:80            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:80            Constant:
 0:80              0 (const uint)
 0:80          'storeTemp' ( temp 4-component vector of uint)
@@ -1092,8 +1092,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:83              c1: direct index for structure ( uniform int)
+0:83                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:83                Constant:
 0:83                  0 (const uint)
 0:83            move second child to first child ( temp 4-component vector of float)
@@ -1113,8 +1113,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:84          c1: direct index for structure ( uniform int)
+0:84            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:84            Constant:
 0:84              0 (const uint)
 0:84        move second child to first child ( temp 4-component vector of float)
@@ -1134,8 +1134,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:85          c1: direct index for structure ( uniform int)
+0:85            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:85            Constant:
 0:85              0 (const uint)
 0:85        move second child to first child ( temp 4-component vector of float)
@@ -1155,8 +1155,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:87          c1: direct index for structure ( uniform int)
+0:87            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:87            Constant:
 0:87              0 (const uint)
 0:87        move second child to first child ( temp 4-component vector of int)
@@ -1176,8 +1176,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:88          c1: direct index for structure ( uniform int)
+0:88            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:88            Constant:
 0:88              0 (const uint)
 0:88        move second child to first child ( temp 4-component vector of int)
@@ -1197,8 +1197,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:89          c1: direct index for structure ( uniform int)
+0:89            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:89            Constant:
 0:89              0 (const uint)
 0:89        move second child to first child ( temp 4-component vector of int)
@@ -1218,8 +1218,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:90          c1: direct index for structure ( uniform int)
+0:90            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:90            Constant:
 0:90              0 (const uint)
 0:90        move second child to first child ( temp 4-component vector of int)
@@ -1239,8 +1239,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:91          c1: direct index for structure ( uniform int)
+0:91            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:91            Constant:
 0:91              0 (const uint)
 0:91        move second child to first child ( temp 4-component vector of int)
@@ -1260,8 +1260,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:92          c1: direct index for structure ( uniform int)
+0:92            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:92            Constant:
 0:92              0 (const uint)
 0:92        move second child to first child ( temp 4-component vector of int)
@@ -1284,8 +1284,8 @@ gl_FragCoord origin is upper left
 0:95          Function Call: SomeValue( ( temp 4-component vector of float)
 0:95        imageStore ( temp void)
 0:95          'g_tTex2df4' (layout( rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:95          c2: direct index for structure ( uniform 2-component vector of int)
+0:95            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:95            Constant:
 0:95              1 (const uint)
 0:95          'storeTemp' ( temp 4-component vector of float)
@@ -1293,8 +1293,8 @@ gl_FragCoord origin is upper left
 0:96      Sequence
 0:96        imageStore ( temp void)
 0:96          'g_tTex2df4' (layout( rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:96          c2: direct index for structure ( uniform 2-component vector of int)
+0:96            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:96            Constant:
 0:96              1 (const uint)
 0:96          'lf4' ( temp 4-component vector of float)
@@ -1309,8 +1309,8 @@ gl_FragCoord origin is upper left
 0:?             4 (const int)
 0:97        imageStore ( temp void)
 0:97          'g_tTex2di4' (layout( rgba32i) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:97          c2: direct index for structure ( uniform 2-component vector of int)
+0:97            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:97            Constant:
 0:97              1 (const uint)
 0:97          'storeTemp' ( temp 4-component vector of int)
@@ -1325,8 +1325,8 @@ gl_FragCoord origin is upper left
 0:?             4 (const uint)
 0:98        imageStore ( temp void)
 0:98          'g_tTex2du4' (layout( rgba32ui) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:98          c2: direct index for structure ( uniform 2-component vector of int)
+0:98            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:98            Constant:
 0:98              1 (const uint)
 0:98          'storeTemp' ( temp 4-component vector of uint)
@@ -1337,8 +1337,8 @@ gl_FragCoord origin is upper left
 0:101          Function Call: SomeValue( ( temp 4-component vector of float)
 0:101        imageStore ( temp void)
 0:101          'g_tTex3df4' (layout( rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:101          c3: direct index for structure ( uniform 3-component vector of int)
+0:101            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:101            Constant:
 0:101              2 (const uint)
 0:101          'storeTemp' ( temp 4-component vector of float)
@@ -1346,8 +1346,8 @@ gl_FragCoord origin is upper left
 0:102      Sequence
 0:102        imageStore ( temp void)
 0:102          'g_tTex3df4' (layout( rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:102          c3: direct index for structure ( uniform 3-component vector of int)
+0:102            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:102            Constant:
 0:102              2 (const uint)
 0:102          'lf4' ( temp 4-component vector of float)
@@ -1362,8 +1362,8 @@ gl_FragCoord origin is upper left
 0:?             8 (const int)
 0:103        imageStore ( temp void)
 0:103          'g_tTex3di4' (layout( rgba32i) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:103          c3: direct index for structure ( uniform 3-component vector of int)
+0:103            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:103            Constant:
 0:103              2 (const uint)
 0:103          'storeTemp' ( temp 4-component vector of int)
@@ -1378,8 +1378,8 @@ gl_FragCoord origin is upper left
 0:?             4 (const uint)
 0:104        imageStore ( temp void)
 0:104          'g_tTex3du4' (layout( rgba32ui) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:104          c3: direct index for structure ( uniform 3-component vector of int)
+0:104            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:104            Constant:
 0:104              2 (const uint)
 0:104          'storeTemp' ( temp 4-component vector of uint)
@@ -1387,22 +1387,22 @@ gl_FragCoord origin is upper left
 0:107      Function Call: Fn1(vf4; ( temp 4-component vector of float)
 0:107        imageLoad ( temp 4-component vector of float)
 0:107          'g_tTex1df4' (layout( binding=0 rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:107          c1: direct index for structure ( uniform int)
+0:107            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:107            Constant:
 0:107              0 (const uint)
 0:108      Function Call: Fn1(vi4; ( temp 4-component vector of int)
 0:108        imageLoad ( temp 4-component vector of int)
 0:108          'g_tTex1di4' (layout( rgba32i) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:108          c1: direct index for structure ( uniform int)
+0:108            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:108            Constant:
 0:108              0 (const uint)
 0:109      Function Call: Fn1(vu4; ( temp 4-component vector of uint)
 0:109        imageLoad ( temp 4-component vector of uint)
 0:109          'g_tTex1du4' (layout( rgba32ui) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:109          c1: direct index for structure ( uniform int)
+0:109            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:109            Constant:
 0:109              0 (const uint)
 0:111      Comma ( temp void)
@@ -1411,8 +1411,8 @@ gl_FragCoord origin is upper left
 0:111        Sequence
 0:111          imageStore ( temp void)
 0:111            'g_tTex1df4' (layout( binding=0 rgba32f) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:111            c1: direct index for structure ( uniform int)
+0:111              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:111              Constant:
 0:111                0 (const uint)
 0:111            'tempArg' ( temp 4-component vector of float)
@@ -1423,8 +1423,8 @@ gl_FragCoord origin is upper left
 0:112        Sequence
 0:112          imageStore ( temp void)
 0:112            'g_tTex1di4' (layout( rgba32i) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:112            c1: direct index for structure ( uniform int)
+0:112              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:112              Constant:
 0:112                0 (const uint)
 0:112            'tempArg' ( temp 4-component vector of int)
@@ -1435,8 +1435,8 @@ gl_FragCoord origin is upper left
 0:113        Sequence
 0:113          imageStore ( temp void)
 0:113            'g_tTex1du4' (layout( rgba32ui) 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:113            c1: direct index for structure ( uniform int)
+0:113              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:113              Constant:
 0:113                0 (const uint)
 0:113            'tempArg' ( temp 4-component vector of uint)
@@ -1444,8 +1444,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:117          c1: direct index for structure ( uniform int)
+0:117            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:117            Constant:
 0:117              0 (const uint)
 0:117        move second child to first child ( temp 4-component vector of float)
@@ -1463,8 +1463,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:118          c1: direct index for structure ( uniform int)
+0:118            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:118            Constant:
 0:118              0 (const uint)
 0:118        move second child to first child ( temp 4-component vector of int)
@@ -1482,8 +1482,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:119          c1: direct index for structure ( uniform int)
+0:119            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:119            Constant:
 0:119              0 (const uint)
 0:119        move second child to first child ( temp 4-component vector of uint)
@@ -1501,8 +1501,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:121          c1: direct index for structure ( uniform int)
+0:121            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:121            Constant:
 0:121              0 (const uint)
 0:121        move second child to first child ( temp 4-component vector of float)
@@ -1520,8 +1520,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:122          c1: direct index for structure ( uniform int)
+0:122            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:122            Constant:
 0:122              0 (const uint)
 0:122        move second child to first child ( temp 4-component vector of int)
@@ -1539,8 +1539,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:123          c1: direct index for structure ( uniform int)
+0:123            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:123            Constant:
 0:123              0 (const uint)
 0:123        move second child to first child ( temp 4-component vector of uint)
@@ -1558,8 +1558,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:126          c1: direct index for structure ( uniform int)
+0:126            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:126            Constant:
 0:126              0 (const uint)
 0:126        move second child to first child ( temp 4-component vector of float)
@@ -1580,8 +1580,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:127          c1: direct index for structure ( uniform int)
+0:127            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:127            Constant:
 0:127              0 (const uint)
 0:127        move second child to first child ( temp 4-component vector of uint)
@@ -1602,8 +1602,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:128          c1: direct index for structure ( uniform int)
+0:128            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:128            Constant:
 0:128              0 (const uint)
 0:128        move second child to first child ( temp 4-component vector of int)
@@ -1624,8 +1624,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:130          c1: direct index for structure ( uniform int)
+0:130            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:130            Constant:
 0:130              0 (const uint)
 0:130        move second child to first child ( temp 4-component vector of float)
@@ -1646,8 +1646,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:131          c1: direct index for structure ( uniform int)
+0:131            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:131            Constant:
 0:131              0 (const uint)
 0:131        move second child to first child ( temp 4-component vector of int)
@@ -1668,8 +1668,8 @@ gl_FragCoord origin is upper left
 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:132          c1: direct index for structure ( uniform int)
+0:132            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:132            Constant:
 0:132              0 (const uint)
 0:132        move second child to first child ( temp 4-component vector of uint)
@@ -1740,7 +1740,7 @@ gl_FragCoord origin is upper left
 0:?     'g_tTex2df4a' (layout( rgba32f) uniform image2DArray)
 0:?     'g_tTex2di4a' (layout( rgba32i) uniform iimage2DArray)
 0:?     'g_tTex2du4a' (layout( rgba32ui) uniform uimage2DArray)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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 4-component vector of float uf4, layout( offset=112) uniform 4-component vector of int ui4, layout( offset=128) uniform 4-component vector of uint uu4})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 4-component vector of float uf4,  uniform 4-component vector of int ui4,  uniform 4-component vector of uint uu4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
diff --git a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
index 8c4e79f35a08c2b0df9ff40104527d264541535c..991d524e280ef7b4ced4acb719856b33ffae0d9d 100644
--- a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
@@ -49,8 +49,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:50            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  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})
@@ -58,8 +58,8 @@ gl_FragCoord origin is upper left
 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        c1: direct index for structure ( uniform int)
+0:57          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:57          Constant:
 0:57            0 (const uint)
 0:59      Sequence
@@ -67,8 +67,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:59              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:59              Constant:
 0:59                0 (const uint)
 0:60      Sequence
@@ -76,8 +76,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:60              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:60              Constant:
 0:60                0 (const uint)
 0:61      Sequence
@@ -85,8 +85,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:61              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:61              Constant:
 0:61                0 (const uint)
 0:64      Sequence
@@ -94,8 +94,8 @@ gl_FragCoord origin is upper left
 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            c2: direct index for structure ( uniform 2-component vector of int)
+0:64              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:64              Constant:
 0:64                1 (const uint)
 0:65      Sequence
@@ -103,8 +103,8 @@ gl_FragCoord origin is upper left
 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            c2: direct index for structure ( uniform 2-component vector of int)
+0:65              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:65              Constant:
 0:65                1 (const uint)
 0:66      Sequence
@@ -112,8 +112,8 @@ gl_FragCoord origin is upper left
 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            c2: direct index for structure ( uniform 2-component vector of int)
+0:66              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:66              Constant:
 0:66                1 (const uint)
 0:69      Sequence
@@ -121,8 +121,8 @@ gl_FragCoord origin is upper left
 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            c3: direct index for structure ( uniform 3-component vector of int)
+0:69              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:69              Constant:
 0:69                2 (const uint)
 0:70      Sequence
@@ -130,8 +130,8 @@ gl_FragCoord origin is upper left
 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            c3: direct index for structure ( uniform 3-component vector of int)
+0:70              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:70              Constant:
 0:70                2 (const uint)
 0:71      Sequence
@@ -139,15 +139,15 @@ gl_FragCoord origin is upper left
 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            c3: direct index for structure ( uniform 3-component vector of int)
+0:71              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  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          uf1: direct index for structure ( uniform float)
+0:73            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:73            Constant:
 0:73              8 (const uint)
 0:77      Sequence
@@ -156,8 +156,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:77            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:77            Constant:
 0:77              0 (const uint)
 0:77          'storeTemp' ( temp float)
@@ -165,8 +165,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:78            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:78            Constant:
 0:78              0 (const uint)
 0:78          'lf1' ( temp float)
@@ -178,8 +178,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:79            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:79            Constant:
 0:79              0 (const uint)
 0:79          'storeTemp' ( temp int)
@@ -191,8 +191,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:80            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:80            Constant:
 0:80              0 (const uint)
 0:80          'storeTemp' ( temp uint)
@@ -203,8 +203,8 @@ gl_FragCoord origin is upper left
 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              c1: direct index for structure ( uniform int)
+0:83                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:83                Constant:
 0:83                  0 (const uint)
 0:83            move second child to first child ( temp float)
@@ -224,8 +224,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:84            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:84            Constant:
 0:84              0 (const uint)
 0:84        move second child to first child ( temp float)
@@ -245,8 +245,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:85            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:85            Constant:
 0:85              0 (const uint)
 0:85        move second child to first child ( temp float)
@@ -266,8 +266,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:87            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:87            Constant:
 0:87              0 (const uint)
 0:87        move second child to first child ( temp int)
@@ -287,8 +287,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:88            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:88            Constant:
 0:88              0 (const uint)
 0:88        move second child to first child ( temp int)
@@ -308,8 +308,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:89            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:89            Constant:
 0:89              0 (const uint)
 0:89        move second child to first child ( temp int)
@@ -329,8 +329,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:90            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:90            Constant:
 0:90              0 (const uint)
 0:90        move second child to first child ( temp int)
@@ -350,8 +350,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:91            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:91            Constant:
 0:91              0 (const uint)
 0:91        move second child to first child ( temp int)
@@ -371,8 +371,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:92            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:92            Constant:
 0:92              0 (const uint)
 0:92        move second child to first child ( temp int)
@@ -395,8 +395,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:95            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:95            Constant:
 0:95              1 (const uint)
 0:95          'storeTemp' ( temp float)
@@ -404,8 +404,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:96            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:96            Constant:
 0:96              1 (const uint)
 0:96          'lf1' ( temp float)
@@ -417,8 +417,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:97            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:97            Constant:
 0:97              1 (const uint)
 0:97          'storeTemp' ( temp int)
@@ -430,8 +430,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:98            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:98            Constant:
 0:98              1 (const uint)
 0:98          'storeTemp' ( temp uint)
@@ -442,8 +442,8 @@ gl_FragCoord origin is upper left
 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          c3: direct index for structure ( uniform 3-component vector of int)
+0:101            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:101            Constant:
 0:101              2 (const uint)
 0:101          'storeTemp' ( temp float)
@@ -451,8 +451,8 @@ gl_FragCoord origin is upper left
 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          c3: direct index for structure ( uniform 3-component vector of int)
+0:102            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:102            Constant:
 0:102              2 (const uint)
 0:102          'lf1' ( temp float)
@@ -464,8 +464,8 @@ gl_FragCoord origin is upper left
 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          c3: direct index for structure ( uniform 3-component vector of int)
+0:103            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:103            Constant:
 0:103              2 (const uint)
 0:103          'storeTemp' ( temp int)
@@ -477,8 +477,8 @@ gl_FragCoord origin is upper left
 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          c3: direct index for structure ( uniform 3-component vector of int)
+0:104            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:104            Constant:
 0:104              2 (const uint)
 0:104          'storeTemp' ( temp uint)
@@ -486,22 +486,22 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:107            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  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          c1: direct index for structure ( uniform int)
+0:108            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  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          c1: direct index for structure ( uniform int)
+0:109            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:109            Constant:
 0:109              0 (const uint)
 0:111      Comma ( temp void)
@@ -510,8 +510,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:111              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:111              Constant:
 0:111                0 (const uint)
 0:111            'tempArg' ( temp float)
@@ -522,8 +522,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:112              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:112              Constant:
 0:112                0 (const uint)
 0:112            'tempArg' ( temp int)
@@ -534,8 +534,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:113              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:113              Constant:
 0:113                0 (const uint)
 0:113            'tempArg' ( temp uint)
@@ -543,8 +543,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:117            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:117            Constant:
 0:117              0 (const uint)
 0:117        move second child to first child ( temp float)
@@ -562,8 +562,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:118            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:118            Constant:
 0:118              0 (const uint)
 0:118        move second child to first child ( temp int)
@@ -581,8 +581,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:119            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:119            Constant:
 0:119              0 (const uint)
 0:119        move second child to first child ( temp uint)
@@ -600,8 +600,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:121            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:121            Constant:
 0:121              0 (const uint)
 0:121        move second child to first child ( temp float)
@@ -619,8 +619,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:122            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:122            Constant:
 0:122              0 (const uint)
 0:122        move second child to first child ( temp int)
@@ -638,8 +638,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:123            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:123            Constant:
 0:123              0 (const uint)
 0:123        move second child to first child ( temp uint)
@@ -657,8 +657,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:126            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:126            Constant:
 0:126              0 (const uint)
 0:126        move second child to first child ( temp float)
@@ -679,8 +679,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:127            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:127            Constant:
 0:127              0 (const uint)
 0:127        move second child to first child ( temp uint)
@@ -701,8 +701,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:128            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:128            Constant:
 0:128              0 (const uint)
 0:128        move second child to first child ( temp int)
@@ -723,8 +723,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:130            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:130            Constant:
 0:130              0 (const uint)
 0:130        move second child to first child ( temp float)
@@ -745,8 +745,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:131            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:131            Constant:
 0:131              0 (const uint)
 0:131        move second child to first child ( temp int)
@@ -767,8 +767,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:132            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:132            Constant:
 0:132              0 (const uint)
 0:132        move second child to first child ( temp uint)
@@ -839,7 +839,7 @@ gl_FragCoord origin is upper left
 0:?     'g_tTex2df1a' (layout( r32f) uniform image2DArray)
 0:?     'g_tTex2di1a' (layout( r32i) uniform iimage2DArray)
 0:?     'g_tTex2du1a' (layout( r32ui) uniform uimage2DArray)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 
 
@@ -896,8 +896,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:50            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  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})
@@ -905,8 +905,8 @@ gl_FragCoord origin is upper left
 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        c1: direct index for structure ( uniform int)
+0:57          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:57          Constant:
 0:57            0 (const uint)
 0:59      Sequence
@@ -914,8 +914,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:59              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:59              Constant:
 0:59                0 (const uint)
 0:60      Sequence
@@ -923,8 +923,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:60              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:60              Constant:
 0:60                0 (const uint)
 0:61      Sequence
@@ -932,8 +932,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:61              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:61              Constant:
 0:61                0 (const uint)
 0:64      Sequence
@@ -941,8 +941,8 @@ gl_FragCoord origin is upper left
 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            c2: direct index for structure ( uniform 2-component vector of int)
+0:64              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:64              Constant:
 0:64                1 (const uint)
 0:65      Sequence
@@ -950,8 +950,8 @@ gl_FragCoord origin is upper left
 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            c2: direct index for structure ( uniform 2-component vector of int)
+0:65              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:65              Constant:
 0:65                1 (const uint)
 0:66      Sequence
@@ -959,8 +959,8 @@ gl_FragCoord origin is upper left
 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            c2: direct index for structure ( uniform 2-component vector of int)
+0:66              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:66              Constant:
 0:66                1 (const uint)
 0:69      Sequence
@@ -968,8 +968,8 @@ gl_FragCoord origin is upper left
 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            c3: direct index for structure ( uniform 3-component vector of int)
+0:69              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:69              Constant:
 0:69                2 (const uint)
 0:70      Sequence
@@ -977,8 +977,8 @@ gl_FragCoord origin is upper left
 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            c3: direct index for structure ( uniform 3-component vector of int)
+0:70              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:70              Constant:
 0:70                2 (const uint)
 0:71      Sequence
@@ -986,15 +986,15 @@ gl_FragCoord origin is upper left
 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            c3: direct index for structure ( uniform 3-component vector of int)
+0:71              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  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          uf1: direct index for structure ( uniform float)
+0:73            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:73            Constant:
 0:73              8 (const uint)
 0:77      Sequence
@@ -1003,8 +1003,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:77            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:77            Constant:
 0:77              0 (const uint)
 0:77          'storeTemp' ( temp float)
@@ -1012,8 +1012,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:78            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:78            Constant:
 0:78              0 (const uint)
 0:78          'lf1' ( temp float)
@@ -1025,8 +1025,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:79            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:79            Constant:
 0:79              0 (const uint)
 0:79          'storeTemp' ( temp int)
@@ -1038,8 +1038,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:80            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:80            Constant:
 0:80              0 (const uint)
 0:80          'storeTemp' ( temp uint)
@@ -1050,8 +1050,8 @@ gl_FragCoord origin is upper left
 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              c1: direct index for structure ( uniform int)
+0:83                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:83                Constant:
 0:83                  0 (const uint)
 0:83            move second child to first child ( temp float)
@@ -1071,8 +1071,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:84            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:84            Constant:
 0:84              0 (const uint)
 0:84        move second child to first child ( temp float)
@@ -1092,8 +1092,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:85            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:85            Constant:
 0:85              0 (const uint)
 0:85        move second child to first child ( temp float)
@@ -1113,8 +1113,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:87            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:87            Constant:
 0:87              0 (const uint)
 0:87        move second child to first child ( temp int)
@@ -1134,8 +1134,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:88            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:88            Constant:
 0:88              0 (const uint)
 0:88        move second child to first child ( temp int)
@@ -1155,8 +1155,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:89            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:89            Constant:
 0:89              0 (const uint)
 0:89        move second child to first child ( temp int)
@@ -1176,8 +1176,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:90            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:90            Constant:
 0:90              0 (const uint)
 0:90        move second child to first child ( temp int)
@@ -1197,8 +1197,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:91            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:91            Constant:
 0:91              0 (const uint)
 0:91        move second child to first child ( temp int)
@@ -1218,8 +1218,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:92            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:92            Constant:
 0:92              0 (const uint)
 0:92        move second child to first child ( temp int)
@@ -1242,8 +1242,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:95            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:95            Constant:
 0:95              1 (const uint)
 0:95          'storeTemp' ( temp float)
@@ -1251,8 +1251,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:96            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:96            Constant:
 0:96              1 (const uint)
 0:96          'lf1' ( temp float)
@@ -1264,8 +1264,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:97            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:97            Constant:
 0:97              1 (const uint)
 0:97          'storeTemp' ( temp int)
@@ -1277,8 +1277,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:98            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:98            Constant:
 0:98              1 (const uint)
 0:98          'storeTemp' ( temp uint)
@@ -1289,8 +1289,8 @@ gl_FragCoord origin is upper left
 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          c3: direct index for structure ( uniform 3-component vector of int)
+0:101            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:101            Constant:
 0:101              2 (const uint)
 0:101          'storeTemp' ( temp float)
@@ -1298,8 +1298,8 @@ gl_FragCoord origin is upper left
 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          c3: direct index for structure ( uniform 3-component vector of int)
+0:102            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:102            Constant:
 0:102              2 (const uint)
 0:102          'lf1' ( temp float)
@@ -1311,8 +1311,8 @@ gl_FragCoord origin is upper left
 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          c3: direct index for structure ( uniform 3-component vector of int)
+0:103            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:103            Constant:
 0:103              2 (const uint)
 0:103          'storeTemp' ( temp int)
@@ -1324,8 +1324,8 @@ gl_FragCoord origin is upper left
 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          c3: direct index for structure ( uniform 3-component vector of int)
+0:104            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:104            Constant:
 0:104              2 (const uint)
 0:104          'storeTemp' ( temp uint)
@@ -1333,22 +1333,22 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:107            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  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          c1: direct index for structure ( uniform int)
+0:108            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  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          c1: direct index for structure ( uniform int)
+0:109            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:109            Constant:
 0:109              0 (const uint)
 0:111      Comma ( temp void)
@@ -1357,8 +1357,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:111              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:111              Constant:
 0:111                0 (const uint)
 0:111            'tempArg' ( temp float)
@@ -1369,8 +1369,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:112              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:112              Constant:
 0:112                0 (const uint)
 0:112            'tempArg' ( temp int)
@@ -1381,8 +1381,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:113              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:113              Constant:
 0:113                0 (const uint)
 0:113            'tempArg' ( temp uint)
@@ -1390,8 +1390,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:117            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:117            Constant:
 0:117              0 (const uint)
 0:117        move second child to first child ( temp float)
@@ -1409,8 +1409,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:118            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:118            Constant:
 0:118              0 (const uint)
 0:118        move second child to first child ( temp int)
@@ -1428,8 +1428,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:119            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:119            Constant:
 0:119              0 (const uint)
 0:119        move second child to first child ( temp uint)
@@ -1447,8 +1447,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:121            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:121            Constant:
 0:121              0 (const uint)
 0:121        move second child to first child ( temp float)
@@ -1466,8 +1466,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:122            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:122            Constant:
 0:122              0 (const uint)
 0:122        move second child to first child ( temp int)
@@ -1485,8 +1485,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:123            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:123            Constant:
 0:123              0 (const uint)
 0:123        move second child to first child ( temp uint)
@@ -1504,8 +1504,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:126            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:126            Constant:
 0:126              0 (const uint)
 0:126        move second child to first child ( temp float)
@@ -1526,8 +1526,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:127            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:127            Constant:
 0:127              0 (const uint)
 0:127        move second child to first child ( temp uint)
@@ -1548,8 +1548,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:128            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:128            Constant:
 0:128              0 (const uint)
 0:128        move second child to first child ( temp int)
@@ -1570,8 +1570,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:130            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:130            Constant:
 0:130              0 (const uint)
 0:130        move second child to first child ( temp float)
@@ -1592,8 +1592,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:131            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:131            Constant:
 0:131              0 (const uint)
 0:131        move second child to first child ( temp int)
@@ -1614,8 +1614,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:132            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:132            Constant:
 0:132              0 (const uint)
 0:132        move second child to first child ( temp uint)
@@ -1686,7 +1686,7 @@ gl_FragCoord origin is upper left
 0:?     'g_tTex2df1a' (layout( r32f) uniform image2DArray)
 0:?     'g_tTex2di1a' (layout( r32i) uniform iimage2DArray)
 0:?     'g_tTex2du1a' (layout( r32ui) uniform uimage2DArray)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform float uf1,  uniform int ui1,  uniform uint uu1})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
diff --git a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
index 86e6352312bd8cceff295421add2c0f3ebb749e6..c34ce902e0cbce5840e0919f42159ef0926f8cf0 100644
--- a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
@@ -52,8 +52,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:50            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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})
@@ -61,8 +61,8 @@ gl_FragCoord origin is upper left
 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        c1: direct index for structure ( uniform int)
+0:57          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:57          Constant:
 0:57            0 (const uint)
 0:59      Sequence
@@ -70,8 +70,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:59              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:59              Constant:
 0:59                0 (const uint)
 0:60      Sequence
@@ -79,8 +79,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:60              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:60              Constant:
 0:60                0 (const uint)
 0:61      Sequence
@@ -88,8 +88,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:61              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:61              Constant:
 0:61                0 (const uint)
 0:64      Sequence
@@ -97,8 +97,8 @@ gl_FragCoord origin is upper left
 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            c2: direct index for structure ( uniform 2-component vector of int)
+0:64              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:64              Constant:
 0:64                1 (const uint)
 0:65      Sequence
@@ -106,8 +106,8 @@ gl_FragCoord origin is upper left
 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            c2: direct index for structure ( uniform 2-component vector of int)
+0:65              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:65              Constant:
 0:65                1 (const uint)
 0:66      Sequence
@@ -115,8 +115,8 @@ gl_FragCoord origin is upper left
 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            c2: direct index for structure ( uniform 2-component vector of int)
+0:66              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:66              Constant:
 0:66                1 (const uint)
 0:69      Sequence
@@ -124,8 +124,8 @@ gl_FragCoord origin is upper left
 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            c3: direct index for structure ( uniform 3-component vector of int)
+0:69              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:69              Constant:
 0:69                2 (const uint)
 0:70      Sequence
@@ -133,8 +133,8 @@ gl_FragCoord origin is upper left
 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            c3: direct index for structure ( uniform 3-component vector of int)
+0:70              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:70              Constant:
 0:70                2 (const uint)
 0:71      Sequence
@@ -142,15 +142,15 @@ gl_FragCoord origin is upper left
 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            c3: direct index for structure ( uniform 3-component vector of int)
+0:71              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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          uf2: direct index for structure ( uniform 2-component vector of float)
+0:73            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:73            Constant:
 0:73              8 (const uint)
 0:77      Sequence
@@ -159,8 +159,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:77            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:77            Constant:
 0:77              0 (const uint)
 0:77          'storeTemp' ( temp 2-component vector of float)
@@ -168,8 +168,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:78            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:78            Constant:
 0:78              0 (const uint)
 0:78          'lf2' ( temp 2-component vector of float)
@@ -182,8 +182,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:79            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:79            Constant:
 0:79              0 (const uint)
 0:79          'storeTemp' ( temp 2-component vector of int)
@@ -196,8 +196,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:80            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:80            Constant:
 0:80              0 (const uint)
 0:80          'storeTemp' ( temp 2-component vector of uint)
@@ -208,8 +208,8 @@ gl_FragCoord origin is upper left
 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              c1: direct index for structure ( uniform int)
+0:83                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -229,8 +229,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:84            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -250,8 +250,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:85            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -271,8 +271,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:87            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -292,8 +292,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:88            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -313,8 +313,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:89            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -334,8 +334,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:90            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -355,8 +355,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:91            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -376,8 +376,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:92            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -400,8 +400,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:95            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:95            Constant:
 0:95              1 (const uint)
 0:95          'storeTemp' ( temp 2-component vector of float)
@@ -409,8 +409,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:96            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:96            Constant:
 0:96              1 (const uint)
 0:96          'lf2' ( temp 2-component vector of float)
@@ -423,8 +423,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:97            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:97            Constant:
 0:97              1 (const uint)
 0:97          'storeTemp' ( temp 2-component vector of int)
@@ -437,8 +437,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:98            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:98            Constant:
 0:98              1 (const uint)
 0:98          'storeTemp' ( temp 2-component vector of uint)
@@ -449,8 +449,8 @@ gl_FragCoord origin is upper left
 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          c3: direct index for structure ( uniform 3-component vector of int)
+0:101            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:101            Constant:
 0:101              2 (const uint)
 0:101          'storeTemp' ( temp 2-component vector of float)
@@ -458,8 +458,8 @@ gl_FragCoord origin is upper left
 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          c3: direct index for structure ( uniform 3-component vector of int)
+0:102            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:102            Constant:
 0:102              2 (const uint)
 0:102          'lf2' ( temp 2-component vector of float)
@@ -472,8 +472,8 @@ gl_FragCoord origin is upper left
 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          c3: direct index for structure ( uniform 3-component vector of int)
+0:103            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:103            Constant:
 0:103              2 (const uint)
 0:103          'storeTemp' ( temp 2-component vector of int)
@@ -486,8 +486,8 @@ gl_FragCoord origin is upper left
 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          c3: direct index for structure ( uniform 3-component vector of int)
+0:104            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:104            Constant:
 0:104              2 (const uint)
 0:104          'storeTemp' ( temp 2-component vector of uint)
@@ -495,22 +495,22 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:107            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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          c1: direct index for structure ( uniform int)
+0:108            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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          c1: direct index for structure ( uniform int)
+0:109            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:109            Constant:
 0:109              0 (const uint)
 0:111      Comma ( temp void)
@@ -519,8 +519,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:111              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:111              Constant:
 0:111                0 (const uint)
 0:111            'tempArg' ( temp 2-component vector of float)
@@ -531,8 +531,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:112              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:112              Constant:
 0:112                0 (const uint)
 0:112            'tempArg' ( temp 2-component vector of int)
@@ -543,8 +543,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:113              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:113              Constant:
 0:113                0 (const uint)
 0:113            'tempArg' ( temp 2-component vector of uint)
@@ -552,8 +552,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:117            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -571,8 +571,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:118            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -590,8 +590,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:119            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -609,8 +609,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:121            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -628,8 +628,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:122            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -647,8 +647,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:123            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -666,8 +666,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:126            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -688,8 +688,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:127            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -710,8 +710,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:128            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -732,8 +732,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:130            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -754,8 +754,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:131            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -776,8 +776,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:132            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -848,7 +848,7 @@ gl_FragCoord origin is upper left
 0:?     'g_tTex2df2a' (layout( rg32f) uniform image2DArray)
 0:?     'g_tTex2di2a' (layout( rg32i) uniform iimage2DArray)
 0:?     'g_tTex2du2a' (layout( rg32ui) uniform uimage2DArray)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 
 
@@ -908,8 +908,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:50            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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})
@@ -917,8 +917,8 @@ gl_FragCoord origin is upper left
 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        c1: direct index for structure ( uniform int)
+0:57          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:57          Constant:
 0:57            0 (const uint)
 0:59      Sequence
@@ -926,8 +926,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:59              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:59              Constant:
 0:59                0 (const uint)
 0:60      Sequence
@@ -935,8 +935,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:60              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:60              Constant:
 0:60                0 (const uint)
 0:61      Sequence
@@ -944,8 +944,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:61              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:61              Constant:
 0:61                0 (const uint)
 0:64      Sequence
@@ -953,8 +953,8 @@ gl_FragCoord origin is upper left
 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            c2: direct index for structure ( uniform 2-component vector of int)
+0:64              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:64              Constant:
 0:64                1 (const uint)
 0:65      Sequence
@@ -962,8 +962,8 @@ gl_FragCoord origin is upper left
 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            c2: direct index for structure ( uniform 2-component vector of int)
+0:65              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:65              Constant:
 0:65                1 (const uint)
 0:66      Sequence
@@ -971,8 +971,8 @@ gl_FragCoord origin is upper left
 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            c2: direct index for structure ( uniform 2-component vector of int)
+0:66              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:66              Constant:
 0:66                1 (const uint)
 0:69      Sequence
@@ -980,8 +980,8 @@ gl_FragCoord origin is upper left
 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            c3: direct index for structure ( uniform 3-component vector of int)
+0:69              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:69              Constant:
 0:69                2 (const uint)
 0:70      Sequence
@@ -989,8 +989,8 @@ gl_FragCoord origin is upper left
 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            c3: direct index for structure ( uniform 3-component vector of int)
+0:70              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:70              Constant:
 0:70                2 (const uint)
 0:71      Sequence
@@ -998,15 +998,15 @@ gl_FragCoord origin is upper left
 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            c3: direct index for structure ( uniform 3-component vector of int)
+0:71              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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          uf2: direct index for structure ( uniform 2-component vector of float)
+0:73            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:73            Constant:
 0:73              8 (const uint)
 0:77      Sequence
@@ -1015,8 +1015,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:77            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:77            Constant:
 0:77              0 (const uint)
 0:77          'storeTemp' ( temp 2-component vector of float)
@@ -1024,8 +1024,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:78            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:78            Constant:
 0:78              0 (const uint)
 0:78          'lf2' ( temp 2-component vector of float)
@@ -1038,8 +1038,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:79            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:79            Constant:
 0:79              0 (const uint)
 0:79          'storeTemp' ( temp 2-component vector of int)
@@ -1052,8 +1052,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:80            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:80            Constant:
 0:80              0 (const uint)
 0:80          'storeTemp' ( temp 2-component vector of uint)
@@ -1064,8 +1064,8 @@ gl_FragCoord origin is upper left
 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              c1: direct index for structure ( uniform int)
+0:83                'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1085,8 +1085,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:84            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1106,8 +1106,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:85            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1127,8 +1127,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:87            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1148,8 +1148,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:88            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1169,8 +1169,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:89            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1190,8 +1190,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:90            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1211,8 +1211,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:91            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1232,8 +1232,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:92            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1256,8 +1256,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:95            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:95            Constant:
 0:95              1 (const uint)
 0:95          'storeTemp' ( temp 2-component vector of float)
@@ -1265,8 +1265,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:96            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:96            Constant:
 0:96              1 (const uint)
 0:96          'lf2' ( temp 2-component vector of float)
@@ -1279,8 +1279,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:97            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:97            Constant:
 0:97              1 (const uint)
 0:97          'storeTemp' ( temp 2-component vector of int)
@@ -1293,8 +1293,8 @@ gl_FragCoord origin is upper left
 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          c2: direct index for structure ( uniform 2-component vector of int)
+0:98            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:98            Constant:
 0:98              1 (const uint)
 0:98          'storeTemp' ( temp 2-component vector of uint)
@@ -1305,8 +1305,8 @@ gl_FragCoord origin is upper left
 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          c3: direct index for structure ( uniform 3-component vector of int)
+0:101            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:101            Constant:
 0:101              2 (const uint)
 0:101          'storeTemp' ( temp 2-component vector of float)
@@ -1314,8 +1314,8 @@ gl_FragCoord origin is upper left
 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          c3: direct index for structure ( uniform 3-component vector of int)
+0:102            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:102            Constant:
 0:102              2 (const uint)
 0:102          'lf2' ( temp 2-component vector of float)
@@ -1328,8 +1328,8 @@ gl_FragCoord origin is upper left
 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          c3: direct index for structure ( uniform 3-component vector of int)
+0:103            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:103            Constant:
 0:103              2 (const uint)
 0:103          'storeTemp' ( temp 2-component vector of int)
@@ -1342,8 +1342,8 @@ gl_FragCoord origin is upper left
 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          c3: direct index for structure ( uniform 3-component vector of int)
+0:104            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:104            Constant:
 0:104              2 (const uint)
 0:104          'storeTemp' ( temp 2-component vector of uint)
@@ -1351,22 +1351,22 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:107            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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          c1: direct index for structure ( uniform int)
+0:108            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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          c1: direct index for structure ( uniform int)
+0:109            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:109            Constant:
 0:109              0 (const uint)
 0:111      Comma ( temp void)
@@ -1375,8 +1375,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:111              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:111              Constant:
 0:111                0 (const uint)
 0:111            'tempArg' ( temp 2-component vector of float)
@@ -1387,8 +1387,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:112              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:112              Constant:
 0:112                0 (const uint)
 0:112            'tempArg' ( temp 2-component vector of int)
@@ -1399,8 +1399,8 @@ gl_FragCoord origin is upper left
 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            c1: direct index for structure ( uniform int)
+0:113              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:113              Constant:
 0:113                0 (const uint)
 0:113            'tempArg' ( temp 2-component vector of uint)
@@ -1408,8 +1408,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:117            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1427,8 +1427,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:118            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1446,8 +1446,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:119            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1465,8 +1465,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:121            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1484,8 +1484,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:122            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1503,8 +1503,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:123            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1522,8 +1522,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:126            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1544,8 +1544,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:127            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1566,8 +1566,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:128            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1588,8 +1588,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:130            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1610,8 +1610,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:131            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1632,8 +1632,8 @@ gl_FragCoord origin is upper left
 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          c1: direct index for structure ( uniform int)
+0:132            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  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)
@@ -1704,7 +1704,7 @@ gl_FragCoord origin is upper left
 0:?     'g_tTex2df2a' (layout( rg32f) uniform image2DArray)
 0:?     'g_tTex2di2a' (layout( rg32i) uniform iimage2DArray)
 0:?     'g_tTex2du2a' (layout( rg32ui) uniform uimage2DArray)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4,  uniform 2-component vector of float uf2,  uniform 2-component vector of int ui2,  uniform 2-component vector of uint uu2})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
diff --git a/Test/baseResults/hlsl.stringtoken.frag.out b/Test/baseResults/hlsl.stringtoken.frag.out
index 68467293d7a5827a76ce2af19280b82eea8ead46..c23d663c985390f39bbca6692ff06450d1eb84f4 100644
--- a/Test/baseResults/hlsl.stringtoken.frag.out
+++ b/Test/baseResults/hlsl.stringtoken.frag.out
@@ -29,8 +29,8 @@ gl_FragCoord origin is upper left
 0:16              0 (const int)
 0:?   Linker Objects
 0:?     'TestTexture' ( uniform texture2D)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float TestUF})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float TestUF})
 
 
 Linked fragment stage:
@@ -66,8 +66,8 @@ gl_FragCoord origin is upper left
 0:16              0 (const int)
 0:?   Linker Objects
 0:?     'TestTexture' ( uniform texture2D)
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float TestUF})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform 4-component vector of float TestUF})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.struct.frag.out b/Test/baseResults/hlsl.struct.frag.out
index 6560c7bab534f0d3b02b1c0869d008055d456ca1..c01e8fa7e036024de5772c213e9f90ef1aa699fc 100755
--- a/Test/baseResults/hlsl.struct.frag.out
+++ b/Test/baseResults/hlsl.struct.frag.out
@@ -113,11 +113,11 @@ gl_FragCoord origin is upper left
 0:?           'input' ( temp 4-component vector of float)
 0:?           's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp bool b,  temp bool c,  temp 4-component vector of float a,  temp 4-component vector of float d} s1, layout( binding=5 offset=1620) uniform float ff5, layout( binding=8 offset=1636) uniform float ff6})
 0:?     's2' ( global structure{ temp 4-component vector of float i})
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'input' (layout( location=0) in 4-component vector of float)
 0:?     's' (layout( location=1) in structure{ smooth temp 4-component vector of float a,  flat temp bool b,  centroid noperspective temp 1-component vector of float c,  centroid sample temp 2-component vector of float d,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform structure{ temp bool b,  temp bool c,  temp 4-component vector of float a,  temp 4-component vector of float d} s1, layout( binding=5 offset=1620) uniform float ff5, layout( binding=8 offset=1636) uniform float ff6})
 0:?     's_ff1' ( in bool Face)
 
 
@@ -234,11 +234,11 @@ gl_FragCoord origin is upper left
 0:?           'input' ( temp 4-component vector of float)
 0:?           's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp bool b,  temp bool c,  temp 4-component vector of float a,  temp 4-component vector of float d} s1, layout( binding=5 offset=1620) uniform float ff5, layout( binding=8 offset=1636) uniform float ff6})
 0:?     's2' ( global structure{ temp 4-component vector of float i})
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'input' (layout( location=0) in 4-component vector of float)
 0:?     's' (layout( location=1) in structure{ smooth temp 4-component vector of float a,  flat temp bool b,  centroid noperspective temp 1-component vector of float c,  centroid sample temp 2-component vector of float d,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform structure{ temp bool b,  temp bool c,  temp 4-component vector of float a,  temp 4-component vector of float d} s1, layout( binding=5 offset=1620) uniform float ff5, layout( binding=8 offset=1636) uniform float ff6})
 0:?     's_ff1' ( in bool Face)
 
 // Module Version 10000
diff --git a/Test/baseResults/hlsl.structIoFourWay.frag.out b/Test/baseResults/hlsl.structIoFourWay.frag.out
index 5765b5b67e2c77c90e88205cd7b2fc1cbe16a9f7..64c60ed671fe945ffb9f3b5860f0f1f19936b962 100755
--- a/Test/baseResults/hlsl.structIoFourWay.frag.out
+++ b/Test/baseResults/hlsl.structIoFourWay.frag.out
@@ -45,13 +45,13 @@ using depth_greater
 0:15            Constant:
 0:15              3 (const int)
 0:?   Linker Objects
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140 offset=88) uniform structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal} t})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform structure{layout( offset=68) temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal} s})
+0:?     'anon@1' (layout( row_major std140) uniform block{layout( row_major std140 offset=88) uniform structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal} t})
 0:?     'f' (layout( location=0) out float)
 0:?     'g' (layout( location=1) out float)
 0:?     'd' ( out float FragDepth)
 0:?     'normal' (layout( location=2) out 4-component vector of float)
 0:?     't' (layout( location=0) in structure{ temp float f,  centroid temp float g,  temp float d,  temp 4-component vector of float normal})
-0:?     'anon@1' (layout( row_major std140) uniform block{layout( offset=0) uniform structure{layout( offset=68) temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal} s})
 
 
 Linked fragment stage:
@@ -103,13 +103,13 @@ using depth_greater
 0:15            Constant:
 0:15              3 (const int)
 0:?   Linker Objects
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140 offset=88) uniform structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal} t})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform structure{layout( offset=68) temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal} s})
+0:?     'anon@1' (layout( row_major std140) uniform block{layout( row_major std140 offset=88) uniform structure{ temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal} t})
 0:?     'f' (layout( location=0) out float)
 0:?     'g' (layout( location=1) out float)
 0:?     'd' ( out float FragDepth)
 0:?     'normal' (layout( location=2) out 4-component vector of float)
 0:?     't' (layout( location=0) in structure{ temp float f,  centroid temp float g,  temp float d,  temp 4-component vector of float normal})
-0:?     'anon@1' (layout( row_major std140) uniform block{layout( offset=0) uniform structure{layout( offset=68) temp float f,  temp float g,  temp float d,  temp 4-component vector of float normal} s})
 
 // Module Version 10000
 // Generated by (magic number): 80001
@@ -148,16 +148,16 @@ using depth_greater
                               MemberName 56(T) 1  "g"
                               MemberName 56(T) 2  "d"
                               MemberName 56(T) 3  "normal"
-                              Name 57  "buff"
-                              MemberName 57(buff) 0  "t"
+                              Name 57  "$Global"
+                              MemberName 57($Global) 0  "s"
                               Name 59  ""
                               Name 60  "T"
                               MemberName 60(T) 0  "f"
                               MemberName 60(T) 1  "g"
                               MemberName 60(T) 2  "d"
                               MemberName 60(T) 3  "normal"
-                              Name 61  "$Global"
-                              MemberName 61($Global) 0  "s"
+                              Name 61  "buff"
+                              MemberName 61(buff) 0  "t"
                               Name 63  ""
                               MemberDecorate 19(T) 1 Centroid
                               Decorate 21(t) Location 0
@@ -165,19 +165,19 @@ using depth_greater
                               Decorate 46(g) Location 1
                               Decorate 49(d) BuiltIn FragDepth
                               Decorate 53(normal) Location 2
-                              MemberDecorate 56(T) 0 Offset 0
-                              MemberDecorate 56(T) 1 Offset 4
-                              MemberDecorate 56(T) 2 Offset 8
-                              MemberDecorate 56(T) 3 Offset 16
-                              MemberDecorate 57(buff) 0 Offset 96
-                              Decorate 57(buff) Block
+                              MemberDecorate 56(T) 0 Offset 68
+                              MemberDecorate 56(T) 1 Offset 72
+                              MemberDecorate 56(T) 2 Offset 76
+                              MemberDecorate 56(T) 3 Offset 80
+                              MemberDecorate 57($Global) 0 Offset 0
+                              Decorate 57($Global) Block
                               Decorate 59 DescriptorSet 0
-                              MemberDecorate 60(T) 0 Offset 68
-                              MemberDecorate 60(T) 1 Offset 72
-                              MemberDecorate 60(T) 2 Offset 76
-                              MemberDecorate 60(T) 3 Offset 80
-                              MemberDecorate 61($Global) 0 Offset 0
-                              Decorate 61($Global) Block
+                              MemberDecorate 60(T) 0 Offset 0
+                              MemberDecorate 60(T) 1 Offset 4
+                              MemberDecorate 60(T) 2 Offset 8
+                              MemberDecorate 60(T) 3 Offset 16
+                              MemberDecorate 61(buff) 0 Offset 96
+                              Decorate 61(buff) Block
                               Decorate 63 DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
@@ -203,12 +203,12 @@ using depth_greater
               52:             TypePointer Output 7(fvec4)
       53(normal):     52(ptr) Variable Output
            56(T):             TypeStruct 6(float) 6(float) 6(float) 7(fvec4)
-        57(buff):             TypeStruct 56(T)
-              58:             TypePointer Uniform 57(buff)
+     57($Global):             TypeStruct 56(T)
+              58:             TypePointer Uniform 57($Global)
               59:     58(ptr) Variable Uniform
            60(T):             TypeStruct 6(float) 6(float) 6(float) 7(fvec4)
-     61($Global):             TypeStruct 60(T)
-              62:             TypePointer Uniform 61($Global)
+        61(buff):             TypeStruct 60(T)
+              62:             TypePointer Uniform 61(buff)
               63:     62(ptr) Variable Uniform
          4(main):           2 Function None 3
                5:             Label
diff --git a/Test/baseResults/hlsl.tx.bracket.frag.out b/Test/baseResults/hlsl.tx.bracket.frag.out
index 1da45d2ad9a7a95c633151b9fa93bf9ea5d62f9e..9e1db24f35e84ae69dc9878ef162b72e7aff67a7 100644
--- a/Test/baseResults/hlsl.tx.bracket.frag.out
+++ b/Test/baseResults/hlsl.tx.bracket.frag.out
@@ -25,8 +25,8 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 0:42      Branch: Return with expression
 0:42        Convert int to float ( temp 4-component vector of float)
-0:42          c4: direct index for structure (layout( offset=32) uniform 4-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})
+0:42          c4: direct index for structure ( uniform 4-component vector of int)
+0:42            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:42            Constant:
 0:42              3 (const uint)
 0:45  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
@@ -34,8 +34,8 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 0:49      textureFetch ( temp 4-component vector of float)
 0:49        'g_tTex1df4' (layout( binding=0) uniform texture1D)
-0:49        c1: direct index for structure (layout( offset=0) uniform 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        c1: direct index for structure ( uniform int)
+0:49          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:49          Constant:
 0:49            0 (const uint)
 0:49        Constant:
@@ -45,8 +45,8 @@ gl_FragCoord origin is upper left
 0:51          'r00' ( temp 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            c1: direct index for structure (layout( offset=0) uniform 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            c1: direct index for structure ( uniform int)
+0:51              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51              Constant:
 0:51                0 (const uint)
 0:51            Constant:
@@ -56,8 +56,8 @@ gl_FragCoord origin is upper left
 0:52          'r01' ( temp 4-component vector of int)
 0:52          textureFetch ( temp 4-component vector of int)
 0:52            'g_tTex1di4' ( uniform itexture1D)
-0:52            c1: direct index for structure (layout( offset=0) uniform int)
-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            c1: direct index for structure ( uniform int)
+0:52              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52              Constant:
 0:52                0 (const uint)
 0:52            Constant:
@@ -67,8 +67,8 @@ gl_FragCoord origin is upper left
 0:53          'r02' ( temp 4-component vector of uint)
 0:53          textureFetch ( temp 4-component vector of uint)
 0:53            'g_tTex1du4' ( uniform utexture1D)
-0:53            c1: direct index for structure (layout( offset=0) uniform int)
-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            c1: direct index for structure ( uniform int)
+0:53              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53              Constant:
 0:53                0 (const uint)
 0:53            Constant:
@@ -78,8 +78,8 @@ gl_FragCoord origin is upper left
 0:56          'r10' ( temp 4-component vector of float)
 0:56          textureFetch ( temp 4-component vector of float)
 0:56            'g_tTex2df4' ( uniform texture2D)
-0:56            c2: direct index for structure (layout( offset=8) uniform 2-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})
+0:56            c2: direct index for structure ( uniform 2-component vector of int)
+0:56              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:56              Constant:
 0:56                1 (const uint)
 0:56            Constant:
@@ -89,8 +89,8 @@ gl_FragCoord origin is upper left
 0:57          'r11' ( temp 4-component vector of int)
 0:57          textureFetch ( temp 4-component vector of int)
 0:57            'g_tTex2di4' ( uniform itexture2D)
-0:57            c2: direct index for structure (layout( offset=8) uniform 2-component vector of 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})
+0:57            c2: direct index for structure ( uniform 2-component vector of int)
+0:57              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57              Constant:
 0:57                1 (const uint)
 0:57            Constant:
@@ -100,8 +100,8 @@ gl_FragCoord origin is upper left
 0:58          'r12' ( temp 4-component vector of uint)
 0:58          textureFetch ( temp 4-component vector of uint)
 0:58            'g_tTex2du4' ( uniform utexture2D)
-0:58            c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
-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            c2: direct index for structure ( uniform 2-component vector of int)
+0:58              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58              Constant:
 0:58                1 (const uint)
 0:58            Constant:
@@ -111,8 +111,8 @@ gl_FragCoord origin is upper left
 0:61          'r20' ( temp 4-component vector of float)
 0:61          textureFetch ( temp 4-component vector of float)
 0:61            'g_tTex3df4' ( uniform texture3D)
-0:61            c3: direct index for structure (layout( offset=16) uniform 3-component vector of 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})
+0:61            c3: direct index for structure ( uniform 3-component vector of int)
+0:61              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:61              Constant:
 0:61                2 (const uint)
 0:61            Constant:
@@ -122,8 +122,8 @@ gl_FragCoord origin is upper left
 0:62          'r21' ( temp 4-component vector of int)
 0:62          textureFetch ( temp 4-component vector of int)
 0:62            'g_tTex3di4' ( uniform itexture3D)
-0:62            c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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            c3: direct index for structure ( uniform 3-component vector of int)
+0:62              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62              Constant:
 0:62                2 (const uint)
 0:62            Constant:
@@ -133,8 +133,8 @@ gl_FragCoord origin is upper left
 0:63          'r22' ( temp 4-component vector of uint)
 0:63          textureFetch ( temp 4-component vector of uint)
 0:63            'g_tTex3du4' ( uniform utexture3D)
-0:63            c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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            c3: direct index for structure ( uniform 3-component vector of int)
+0:63              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63              Constant:
 0:63                2 (const uint)
 0:63            Constant:
@@ -142,8 +142,8 @@ gl_FragCoord origin is upper left
 0:66      Function Call: Fn1(vf4; ( temp 4-component vector of float)
 0:66        textureFetch ( temp 4-component vector of float)
 0:66          'g_tTex1df4' (layout( binding=0) uniform texture1D)
-0:66          c1: direct index for structure (layout( offset=0) uniform 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})
+0:66          c1: direct index for structure ( uniform int)
+0:66            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:66            Constant:
 0:66              0 (const uint)
 0:66          Constant:
@@ -151,8 +151,8 @@ gl_FragCoord origin is upper left
 0:67      Function Call: Fn1(vi4; ( temp 4-component vector of int)
 0:67        textureFetch ( temp 4-component vector of int)
 0:67          'g_tTex1di4' ( uniform itexture1D)
-0:67          c1: direct index for structure (layout( offset=0) uniform int)
-0:67            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:67          c1: direct index for structure ( uniform int)
+0:67            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:67            Constant:
 0:67              0 (const uint)
 0:67          Constant:
@@ -160,8 +160,8 @@ gl_FragCoord origin is upper left
 0:68      Function Call: Fn1(vu4; ( temp 4-component vector of uint)
 0:68        textureFetch ( temp 4-component vector of uint)
 0:68          'g_tTex1du4' ( uniform utexture1D)
-0:68          c1: direct index for structure (layout( offset=0) uniform int)
-0:68            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:68          c1: direct index for structure ( uniform int)
+0:68            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:68            Constant:
 0:68              0 (const uint)
 0:68          Constant:
@@ -205,7 +205,7 @@ gl_FragCoord origin is upper left
 0:?     'g_tTex2df4a' ( uniform texture2DArray)
 0:?     'g_tTex2di4a' ( uniform itexture2DArray)
 0:?     'g_tTex2du4a' ( uniform utexture2DArray)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 
 
@@ -238,8 +238,8 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 0:42      Branch: Return with expression
 0:42        Convert int to float ( temp 4-component vector of float)
-0:42          c4: direct index for structure (layout( offset=32) uniform 4-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})
+0:42          c4: direct index for structure ( uniform 4-component vector of int)
+0:42            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:42            Constant:
 0:42              3 (const uint)
 0:45  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
@@ -247,8 +247,8 @@ gl_FragCoord origin is upper left
 0:?     Sequence
 0:49      textureFetch ( temp 4-component vector of float)
 0:49        'g_tTex1df4' (layout( binding=0) uniform texture1D)
-0:49        c1: direct index for structure (layout( offset=0) uniform 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        c1: direct index for structure ( uniform int)
+0:49          'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:49          Constant:
 0:49            0 (const uint)
 0:49        Constant:
@@ -258,8 +258,8 @@ gl_FragCoord origin is upper left
 0:51          'r00' ( temp 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            c1: direct index for structure (layout( offset=0) uniform 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            c1: direct index for structure ( uniform int)
+0:51              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:51              Constant:
 0:51                0 (const uint)
 0:51            Constant:
@@ -269,8 +269,8 @@ gl_FragCoord origin is upper left
 0:52          'r01' ( temp 4-component vector of int)
 0:52          textureFetch ( temp 4-component vector of int)
 0:52            'g_tTex1di4' ( uniform itexture1D)
-0:52            c1: direct index for structure (layout( offset=0) uniform int)
-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            c1: direct index for structure ( uniform int)
+0:52              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:52              Constant:
 0:52                0 (const uint)
 0:52            Constant:
@@ -280,8 +280,8 @@ gl_FragCoord origin is upper left
 0:53          'r02' ( temp 4-component vector of uint)
 0:53          textureFetch ( temp 4-component vector of uint)
 0:53            'g_tTex1du4' ( uniform utexture1D)
-0:53            c1: direct index for structure (layout( offset=0) uniform int)
-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            c1: direct index for structure ( uniform int)
+0:53              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:53              Constant:
 0:53                0 (const uint)
 0:53            Constant:
@@ -291,8 +291,8 @@ gl_FragCoord origin is upper left
 0:56          'r10' ( temp 4-component vector of float)
 0:56          textureFetch ( temp 4-component vector of float)
 0:56            'g_tTex2df4' ( uniform texture2D)
-0:56            c2: direct index for structure (layout( offset=8) uniform 2-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})
+0:56            c2: direct index for structure ( uniform 2-component vector of int)
+0:56              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:56              Constant:
 0:56                1 (const uint)
 0:56            Constant:
@@ -302,8 +302,8 @@ gl_FragCoord origin is upper left
 0:57          'r11' ( temp 4-component vector of int)
 0:57          textureFetch ( temp 4-component vector of int)
 0:57            'g_tTex2di4' ( uniform itexture2D)
-0:57            c2: direct index for structure (layout( offset=8) uniform 2-component vector of 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})
+0:57            c2: direct index for structure ( uniform 2-component vector of int)
+0:57              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:57              Constant:
 0:57                1 (const uint)
 0:57            Constant:
@@ -313,8 +313,8 @@ gl_FragCoord origin is upper left
 0:58          'r12' ( temp 4-component vector of uint)
 0:58          textureFetch ( temp 4-component vector of uint)
 0:58            'g_tTex2du4' ( uniform utexture2D)
-0:58            c2: direct index for structure (layout( offset=8) uniform 2-component vector of int)
-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            c2: direct index for structure ( uniform 2-component vector of int)
+0:58              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:58              Constant:
 0:58                1 (const uint)
 0:58            Constant:
@@ -324,8 +324,8 @@ gl_FragCoord origin is upper left
 0:61          'r20' ( temp 4-component vector of float)
 0:61          textureFetch ( temp 4-component vector of float)
 0:61            'g_tTex3df4' ( uniform texture3D)
-0:61            c3: direct index for structure (layout( offset=16) uniform 3-component vector of 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})
+0:61            c3: direct index for structure ( uniform 3-component vector of int)
+0:61              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:61              Constant:
 0:61                2 (const uint)
 0:61            Constant:
@@ -335,8 +335,8 @@ gl_FragCoord origin is upper left
 0:62          'r21' ( temp 4-component vector of int)
 0:62          textureFetch ( temp 4-component vector of int)
 0:62            'g_tTex3di4' ( uniform itexture3D)
-0:62            c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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            c3: direct index for structure ( uniform 3-component vector of int)
+0:62              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:62              Constant:
 0:62                2 (const uint)
 0:62            Constant:
@@ -346,8 +346,8 @@ gl_FragCoord origin is upper left
 0:63          'r22' ( temp 4-component vector of uint)
 0:63          textureFetch ( temp 4-component vector of uint)
 0:63            'g_tTex3du4' ( uniform utexture3D)
-0:63            c3: direct index for structure (layout( offset=16) uniform 3-component vector of int)
-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            c3: direct index for structure ( uniform 3-component vector of int)
+0:63              'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:63              Constant:
 0:63                2 (const uint)
 0:63            Constant:
@@ -355,8 +355,8 @@ gl_FragCoord origin is upper left
 0:66      Function Call: Fn1(vf4; ( temp 4-component vector of float)
 0:66        textureFetch ( temp 4-component vector of float)
 0:66          'g_tTex1df4' (layout( binding=0) uniform texture1D)
-0:66          c1: direct index for structure (layout( offset=0) uniform 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})
+0:66          c1: direct index for structure ( uniform int)
+0:66            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:66            Constant:
 0:66              0 (const uint)
 0:66          Constant:
@@ -364,8 +364,8 @@ gl_FragCoord origin is upper left
 0:67      Function Call: Fn1(vi4; ( temp 4-component vector of int)
 0:67        textureFetch ( temp 4-component vector of int)
 0:67          'g_tTex1di4' ( uniform itexture1D)
-0:67          c1: direct index for structure (layout( offset=0) uniform int)
-0:67            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:67          c1: direct index for structure ( uniform int)
+0:67            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:67            Constant:
 0:67              0 (const uint)
 0:67          Constant:
@@ -373,8 +373,8 @@ gl_FragCoord origin is upper left
 0:68      Function Call: Fn1(vu4; ( temp 4-component vector of uint)
 0:68        textureFetch ( temp 4-component vector of uint)
 0:68          'g_tTex1du4' ( uniform utexture1D)
-0:68          c1: direct index for structure (layout( offset=0) uniform int)
-0:68            'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:68          c1: direct index for structure ( uniform int)
+0:68            'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:68            Constant:
 0:68              0 (const uint)
 0:68          Constant:
@@ -418,7 +418,7 @@ gl_FragCoord origin is upper left
 0:?     'g_tTex2df4a' ( uniform texture2DArray)
 0:?     'g_tTex2di4a' ( uniform itexture2DArray)
 0:?     'g_tTex2du4a' ( uniform utexture2DArray)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform int c1, layout( offset=8) uniform 2-component vector of int c2, layout( offset=16) uniform 3-component vector of int c3, layout( offset=32) uniform 4-component vector of int c4, layout( offset=48) uniform int o1, layout( offset=56) uniform 2-component 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:?     'anon@0' (layout( row_major std140) uniform block{ uniform int c1,  uniform 2-component vector of int c2,  uniform 3-component vector of int c3,  uniform 4-component vector of int c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
 0:?     'Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
diff --git a/Test/baseResults/hlsl.typeGraphCopy.vert.out b/Test/baseResults/hlsl.typeGraphCopy.vert.out
index 2ab6c216aa5d93f48692ebea1ca8fa5408141130..7d55c44047da7c27336ae531a71969aa831082e1 100755
--- a/Test/baseResults/hlsl.typeGraphCopy.vert.out
+++ b/Test/baseResults/hlsl.typeGraphCopy.vert.out
@@ -8,8 +8,8 @@ Shader version: 450
 0:23        b: direct index for structure ( temp float)
 0:23          s2: direct index for structure ( temp structure{ temp int a,  temp float b})
 0:23            t3: direct index for structure ( temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2})
-0:23              foo: direct index for structure (layout( offset=0) uniform structure{ temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t1,  temp structure{ temp int a,  temp float b} t2,  temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t3})
-0:23                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform structure{ temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t1,  temp structure{ temp int a,  temp float b} t2,  temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t3} foo})
+0:23              foo: direct index for structure ( uniform structure{ temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t1,  temp structure{ temp int a,  temp float b} t2,  temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t3})
+0:23                'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t1,  temp structure{ temp int a,  temp float b} t2,  temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t3} foo})
 0:23                Constant:
 0:23                  0 (const uint)
 0:23              Constant:
@@ -25,8 +25,8 @@ Shader version: 450
 0:?         '@entryPointOutput' (layout( location=0) out float)
 0:22        Function Call: @main( ( temp float)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t1,  temp structure{ temp int a,  temp float b} t2,  temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t3} foo})
 0:?     '@entryPointOutput' (layout( location=0) out float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform structure{ temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t1,  temp structure{ temp int a,  temp float b} t2,  temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t3} foo})
 
 
 Linked vertex stage:
@@ -41,8 +41,8 @@ Shader version: 450
 0:23        b: direct index for structure ( temp float)
 0:23          s2: direct index for structure ( temp structure{ temp int a,  temp float b})
 0:23            t3: direct index for structure ( temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2})
-0:23              foo: direct index for structure (layout( offset=0) uniform structure{ temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t1,  temp structure{ temp int a,  temp float b} t2,  temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t3})
-0:23                'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform structure{ temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t1,  temp structure{ temp int a,  temp float b} t2,  temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t3} foo})
+0:23              foo: direct index for structure ( uniform structure{ temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t1,  temp structure{ temp int a,  temp float b} t2,  temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t3})
+0:23                'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t1,  temp structure{ temp int a,  temp float b} t2,  temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t3} foo})
 0:23                Constant:
 0:23                  0 (const uint)
 0:23              Constant:
@@ -58,8 +58,8 @@ Shader version: 450
 0:?         '@entryPointOutput' (layout( location=0) out float)
 0:22        Function Call: @main( ( temp float)
 0:?   Linker Objects
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t1,  temp structure{ temp int a,  temp float b} t2,  temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t3} foo})
 0:?     '@entryPointOutput' (layout( location=0) out float)
-0:?     'anon@0' (layout( row_major std140) uniform block{layout( offset=0) uniform structure{ temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t1,  temp structure{ temp int a,  temp float b} t2,  temp structure{ temp structure{ temp int a,  temp float b} s1,  temp structure{ temp int a,  temp float b} s2} t3} foo})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/hlsl.amend.frag b/Test/hlsl.amend.frag
index c9fd69bd3ef2e35d4afd5f6c8e86d1c69d07f478..7c182739cdc62c683693c68ea0d38dd718ce61d7 100755
--- a/Test/hlsl.amend.frag
+++ b/Test/hlsl.amend.frag
@@ -1,6 +1,6 @@
 float4 a;
 float b;
-
+static float4 m = a * b;
 void f1()
 {
     a * b;
diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h
index 2ff33726d724337888ae7ee3db16e133b55c75ca..7482128b2bc7413a5dd7471930563f6792e87295 100644
--- a/glslang/Include/revision.h
+++ b/glslang/Include/revision.h
@@ -2,5 +2,5 @@
 // For the version, it uses the latest git tag followed by the number of commits.
 // For the date, it uses the current date (when then script is run).
 
-#define GLSLANG_REVISION "Overload400-PrecQual.1930"
+#define GLSLANG_REVISION "Overload400-PrecQual.1931"
 #define GLSLANG_DATE "22-Mar-2017"
diff --git a/glslang/MachineIndependent/ParseContextBase.cpp b/glslang/MachineIndependent/ParseContextBase.cpp
index 946eb715b86bcf05e4d78c14b5bd6d52f701bb32..d2b6b260f2af6551fa81a478943902ba8f4b4363 100644
--- a/glslang/MachineIndependent/ParseContextBase.cpp
+++ b/glslang/MachineIndependent/ParseContextBase.cpp
@@ -226,7 +226,8 @@ void TParseContextBase::rValueErrorCheck(const TSourceLoc& loc, const char* op,
 // Add 'symbol' to the list of deferred linkage symbols, which
 // are later processed in finish(), at which point the symbol
 // must still be valid.
-// It is okay if the symbol's type will be subsequently edited.
+// It is okay if the symbol's type will be subsequently edited;
+// the modifications will be tracked.
 void TParseContextBase::trackLinkage(TSymbol& symbol)
 {
     if (!parsingBuiltins)
@@ -532,19 +533,18 @@ void TParseContextBase::parseSwizzleSelector(const TSourceLoc& loc, const TStrin
 //
 void TParseContextBase::growGlobalUniformBlock(TSourceLoc& loc, TType& memberType, TString& memberName, TTypeList* typeList)
 {
-    // make the global block, if not yet made
+    // Make the global block, if not yet made.
     if (globalUniformBlock == nullptr) {
-        TString& blockName = *NewPoolTString(getGlobalUniformBlockName());
         TQualifier blockQualifier;
         blockQualifier.clear();
         blockQualifier.storage = EvqUniform;
-        TType blockType(new TTypeList, blockName, blockQualifier);
-        TString* instanceName = NewPoolTString("");
-        globalUniformBlock = new TVariable(instanceName, blockType, true);
+        TType blockType(new TTypeList, *NewPoolTString(getGlobalUniformBlockName()), blockQualifier);
+        setUniformBlockDefaults(blockType);
+        globalUniformBlock = new TVariable(NewPoolTString(""), blockType, true);
         firstNewMember = 0;
     }
 
-    // add the requested member as a member to the block
+    // Add the requested member as a member to the global block.
     TType* type = new TType;
     type->shallowCopy(memberType);
     type->setFieldName(memberName);
@@ -552,36 +552,20 @@ void TParseContextBase::growGlobalUniformBlock(TSourceLoc& loc, TType& memberTyp
         type->setStruct(typeList);
     TTypeLoc typeLoc = {type, loc};
     globalUniformBlock->getType().getWritableStruct()->push_back(typeLoc);
-}
-
-//
-// Insert into the symbol table the global uniform block created in
-// growGlobalUniformBlock(). The variables added as members won't be
-// found unless this is done.
-//
-bool TParseContextBase::insertGlobalUniformBlock()
-{
-    if (globalUniformBlock == nullptr)
-        return true;
 
-    int numMembers = (int)globalUniformBlock->getType().getStruct()->size();
-    bool inserted = false;
+    // Insert into the symbol table.
     if (firstNewMember == 0) {
         // This is the first request; we need a normal symbol table insert
-        inserted = symbolTable.insert(*globalUniformBlock);
-        if (inserted)
+        if (symbolTable.insert(*globalUniformBlock))
             trackLinkage(*globalUniformBlock);
-    } else if (firstNewMember <= numMembers) {
+        else
+            error(loc, "failed to insert the global constant buffer", "uniform", "");
+    } else {
         // This is a follow-on request; we need to amend the first insert
-        inserted = symbolTable.amend(*globalUniformBlock, firstNewMember);
-    }
-
-    if (inserted) {
-        finalizeGlobalUniformBlockLayout(*globalUniformBlock);
-        firstNewMember = numMembers;
+        symbolTable.amend(*globalUniformBlock, firstNewMember);
     }
 
-    return inserted;
+    ++firstNewMember;
 }
 
 void TParseContextBase::finish()
diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h
index 035b0fd0aef580b1a6325c983046d7c6e0745856..61db6fe64f459e34140c1524b79de67d24129329 100644
--- a/glslang/MachineIndependent/ParseHelper.h
+++ b/glslang/MachineIndependent/ParseHelper.h
@@ -136,11 +136,7 @@ public:
     TSymbolTable& symbolTable;   // symbol table that goes with the current language, version, and profile
 
     // Manage the global uniform block (default uniforms in GLSL, $Global in HLSL)
-    // TODO: This could perhaps get its own object, but the current design doesn't work
-    // yet when new uniform variables are declared between function definitions, so
-    // this is pending getting a fully functional design.
     virtual void growGlobalUniformBlock(TSourceLoc&, TType&, TString& memberName, TTypeList* typeList = nullptr);
-    virtual bool insertGlobalUniformBlock();
 
     virtual bool lValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*);
     virtual void rValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*);
@@ -177,7 +173,8 @@ protected:
     TVariable* globalUniformBlock;   // the actual block, inserted into the symbol table
     int firstNewMember;              // the index of the first member not yet inserted into the symbol table
     // override this to set the language-specific name
-    virtual const char* getGlobalUniformBlockName() { return ""; }
+    virtual const char* getGlobalUniformBlockName() const { return ""; }
+    virtual void setUniformBlockDefaults(TType& block) const { }
     virtual void finalizeGlobalUniformBlockLayout(TVariable&) { }
     virtual void outputMessage(const TSourceLoc&, const char* szReason, const char* szToken,
                                const char* szExtraInfoFormat, TPrefixType prefix,
diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp
index 0f326a46045d6ba0b199746eb06a653700346bb6..ae1d69dbf7af2a37b7d6d08fad032f943386322e 100755
--- a/hlsl/hlslParseHelper.cpp
+++ b/hlsl/hlslParseHelper.cpp
@@ -1513,11 +1513,6 @@ TIntermAggregate* HlslParseContext::handleFunctionDefinition(const TSourceLoc& l
     // rest of this function doesn't care.
     entryPointTree = transformEntryPoint(loc, function, attributes);
 
-    // Insert the $Global constant buffer.
-    // TODO: this design fails if new members are declared between function definitions.
-    if (! insertGlobalUniformBlock())
-        error(loc, "failed to insert the global constant buffer", "uniform", "");
-
     //
     // New symbol table scope for body of function plus its arguments
     //
@@ -6701,13 +6696,6 @@ void HlslParseContext::declareBlock(const TSourceLoc& loc, TType& type, const TS
     trackLinkage(variable);
 }
 
-void HlslParseContext::finalizeGlobalUniformBlockLayout(TVariable& block)
-{
-    block.getWritableType().getQualifier().layoutPacking = ElpStd140;
-    block.getWritableType().getQualifier().layoutMatrix = ElmRowMajor;
-    fixBlockUniformOffsets(block.getType().getQualifier(), *block.getWritableType().getWritableStruct());
-}
-
 //
 // "For a block, this process applies to the entire block, or until the first member
 // is reached that has a location layout qualifier. When a block member is declared with a location
diff --git a/hlsl/hlslParseHelper.h b/hlsl/hlslParseHelper.h
index aea1fcaf9b19411b4fb09faf4b670fa8c0bf5fa9..2d1968114c403826a1d7b9d3adfd00a1d5f53bf5 100755
--- a/hlsl/hlslParseHelper.h
+++ b/hlsl/hlslParseHelper.h
@@ -54,7 +54,12 @@ public:
 
     void setLimits(const TBuiltInResource&) override;
     bool parseShaderStrings(TPpContext&, TInputScanner& input, bool versionWillBeError = false) override;
-    virtual const char* getGlobalUniformBlockName() override { return "$Global"; }
+    virtual const char* getGlobalUniformBlockName() const override { return "$Global"; }
+    virtual void setUniformBlockDefaults(TType& block) const override
+    {
+        block.getQualifier().layoutPacking = ElpStd140;
+        block.getQualifier().layoutMatrix = ElmRowMajor;
+    }
 
     void reservedPpErrorCheck(const TSourceLoc&, const char* /*name*/, const char* /*op*/) override { }
     bool lineContinuationCheck(const TSourceLoc&, bool /*endOfComment*/) override { return true; }
@@ -140,7 +145,6 @@ public:
     TIntermTyped* constructAggregate(TIntermNode*, const TType&, int, const TSourceLoc&);
     TIntermTyped* constructBuiltIn(const TType&, TOperator, TIntermTyped*, const TSourceLoc&, bool subset);
     void declareBlock(const TSourceLoc&, TType&, const TString* instanceName = 0, TArraySizes* arraySizes = 0);
-    void finalizeGlobalUniformBlockLayout(TVariable& block) override;
     void fixBlockLocations(const TSourceLoc&, TQualifier&, TTypeList&, bool memberWithLocation, bool memberWithoutLocation);
     void fixBlockXfbOffsets(TQualifier&, TTypeList&);
     void fixBlockUniformOffsets(const TQualifier&, TTypeList&);