hlsl.imagefetch-subvec4.comp
Shader version: 500
local_size = (8, 8, 8)
0:? Sequence
0:21  Function Definition: @main(vu3; ( temp void)
0:21    Function Parameters: 
0:21      'tid' ( in 3-component vector of uint)
0:?     Sequence
0:22      Sequence
0:22        move second child to first child ( temp float)
0:22          'f' ( temp float)
0:22          Constant:
0:22            0.000000
0:23      add second child into first child ( temp float)
0:23        'f' ( temp float)
0:23        textureFetch ( temp float)
0:23          'i1D' (layout( binding=0) uniform texture1D)
0:23          direct index ( temp uint)
0:23            'tid' ( in 3-component vector of uint)
0:23            Constant:
0:23              0 (const int)
0:23          Constant:
0:23            0 (const int)
0:24      add second child into first child ( temp float)
0:24        'f' ( temp float)
0:24        textureFetch ( temp float)
0:24          'i2D' (layout( binding=1) uniform texture2D)
0:24          vector swizzle ( temp 2-component vector of uint)
0:24            'tid' ( in 3-component vector of uint)
0:24            Sequence
0:24              Constant:
0:24                0 (const int)
0:24              Constant:
0:24                1 (const int)
0:24          Constant:
0:24            0 (const int)
0:25      add second child into first child ( temp float)
0:25        'f' ( temp float)
0:25        textureFetch ( temp float)
0:25          'i3D' (layout( binding=2) uniform texture3D)
0:25          'tid' ( in 3-component vector of uint)
0:25          Constant:
0:25            0 (const int)
0:26      add second child into first child ( temp float)
0:26        'f' ( temp float)
0:26        textureFetch ( temp float)
0:26          'i1DArray' (layout( binding=3) uniform texture1DArray)
0:26          vector swizzle ( temp 2-component vector of uint)
0:26            'tid' ( in 3-component vector of uint)
0:26            Sequence
0:26              Constant:
0:26                0 (const int)
0:26              Constant:
0:26                1 (const int)
0:26          Constant:
0:26            0 (const int)
0:27      add second child into first child ( temp float)
0:27        'f' ( temp float)
0:27        textureFetch ( temp float)
0:27          'i2DArray' (layout( binding=4) uniform texture2DArray)
0:27          'tid' ( in 3-component vector of uint)
0:27          Constant:
0:27            0 (const int)
0:28      add second child into first child ( temp float)
0:28        'f' ( temp float)
0:28        Construct float ( temp float)
0:?           textureFetch ( temp 4-component vector of float)
0:28            'i2DMS' (layout( binding=5) uniform texture2DMS)
0:28            Convert uint to int ( temp 2-component vector of int)
0:28              vector swizzle ( temp 2-component vector of uint)
0:28                'tid' ( in 3-component vector of uint)
0:28                Sequence
0:28                  Constant:
0:28                    0 (const int)
0:28                  Constant:
0:28                    1 (const int)
0:28            Constant:
0:28              1 (const int)
0:29      add second child into first child ( temp float)
0:29        'f' ( temp float)
0:29        Construct float ( temp float)
0:?           textureFetch ( temp 4-component vector of float)
0:29            'i2DMSArray' (layout( binding=6) uniform texture2DMSArray)
0:29            Convert uint to int ( temp 3-component vector of int)
0:29              'tid' ( in 3-component vector of uint)
0:29            Constant:
0:29              3 (const int)
0:31      Sequence
0:31        move second child to first child ( temp int)
0:31          'i' ( temp int)
0:31          Constant:
0:31            0 (const int)
0:32      add second child into first child ( temp int)
0:32        'i' ( temp int)
0:32        textureFetch ( temp int)
0:32          'ii1D' (layout( binding=7) uniform itexture1D)
0:32          direct index ( temp uint)
0:32            'tid' ( in 3-component vector of uint)
0:32            Constant:
0:32              0 (const int)
0:32          Constant:
0:32            0 (const int)
0:33      add second child into first child ( temp int)
0:33        'i' ( temp int)
0:33        textureFetch ( temp int)
0:33          'ii2D' (layout( binding=8) uniform itexture2D)
0:33          vector swizzle ( temp 2-component vector of uint)
0:33            'tid' ( in 3-component vector of uint)
0:33            Sequence
0:33              Constant:
0:33                0 (const int)
0:33              Constant:
0:33                1 (const int)
0:33          Constant:
0:33            0 (const int)
0:34      add second child into first child ( temp int)
0:34        'i' ( temp int)
0:34        textureFetch ( temp int)
0:34          'ii3D' (layout( binding=9) uniform itexture3D)
0:34          'tid' ( in 3-component vector of uint)
0:34          Constant:
0:34            0 (const int)
0:35      add second child into first child ( temp int)
0:35        'i' ( temp int)
0:35        textureFetch ( temp int)
0:35          'ii1DArray' (layout( binding=10) uniform itexture1DArray)
0:35          vector swizzle ( temp 2-component vector of uint)
0:35            'tid' ( in 3-component vector of uint)
0:35            Sequence
0:35              Constant:
0:35                0 (const int)
0:35              Constant:
0:35                1 (const int)
0:35          Constant:
0:35            0 (const int)
0:36      add second child into first child ( temp int)
0:36        'i' ( temp int)
0:36        textureFetch ( temp int)
0:36          'ii2DArray' (layout( binding=11) uniform itexture2DArray)
0:36          'tid' ( in 3-component vector of uint)
0:36          Constant:
0:36            0 (const int)
0:37      add second child into first child ( temp int)
0:37        'i' ( temp int)
0:37        Construct int ( temp int)
0:?           textureFetch ( temp 4-component vector of int)
0:37            'ii2DMS' (layout( binding=12) uniform itexture2DMS)
0:37            Convert uint to int ( temp 2-component vector of int)
0:37              vector swizzle ( temp 2-component vector of uint)
0:37                'tid' ( in 3-component vector of uint)
0:37                Sequence
0:37                  Constant:
0:37                    0 (const int)
0:37                  Constant:
0:37                    1 (const int)
0:37            Constant:
0:37              1 (const int)
0:38      add second child into first child ( temp int)
0:38        'i' ( temp int)
0:38        Construct int ( temp int)
0:?           textureFetch ( temp 4-component vector of int)
0:38            'ii2DMSArray' (layout( binding=13) uniform itexture2DMSArray)
0:38            Convert uint to int ( temp 3-component vector of int)
0:38              'tid' ( in 3-component vector of uint)
0:38            Constant:
0:38              3 (const int)
0:40      Sequence
0:40        move second child to first child ( temp float)
0:40          'storeTemp' ( temp float)
0:40          add ( temp float)
0:40            'f' ( temp float)
0:40            Convert int to float ( temp float)
0:40              'i' ( temp int)
0:40        imageStore ( temp void)
0:40          'OUT' (layout( binding=0 r32f) uniform image3D)
0:40          'tid' ( in 3-component vector of uint)
0:40          'storeTemp' ( temp float)
0:40        'storeTemp' ( temp float)
0:21  Function Definition: main( ( temp void)
0:21    Function Parameters: 
0:?     Sequence
0:21      move second child to first child ( temp 3-component vector of uint)
0:?         'tid' ( temp 3-component vector of uint)
0:?         'tid' ( in 3-component vector of uint GlobalInvocationID)
0:21      Function Call: @main(vu3; ( temp void)
0:?         'tid' ( temp 3-component vector of uint)
0:?   Linker Objects
0:?     'i1D' (layout( binding=0) uniform texture1D)
0:?     'i2D' (layout( binding=1) uniform texture2D)
0:?     'i3D' (layout( binding=2) uniform texture3D)
0:?     'i1DArray' (layout( binding=3) uniform texture1DArray)
0:?     'i2DArray' (layout( binding=4) uniform texture2DArray)
0:?     'i2DMS' (layout( binding=5) uniform texture2DMS)
0:?     'i2DMSArray' (layout( binding=6) uniform texture2DMSArray)
0:?     'ii1D' (layout( binding=7) uniform itexture1D)
0:?     'ii2D' (layout( binding=8) uniform itexture2D)
0:?     'ii3D' (layout( binding=9) uniform itexture3D)
0:?     'ii1DArray' (layout( binding=10) uniform itexture1DArray)
0:?     'ii2DArray' (layout( binding=11) uniform itexture2DArray)
0:?     'ii2DMS' (layout( binding=12) uniform itexture2DMS)
0:?     'ii2DMSArray' (layout( binding=13) uniform itexture2DMSArray)
0:?     'OUT' (layout( binding=0 r32f) uniform image3D)
0:?     'tid' ( in 3-component vector of uint GlobalInvocationID)


Linked compute stage:


Shader version: 500
local_size = (8, 8, 8)
0:? Sequence
0:21  Function Definition: @main(vu3; ( temp void)
0:21    Function Parameters: 
0:21      'tid' ( in 3-component vector of uint)
0:?     Sequence
0:22      Sequence
0:22        move second child to first child ( temp float)
0:22          'f' ( temp float)
0:22          Constant:
0:22            0.000000
0:23      add second child into first child ( temp float)
0:23        'f' ( temp float)
0:23        textureFetch ( temp float)
0:23          'i1D' (layout( binding=0) uniform texture1D)
0:23          direct index ( temp uint)
0:23            'tid' ( in 3-component vector of uint)
0:23            Constant:
0:23              0 (const int)
0:23          Constant:
0:23            0 (const int)
0:24      add second child into first child ( temp float)
0:24        'f' ( temp float)
0:24        textureFetch ( temp float)
0:24          'i2D' (layout( binding=1) uniform texture2D)
0:24          vector swizzle ( temp 2-component vector of uint)
0:24            'tid' ( in 3-component vector of uint)
0:24            Sequence
0:24              Constant:
0:24                0 (const int)
0:24              Constant:
0:24                1 (const int)
0:24          Constant:
0:24            0 (const int)
0:25      add second child into first child ( temp float)
0:25        'f' ( temp float)
0:25        textureFetch ( temp float)
0:25          'i3D' (layout( binding=2) uniform texture3D)
0:25          'tid' ( in 3-component vector of uint)
0:25          Constant:
0:25            0 (const int)
0:26      add second child into first child ( temp float)
0:26        'f' ( temp float)
0:26        textureFetch ( temp float)
0:26          'i1DArray' (layout( binding=3) uniform texture1DArray)
0:26          vector swizzle ( temp 2-component vector of uint)
0:26            'tid' ( in 3-component vector of uint)
0:26            Sequence
0:26              Constant:
0:26                0 (const int)
0:26              Constant:
0:26                1 (const int)
0:26          Constant:
0:26            0 (const int)
0:27      add second child into first child ( temp float)
0:27        'f' ( temp float)
0:27        textureFetch ( temp float)
0:27          'i2DArray' (layout( binding=4) uniform texture2DArray)
0:27          'tid' ( in 3-component vector of uint)
0:27          Constant:
0:27            0 (const int)
0:28      add second child into first child ( temp float)
0:28        'f' ( temp float)
0:28        Construct float ( temp float)
0:?           textureFetch ( temp 4-component vector of float)
0:28            'i2DMS' (layout( binding=5) uniform texture2DMS)
0:28            Convert uint to int ( temp 2-component vector of int)
0:28              vector swizzle ( temp 2-component vector of uint)
0:28                'tid' ( in 3-component vector of uint)
0:28                Sequence
0:28                  Constant:
0:28                    0 (const int)
0:28                  Constant:
0:28                    1 (const int)
0:28            Constant:
0:28              1 (const int)
0:29      add second child into first child ( temp float)
0:29        'f' ( temp float)
0:29        Construct float ( temp float)
0:?           textureFetch ( temp 4-component vector of float)
0:29            'i2DMSArray' (layout( binding=6) uniform texture2DMSArray)
0:29            Convert uint to int ( temp 3-component vector of int)
0:29              'tid' ( in 3-component vector of uint)
0:29            Constant:
0:29              3 (const int)
0:31      Sequence
0:31        move second child to first child ( temp int)
0:31          'i' ( temp int)
0:31          Constant:
0:31            0 (const int)
0:32      add second child into first child ( temp int)
0:32        'i' ( temp int)
0:32        textureFetch ( temp int)
0:32          'ii1D' (layout( binding=7) uniform itexture1D)
0:32          direct index ( temp uint)
0:32            'tid' ( in 3-component vector of uint)
0:32            Constant:
0:32              0 (const int)
0:32          Constant:
0:32            0 (const int)
0:33      add second child into first child ( temp int)
0:33        'i' ( temp int)
0:33        textureFetch ( temp int)
0:33          'ii2D' (layout( binding=8) uniform itexture2D)
0:33          vector swizzle ( temp 2-component vector of uint)
0:33            'tid' ( in 3-component vector of uint)
0:33            Sequence
0:33              Constant:
0:33                0 (const int)
0:33              Constant:
0:33                1 (const int)
0:33          Constant:
0:33            0 (const int)
0:34      add second child into first child ( temp int)
0:34        'i' ( temp int)
0:34        textureFetch ( temp int)
0:34          'ii3D' (layout( binding=9) uniform itexture3D)
0:34          'tid' ( in 3-component vector of uint)
0:34          Constant:
0:34            0 (const int)
0:35      add second child into first child ( temp int)
0:35        'i' ( temp int)
0:35        textureFetch ( temp int)
0:35          'ii1DArray' (layout( binding=10) uniform itexture1DArray)
0:35          vector swizzle ( temp 2-component vector of uint)
0:35            'tid' ( in 3-component vector of uint)
0:35            Sequence
0:35              Constant:
0:35                0 (const int)
0:35              Constant:
0:35                1 (const int)
0:35          Constant:
0:35            0 (const int)
0:36      add second child into first child ( temp int)
0:36        'i' ( temp int)
0:36        textureFetch ( temp int)
0:36          'ii2DArray' (layout( binding=11) uniform itexture2DArray)
0:36          'tid' ( in 3-component vector of uint)
0:36          Constant:
0:36            0 (const int)
0:37      add second child into first child ( temp int)
0:37        'i' ( temp int)
0:37        Construct int ( temp int)
0:?           textureFetch ( temp 4-component vector of int)
0:37            'ii2DMS' (layout( binding=12) uniform itexture2DMS)
0:37            Convert uint to int ( temp 2-component vector of int)
0:37              vector swizzle ( temp 2-component vector of uint)
0:37                'tid' ( in 3-component vector of uint)
0:37                Sequence
0:37                  Constant:
0:37                    0 (const int)
0:37                  Constant:
0:37                    1 (const int)
0:37            Constant:
0:37              1 (const int)
0:38      add second child into first child ( temp int)
0:38        'i' ( temp int)
0:38        Construct int ( temp int)
0:?           textureFetch ( temp 4-component vector of int)
0:38            'ii2DMSArray' (layout( binding=13) uniform itexture2DMSArray)
0:38            Convert uint to int ( temp 3-component vector of int)
0:38              'tid' ( in 3-component vector of uint)
0:38            Constant:
0:38              3 (const int)
0:40      Sequence
0:40        move second child to first child ( temp float)
0:40          'storeTemp' ( temp float)
0:40          add ( temp float)
0:40            'f' ( temp float)
0:40            Convert int to float ( temp float)
0:40              'i' ( temp int)
0:40        imageStore ( temp void)
0:40          'OUT' (layout( binding=0 r32f) uniform image3D)
0:40          'tid' ( in 3-component vector of uint)
0:40          'storeTemp' ( temp float)
0:40        'storeTemp' ( temp float)
0:21  Function Definition: main( ( temp void)
0:21    Function Parameters: 
0:?     Sequence
0:21      move second child to first child ( temp 3-component vector of uint)
0:?         'tid' ( temp 3-component vector of uint)
0:?         'tid' ( in 3-component vector of uint GlobalInvocationID)
0:21      Function Call: @main(vu3; ( temp void)
0:?         'tid' ( temp 3-component vector of uint)
0:?   Linker Objects
0:?     'i1D' (layout( binding=0) uniform texture1D)
0:?     'i2D' (layout( binding=1) uniform texture2D)
0:?     'i3D' (layout( binding=2) uniform texture3D)
0:?     'i1DArray' (layout( binding=3) uniform texture1DArray)
0:?     'i2DArray' (layout( binding=4) uniform texture2DArray)
0:?     'i2DMS' (layout( binding=5) uniform texture2DMS)
0:?     'i2DMSArray' (layout( binding=6) uniform texture2DMSArray)
0:?     'ii1D' (layout( binding=7) uniform itexture1D)
0:?     'ii2D' (layout( binding=8) uniform itexture2D)
0:?     'ii3D' (layout( binding=9) uniform itexture3D)
0:?     'ii1DArray' (layout( binding=10) uniform itexture1DArray)
0:?     'ii2DArray' (layout( binding=11) uniform itexture2DArray)
0:?     'ii2DMS' (layout( binding=12) uniform itexture2DMS)
0:?     'ii2DMSArray' (layout( binding=13) uniform itexture2DMSArray)
0:?     'OUT' (layout( binding=0 r32f) uniform image3D)
0:?     'tid' ( in 3-component vector of uint GlobalInvocationID)

// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 186

                              Capability Shader
                              Capability Sampled1D
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main" 181
                              ExecutionMode 4 LocalSize 8 8 8
                              Source HLSL 500
                              Name 4  "main"
                              Name 11  "@main(vu3;"
                              Name 10  "tid"
                              Name 15  "f"
                              Name 19  "i1D"
                              Name 34  "i2D"
                              Name 45  "i3D"
                              Name 54  "i1DArray"
                              Name 64  "i2DArray"
                              Name 73  "i2DMS"
                              Name 86  "i2DMSArray"
                              Name 97  "i"
                              Name 100  "ii1D"
                              Name 111  "ii2D"
                              Name 121  "ii3D"
                              Name 130  "ii1DArray"
                              Name 140  "ii2DArray"
                              Name 149  "ii2DMS"
                              Name 160  "ii2DMSArray"
                              Name 168  "storeTemp"
                              Name 175  "OUT"
                              Name 179  "tid"
                              Name 181  "tid"
                              Name 183  "param"
                              Decorate 19(i1D) DescriptorSet 0
                              Decorate 19(i1D) Binding 0
                              Decorate 34(i2D) DescriptorSet 0
                              Decorate 34(i2D) Binding 1
                              Decorate 45(i3D) DescriptorSet 0
                              Decorate 45(i3D) Binding 2
                              Decorate 54(i1DArray) DescriptorSet 0
                              Decorate 54(i1DArray) Binding 3
                              Decorate 64(i2DArray) DescriptorSet 0
                              Decorate 64(i2DArray) Binding 4
                              Decorate 73(i2DMS) DescriptorSet 0
                              Decorate 73(i2DMS) Binding 5
                              Decorate 86(i2DMSArray) DescriptorSet 0
                              Decorate 86(i2DMSArray) Binding 6
                              Decorate 100(ii1D) DescriptorSet 0
                              Decorate 100(ii1D) Binding 7
                              Decorate 111(ii2D) DescriptorSet 0
                              Decorate 111(ii2D) Binding 8
                              Decorate 121(ii3D) DescriptorSet 0
                              Decorate 121(ii3D) Binding 9
                              Decorate 130(ii1DArray) DescriptorSet 0
                              Decorate 130(ii1DArray) Binding 10
                              Decorate 140(ii2DArray) DescriptorSet 0
                              Decorate 140(ii2DArray) Binding 11
                              Decorate 149(ii2DMS) DescriptorSet 0
                              Decorate 149(ii2DMS) Binding 12
                              Decorate 160(ii2DMSArray) DescriptorSet 0
                              Decorate 160(ii2DMSArray) Binding 13
                              Decorate 175(OUT) DescriptorSet 0
                              Decorate 175(OUT) Binding 0
                              Decorate 181(tid) BuiltIn GlobalInvocationId
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:             TypeVector 6(int) 3
               8:             TypePointer Function 7(ivec3)
               9:             TypeFunction 2 8(ptr)
              13:             TypeFloat 32
              14:             TypePointer Function 13(float)
              16:   13(float) Constant 0
              17:             TypeImage 13(float) 1D sampled format:Unknown
              18:             TypePointer UniformConstant 17
         19(i1D):     18(ptr) Variable UniformConstant
              21:      6(int) Constant 0
              22:             TypePointer Function 6(int)
              25:             TypeInt 32 1
              26:     25(int) Constant 0
              27:             TypeVector 13(float) 4
              32:             TypeImage 13(float) 2D sampled format:Unknown
              33:             TypePointer UniformConstant 32
         34(i2D):     33(ptr) Variable UniformConstant
              36:             TypeVector 6(int) 2
              43:             TypeImage 13(float) 3D sampled format:Unknown
              44:             TypePointer UniformConstant 43
         45(i3D):     44(ptr) Variable UniformConstant
              52:             TypeImage 13(float) 1D array sampled format:Unknown
              53:             TypePointer UniformConstant 52
    54(i1DArray):     53(ptr) Variable UniformConstant
              62:             TypeImage 13(float) 2D array sampled format:Unknown
              63:             TypePointer UniformConstant 62
    64(i2DArray):     63(ptr) Variable UniformConstant
              71:             TypeImage 13(float) 2D multi-sampled sampled format:Unknown
              72:             TypePointer UniformConstant 71
       73(i2DMS):     72(ptr) Variable UniformConstant
              77:             TypeVector 25(int) 2
              79:     25(int) Constant 1
              84:             TypeImage 13(float) 2D array multi-sampled sampled format:Unknown
              85:             TypePointer UniformConstant 84
  86(i2DMSArray):     85(ptr) Variable UniformConstant
              89:             TypeVector 25(int) 3
              91:     25(int) Constant 3
              96:             TypePointer Function 25(int)
              98:             TypeImage 25(int) 1D sampled format:Unknown
              99:             TypePointer UniformConstant 98
       100(ii1D):     99(ptr) Variable UniformConstant
             104:             TypeVector 25(int) 4
             109:             TypeImage 25(int) 2D sampled format:Unknown
             110:             TypePointer UniformConstant 109
       111(ii2D):    110(ptr) Variable UniformConstant
             119:             TypeImage 25(int) 3D sampled format:Unknown
             120:             TypePointer UniformConstant 119
       121(ii3D):    120(ptr) Variable UniformConstant
             128:             TypeImage 25(int) 1D array sampled format:Unknown
             129:             TypePointer UniformConstant 128
  130(ii1DArray):    129(ptr) Variable UniformConstant
             138:             TypeImage 25(int) 2D array sampled format:Unknown
             139:             TypePointer UniformConstant 138
  140(ii2DArray):    139(ptr) Variable UniformConstant
             147:             TypeImage 25(int) 2D multi-sampled sampled format:Unknown
             148:             TypePointer UniformConstant 147
     149(ii2DMS):    148(ptr) Variable UniformConstant
             158:             TypeImage 25(int) 2D array multi-sampled sampled format:Unknown
             159:             TypePointer UniformConstant 158
160(ii2DMSArray):    159(ptr) Variable UniformConstant
             173:             TypeImage 13(float) 3D nonsampled format:R32f
             174:             TypePointer UniformConstant 173
        175(OUT):    174(ptr) Variable UniformConstant
             180:             TypePointer Input 7(ivec3)
        181(tid):    180(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
        179(tid):      8(ptr) Variable Function
      183(param):      8(ptr) Variable Function
             182:    7(ivec3) Load 181(tid)
                              Store 179(tid) 182
             184:    7(ivec3) Load 179(tid)
                              Store 183(param) 184
             185:           2 FunctionCall 11(@main(vu3;) 183(param)
                              Return
                              FunctionEnd
  11(@main(vu3;):           2 Function None 9
         10(tid):      8(ptr) FunctionParameter
              12:             Label
           15(f):     14(ptr) Variable Function
           97(i):     96(ptr) Variable Function
  168(storeTemp):     14(ptr) Variable Function
                              Store 15(f) 16
              20:          17 Load 19(i1D)
              23:     22(ptr) AccessChain 10(tid) 21
              24:      6(int) Load 23
              28:   27(fvec4) ImageFetch 20 24 Lod 26
              29:   13(float) CompositeExtract 28 0
              30:   13(float) Load 15(f)
              31:   13(float) FAdd 30 29
                              Store 15(f) 31
              35:          32 Load 34(i2D)
              37:    7(ivec3) Load 10(tid)
              38:   36(ivec2) VectorShuffle 37 37 0 1
              39:   27(fvec4) ImageFetch 35 38 Lod 26
              40:   13(float) CompositeExtract 39 0
              41:   13(float) Load 15(f)
              42:   13(float) FAdd 41 40
                              Store 15(f) 42
              46:          43 Load 45(i3D)
              47:    7(ivec3) Load 10(tid)
              48:   27(fvec4) ImageFetch 46 47 Lod 26
              49:   13(float) CompositeExtract 48 0
              50:   13(float) Load 15(f)
              51:   13(float) FAdd 50 49
                              Store 15(f) 51
              55:          52 Load 54(i1DArray)
              56:    7(ivec3) Load 10(tid)
              57:   36(ivec2) VectorShuffle 56 56 0 1
              58:   27(fvec4) ImageFetch 55 57 Lod 26
              59:   13(float) CompositeExtract 58 0
              60:   13(float) Load 15(f)
              61:   13(float) FAdd 60 59
                              Store 15(f) 61
              65:          62 Load 64(i2DArray)
              66:    7(ivec3) Load 10(tid)
              67:   27(fvec4) ImageFetch 65 66 Lod 26
              68:   13(float) CompositeExtract 67 0
              69:   13(float) Load 15(f)
              70:   13(float) FAdd 69 68
                              Store 15(f) 70
              74:          71 Load 73(i2DMS)
              75:    7(ivec3) Load 10(tid)
              76:   36(ivec2) VectorShuffle 75 75 0 1
              78:   77(ivec2) Bitcast 76
              80:   27(fvec4) ImageFetch 74 78 Sample 79
              81:   13(float) CompositeExtract 80 0
              82:   13(float) Load 15(f)
              83:   13(float) FAdd 82 81
                              Store 15(f) 83
              87:          84 Load 86(i2DMSArray)
              88:    7(ivec3) Load 10(tid)
              90:   89(ivec3) Bitcast 88
              92:   27(fvec4) ImageFetch 87 90 Sample 91
              93:   13(float) CompositeExtract 92 0
              94:   13(float) Load 15(f)
              95:   13(float) FAdd 94 93
                              Store 15(f) 95
                              Store 97(i) 26
             101:          98 Load 100(ii1D)
             102:     22(ptr) AccessChain 10(tid) 21
             103:      6(int) Load 102
             105:  104(ivec4) ImageFetch 101 103 Lod 26
             106:     25(int) CompositeExtract 105 0
             107:     25(int) Load 97(i)
             108:     25(int) IAdd 107 106
                              Store 97(i) 108
             112:         109 Load 111(ii2D)
             113:    7(ivec3) Load 10(tid)
             114:   36(ivec2) VectorShuffle 113 113 0 1
             115:  104(ivec4) ImageFetch 112 114 Lod 26
             116:     25(int) CompositeExtract 115 0
             117:     25(int) Load 97(i)
             118:     25(int) IAdd 117 116
                              Store 97(i) 118
             122:         119 Load 121(ii3D)
             123:    7(ivec3) Load 10(tid)
             124:  104(ivec4) ImageFetch 122 123 Lod 26
             125:     25(int) CompositeExtract 124 0
             126:     25(int) Load 97(i)
             127:     25(int) IAdd 126 125
                              Store 97(i) 127
             131:         128 Load 130(ii1DArray)
             132:    7(ivec3) Load 10(tid)
             133:   36(ivec2) VectorShuffle 132 132 0 1
             134:  104(ivec4) ImageFetch 131 133 Lod 26
             135:     25(int) CompositeExtract 134 0
             136:     25(int) Load 97(i)
             137:     25(int) IAdd 136 135
                              Store 97(i) 137
             141:         138 Load 140(ii2DArray)
             142:    7(ivec3) Load 10(tid)
             143:  104(ivec4) ImageFetch 141 142 Lod 26
             144:     25(int) CompositeExtract 143 0
             145:     25(int) Load 97(i)
             146:     25(int) IAdd 145 144
                              Store 97(i) 146
             150:         147 Load 149(ii2DMS)
             151:    7(ivec3) Load 10(tid)
             152:   36(ivec2) VectorShuffle 151 151 0 1
             153:   77(ivec2) Bitcast 152
             154:  104(ivec4) ImageFetch 150 153 Sample 79
             155:     25(int) CompositeExtract 154 0
             156:     25(int) Load 97(i)
             157:     25(int) IAdd 156 155
                              Store 97(i) 157
             161:         158 Load 160(ii2DMSArray)
             162:    7(ivec3) Load 10(tid)
             163:   89(ivec3) Bitcast 162
             164:  104(ivec4) ImageFetch 161 163 Sample 91
             165:     25(int) CompositeExtract 164 0
             166:     25(int) Load 97(i)
             167:     25(int) IAdd 166 165
                              Store 97(i) 167
             169:   13(float) Load 15(f)
             170:     25(int) Load 97(i)
             171:   13(float) ConvertSToF 170
             172:   13(float) FAdd 169 171
                              Store 168(storeTemp) 172
             176:         173 Load 175(OUT)
             177:    7(ivec3) Load 10(tid)
             178:   13(float) Load 168(storeTemp)
                              ImageWrite 176 177 178
                              Return
                              FunctionEnd
