hlsl.rw.bracket.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:42  Function Definition: Fn1(vi4; (temp 4-component vector of int)
0:42    Function Parameters: 
0:42      'x' (in 4-component vector of int)
0:?     Sequence
0:42      Branch: Return with expression
0:42        'x' (in 4-component vector of int)
0:43  Function Definition: Fn1(vu4; (temp 4-component vector of uint)
0:43    Function Parameters: 
0:43      'x' (in 4-component vector of uint)
0:?     Sequence
0:43      Branch: Return with expression
0:43        'x' (in 4-component vector of uint)
0:44  Function Definition: Fn1(vf4; (temp 4-component vector of float)
0:44    Function Parameters: 
0:44      'x' (in 4-component vector of float)
0:?     Sequence
0:44      Branch: Return with expression
0:44        'x' (in 4-component vector of float)
0:46  Function Definition: Fn2(vi4; (temp void)
0:46    Function Parameters: 
0:46      'x' (out 4-component vector of int)
0:?     Sequence
0:46      move second child to first child (temp 4-component vector of int)
0:46        'x' (out 4-component vector of int)
0:46        Constant:
0:46          0 (const int)
0:46          0 (const int)
0:46          0 (const int)
0:46          0 (const int)
0:47  Function Definition: Fn2(vu4; (temp void)
0:47    Function Parameters: 
0:47      'x' (out 4-component vector of uint)
0:?     Sequence
0:47      move second child to first child (temp 4-component vector of uint)
0:47        'x' (out 4-component vector of uint)
0:47        Constant:
0:47          0 (const uint)
0:47          0 (const uint)
0:47          0 (const uint)
0:47          0 (const uint)
0:48  Function Definition: Fn2(vf4; (temp void)
0:48    Function Parameters: 
0:48      'x' (out 4-component vector of float)
0:?     Sequence
0:48      move second child to first child (temp 4-component vector of float)
0:48        'x' (out 4-component vector of float)
0:48        Constant:
0:48          0.000000
0:48          0.000000
0:48          0.000000
0:48          0.000000
0:50  Function Definition: SomeValue( (temp 4-component vector of float)
0:50    Function Parameters: 
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            Constant:
0:50              3 (const uint)
0:53  Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:53    Function Parameters: 
0:?     Sequence
0:57      imageLoad (temp 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          Constant:
0:57            0 (const uint)
0:59      Sequence
0:59        move second child to first child (temp 4-component vector of float)
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              Constant:
0:59                0 (const uint)
0:60      Sequence
0:60        move second child to first child (temp 4-component vector of int)
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              Constant:
0:60                0 (const uint)
0:61      Sequence
0:61        move second child to first child (temp 4-component vector of uint)
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              Constant:
0:61                0 (const uint)
0:64      Sequence
0:64        move second child to first child (temp 4-component vector of float)
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              Constant:
0:64                1 (const uint)
0:65      Sequence
0:65        move second child to first child (temp 4-component vector of int)
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              Constant:
0:65                1 (const uint)
0:66      Sequence
0:66        move second child to first child (temp 4-component vector of uint)
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              Constant:
0:66                1 (const uint)
0:69      Sequence
0:69        move second child to first child (temp 4-component vector of float)
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              Constant:
0:69                2 (const uint)
0:70      Sequence
0:70        move second child to first child (temp 4-component vector of int)
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              Constant:
0:70                2 (const uint)
0:71      Sequence
0:71        move second child to first child (temp 4-component vector of uint)
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              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            Constant:
0:73              8 (const uint)
0:77      Sequence
0:77        move second child to first child (temp 4-component vector of float)
0:77          'storeTemp' (temp 4-component vector of float)
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            Constant:
0:77              0 (const uint)
0:77          'storeTemp' (temp 4-component vector of float)
0:77        'storeTemp' (temp 4-component vector of float)
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            Constant:
0:78              0 (const uint)
0:78          'lf4' (temp 4-component vector of float)
0:78        'lf4' (temp 4-component vector of float)
0:79      Sequence
0:79        move second child to first child (temp 4-component vector of int)
0:79          'storeTemp' (temp 4-component vector of int)
0:?           Constant:
0:?             2 (const int)
0:?             2 (const int)
0:?             3 (const int)
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            Constant:
0:79              0 (const uint)
0:79          'storeTemp' (temp 4-component vector of int)
0:79        'storeTemp' (temp 4-component vector of int)
0:80      Sequence
0:80        move second child to first child (temp 4-component vector of uint)
0:80          'storeTemp' (temp 4-component vector of uint)
0:?           Constant:
0:?             3 (const uint)
0:?             2 (const uint)
0:?             3 (const uint)
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            Constant:
0:80              0 (const uint)
0:80          'storeTemp' (temp 4-component vector of uint)
0:80        'storeTemp' (temp 4-component vector of uint)
0:83      Sequence
0:83        move second child to first child (temp 4-component vector of float)
0:83          'val1' (temp 4-component vector of float)
0:83          Sequence
0:83            move second child to first child (temp int)
0:83              'coordTemp' (temp int)
0:83              c1: direct index for structure (layout(offset=0 ) uniform int)
0:83                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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                Constant:
0:83                  0 (const uint)
0:83            move second child to first child (temp 4-component vector of float)
0:83              'storeTemp' (temp 4-component vector of float)
0:83              imageLoad (temp 4-component vector of float)
0:83                'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:83                'coordTemp' (temp int)
0:83            vector scale second child into first child (temp 4-component vector of float)
0:83              'storeTemp' (temp 4-component vector of float)
0:83              Constant:
0:83                2.000000
0:83            imageStore (temp void)
0:83              'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:83              'coordTemp' (temp int)
0:83              'storeTemp' (temp 4-component vector of float)
0:83            'storeTemp' (temp 4-component vector of float)
0:84      Sequence
0:84        move second child to first child (temp int)
0:84          'coordTemp' (temp int)
0:84          c1: direct index for structure (layout(offset=0 ) uniform int)
0:84            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:84              0 (const uint)
0:84        move second child to first child (temp 4-component vector of float)
0:84          'storeTemp' (temp 4-component vector of float)
0:84          imageLoad (temp 4-component vector of float)
0:84            'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:84            'coordTemp' (temp int)
0:84        subtract second child into first child (temp 4-component vector of float)
0:84          'storeTemp' (temp 4-component vector of float)
0:84          Constant:
0:84            3.000000
0:84        imageStore (temp void)
0:84          'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:84          'coordTemp' (temp int)
0:84          'storeTemp' (temp 4-component vector of float)
0:84        'storeTemp' (temp 4-component vector of float)
0:85      Sequence
0:85        move second child to first child (temp int)
0:85          'coordTemp' (temp int)
0:85          c1: direct index for structure (layout(offset=0 ) uniform int)
0:85            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:85              0 (const uint)
0:85        move second child to first child (temp 4-component vector of float)
0:85          'storeTemp' (temp 4-component vector of float)
0:85          imageLoad (temp 4-component vector of float)
0:85            'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:85            'coordTemp' (temp int)
0:85        add second child into first child (temp 4-component vector of float)
0:85          'storeTemp' (temp 4-component vector of float)
0:85          Constant:
0:85            4.000000
0:85        imageStore (temp void)
0:85          'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:85          'coordTemp' (temp int)
0:85          'storeTemp' (temp 4-component vector of float)
0:85        'storeTemp' (temp 4-component vector of float)
0:87      Sequence
0:87        move second child to first child (temp int)
0:87          'coordTemp' (temp int)
0:87          c1: direct index for structure (layout(offset=0 ) uniform int)
0:87            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:87              0 (const uint)
0:87        move second child to first child (temp 4-component vector of int)
0:87          'storeTemp' (temp 4-component vector of int)
0:87          imageLoad (temp 4-component vector of int)
0:87            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:87            'coordTemp' (temp int)
0:87        divide second child into first child (temp 4-component vector of int)
0:87          'storeTemp' (temp 4-component vector of int)
0:87          Constant:
0:87            2 (const int)
0:87        imageStore (temp void)
0:87          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:87          'coordTemp' (temp int)
0:87          'storeTemp' (temp 4-component vector of int)
0:87        'storeTemp' (temp 4-component vector of int)
0:88      Sequence
0:88        move second child to first child (temp int)
0:88          'coordTemp' (temp int)
0:88          c1: direct index for structure (layout(offset=0 ) uniform int)
0:88            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:88              0 (const uint)
0:88        move second child to first child (temp 4-component vector of int)
0:88          'storeTemp' (temp 4-component vector of int)
0:88          imageLoad (temp 4-component vector of int)
0:88            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:88            'coordTemp' (temp int)
0:88        mod second child into first child (temp 4-component vector of int)
0:88          'storeTemp' (temp 4-component vector of int)
0:88          Constant:
0:88            2 (const int)
0:88        imageStore (temp void)
0:88          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:88          'coordTemp' (temp int)
0:88          'storeTemp' (temp 4-component vector of int)
0:88        'storeTemp' (temp 4-component vector of int)
0:89      Sequence
0:89        move second child to first child (temp int)
0:89          'coordTemp' (temp int)
0:89          c1: direct index for structure (layout(offset=0 ) uniform int)
0:89            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:89              0 (const uint)
0:89        move second child to first child (temp 4-component vector of int)
0:89          'storeTemp' (temp 4-component vector of int)
0:89          imageLoad (temp 4-component vector of int)
0:89            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:89            'coordTemp' (temp int)
0:89        and second child into first child (temp 4-component vector of int)
0:89          'storeTemp' (temp 4-component vector of int)
0:89          Constant:
0:89            65535 (const int)
0:89        imageStore (temp void)
0:89          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:89          'coordTemp' (temp int)
0:89          'storeTemp' (temp 4-component vector of int)
0:89        'storeTemp' (temp 4-component vector of int)
0:90      Sequence
0:90        move second child to first child (temp int)
0:90          'coordTemp' (temp int)
0:90          c1: direct index for structure (layout(offset=0 ) uniform int)
0:90            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:90              0 (const uint)
0:90        move second child to first child (temp 4-component vector of int)
0:90          'storeTemp' (temp 4-component vector of int)
0:90          imageLoad (temp 4-component vector of int)
0:90            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:90            'coordTemp' (temp int)
0:90        or second child into first child (temp 4-component vector of int)
0:90          'storeTemp' (temp 4-component vector of int)
0:90          Constant:
0:90            61680 (const int)
0:90        imageStore (temp void)
0:90          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:90          'coordTemp' (temp int)
0:90          'storeTemp' (temp 4-component vector of int)
0:90        'storeTemp' (temp 4-component vector of int)
0:91      Sequence
0:91        move second child to first child (temp int)
0:91          'coordTemp' (temp int)
0:91          c1: direct index for structure (layout(offset=0 ) uniform int)
0:91            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:91              0 (const uint)
0:91        move second child to first child (temp 4-component vector of int)
0:91          'storeTemp' (temp 4-component vector of int)
0:91          imageLoad (temp 4-component vector of int)
0:91            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:91            'coordTemp' (temp int)
0:91        left shift second child into first child (temp 4-component vector of int)
0:91          'storeTemp' (temp 4-component vector of int)
0:91          Constant:
0:91            2 (const int)
0:91        imageStore (temp void)
0:91          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:91          'coordTemp' (temp int)
0:91          'storeTemp' (temp 4-component vector of int)
0:91        'storeTemp' (temp 4-component vector of int)
0:92      Sequence
0:92        move second child to first child (temp int)
0:92          'coordTemp' (temp int)
0:92          c1: direct index for structure (layout(offset=0 ) uniform int)
0:92            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:92              0 (const uint)
0:92        move second child to first child (temp 4-component vector of int)
0:92          'storeTemp' (temp 4-component vector of int)
0:92          imageLoad (temp 4-component vector of int)
0:92            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:92            'coordTemp' (temp int)
0:92        right shift second child into first child (temp 4-component vector of int)
0:92          'storeTemp' (temp 4-component vector of int)
0:92          Constant:
0:92            2 (const int)
0:92        imageStore (temp void)
0:92          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:92          'coordTemp' (temp int)
0:92          'storeTemp' (temp 4-component vector of int)
0:92        'storeTemp' (temp 4-component vector of int)
0:95      Sequence
0:95        move second child to first child (temp 4-component vector of float)
0:95          'storeTemp' (temp 4-component vector of float)
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            Constant:
0:95              1 (const uint)
0:95          'storeTemp' (temp 4-component vector of float)
0:95        'storeTemp' (temp 4-component vector of float)
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            Constant:
0:96              1 (const uint)
0:96          'lf4' (temp 4-component vector of float)
0:96        'lf4' (temp 4-component vector of float)
0:97      Sequence
0:97        move second child to first child (temp 4-component vector of int)
0:97          'storeTemp' (temp 4-component vector of int)
0:?           Constant:
0:?             5 (const int)
0:?             2 (const int)
0:?             3 (const int)
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            Constant:
0:97              1 (const uint)
0:97          'storeTemp' (temp 4-component vector of int)
0:97        'storeTemp' (temp 4-component vector of int)
0:98      Sequence
0:98        move second child to first child (temp 4-component vector of uint)
0:98          'storeTemp' (temp 4-component vector of uint)
0:?           Constant:
0:?             6 (const uint)
0:?             2 (const uint)
0:?             3 (const uint)
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            Constant:
0:98              1 (const uint)
0:98          'storeTemp' (temp 4-component vector of uint)
0:98        'storeTemp' (temp 4-component vector of uint)
0:101      Sequence
0:101        move second child to first child (temp 4-component vector of float)
0:101          'storeTemp' (temp 4-component vector of float)
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            Constant:
0:101              2 (const uint)
0:101          'storeTemp' (temp 4-component vector of float)
0:101        'storeTemp' (temp 4-component vector of float)
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            Constant:
0:102              2 (const uint)
0:102          'lf4' (temp 4-component vector of float)
0:102        'lf4' (temp 4-component vector of float)
0:103      Sequence
0:103        move second child to first child (temp 4-component vector of int)
0:103          'storeTemp' (temp 4-component vector of int)
0:?           Constant:
0:?             8 (const int)
0:?             6 (const int)
0:?             7 (const int)
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            Constant:
0:103              2 (const uint)
0:103          'storeTemp' (temp 4-component vector of int)
0:103        'storeTemp' (temp 4-component vector of int)
0:104      Sequence
0:104        move second child to first child (temp 4-component vector of uint)
0:104          'storeTemp' (temp 4-component vector of uint)
0:?           Constant:
0:?             9 (const uint)
0:?             2 (const uint)
0:?             3 (const uint)
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            Constant:
0:104              2 (const uint)
0:104          'storeTemp' (temp 4-component vector of uint)
0:104        'storeTemp' (temp 4-component vector of uint)
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            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            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            Constant:
0:109              0 (const uint)
0:111      Comma (temp void)
0:111        Function Call: Fn2(vf4; (temp void)
0:111          'tempArg' (temp 4-component vector of float)
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              Constant:
0:111                0 (const uint)
0:111            'tempArg' (temp 4-component vector of float)
0:111          'tempArg' (temp 4-component vector of float)
0:112      Comma (temp void)
0:112        Function Call: Fn2(vi4; (temp void)
0:112          'tempArg' (temp 4-component vector of int)
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              Constant:
0:112                0 (const uint)
0:112            'tempArg' (temp 4-component vector of int)
0:112          'tempArg' (temp 4-component vector of int)
0:113      Comma (temp void)
0:113        Function Call: Fn2(vu4; (temp void)
0:113          'tempArg' (temp 4-component vector of uint)
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              Constant:
0:113                0 (const uint)
0:113            'tempArg' (temp 4-component vector of uint)
0:113          'tempArg' (temp 4-component vector of uint)
0:117      Sequence
0:117        move second child to first child (temp int)
0:117          'coordTemp' (temp int)
0:117          c1: direct index for structure (layout(offset=0 ) uniform int)
0:117            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:117              0 (const uint)
0:117        move second child to first child (temp 4-component vector of float)
0:117          'storeTemp' (temp 4-component vector of float)
0:117          imageLoad (temp 4-component vector of float)
0:117            'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:117            'coordTemp' (temp int)
0:117        Pre-Increment (temp 4-component vector of float)
0:117          'storeTemp' (temp 4-component vector of float)
0:117        imageStore (temp void)
0:117          'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:117          'coordTemp' (temp int)
0:117          'storeTemp' (temp 4-component vector of float)
0:117        'storeTemp' (temp 4-component vector of float)
0:118      Sequence
0:118        move second child to first child (temp int)
0:118          'coordTemp' (temp int)
0:118          c1: direct index for structure (layout(offset=0 ) uniform int)
0:118            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:118              0 (const uint)
0:118        move second child to first child (temp 4-component vector of int)
0:118          'storeTemp' (temp 4-component vector of int)
0:118          imageLoad (temp 4-component vector of int)
0:118            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:118            'coordTemp' (temp int)
0:118        Pre-Increment (temp 4-component vector of int)
0:118          'storeTemp' (temp 4-component vector of int)
0:118        imageStore (temp void)
0:118          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:118          'coordTemp' (temp int)
0:118          'storeTemp' (temp 4-component vector of int)
0:118        'storeTemp' (temp 4-component vector of int)
0:119      Sequence
0:119        move second child to first child (temp int)
0:119          'coordTemp' (temp int)
0:119          c1: direct index for structure (layout(offset=0 ) uniform int)
0:119            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:119              0 (const uint)
0:119        move second child to first child (temp 4-component vector of uint)
0:119          'storeTemp' (temp 4-component vector of uint)
0:119          imageLoad (temp 4-component vector of uint)
0:119            'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:119            'coordTemp' (temp int)
0:119        Pre-Increment (temp 4-component vector of uint)
0:119          'storeTemp' (temp 4-component vector of uint)
0:119        imageStore (temp void)
0:119          'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:119          'coordTemp' (temp int)
0:119          'storeTemp' (temp 4-component vector of uint)
0:119        'storeTemp' (temp 4-component vector of uint)
0:121      Sequence
0:121        move second child to first child (temp int)
0:121          'coordTemp' (temp int)
0:121          c1: direct index for structure (layout(offset=0 ) uniform int)
0:121            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:121              0 (const uint)
0:121        move second child to first child (temp 4-component vector of float)
0:121          'storeTemp' (temp 4-component vector of float)
0:121          imageLoad (temp 4-component vector of float)
0:121            'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:121            'coordTemp' (temp int)
0:121        Pre-Decrement (temp 4-component vector of float)
0:121          'storeTemp' (temp 4-component vector of float)
0:121        imageStore (temp void)
0:121          'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:121          'coordTemp' (temp int)
0:121          'storeTemp' (temp 4-component vector of float)
0:121        'storeTemp' (temp 4-component vector of float)
0:122      Sequence
0:122        move second child to first child (temp int)
0:122          'coordTemp' (temp int)
0:122          c1: direct index for structure (layout(offset=0 ) uniform int)
0:122            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:122              0 (const uint)
0:122        move second child to first child (temp 4-component vector of int)
0:122          'storeTemp' (temp 4-component vector of int)
0:122          imageLoad (temp 4-component vector of int)
0:122            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:122            'coordTemp' (temp int)
0:122        Pre-Decrement (temp 4-component vector of int)
0:122          'storeTemp' (temp 4-component vector of int)
0:122        imageStore (temp void)
0:122          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:122          'coordTemp' (temp int)
0:122          'storeTemp' (temp 4-component vector of int)
0:122        'storeTemp' (temp 4-component vector of int)
0:123      Sequence
0:123        move second child to first child (temp int)
0:123          'coordTemp' (temp int)
0:123          c1: direct index for structure (layout(offset=0 ) uniform int)
0:123            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:123              0 (const uint)
0:123        move second child to first child (temp 4-component vector of uint)
0:123          'storeTemp' (temp 4-component vector of uint)
0:123          imageLoad (temp 4-component vector of uint)
0:123            'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:123            'coordTemp' (temp int)
0:123        Pre-Decrement (temp 4-component vector of uint)
0:123          'storeTemp' (temp 4-component vector of uint)
0:123        imageStore (temp void)
0:123          'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:123          'coordTemp' (temp int)
0:123          'storeTemp' (temp 4-component vector of uint)
0:123        'storeTemp' (temp 4-component vector of uint)
0:126      Sequence
0:126        move second child to first child (temp int)
0:126          'coordTemp' (temp int)
0:126          c1: direct index for structure (layout(offset=0 ) uniform int)
0:126            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:126              0 (const uint)
0:126        move second child to first child (temp 4-component vector of float)
0:126          'storeTempPre' (temp 4-component vector of float)
0:126          imageLoad (temp 4-component vector of float)
0:126            'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:126            'coordTemp' (temp int)
0:126        move second child to first child (temp 4-component vector of float)
0:126          'storeTempPost' (temp 4-component vector of float)
0:126          'storeTempPre' (temp 4-component vector of float)
0:126        Post-Increment (temp 4-component vector of float)
0:126          'storeTempPost' (temp 4-component vector of float)
0:126        imageStore (temp void)
0:126          'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:126          'coordTemp' (temp int)
0:126          'storeTempPost' (temp 4-component vector of float)
0:126        'storeTempPre' (temp 4-component vector of float)
0:127      Sequence
0:127        move second child to first child (temp int)
0:127          'coordTemp' (temp int)
0:127          c1: direct index for structure (layout(offset=0 ) uniform int)
0:127            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:127              0 (const uint)
0:127        move second child to first child (temp 4-component vector of uint)
0:127          'storeTempPre' (temp 4-component vector of uint)
0:127          imageLoad (temp 4-component vector of uint)
0:127            'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:127            'coordTemp' (temp int)
0:127        move second child to first child (temp 4-component vector of uint)
0:127          'storeTempPost' (temp 4-component vector of uint)
0:127          'storeTempPre' (temp 4-component vector of uint)
0:127        Post-Decrement (temp 4-component vector of uint)
0:127          'storeTempPost' (temp 4-component vector of uint)
0:127        imageStore (temp void)
0:127          'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:127          'coordTemp' (temp int)
0:127          'storeTempPost' (temp 4-component vector of uint)
0:127        'storeTempPre' (temp 4-component vector of uint)
0:128      Sequence
0:128        move second child to first child (temp int)
0:128          'coordTemp' (temp int)
0:128          c1: direct index for structure (layout(offset=0 ) uniform int)
0:128            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:128              0 (const uint)
0:128        move second child to first child (temp 4-component vector of int)
0:128          'storeTempPre' (temp 4-component vector of int)
0:128          imageLoad (temp 4-component vector of int)
0:128            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:128            'coordTemp' (temp int)
0:128        move second child to first child (temp 4-component vector of int)
0:128          'storeTempPost' (temp 4-component vector of int)
0:128          'storeTempPre' (temp 4-component vector of int)
0:128        Post-Increment (temp 4-component vector of int)
0:128          'storeTempPost' (temp 4-component vector of int)
0:128        imageStore (temp void)
0:128          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:128          'coordTemp' (temp int)
0:128          'storeTempPost' (temp 4-component vector of int)
0:128        'storeTempPre' (temp 4-component vector of int)
0:130      Sequence
0:130        move second child to first child (temp int)
0:130          'coordTemp' (temp int)
0:130          c1: direct index for structure (layout(offset=0 ) uniform int)
0:130            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:130              0 (const uint)
0:130        move second child to first child (temp 4-component vector of float)
0:130          'storeTempPre' (temp 4-component vector of float)
0:130          imageLoad (temp 4-component vector of float)
0:130            'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:130            'coordTemp' (temp int)
0:130        move second child to first child (temp 4-component vector of float)
0:130          'storeTempPost' (temp 4-component vector of float)
0:130          'storeTempPre' (temp 4-component vector of float)
0:130        Post-Decrement (temp 4-component vector of float)
0:130          'storeTempPost' (temp 4-component vector of float)
0:130        imageStore (temp void)
0:130          'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:130          'coordTemp' (temp int)
0:130          'storeTempPost' (temp 4-component vector of float)
0:130        'storeTempPre' (temp 4-component vector of float)
0:131      Sequence
0:131        move second child to first child (temp int)
0:131          'coordTemp' (temp int)
0:131          c1: direct index for structure (layout(offset=0 ) uniform int)
0:131            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:131              0 (const uint)
0:131        move second child to first child (temp 4-component vector of int)
0:131          'storeTempPre' (temp 4-component vector of int)
0:131          imageLoad (temp 4-component vector of int)
0:131            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:131            'coordTemp' (temp int)
0:131        move second child to first child (temp 4-component vector of int)
0:131          'storeTempPost' (temp 4-component vector of int)
0:131          'storeTempPre' (temp 4-component vector of int)
0:131        Post-Increment (temp 4-component vector of int)
0:131          'storeTempPost' (temp 4-component vector of int)
0:131        imageStore (temp void)
0:131          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:131          'coordTemp' (temp int)
0:131          'storeTempPost' (temp 4-component vector of int)
0:131        'storeTempPre' (temp 4-component vector of int)
0:132      Sequence
0:132        move second child to first child (temp int)
0:132          'coordTemp' (temp int)
0:132          c1: direct index for structure (layout(offset=0 ) uniform int)
0:132            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:132              0 (const uint)
0:132        move second child to first child (temp 4-component vector of uint)
0:132          'storeTempPre' (temp 4-component vector of uint)
0:132          imageLoad (temp 4-component vector of uint)
0:132            'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:132            'coordTemp' (temp int)
0:132        move second child to first child (temp 4-component vector of uint)
0:132          'storeTempPost' (temp 4-component vector of uint)
0:132          'storeTempPre' (temp 4-component vector of uint)
0:132        Post-Decrement (temp 4-component vector of uint)
0:132          'storeTempPost' (temp 4-component vector of uint)
0:132        imageStore (temp void)
0:132          'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:132          'coordTemp' (temp int)
0:132          'storeTempPost' (temp 4-component vector of uint)
0:132        'storeTempPre' (temp 4-component vector of uint)
0:135      Sequence
0:135        move second child to first child (temp 4-component vector of float)
0:135          'storeTemp' (temp 4-component vector of float)
0:?           imageLoad (temp 4-component vector of float)
0:135            'g_tTex2df4' (layout(rgba32f ) uniform image2D)
0:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:135        imageStore (temp void)
0:135          'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:135          Constant:
0:135            1 (const int)
0:135          'storeTemp' (temp 4-component vector of float)
0:135        'storeTemp' (temp 4-component vector of float)
0:137      move second child to first child (temp 4-component vector of float)
0:137        Color: direct index for structure (temp 4-component vector of float)
0:137          'psout' (temp structure{temp 4-component vector of float Color})
0:137          Constant:
0:137            0 (const int)
0:137        Constant:
0:137          1.000000
0:137          1.000000
0:137          1.000000
0:137          1.000000
0:139      Sequence
0:139        Sequence
0:139          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:139            Color: direct index for structure (temp 4-component vector of float)
0:139              'psout' (temp structure{temp 4-component vector of float Color})
0:139              Constant:
0:139                0 (const int)
0:139        Branch: Return
0:?   Linker Objects
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?     'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:?     'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:?     'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:?     'g_tTex2df4' (layout(rgba32f ) uniform image2D)
0:?     'g_tTex2di4' (layout(rgba32i ) uniform iimage2D)
0:?     'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D)
0:?     'g_tTex3df4' (layout(rgba32f ) uniform image3D)
0:?     'g_tTex3di4' (layout(rgba32i ) uniform iimage3D)
0:?     'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D)
0:?     'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray)
0:?     'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray)
0:?     'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray)
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})


Linked fragment stage:


Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:42  Function Definition: Fn1(vi4; (temp 4-component vector of int)
0:42    Function Parameters: 
0:42      'x' (in 4-component vector of int)
0:?     Sequence
0:42      Branch: Return with expression
0:42        'x' (in 4-component vector of int)
0:43  Function Definition: Fn1(vu4; (temp 4-component vector of uint)
0:43    Function Parameters: 
0:43      'x' (in 4-component vector of uint)
0:?     Sequence
0:43      Branch: Return with expression
0:43        'x' (in 4-component vector of uint)
0:44  Function Definition: Fn1(vf4; (temp 4-component vector of float)
0:44    Function Parameters: 
0:44      'x' (in 4-component vector of float)
0:?     Sequence
0:44      Branch: Return with expression
0:44        'x' (in 4-component vector of float)
0:46  Function Definition: Fn2(vi4; (temp void)
0:46    Function Parameters: 
0:46      'x' (out 4-component vector of int)
0:?     Sequence
0:46      move second child to first child (temp 4-component vector of int)
0:46        'x' (out 4-component vector of int)
0:46        Constant:
0:46          0 (const int)
0:46          0 (const int)
0:46          0 (const int)
0:46          0 (const int)
0:47  Function Definition: Fn2(vu4; (temp void)
0:47    Function Parameters: 
0:47      'x' (out 4-component vector of uint)
0:?     Sequence
0:47      move second child to first child (temp 4-component vector of uint)
0:47        'x' (out 4-component vector of uint)
0:47        Constant:
0:47          0 (const uint)
0:47          0 (const uint)
0:47          0 (const uint)
0:47          0 (const uint)
0:48  Function Definition: Fn2(vf4; (temp void)
0:48    Function Parameters: 
0:48      'x' (out 4-component vector of float)
0:?     Sequence
0:48      move second child to first child (temp 4-component vector of float)
0:48        'x' (out 4-component vector of float)
0:48        Constant:
0:48          0.000000
0:48          0.000000
0:48          0.000000
0:48          0.000000
0:50  Function Definition: SomeValue( (temp 4-component vector of float)
0:50    Function Parameters: 
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            Constant:
0:50              3 (const uint)
0:53  Function Definition: main( (temp structure{temp 4-component vector of float Color})
0:53    Function Parameters: 
0:?     Sequence
0:57      imageLoad (temp 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          Constant:
0:57            0 (const uint)
0:59      Sequence
0:59        move second child to first child (temp 4-component vector of float)
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              Constant:
0:59                0 (const uint)
0:60      Sequence
0:60        move second child to first child (temp 4-component vector of int)
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              Constant:
0:60                0 (const uint)
0:61      Sequence
0:61        move second child to first child (temp 4-component vector of uint)
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              Constant:
0:61                0 (const uint)
0:64      Sequence
0:64        move second child to first child (temp 4-component vector of float)
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              Constant:
0:64                1 (const uint)
0:65      Sequence
0:65        move second child to first child (temp 4-component vector of int)
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              Constant:
0:65                1 (const uint)
0:66      Sequence
0:66        move second child to first child (temp 4-component vector of uint)
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              Constant:
0:66                1 (const uint)
0:69      Sequence
0:69        move second child to first child (temp 4-component vector of float)
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              Constant:
0:69                2 (const uint)
0:70      Sequence
0:70        move second child to first child (temp 4-component vector of int)
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              Constant:
0:70                2 (const uint)
0:71      Sequence
0:71        move second child to first child (temp 4-component vector of uint)
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              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            Constant:
0:73              8 (const uint)
0:77      Sequence
0:77        move second child to first child (temp 4-component vector of float)
0:77          'storeTemp' (temp 4-component vector of float)
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            Constant:
0:77              0 (const uint)
0:77          'storeTemp' (temp 4-component vector of float)
0:77        'storeTemp' (temp 4-component vector of float)
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            Constant:
0:78              0 (const uint)
0:78          'lf4' (temp 4-component vector of float)
0:78        'lf4' (temp 4-component vector of float)
0:79      Sequence
0:79        move second child to first child (temp 4-component vector of int)
0:79          'storeTemp' (temp 4-component vector of int)
0:?           Constant:
0:?             2 (const int)
0:?             2 (const int)
0:?             3 (const int)
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            Constant:
0:79              0 (const uint)
0:79          'storeTemp' (temp 4-component vector of int)
0:79        'storeTemp' (temp 4-component vector of int)
0:80      Sequence
0:80        move second child to first child (temp 4-component vector of uint)
0:80          'storeTemp' (temp 4-component vector of uint)
0:?           Constant:
0:?             3 (const uint)
0:?             2 (const uint)
0:?             3 (const uint)
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            Constant:
0:80              0 (const uint)
0:80          'storeTemp' (temp 4-component vector of uint)
0:80        'storeTemp' (temp 4-component vector of uint)
0:83      Sequence
0:83        move second child to first child (temp 4-component vector of float)
0:83          'val1' (temp 4-component vector of float)
0:83          Sequence
0:83            move second child to first child (temp int)
0:83              'coordTemp' (temp int)
0:83              c1: direct index for structure (layout(offset=0 ) uniform int)
0:83                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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                Constant:
0:83                  0 (const uint)
0:83            move second child to first child (temp 4-component vector of float)
0:83              'storeTemp' (temp 4-component vector of float)
0:83              imageLoad (temp 4-component vector of float)
0:83                'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:83                'coordTemp' (temp int)
0:83            vector scale second child into first child (temp 4-component vector of float)
0:83              'storeTemp' (temp 4-component vector of float)
0:83              Constant:
0:83                2.000000
0:83            imageStore (temp void)
0:83              'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:83              'coordTemp' (temp int)
0:83              'storeTemp' (temp 4-component vector of float)
0:83            'storeTemp' (temp 4-component vector of float)
0:84      Sequence
0:84        move second child to first child (temp int)
0:84          'coordTemp' (temp int)
0:84          c1: direct index for structure (layout(offset=0 ) uniform int)
0:84            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:84              0 (const uint)
0:84        move second child to first child (temp 4-component vector of float)
0:84          'storeTemp' (temp 4-component vector of float)
0:84          imageLoad (temp 4-component vector of float)
0:84            'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:84            'coordTemp' (temp int)
0:84        subtract second child into first child (temp 4-component vector of float)
0:84          'storeTemp' (temp 4-component vector of float)
0:84          Constant:
0:84            3.000000
0:84        imageStore (temp void)
0:84          'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:84          'coordTemp' (temp int)
0:84          'storeTemp' (temp 4-component vector of float)
0:84        'storeTemp' (temp 4-component vector of float)
0:85      Sequence
0:85        move second child to first child (temp int)
0:85          'coordTemp' (temp int)
0:85          c1: direct index for structure (layout(offset=0 ) uniform int)
0:85            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:85              0 (const uint)
0:85        move second child to first child (temp 4-component vector of float)
0:85          'storeTemp' (temp 4-component vector of float)
0:85          imageLoad (temp 4-component vector of float)
0:85            'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:85            'coordTemp' (temp int)
0:85        add second child into first child (temp 4-component vector of float)
0:85          'storeTemp' (temp 4-component vector of float)
0:85          Constant:
0:85            4.000000
0:85        imageStore (temp void)
0:85          'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:85          'coordTemp' (temp int)
0:85          'storeTemp' (temp 4-component vector of float)
0:85        'storeTemp' (temp 4-component vector of float)
0:87      Sequence
0:87        move second child to first child (temp int)
0:87          'coordTemp' (temp int)
0:87          c1: direct index for structure (layout(offset=0 ) uniform int)
0:87            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:87              0 (const uint)
0:87        move second child to first child (temp 4-component vector of int)
0:87          'storeTemp' (temp 4-component vector of int)
0:87          imageLoad (temp 4-component vector of int)
0:87            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:87            'coordTemp' (temp int)
0:87        divide second child into first child (temp 4-component vector of int)
0:87          'storeTemp' (temp 4-component vector of int)
0:87          Constant:
0:87            2 (const int)
0:87        imageStore (temp void)
0:87          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:87          'coordTemp' (temp int)
0:87          'storeTemp' (temp 4-component vector of int)
0:87        'storeTemp' (temp 4-component vector of int)
0:88      Sequence
0:88        move second child to first child (temp int)
0:88          'coordTemp' (temp int)
0:88          c1: direct index for structure (layout(offset=0 ) uniform int)
0:88            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:88              0 (const uint)
0:88        move second child to first child (temp 4-component vector of int)
0:88          'storeTemp' (temp 4-component vector of int)
0:88          imageLoad (temp 4-component vector of int)
0:88            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:88            'coordTemp' (temp int)
0:88        mod second child into first child (temp 4-component vector of int)
0:88          'storeTemp' (temp 4-component vector of int)
0:88          Constant:
0:88            2 (const int)
0:88        imageStore (temp void)
0:88          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:88          'coordTemp' (temp int)
0:88          'storeTemp' (temp 4-component vector of int)
0:88        'storeTemp' (temp 4-component vector of int)
0:89      Sequence
0:89        move second child to first child (temp int)
0:89          'coordTemp' (temp int)
0:89          c1: direct index for structure (layout(offset=0 ) uniform int)
0:89            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:89              0 (const uint)
0:89        move second child to first child (temp 4-component vector of int)
0:89          'storeTemp' (temp 4-component vector of int)
0:89          imageLoad (temp 4-component vector of int)
0:89            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:89            'coordTemp' (temp int)
0:89        and second child into first child (temp 4-component vector of int)
0:89          'storeTemp' (temp 4-component vector of int)
0:89          Constant:
0:89            65535 (const int)
0:89        imageStore (temp void)
0:89          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:89          'coordTemp' (temp int)
0:89          'storeTemp' (temp 4-component vector of int)
0:89        'storeTemp' (temp 4-component vector of int)
0:90      Sequence
0:90        move second child to first child (temp int)
0:90          'coordTemp' (temp int)
0:90          c1: direct index for structure (layout(offset=0 ) uniform int)
0:90            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:90              0 (const uint)
0:90        move second child to first child (temp 4-component vector of int)
0:90          'storeTemp' (temp 4-component vector of int)
0:90          imageLoad (temp 4-component vector of int)
0:90            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:90            'coordTemp' (temp int)
0:90        or second child into first child (temp 4-component vector of int)
0:90          'storeTemp' (temp 4-component vector of int)
0:90          Constant:
0:90            61680 (const int)
0:90        imageStore (temp void)
0:90          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:90          'coordTemp' (temp int)
0:90          'storeTemp' (temp 4-component vector of int)
0:90        'storeTemp' (temp 4-component vector of int)
0:91      Sequence
0:91        move second child to first child (temp int)
0:91          'coordTemp' (temp int)
0:91          c1: direct index for structure (layout(offset=0 ) uniform int)
0:91            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:91              0 (const uint)
0:91        move second child to first child (temp 4-component vector of int)
0:91          'storeTemp' (temp 4-component vector of int)
0:91          imageLoad (temp 4-component vector of int)
0:91            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:91            'coordTemp' (temp int)
0:91        left shift second child into first child (temp 4-component vector of int)
0:91          'storeTemp' (temp 4-component vector of int)
0:91          Constant:
0:91            2 (const int)
0:91        imageStore (temp void)
0:91          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:91          'coordTemp' (temp int)
0:91          'storeTemp' (temp 4-component vector of int)
0:91        'storeTemp' (temp 4-component vector of int)
0:92      Sequence
0:92        move second child to first child (temp int)
0:92          'coordTemp' (temp int)
0:92          c1: direct index for structure (layout(offset=0 ) uniform int)
0:92            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:92              0 (const uint)
0:92        move second child to first child (temp 4-component vector of int)
0:92          'storeTemp' (temp 4-component vector of int)
0:92          imageLoad (temp 4-component vector of int)
0:92            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:92            'coordTemp' (temp int)
0:92        right shift second child into first child (temp 4-component vector of int)
0:92          'storeTemp' (temp 4-component vector of int)
0:92          Constant:
0:92            2 (const int)
0:92        imageStore (temp void)
0:92          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:92          'coordTemp' (temp int)
0:92          'storeTemp' (temp 4-component vector of int)
0:92        'storeTemp' (temp 4-component vector of int)
0:95      Sequence
0:95        move second child to first child (temp 4-component vector of float)
0:95          'storeTemp' (temp 4-component vector of float)
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            Constant:
0:95              1 (const uint)
0:95          'storeTemp' (temp 4-component vector of float)
0:95        'storeTemp' (temp 4-component vector of float)
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            Constant:
0:96              1 (const uint)
0:96          'lf4' (temp 4-component vector of float)
0:96        'lf4' (temp 4-component vector of float)
0:97      Sequence
0:97        move second child to first child (temp 4-component vector of int)
0:97          'storeTemp' (temp 4-component vector of int)
0:?           Constant:
0:?             5 (const int)
0:?             2 (const int)
0:?             3 (const int)
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            Constant:
0:97              1 (const uint)
0:97          'storeTemp' (temp 4-component vector of int)
0:97        'storeTemp' (temp 4-component vector of int)
0:98      Sequence
0:98        move second child to first child (temp 4-component vector of uint)
0:98          'storeTemp' (temp 4-component vector of uint)
0:?           Constant:
0:?             6 (const uint)
0:?             2 (const uint)
0:?             3 (const uint)
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            Constant:
0:98              1 (const uint)
0:98          'storeTemp' (temp 4-component vector of uint)
0:98        'storeTemp' (temp 4-component vector of uint)
0:101      Sequence
0:101        move second child to first child (temp 4-component vector of float)
0:101          'storeTemp' (temp 4-component vector of float)
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            Constant:
0:101              2 (const uint)
0:101          'storeTemp' (temp 4-component vector of float)
0:101        'storeTemp' (temp 4-component vector of float)
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            Constant:
0:102              2 (const uint)
0:102          'lf4' (temp 4-component vector of float)
0:102        'lf4' (temp 4-component vector of float)
0:103      Sequence
0:103        move second child to first child (temp 4-component vector of int)
0:103          'storeTemp' (temp 4-component vector of int)
0:?           Constant:
0:?             8 (const int)
0:?             6 (const int)
0:?             7 (const int)
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            Constant:
0:103              2 (const uint)
0:103          'storeTemp' (temp 4-component vector of int)
0:103        'storeTemp' (temp 4-component vector of int)
0:104      Sequence
0:104        move second child to first child (temp 4-component vector of uint)
0:104          'storeTemp' (temp 4-component vector of uint)
0:?           Constant:
0:?             9 (const uint)
0:?             2 (const uint)
0:?             3 (const uint)
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            Constant:
0:104              2 (const uint)
0:104          'storeTemp' (temp 4-component vector of uint)
0:104        'storeTemp' (temp 4-component vector of uint)
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            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            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            Constant:
0:109              0 (const uint)
0:111      Comma (temp void)
0:111        Function Call: Fn2(vf4; (temp void)
0:111          'tempArg' (temp 4-component vector of float)
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              Constant:
0:111                0 (const uint)
0:111            'tempArg' (temp 4-component vector of float)
0:111          'tempArg' (temp 4-component vector of float)
0:112      Comma (temp void)
0:112        Function Call: Fn2(vi4; (temp void)
0:112          'tempArg' (temp 4-component vector of int)
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              Constant:
0:112                0 (const uint)
0:112            'tempArg' (temp 4-component vector of int)
0:112          'tempArg' (temp 4-component vector of int)
0:113      Comma (temp void)
0:113        Function Call: Fn2(vu4; (temp void)
0:113          'tempArg' (temp 4-component vector of uint)
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              Constant:
0:113                0 (const uint)
0:113            'tempArg' (temp 4-component vector of uint)
0:113          'tempArg' (temp 4-component vector of uint)
0:117      Sequence
0:117        move second child to first child (temp int)
0:117          'coordTemp' (temp int)
0:117          c1: direct index for structure (layout(offset=0 ) uniform int)
0:117            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:117              0 (const uint)
0:117        move second child to first child (temp 4-component vector of float)
0:117          'storeTemp' (temp 4-component vector of float)
0:117          imageLoad (temp 4-component vector of float)
0:117            'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:117            'coordTemp' (temp int)
0:117        Pre-Increment (temp 4-component vector of float)
0:117          'storeTemp' (temp 4-component vector of float)
0:117        imageStore (temp void)
0:117          'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:117          'coordTemp' (temp int)
0:117          'storeTemp' (temp 4-component vector of float)
0:117        'storeTemp' (temp 4-component vector of float)
0:118      Sequence
0:118        move second child to first child (temp int)
0:118          'coordTemp' (temp int)
0:118          c1: direct index for structure (layout(offset=0 ) uniform int)
0:118            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:118              0 (const uint)
0:118        move second child to first child (temp 4-component vector of int)
0:118          'storeTemp' (temp 4-component vector of int)
0:118          imageLoad (temp 4-component vector of int)
0:118            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:118            'coordTemp' (temp int)
0:118        Pre-Increment (temp 4-component vector of int)
0:118          'storeTemp' (temp 4-component vector of int)
0:118        imageStore (temp void)
0:118          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:118          'coordTemp' (temp int)
0:118          'storeTemp' (temp 4-component vector of int)
0:118        'storeTemp' (temp 4-component vector of int)
0:119      Sequence
0:119        move second child to first child (temp int)
0:119          'coordTemp' (temp int)
0:119          c1: direct index for structure (layout(offset=0 ) uniform int)
0:119            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:119              0 (const uint)
0:119        move second child to first child (temp 4-component vector of uint)
0:119          'storeTemp' (temp 4-component vector of uint)
0:119          imageLoad (temp 4-component vector of uint)
0:119            'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:119            'coordTemp' (temp int)
0:119        Pre-Increment (temp 4-component vector of uint)
0:119          'storeTemp' (temp 4-component vector of uint)
0:119        imageStore (temp void)
0:119          'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:119          'coordTemp' (temp int)
0:119          'storeTemp' (temp 4-component vector of uint)
0:119        'storeTemp' (temp 4-component vector of uint)
0:121      Sequence
0:121        move second child to first child (temp int)
0:121          'coordTemp' (temp int)
0:121          c1: direct index for structure (layout(offset=0 ) uniform int)
0:121            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:121              0 (const uint)
0:121        move second child to first child (temp 4-component vector of float)
0:121          'storeTemp' (temp 4-component vector of float)
0:121          imageLoad (temp 4-component vector of float)
0:121            'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:121            'coordTemp' (temp int)
0:121        Pre-Decrement (temp 4-component vector of float)
0:121          'storeTemp' (temp 4-component vector of float)
0:121        imageStore (temp void)
0:121          'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:121          'coordTemp' (temp int)
0:121          'storeTemp' (temp 4-component vector of float)
0:121        'storeTemp' (temp 4-component vector of float)
0:122      Sequence
0:122        move second child to first child (temp int)
0:122          'coordTemp' (temp int)
0:122          c1: direct index for structure (layout(offset=0 ) uniform int)
0:122            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:122              0 (const uint)
0:122        move second child to first child (temp 4-component vector of int)
0:122          'storeTemp' (temp 4-component vector of int)
0:122          imageLoad (temp 4-component vector of int)
0:122            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:122            'coordTemp' (temp int)
0:122        Pre-Decrement (temp 4-component vector of int)
0:122          'storeTemp' (temp 4-component vector of int)
0:122        imageStore (temp void)
0:122          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:122          'coordTemp' (temp int)
0:122          'storeTemp' (temp 4-component vector of int)
0:122        'storeTemp' (temp 4-component vector of int)
0:123      Sequence
0:123        move second child to first child (temp int)
0:123          'coordTemp' (temp int)
0:123          c1: direct index for structure (layout(offset=0 ) uniform int)
0:123            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:123              0 (const uint)
0:123        move second child to first child (temp 4-component vector of uint)
0:123          'storeTemp' (temp 4-component vector of uint)
0:123          imageLoad (temp 4-component vector of uint)
0:123            'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:123            'coordTemp' (temp int)
0:123        Pre-Decrement (temp 4-component vector of uint)
0:123          'storeTemp' (temp 4-component vector of uint)
0:123        imageStore (temp void)
0:123          'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:123          'coordTemp' (temp int)
0:123          'storeTemp' (temp 4-component vector of uint)
0:123        'storeTemp' (temp 4-component vector of uint)
0:126      Sequence
0:126        move second child to first child (temp int)
0:126          'coordTemp' (temp int)
0:126          c1: direct index for structure (layout(offset=0 ) uniform int)
0:126            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:126              0 (const uint)
0:126        move second child to first child (temp 4-component vector of float)
0:126          'storeTempPre' (temp 4-component vector of float)
0:126          imageLoad (temp 4-component vector of float)
0:126            'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:126            'coordTemp' (temp int)
0:126        move second child to first child (temp 4-component vector of float)
0:126          'storeTempPost' (temp 4-component vector of float)
0:126          'storeTempPre' (temp 4-component vector of float)
0:126        Post-Increment (temp 4-component vector of float)
0:126          'storeTempPost' (temp 4-component vector of float)
0:126        imageStore (temp void)
0:126          'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:126          'coordTemp' (temp int)
0:126          'storeTempPost' (temp 4-component vector of float)
0:126        'storeTempPre' (temp 4-component vector of float)
0:127      Sequence
0:127        move second child to first child (temp int)
0:127          'coordTemp' (temp int)
0:127          c1: direct index for structure (layout(offset=0 ) uniform int)
0:127            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:127              0 (const uint)
0:127        move second child to first child (temp 4-component vector of uint)
0:127          'storeTempPre' (temp 4-component vector of uint)
0:127          imageLoad (temp 4-component vector of uint)
0:127            'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:127            'coordTemp' (temp int)
0:127        move second child to first child (temp 4-component vector of uint)
0:127          'storeTempPost' (temp 4-component vector of uint)
0:127          'storeTempPre' (temp 4-component vector of uint)
0:127        Post-Decrement (temp 4-component vector of uint)
0:127          'storeTempPost' (temp 4-component vector of uint)
0:127        imageStore (temp void)
0:127          'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:127          'coordTemp' (temp int)
0:127          'storeTempPost' (temp 4-component vector of uint)
0:127        'storeTempPre' (temp 4-component vector of uint)
0:128      Sequence
0:128        move second child to first child (temp int)
0:128          'coordTemp' (temp int)
0:128          c1: direct index for structure (layout(offset=0 ) uniform int)
0:128            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:128              0 (const uint)
0:128        move second child to first child (temp 4-component vector of int)
0:128          'storeTempPre' (temp 4-component vector of int)
0:128          imageLoad (temp 4-component vector of int)
0:128            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:128            'coordTemp' (temp int)
0:128        move second child to first child (temp 4-component vector of int)
0:128          'storeTempPost' (temp 4-component vector of int)
0:128          'storeTempPre' (temp 4-component vector of int)
0:128        Post-Increment (temp 4-component vector of int)
0:128          'storeTempPost' (temp 4-component vector of int)
0:128        imageStore (temp void)
0:128          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:128          'coordTemp' (temp int)
0:128          'storeTempPost' (temp 4-component vector of int)
0:128        'storeTempPre' (temp 4-component vector of int)
0:130      Sequence
0:130        move second child to first child (temp int)
0:130          'coordTemp' (temp int)
0:130          c1: direct index for structure (layout(offset=0 ) uniform int)
0:130            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:130              0 (const uint)
0:130        move second child to first child (temp 4-component vector of float)
0:130          'storeTempPre' (temp 4-component vector of float)
0:130          imageLoad (temp 4-component vector of float)
0:130            'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:130            'coordTemp' (temp int)
0:130        move second child to first child (temp 4-component vector of float)
0:130          'storeTempPost' (temp 4-component vector of float)
0:130          'storeTempPre' (temp 4-component vector of float)
0:130        Post-Decrement (temp 4-component vector of float)
0:130          'storeTempPost' (temp 4-component vector of float)
0:130        imageStore (temp void)
0:130          'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:130          'coordTemp' (temp int)
0:130          'storeTempPost' (temp 4-component vector of float)
0:130        'storeTempPre' (temp 4-component vector of float)
0:131      Sequence
0:131        move second child to first child (temp int)
0:131          'coordTemp' (temp int)
0:131          c1: direct index for structure (layout(offset=0 ) uniform int)
0:131            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:131              0 (const uint)
0:131        move second child to first child (temp 4-component vector of int)
0:131          'storeTempPre' (temp 4-component vector of int)
0:131          imageLoad (temp 4-component vector of int)
0:131            'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:131            'coordTemp' (temp int)
0:131        move second child to first child (temp 4-component vector of int)
0:131          'storeTempPost' (temp 4-component vector of int)
0:131          'storeTempPre' (temp 4-component vector of int)
0:131        Post-Increment (temp 4-component vector of int)
0:131          'storeTempPost' (temp 4-component vector of int)
0:131        imageStore (temp void)
0:131          'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:131          'coordTemp' (temp int)
0:131          'storeTempPost' (temp 4-component vector of int)
0:131        'storeTempPre' (temp 4-component vector of int)
0:132      Sequence
0:132        move second child to first child (temp int)
0:132          'coordTemp' (temp int)
0:132          c1: direct index for structure (layout(offset=0 ) uniform int)
0:132            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 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            Constant:
0:132              0 (const uint)
0:132        move second child to first child (temp 4-component vector of uint)
0:132          'storeTempPre' (temp 4-component vector of uint)
0:132          imageLoad (temp 4-component vector of uint)
0:132            'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:132            'coordTemp' (temp int)
0:132        move second child to first child (temp 4-component vector of uint)
0:132          'storeTempPost' (temp 4-component vector of uint)
0:132          'storeTempPre' (temp 4-component vector of uint)
0:132        Post-Decrement (temp 4-component vector of uint)
0:132          'storeTempPost' (temp 4-component vector of uint)
0:132        imageStore (temp void)
0:132          'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:132          'coordTemp' (temp int)
0:132          'storeTempPost' (temp 4-component vector of uint)
0:132        'storeTempPre' (temp 4-component vector of uint)
0:135      Sequence
0:135        move second child to first child (temp 4-component vector of float)
0:135          'storeTemp' (temp 4-component vector of float)
0:?           imageLoad (temp 4-component vector of float)
0:135            'g_tTex2df4' (layout(rgba32f ) uniform image2D)
0:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:135        imageStore (temp void)
0:135          'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:135          Constant:
0:135            1 (const int)
0:135          'storeTemp' (temp 4-component vector of float)
0:135        'storeTemp' (temp 4-component vector of float)
0:137      move second child to first child (temp 4-component vector of float)
0:137        Color: direct index for structure (temp 4-component vector of float)
0:137          'psout' (temp structure{temp 4-component vector of float Color})
0:137          Constant:
0:137            0 (const int)
0:137        Constant:
0:137          1.000000
0:137          1.000000
0:137          1.000000
0:137          1.000000
0:139      Sequence
0:139        Sequence
0:139          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:139            Color: direct index for structure (temp 4-component vector of float)
0:139              'psout' (temp structure{temp 4-component vector of float Color})
0:139              Constant:
0:139                0 (const int)
0:139        Branch: Return
0:?   Linker Objects
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?     'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
0:?     'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
0:?     'g_tTex1du4' (layout(rgba32ui ) uniform uimage1D)
0:?     'g_tTex2df4' (layout(rgba32f ) uniform image2D)
0:?     'g_tTex2di4' (layout(rgba32i ) uniform iimage2D)
0:?     'g_tTex2du4' (layout(rgba32ui ) uniform uimage2D)
0:?     'g_tTex3df4' (layout(rgba32f ) uniform image3D)
0:?     'g_tTex3di4' (layout(rgba32i ) uniform iimage3D)
0:?     'g_tTex3du4' (layout(rgba32ui ) uniform uimage3D)
0:?     'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray)
0:?     'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray)
0:?     'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray)
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})

// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 602

                              Capability Shader
                              Capability Sampled1D
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 577
                              ExecutionMode 4 OriginUpperLeft
                              Name 4  "main"
                              Name 11  "Fn1(vi4;"
                              Name 10  "x"
                              Name 18  "Fn1(vu4;"
                              Name 17  "x"
                              Name 25  "Fn1(vf4;"
                              Name 24  "x"
                              Name 29  "Fn2(vi4;"
                              Name 28  "x"
                              Name 33  "Fn2(vu4;"
                              Name 32  "x"
                              Name 37  "Fn2(vf4;"
                              Name 36  "x"
                              Name 40  "SomeValue("
                              Name 59  "$Global"
                              MemberName 59($Global) 0  "c1"
                              MemberName 59($Global) 1  "c2"
                              MemberName 59($Global) 2  "c3"
                              MemberName 59($Global) 3  "c4"
                              MemberName 59($Global) 4  "o1"
                              MemberName 59($Global) 5  "o2"
                              MemberName 59($Global) 6  "o3"
                              MemberName 59($Global) 7  "o4"
                              MemberName 59($Global) 8  "uf4"
                              MemberName 59($Global) 9  "ui4"
                              MemberName 59($Global) 10  "uu4"
                              Name 61  ""
                              Name 71  "g_tTex1df4"
                              Name 77  "r00"
                              Name 82  "r01"
                              Name 85  "g_tTex1di4"
                              Name 90  "r02"
                              Name 93  "g_tTex1du4"
                              Name 98  "r10"
                              Name 101  "g_tTex2df4"
                              Name 108  "r11"
                              Name 111  "g_tTex2di4"
                              Name 116  "r12"
                              Name 119  "g_tTex2du4"
                              Name 124  "r20"
                              Name 127  "g_tTex3df4"
                              Name 134  "r21"
                              Name 137  "g_tTex3di4"
                              Name 142  "r22"
                              Name 145  "g_tTex3du4"
                              Name 150  "lf4"
                              Name 155  "storeTemp"
                              Name 165  "storeTemp"
                              Name 172  "storeTemp"
                              Name 181  "val1"
                              Name 183  "coordTemp"
                              Name 186  "storeTemp"
                              Name 197  "coordTemp"
                              Name 200  "storeTemp"
                              Name 211  "coordTemp"
                              Name 214  "storeTemp"
                              Name 225  "coordTemp"
                              Name 228  "storeTemp"
                              Name 238  "coordTemp"
                              Name 241  "storeTemp"
                              Name 251  "coordTemp"
                              Name 254  "storeTemp"
                              Name 265  "coordTemp"
                              Name 268  "storeTemp"
                              Name 279  "coordTemp"
                              Name 282  "storeTemp"
                              Name 292  "coordTemp"
                              Name 295  "storeTemp"
                              Name 305  "storeTemp"
                              Name 315  "storeTemp"
                              Name 322  "storeTemp"
                              Name 329  "storeTemp"
                              Name 339  "storeTemp"
                              Name 347  "storeTemp"
                              Name 358  "param"
                              Name 364  "param"
                              Name 370  "param"
                              Name 372  "tempArg"
                              Name 373  "param"
                              Name 380  "tempArg"
                              Name 381  "param"
                              Name 388  "tempArg"
                              Name 389  "param"
                              Name 396  "coordTemp"
                              Name 399  "storeTemp"
                              Name 410  "coordTemp"
                              Name 413  "storeTemp"
                              Name 423  "coordTemp"
                              Name 426  "storeTemp"
                              Name 436  "coordTemp"
                              Name 439  "storeTemp"
                              Name 449  "coordTemp"
                              Name 452  "storeTemp"
                              Name 462  "coordTemp"
                              Name 465  "storeTemp"
                              Name 475  "coordTemp"
                              Name 478  "storeTempPre"
                              Name 482  "storeTempPost"
                              Name 490  "coordTemp"
                              Name 493  "storeTempPre"
                              Name 497  "storeTempPost"
                              Name 505  "coordTemp"
                              Name 508  "storeTempPre"
                              Name 512  "storeTempPost"
                              Name 520  "coordTemp"
                              Name 523  "storeTempPre"
                              Name 527  "storeTempPost"
                              Name 535  "coordTemp"
                              Name 538  "storeTempPre"
                              Name 542  "storeTempPost"
                              Name 550  "coordTemp"
                              Name 553  "storeTempPre"
                              Name 557  "storeTempPost"
                              Name 565  "storeTemp"
                              Name 571  "PS_OUTPUT"
                              MemberName 571(PS_OUTPUT) 0  "Color"
                              Name 573  "psout"
                              Name 577  "Color"
                              Name 583  "g_sSamp"
                              Name 586  "g_tTex1df4a"
                              Name 589  "g_tTex1di4a"
                              Name 592  "g_tTex1du4a"
                              Name 595  "g_tTex2df4a"
                              Name 598  "g_tTex2di4a"
                              Name 601  "g_tTex2du4a"
                              MemberDecorate 59($Global) 0 Offset 0
                              MemberDecorate 59($Global) 1 Offset 8
                              MemberDecorate 59($Global) 2 Offset 16
                              MemberDecorate 59($Global) 3 Offset 32
                              MemberDecorate 59($Global) 4 Offset 48
                              MemberDecorate 59($Global) 5 Offset 56
                              MemberDecorate 59($Global) 6 Offset 64
                              MemberDecorate 59($Global) 7 Offset 80
                              MemberDecorate 59($Global) 8 Offset 96
                              MemberDecorate 59($Global) 9 Offset 112
                              MemberDecorate 59($Global) 10 Offset 128
                              Decorate 59($Global) Block
                              Decorate 61 DescriptorSet 0
                              Decorate 71(g_tTex1df4) DescriptorSet 0
                              Decorate 71(g_tTex1df4) Binding 0
                              Decorate 85(g_tTex1di4) DescriptorSet 0
                              Decorate 93(g_tTex1du4) DescriptorSet 0
                              Decorate 101(g_tTex2df4) DescriptorSet 0
                              Decorate 111(g_tTex2di4) DescriptorSet 0
                              Decorate 119(g_tTex2du4) DescriptorSet 0
                              Decorate 127(g_tTex3df4) DescriptorSet 0
                              Decorate 137(g_tTex3di4) DescriptorSet 0
                              Decorate 145(g_tTex3du4) DescriptorSet 0
                              Decorate 577(Color) Location 0
                              Decorate 583(g_sSamp) DescriptorSet 0
                              Decorate 583(g_sSamp) Binding 0
                              Decorate 586(g_tTex1df4a) DescriptorSet 0
                              Decorate 589(g_tTex1di4a) DescriptorSet 0
                              Decorate 592(g_tTex1du4a) DescriptorSet 0
                              Decorate 595(g_tTex2df4a) DescriptorSet 0
                              Decorate 598(g_tTex2di4a) DescriptorSet 0
                              Decorate 601(g_tTex2du4a) DescriptorSet 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypeVector 6(int) 4
               8:             TypePointer Function 7(ivec4)
               9:             TypeFunction 7(ivec4) 8(ptr)
              13:             TypeInt 32 0
              14:             TypeVector 13(int) 4
              15:             TypePointer Function 14(ivec4)
              16:             TypeFunction 14(ivec4) 15(ptr)
              20:             TypeFloat 32
              21:             TypeVector 20(float) 4
              22:             TypePointer Function 21(fvec4)
              23:             TypeFunction 21(fvec4) 22(ptr)
              27:             TypeFunction 2 8(ptr)
              31:             TypeFunction 2 15(ptr)
              35:             TypeFunction 2 22(ptr)
              39:             TypeFunction 21(fvec4)
              51:      6(int) Constant 0
              52:    7(ivec4) ConstantComposite 51 51 51 51
              53:     13(int) Constant 0
              54:   14(ivec4) ConstantComposite 53 53 53 53
              55:   20(float) Constant 0
              56:   21(fvec4) ConstantComposite 55 55 55 55
              57:             TypeVector 6(int) 2
              58:             TypeVector 6(int) 3
     59($Global):             TypeStruct 6(int) 57(ivec2) 58(ivec3) 7(ivec4) 6(int) 57(ivec2) 58(ivec3) 7(ivec4) 21(fvec4) 7(ivec4) 14(ivec4)
              60:             TypePointer Uniform 59($Global)
              61:     60(ptr) Variable Uniform
              62:      6(int) Constant 3
              63:             TypePointer Uniform 7(ivec4)
              69:             TypeImage 20(float) 1D nonsampled format:Rgba32f
              70:             TypePointer UniformConstant 69
  71(g_tTex1df4):     70(ptr) Variable UniformConstant
              73:             TypePointer Uniform 6(int)
              83:             TypeImage 6(int) 1D nonsampled format:Rgba32i
              84:             TypePointer UniformConstant 83
  85(g_tTex1di4):     84(ptr) Variable UniformConstant
              91:             TypeImage 13(int) 1D nonsampled format:Rgba32ui
              92:             TypePointer UniformConstant 91
  93(g_tTex1du4):     92(ptr) Variable UniformConstant
              99:             TypeImage 20(float) 2D nonsampled format:Rgba32f
             100:             TypePointer UniformConstant 99
 101(g_tTex2df4):    100(ptr) Variable UniformConstant
             103:      6(int) Constant 1
             104:             TypePointer Uniform 57(ivec2)
             109:             TypeImage 6(int) 2D nonsampled format:Rgba32i
             110:             TypePointer UniformConstant 109
 111(g_tTex2di4):    110(ptr) Variable UniformConstant
             117:             TypeImage 13(int) 2D nonsampled format:Rgba32ui
             118:             TypePointer UniformConstant 117
 119(g_tTex2du4):    118(ptr) Variable UniformConstant
             125:             TypeImage 20(float) 3D nonsampled format:Rgba32f
             126:             TypePointer UniformConstant 125
 127(g_tTex3df4):    126(ptr) Variable UniformConstant
             129:      6(int) Constant 2
             130:             TypePointer Uniform 58(ivec3)
             135:             TypeImage 6(int) 3D nonsampled format:Rgba32i
             136:             TypePointer UniformConstant 135
 137(g_tTex3di4):    136(ptr) Variable UniformConstant
             143:             TypeImage 13(int) 3D nonsampled format:Rgba32ui
             144:             TypePointer UniformConstant 143
 145(g_tTex3du4):    144(ptr) Variable UniformConstant
             151:      6(int) Constant 8
             152:             TypePointer Uniform 21(fvec4)
             166:      6(int) Constant 4
             167:    7(ivec4) ConstantComposite 129 129 62 166
             173:     13(int) Constant 3
             174:     13(int) Constant 2
             175:     13(int) Constant 4
             176:   14(ivec4) ConstantComposite 173 174 173 175
             182:             TypePointer Function 6(int)
             190:   20(float) Constant 1073741824
             204:   20(float) Constant 1077936128
             218:   20(float) Constant 1082130432
             258:      6(int) Constant 65535
             272:      6(int) Constant 61680
             316:      6(int) Constant 5
             317:    7(ivec4) ConstantComposite 316 129 62 166
             323:     13(int) Constant 6
             324:   14(ivec4) ConstantComposite 323 174 173 175
             340:      6(int) Constant 6
             341:      6(int) Constant 7
             342:    7(ivec4) ConstantComposite 151 340 341 151
             348:     13(int) Constant 9
             349:   14(ivec4) ConstantComposite 348 174 173 175
             404:   20(float) Constant 1065353216
             567:   57(ivec2) ConstantComposite 129 62
  571(PS_OUTPUT):             TypeStruct 21(fvec4)
             572:             TypePointer Function 571(PS_OUTPUT)
             574:   21(fvec4) ConstantComposite 404 404 404 404
             576:             TypePointer Output 21(fvec4)
      577(Color):    576(ptr) Variable Output
             581:             TypeSampler
             582:             TypePointer UniformConstant 581
    583(g_sSamp):    582(ptr) Variable UniformConstant
             584:             TypeImage 20(float) 1D array nonsampled format:Rgba32f
             585:             TypePointer UniformConstant 584
586(g_tTex1df4a):    585(ptr) Variable UniformConstant
             587:             TypeImage 6(int) 1D array nonsampled format:Rgba32i
             588:             TypePointer UniformConstant 587
589(g_tTex1di4a):    588(ptr) Variable UniformConstant
             590:             TypeImage 13(int) 1D array nonsampled format:Rgba32ui
             591:             TypePointer UniformConstant 590
592(g_tTex1du4a):    591(ptr) Variable UniformConstant
             593:             TypeImage 20(float) 2D array nonsampled format:Rgba32f
             594:             TypePointer UniformConstant 593
595(g_tTex2df4a):    594(ptr) Variable UniformConstant
             596:             TypeImage 6(int) 2D array nonsampled format:Rgba32i
             597:             TypePointer UniformConstant 596
598(g_tTex2di4a):    597(ptr) Variable UniformConstant
             599:             TypeImage 13(int) 2D array nonsampled format:Rgba32ui
             600:             TypePointer UniformConstant 599
601(g_tTex2du4a):    600(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
         77(r00):     22(ptr) Variable Function
         82(r01):      8(ptr) Variable Function
         90(r02):     15(ptr) Variable Function
         98(r10):     22(ptr) Variable Function
        108(r11):      8(ptr) Variable Function
        116(r12):     15(ptr) Variable Function
        124(r20):     22(ptr) Variable Function
        134(r21):      8(ptr) Variable Function
        142(r22):     15(ptr) Variable Function
        150(lf4):     22(ptr) Variable Function
  155(storeTemp):     22(ptr) Variable Function
  165(storeTemp):      8(ptr) Variable Function
  172(storeTemp):     15(ptr) Variable Function
       181(val1):     22(ptr) Variable Function
  183(coordTemp):    182(ptr) Variable Function
  186(storeTemp):     22(ptr) Variable Function
  197(coordTemp):    182(ptr) Variable Function
  200(storeTemp):     22(ptr) Variable Function
  211(coordTemp):    182(ptr) Variable Function
  214(storeTemp):     22(ptr) Variable Function
  225(coordTemp):    182(ptr) Variable Function
  228(storeTemp):      8(ptr) Variable Function
  238(coordTemp):    182(ptr) Variable Function
  241(storeTemp):      8(ptr) Variable Function
  251(coordTemp):    182(ptr) Variable Function
  254(storeTemp):      8(ptr) Variable Function
  265(coordTemp):    182(ptr) Variable Function
  268(storeTemp):      8(ptr) Variable Function
  279(coordTemp):    182(ptr) Variable Function
  282(storeTemp):      8(ptr) Variable Function
  292(coordTemp):    182(ptr) Variable Function
  295(storeTemp):      8(ptr) Variable Function
  305(storeTemp):     22(ptr) Variable Function
  315(storeTemp):      8(ptr) Variable Function
  322(storeTemp):     15(ptr) Variable Function
  329(storeTemp):     22(ptr) Variable Function
  339(storeTemp):      8(ptr) Variable Function
  347(storeTemp):     15(ptr) Variable Function
      358(param):     22(ptr) Variable Function
      364(param):      8(ptr) Variable Function
      370(param):     15(ptr) Variable Function
    372(tempArg):     22(ptr) Variable Function
      373(param):     22(ptr) Variable Function
    380(tempArg):      8(ptr) Variable Function
      381(param):      8(ptr) Variable Function
    388(tempArg):     15(ptr) Variable Function
      389(param):     15(ptr) Variable Function
  396(coordTemp):    182(ptr) Variable Function
  399(storeTemp):     22(ptr) Variable Function
  410(coordTemp):    182(ptr) Variable Function
  413(storeTemp):      8(ptr) Variable Function
  423(coordTemp):    182(ptr) Variable Function
  426(storeTemp):     15(ptr) Variable Function
  436(coordTemp):    182(ptr) Variable Function
  439(storeTemp):     22(ptr) Variable Function
  449(coordTemp):    182(ptr) Variable Function
  452(storeTemp):      8(ptr) Variable Function
  462(coordTemp):    182(ptr) Variable Function
  465(storeTemp):     15(ptr) Variable Function
  475(coordTemp):    182(ptr) Variable Function
478(storeTempPre):     22(ptr) Variable Function
482(storeTempPost):     22(ptr) Variable Function
  490(coordTemp):    182(ptr) Variable Function
493(storeTempPre):     15(ptr) Variable Function
497(storeTempPost):     15(ptr) Variable Function
  505(coordTemp):    182(ptr) Variable Function
508(storeTempPre):      8(ptr) Variable Function
512(storeTempPost):      8(ptr) Variable Function
  520(coordTemp):    182(ptr) Variable Function
523(storeTempPre):     22(ptr) Variable Function
527(storeTempPost):     22(ptr) Variable Function
  535(coordTemp):    182(ptr) Variable Function
538(storeTempPre):      8(ptr) Variable Function
542(storeTempPost):      8(ptr) Variable Function
  550(coordTemp):    182(ptr) Variable Function
553(storeTempPre):     15(ptr) Variable Function
557(storeTempPost):     15(ptr) Variable Function
  565(storeTemp):     22(ptr) Variable Function
      573(psout):    572(ptr) Variable Function
              72:          69 Load 71(g_tTex1df4)
              74:     73(ptr) AccessChain 61 51
              75:      6(int) Load 74
              76:   21(fvec4) ImageRead 72 75
              78:          69 Load 71(g_tTex1df4)
              79:     73(ptr) AccessChain 61 51
              80:      6(int) Load 79
              81:   21(fvec4) ImageRead 78 80
                              Store 77(r00) 81
              86:          83 Load 85(g_tTex1di4)
              87:     73(ptr) AccessChain 61 51
              88:      6(int) Load 87
              89:    7(ivec4) ImageRead 86 88
                              Store 82(r01) 89
              94:          91 Load 93(g_tTex1du4)
              95:     73(ptr) AccessChain 61 51
              96:      6(int) Load 95
              97:   14(ivec4) ImageRead 94 96
                              Store 90(r02) 97
             102:          99 Load 101(g_tTex2df4)
             105:    104(ptr) AccessChain 61 103
             106:   57(ivec2) Load 105
             107:   21(fvec4) ImageRead 102 106
                              Store 98(r10) 107
             112:         109 Load 111(g_tTex2di4)
             113:    104(ptr) AccessChain 61 103
             114:   57(ivec2) Load 113
             115:    7(ivec4) ImageRead 112 114
                              Store 108(r11) 115
             120:         117 Load 119(g_tTex2du4)
             121:    104(ptr) AccessChain 61 103
             122:   57(ivec2) Load 121
             123:   14(ivec4) ImageRead 120 122
                              Store 116(r12) 123
             128:         125 Load 127(g_tTex3df4)
             131:    130(ptr) AccessChain 61 129
             132:   58(ivec3) Load 131
             133:   21(fvec4) ImageRead 128 132
                              Store 124(r20) 133
             138:         135 Load 137(g_tTex3di4)
             139:    130(ptr) AccessChain 61 129
             140:   58(ivec3) Load 139
             141:    7(ivec4) ImageRead 138 140
                              Store 134(r21) 141
             146:         143 Load 145(g_tTex3du4)
             147:    130(ptr) AccessChain 61 129
             148:   58(ivec3) Load 147
             149:   14(ivec4) ImageRead 146 148
                              Store 142(r22) 149
             153:    152(ptr) AccessChain 61 151
             154:   21(fvec4) Load 153
                              Store 150(lf4) 154
             156:   21(fvec4) FunctionCall 40(SomeValue()
                              Store 155(storeTemp) 156
             157:          69 Load 71(g_tTex1df4)
             158:     73(ptr) AccessChain 61 51
             159:      6(int) Load 158
             160:   21(fvec4) Load 155(storeTemp)
                              ImageWrite 157 159 160
             161:          69 Load 71(g_tTex1df4)
             162:     73(ptr) AccessChain 61 51
             163:      6(int) Load 162
             164:   21(fvec4) Load 150(lf4)
                              ImageWrite 161 163 164
                              Store 165(storeTemp) 167
             168:          83 Load 85(g_tTex1di4)
             169:     73(ptr) AccessChain 61 51
             170:      6(int) Load 169
             171:    7(ivec4) Load 165(storeTemp)
                              ImageWrite 168 170 171
                              Store 172(storeTemp) 176
             177:          91 Load 93(g_tTex1du4)
             178:     73(ptr) AccessChain 61 51
             179:      6(int) Load 178
             180:   14(ivec4) Load 172(storeTemp)
                              ImageWrite 177 179 180
             184:     73(ptr) AccessChain 61 51
             185:      6(int) Load 184
                              Store 183(coordTemp) 185
             187:          69 Load 71(g_tTex1df4)
             188:      6(int) Load 183(coordTemp)
             189:   21(fvec4) ImageRead 187 188
                              Store 186(storeTemp) 189
             191:   21(fvec4) Load 186(storeTemp)
             192:   21(fvec4) VectorTimesScalar 191 190
                              Store 186(storeTemp) 192
             193:          69 Load 71(g_tTex1df4)
             194:      6(int) Load 183(coordTemp)
             195:   21(fvec4) Load 186(storeTemp)
                              ImageWrite 193 194 195
             196:   21(fvec4) Load 186(storeTemp)
                              Store 181(val1) 196
             198:     73(ptr) AccessChain 61 51
             199:      6(int) Load 198
                              Store 197(coordTemp) 199
             201:          69 Load 71(g_tTex1df4)
             202:      6(int) Load 197(coordTemp)
             203:   21(fvec4) ImageRead 201 202
                              Store 200(storeTemp) 203
             205:   21(fvec4) Load 200(storeTemp)
             206:   21(fvec4) CompositeConstruct 204 204 204 204
             207:   21(fvec4) FSub 205 206
                              Store 200(storeTemp) 207
             208:          69 Load 71(g_tTex1df4)
             209:      6(int) Load 197(coordTemp)
             210:   21(fvec4) Load 200(storeTemp)
                              ImageWrite 208 209 210
             212:     73(ptr) AccessChain 61 51
             213:      6(int) Load 212
                              Store 211(coordTemp) 213
             215:          69 Load 71(g_tTex1df4)
             216:      6(int) Load 211(coordTemp)
             217:   21(fvec4) ImageRead 215 216
                              Store 214(storeTemp) 217
             219:   21(fvec4) Load 214(storeTemp)
             220:   21(fvec4) CompositeConstruct 218 218 218 218
             221:   21(fvec4) FAdd 219 220
                              Store 214(storeTemp) 221
             222:          69 Load 71(g_tTex1df4)
             223:      6(int) Load 211(coordTemp)
             224:   21(fvec4) Load 214(storeTemp)
                              ImageWrite 222 223 224
             226:     73(ptr) AccessChain 61 51
             227:      6(int) Load 226
                              Store 225(coordTemp) 227
             229:          83 Load 85(g_tTex1di4)
             230:      6(int) Load 225(coordTemp)
             231:    7(ivec4) ImageRead 229 230
                              Store 228(storeTemp) 231
             232:    7(ivec4) Load 228(storeTemp)
             233:    7(ivec4) CompositeConstruct 129 129 129 129
             234:    7(ivec4) SDiv 232 233
                              Store 228(storeTemp) 234
             235:          83 Load 85(g_tTex1di4)
             236:      6(int) Load 225(coordTemp)
             237:    7(ivec4) Load 228(storeTemp)
                              ImageWrite 235 236 237
             239:     73(ptr) AccessChain 61 51
             240:      6(int) Load 239
                              Store 238(coordTemp) 240
             242:          83 Load 85(g_tTex1di4)
             243:      6(int) Load 238(coordTemp)
             244:    7(ivec4) ImageRead 242 243
                              Store 241(storeTemp) 244
             245:    7(ivec4) Load 241(storeTemp)
             246:    7(ivec4) CompositeConstruct 129 129 129 129
             247:    7(ivec4) SMod 245 246
                              Store 241(storeTemp) 247
             248:          83 Load 85(g_tTex1di4)
             249:      6(int) Load 238(coordTemp)
             250:    7(ivec4) Load 241(storeTemp)
                              ImageWrite 248 249 250
             252:     73(ptr) AccessChain 61 51
             253:      6(int) Load 252
                              Store 251(coordTemp) 253
             255:          83 Load 85(g_tTex1di4)
             256:      6(int) Load 251(coordTemp)
             257:    7(ivec4) ImageRead 255 256
                              Store 254(storeTemp) 257
             259:    7(ivec4) Load 254(storeTemp)
             260:    7(ivec4) CompositeConstruct 258 258 258 258
             261:    7(ivec4) BitwiseAnd 259 260
                              Store 254(storeTemp) 261
             262:          83 Load 85(g_tTex1di4)
             263:      6(int) Load 251(coordTemp)
             264:    7(ivec4) Load 254(storeTemp)
                              ImageWrite 262 263 264
             266:     73(ptr) AccessChain 61 51
             267:      6(int) Load 266
                              Store 265(coordTemp) 267
             269:          83 Load 85(g_tTex1di4)
             270:      6(int) Load 265(coordTemp)
             271:    7(ivec4) ImageRead 269 270
                              Store 268(storeTemp) 271
             273:    7(ivec4) Load 268(storeTemp)
             274:    7(ivec4) CompositeConstruct 272 272 272 272
             275:    7(ivec4) BitwiseOr 273 274
                              Store 268(storeTemp) 275
             276:          83 Load 85(g_tTex1di4)
             277:      6(int) Load 265(coordTemp)
             278:    7(ivec4) Load 268(storeTemp)
                              ImageWrite 276 277 278
             280:     73(ptr) AccessChain 61 51
             281:      6(int) Load 280
                              Store 279(coordTemp) 281
             283:          83 Load 85(g_tTex1di4)
             284:      6(int) Load 279(coordTemp)
             285:    7(ivec4) ImageRead 283 284
                              Store 282(storeTemp) 285
             286:    7(ivec4) Load 282(storeTemp)
             287:    7(ivec4) CompositeConstruct 129 129 129 129
             288:    7(ivec4) ShiftLeftLogical 286 287
                              Store 282(storeTemp) 288
             289:          83 Load 85(g_tTex1di4)
             290:      6(int) Load 279(coordTemp)
             291:    7(ivec4) Load 282(storeTemp)
                              ImageWrite 289 290 291
             293:     73(ptr) AccessChain 61 51
             294:      6(int) Load 293
                              Store 292(coordTemp) 294
             296:          83 Load 85(g_tTex1di4)
             297:      6(int) Load 292(coordTemp)
             298:    7(ivec4) ImageRead 296 297
                              Store 295(storeTemp) 298
             299:    7(ivec4) Load 295(storeTemp)
             300:    7(ivec4) CompositeConstruct 129 129 129 129
             301:    7(ivec4) ShiftRightArithmetic 299 300
                              Store 295(storeTemp) 301
             302:          83 Load 85(g_tTex1di4)
             303:      6(int) Load 292(coordTemp)
             304:    7(ivec4) Load 295(storeTemp)
                              ImageWrite 302 303 304
             306:   21(fvec4) FunctionCall 40(SomeValue()
                              Store 305(storeTemp) 306
             307:          99 Load 101(g_tTex2df4)
             308:    104(ptr) AccessChain 61 103
             309:   57(ivec2) Load 308
             310:   21(fvec4) Load 305(storeTemp)
                              ImageWrite 307 309 310
             311:          99 Load 101(g_tTex2df4)
             312:    104(ptr) AccessChain 61 103
             313:   57(ivec2) Load 312
             314:   21(fvec4) Load 150(lf4)
                              ImageWrite 311 313 314
                              Store 315(storeTemp) 317
             318:         109 Load 111(g_tTex2di4)
             319:    104(ptr) AccessChain 61 103
             320:   57(ivec2) Load 319
             321:    7(ivec4) Load 315(storeTemp)
                              ImageWrite 318 320 321
                              Store 322(storeTemp) 324
             325:         117 Load 119(g_tTex2du4)
             326:    104(ptr) AccessChain 61 103
             327:   57(ivec2) Load 326
             328:   14(ivec4) Load 322(storeTemp)
                              ImageWrite 325 327 328
             330:   21(fvec4) FunctionCall 40(SomeValue()
                              Store 329(storeTemp) 330
             331:         125 Load 127(g_tTex3df4)
             332:    130(ptr) AccessChain 61 129
             333:   58(ivec3) Load 332
             334:   21(fvec4) Load 329(storeTemp)
                              ImageWrite 331 333 334
             335:         125 Load 127(g_tTex3df4)
             336:    130(ptr) AccessChain 61 129
             337:   58(ivec3) Load 336
             338:   21(fvec4) Load 150(lf4)
                              ImageWrite 335 337 338
                              Store 339(storeTemp) 342
             343:         135 Load 137(g_tTex3di4)
             344:    130(ptr) AccessChain 61 129
             345:   58(ivec3) Load 344
             346:    7(ivec4) Load 339(storeTemp)
                              ImageWrite 343 345 346
                              Store 347(storeTemp) 349
             350:         143 Load 145(g_tTex3du4)
             351:    130(ptr) AccessChain 61 129
             352:   58(ivec3) Load 351
             353:   14(ivec4) Load 347(storeTemp)
                              ImageWrite 350 352 353
             354:          69 Load 71(g_tTex1df4)
             355:     73(ptr) AccessChain 61 51
             356:      6(int) Load 355
             357:   21(fvec4) ImageRead 354 356
                              Store 358(param) 357
             359:   21(fvec4) FunctionCall 25(Fn1(vf4;) 358(param)
             360:          83 Load 85(g_tTex1di4)
             361:     73(ptr) AccessChain 61 51
             362:      6(int) Load 361
             363:    7(ivec4) ImageRead 360 362
                              Store 364(param) 363
             365:    7(ivec4) FunctionCall 11(Fn1(vi4;) 364(param)
             366:          91 Load 93(g_tTex1du4)
             367:     73(ptr) AccessChain 61 51
             368:      6(int) Load 367
             369:   14(ivec4) ImageRead 366 368
                              Store 370(param) 369
             371:   14(ivec4) FunctionCall 18(Fn1(vu4;) 370(param)
             374:           2 FunctionCall 37(Fn2(vf4;) 373(param)
             375:   21(fvec4) Load 373(param)
                              Store 372(tempArg) 375
             376:          69 Load 71(g_tTex1df4)
             377:     73(ptr) AccessChain 61 51
             378:      6(int) Load 377
             379:   21(fvec4) Load 372(tempArg)
                              ImageWrite 376 378 379
             382:           2 FunctionCall 29(Fn2(vi4;) 381(param)
             383:    7(ivec4) Load 381(param)
                              Store 380(tempArg) 383
             384:          83 Load 85(g_tTex1di4)
             385:     73(ptr) AccessChain 61 51
             386:      6(int) Load 385
             387:    7(ivec4) Load 380(tempArg)
                              ImageWrite 384 386 387
             390:           2 FunctionCall 33(Fn2(vu4;) 389(param)
             391:   14(ivec4) Load 389(param)
                              Store 388(tempArg) 391
             392:          91 Load 93(g_tTex1du4)
             393:     73(ptr) AccessChain 61 51
             394:      6(int) Load 393
             395:   14(ivec4) Load 388(tempArg)
                              ImageWrite 392 394 395
             397:     73(ptr) AccessChain 61 51
             398:      6(int) Load 397
                              Store 396(coordTemp) 398
             400:          69 Load 71(g_tTex1df4)
             401:      6(int) Load 396(coordTemp)
             402:   21(fvec4) ImageRead 400 401
                              Store 399(storeTemp) 402
             403:   21(fvec4) Load 399(storeTemp)
             405:   21(fvec4) CompositeConstruct 404 404 404 404
             406:   21(fvec4) FAdd 403 405
                              Store 399(storeTemp) 406
             407:          69 Load 71(g_tTex1df4)
             408:      6(int) Load 396(coordTemp)
             409:   21(fvec4) Load 399(storeTemp)
                              ImageWrite 407 408 409
             411:     73(ptr) AccessChain 61 51
             412:      6(int) Load 411
                              Store 410(coordTemp) 412
             414:          83 Load 85(g_tTex1di4)
             415:      6(int) Load 410(coordTemp)
             416:    7(ivec4) ImageRead 414 415
                              Store 413(storeTemp) 416
             417:    7(ivec4) Load 413(storeTemp)
             418:    7(ivec4) CompositeConstruct 103 103 103 103
             419:    7(ivec4) IAdd 417 418
                              Store 413(storeTemp) 419
             420:          83 Load 85(g_tTex1di4)
             421:      6(int) Load 410(coordTemp)
             422:    7(ivec4) Load 413(storeTemp)
                              ImageWrite 420 421 422
             424:     73(ptr) AccessChain 61 51
             425:      6(int) Load 424
                              Store 423(coordTemp) 425
             427:          91 Load 93(g_tTex1du4)
             428:      6(int) Load 423(coordTemp)
             429:   14(ivec4) ImageRead 427 428
                              Store 426(storeTemp) 429
             430:   14(ivec4) Load 426(storeTemp)
             431:    7(ivec4) CompositeConstruct 103 103 103 103
             432:   14(ivec4) IAdd 430 431
                              Store 426(storeTemp) 432
             433:          91 Load 93(g_tTex1du4)
             434:      6(int) Load 423(coordTemp)
             435:   14(ivec4) Load 426(storeTemp)
                              ImageWrite 433 434 435
             437:     73(ptr) AccessChain 61 51
             438:      6(int) Load 437
                              Store 436(coordTemp) 438
             440:          69 Load 71(g_tTex1df4)
             441:      6(int) Load 436(coordTemp)
             442:   21(fvec4) ImageRead 440 441
                              Store 439(storeTemp) 442
             443:   21(fvec4) Load 439(storeTemp)
             444:   21(fvec4) CompositeConstruct 404 404 404 404
             445:   21(fvec4) FSub 443 444
                              Store 439(storeTemp) 445
             446:          69 Load 71(g_tTex1df4)
             447:      6(int) Load 436(coordTemp)
             448:   21(fvec4) Load 439(storeTemp)
                              ImageWrite 446 447 448
             450:     73(ptr) AccessChain 61 51
             451:      6(int) Load 450
                              Store 449(coordTemp) 451
             453:          83 Load 85(g_tTex1di4)
             454:      6(int) Load 449(coordTemp)
             455:    7(ivec4) ImageRead 453 454
                              Store 452(storeTemp) 455
             456:    7(ivec4) Load 452(storeTemp)
             457:    7(ivec4) CompositeConstruct 103 103 103 103
             458:    7(ivec4) ISub 456 457
                              Store 452(storeTemp) 458
             459:          83 Load 85(g_tTex1di4)
             460:      6(int) Load 449(coordTemp)
             461:    7(ivec4) Load 452(storeTemp)
                              ImageWrite 459 460 461
             463:     73(ptr) AccessChain 61 51
             464:      6(int) Load 463
                              Store 462(coordTemp) 464
             466:          91 Load 93(g_tTex1du4)
             467:      6(int) Load 462(coordTemp)
             468:   14(ivec4) ImageRead 466 467
                              Store 465(storeTemp) 468
             469:   14(ivec4) Load 465(storeTemp)
             470:    7(ivec4) CompositeConstruct 103 103 103 103
             471:   14(ivec4) ISub 469 470
                              Store 465(storeTemp) 471
             472:          91 Load 93(g_tTex1du4)
             473:      6(int) Load 462(coordTemp)
             474:   14(ivec4) Load 465(storeTemp)
                              ImageWrite 472 473 474
             476:     73(ptr) AccessChain 61 51
             477:      6(int) Load 476
                              Store 475(coordTemp) 477
             479:          69 Load 71(g_tTex1df4)
             480:      6(int) Load 475(coordTemp)
             481:   21(fvec4) ImageRead 479 480
                              Store 478(storeTempPre) 481
             483:   21(fvec4) Load 478(storeTempPre)
                              Store 482(storeTempPost) 483
             484:   21(fvec4) Load 482(storeTempPost)
             485:   21(fvec4) CompositeConstruct 404 404 404 404
             486:   21(fvec4) FAdd 484 485
                              Store 482(storeTempPost) 486
             487:          69 Load 71(g_tTex1df4)
             488:      6(int) Load 475(coordTemp)
             489:   21(fvec4) Load 482(storeTempPost)
                              ImageWrite 487 488 489
             491:     73(ptr) AccessChain 61 51
             492:      6(int) Load 491
                              Store 490(coordTemp) 492
             494:          91 Load 93(g_tTex1du4)
             495:      6(int) Load 490(coordTemp)
             496:   14(ivec4) ImageRead 494 495
                              Store 493(storeTempPre) 496
             498:   14(ivec4) Load 493(storeTempPre)
                              Store 497(storeTempPost) 498
             499:   14(ivec4) Load 497(storeTempPost)
             500:    7(ivec4) CompositeConstruct 103 103 103 103
             501:   14(ivec4) ISub 499 500
                              Store 497(storeTempPost) 501
             502:          91 Load 93(g_tTex1du4)
             503:      6(int) Load 490(coordTemp)
             504:   14(ivec4) Load 497(storeTempPost)
                              ImageWrite 502 503 504
             506:     73(ptr) AccessChain 61 51
             507:      6(int) Load 506
                              Store 505(coordTemp) 507
             509:          83 Load 85(g_tTex1di4)
             510:      6(int) Load 505(coordTemp)
             511:    7(ivec4) ImageRead 509 510
                              Store 508(storeTempPre) 511
             513:    7(ivec4) Load 508(storeTempPre)
                              Store 512(storeTempPost) 513
             514:    7(ivec4) Load 512(storeTempPost)
             515:    7(ivec4) CompositeConstruct 103 103 103 103
             516:    7(ivec4) IAdd 514 515
                              Store 512(storeTempPost) 516
             517:          83 Load 85(g_tTex1di4)
             518:      6(int) Load 505(coordTemp)
             519:    7(ivec4) Load 512(storeTempPost)
                              ImageWrite 517 518 519
             521:     73(ptr) AccessChain 61 51
             522:      6(int) Load 521
                              Store 520(coordTemp) 522
             524:          69 Load 71(g_tTex1df4)
             525:      6(int) Load 520(coordTemp)
             526:   21(fvec4) ImageRead 524 525
                              Store 523(storeTempPre) 526
             528:   21(fvec4) Load 523(storeTempPre)
                              Store 527(storeTempPost) 528
             529:   21(fvec4) Load 527(storeTempPost)
             530:   21(fvec4) CompositeConstruct 404 404 404 404
             531:   21(fvec4) FSub 529 530
                              Store 527(storeTempPost) 531
             532:          69 Load 71(g_tTex1df4)
             533:      6(int) Load 520(coordTemp)
             534:   21(fvec4) Load 527(storeTempPost)
                              ImageWrite 532 533 534
             536:     73(ptr) AccessChain 61 51
             537:      6(int) Load 536
                              Store 535(coordTemp) 537
             539:          83 Load 85(g_tTex1di4)
             540:      6(int) Load 535(coordTemp)
             541:    7(ivec4) ImageRead 539 540
                              Store 538(storeTempPre) 541
             543:    7(ivec4) Load 538(storeTempPre)
                              Store 542(storeTempPost) 543
             544:    7(ivec4) Load 542(storeTempPost)
             545:    7(ivec4) CompositeConstruct 103 103 103 103
             546:    7(ivec4) IAdd 544 545
                              Store 542(storeTempPost) 546
             547:          83 Load 85(g_tTex1di4)
             548:      6(int) Load 535(coordTemp)
             549:    7(ivec4) Load 542(storeTempPost)
                              ImageWrite 547 548 549
             551:     73(ptr) AccessChain 61 51
             552:      6(int) Load 551
                              Store 550(coordTemp) 552
             554:          91 Load 93(g_tTex1du4)
             555:      6(int) Load 550(coordTemp)
             556:   14(ivec4) ImageRead 554 555
                              Store 553(storeTempPre) 556
             558:   14(ivec4) Load 553(storeTempPre)
                              Store 557(storeTempPost) 558
             559:   14(ivec4) Load 557(storeTempPost)
             560:    7(ivec4) CompositeConstruct 103 103 103 103
             561:   14(ivec4) ISub 559 560
                              Store 557(storeTempPost) 561
             562:          91 Load 93(g_tTex1du4)
             563:      6(int) Load 550(coordTemp)
             564:   14(ivec4) Load 557(storeTempPost)
                              ImageWrite 562 563 564
             566:          99 Load 101(g_tTex2df4)
             568:   21(fvec4) ImageRead 566 567
                              Store 565(storeTemp) 568
             569:          69 Load 71(g_tTex1df4)
             570:   21(fvec4) Load 565(storeTemp)
                              ImageWrite 569 103 570
             575:     22(ptr) AccessChain 573(psout) 51
                              Store 575 574
             578:     22(ptr) AccessChain 573(psout) 51
             579:   21(fvec4) Load 578
                              Store 577(Color) 579
                              Return
                              FunctionEnd
    11(Fn1(vi4;):    7(ivec4) Function None 9
           10(x):      8(ptr) FunctionParameter
              12:             Label
              42:    7(ivec4) Load 10(x)
                              ReturnValue 42
                              FunctionEnd
    18(Fn1(vu4;):   14(ivec4) Function None 16
           17(x):     15(ptr) FunctionParameter
              19:             Label
              45:   14(ivec4) Load 17(x)
                              ReturnValue 45
                              FunctionEnd
    25(Fn1(vf4;):   21(fvec4) Function None 23
           24(x):     22(ptr) FunctionParameter
              26:             Label
              48:   21(fvec4) Load 24(x)
                              ReturnValue 48
                              FunctionEnd
    29(Fn2(vi4;):           2 Function None 27
           28(x):      8(ptr) FunctionParameter
              30:             Label
                              Store 28(x) 52
                              Return
                              FunctionEnd
    33(Fn2(vu4;):           2 Function None 31
           32(x):     15(ptr) FunctionParameter
              34:             Label
                              Store 32(x) 54
                              Return
                              FunctionEnd
    37(Fn2(vf4;):           2 Function None 35
           36(x):     22(ptr) FunctionParameter
              38:             Label
                              Store 36(x) 56
                              Return
                              FunctionEnd
  40(SomeValue():   21(fvec4) Function None 39
              41:             Label
              64:     63(ptr) AccessChain 61 62
              65:    7(ivec4) Load 64
              66:   21(fvec4) ConvertSToF 65
                              ReturnValue 66
                              FunctionEnd
