hlsl.load.rwtexture.array.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:40  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40    Function Parameters: 
0:?     Sequence
0:44      imageLoad (temp 4-component vector of float)
0:44        'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray)
0:44        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:44          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:44          Constant:
0:44            1 (const uint)
0:45      imageLoad (temp 4-component vector of int)
0:45        'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray)
0:45        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:45          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:45          Constant:
0:45            1 (const uint)
0:46      imageLoad (temp 4-component vector of uint)
0:46        'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray)
0:46        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:46          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:46          Constant:
0:46            1 (const uint)
0:49      imageLoad (temp 4-component vector of float)
0:49        'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:49        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:49          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:49          Constant:
0:49            2 (const uint)
0:50      imageLoad (temp 4-component vector of int)
0:50        'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:50        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:50          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:50          Constant:
0:50            2 (const uint)
0:51      imageLoad (temp 4-component vector of uint)
0:51        'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
0:51        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:51          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:51          Constant:
0:51            2 (const uint)
0:53      move second child to first child (temp 4-component vector of float)
0:53        Color: direct index for structure (temp 4-component vector of float)
0:53          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:53          Constant:
0:53            0 (const int)
0:53        Constant:
0:53          1.000000
0:53          1.000000
0:53          1.000000
0:53          1.000000
0:54      move second child to first child (temp float)
0:54        Depth: direct index for structure (temp float)
0:54          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:54          Constant:
0:54            1 (const int)
0:54        Constant:
0:54          1.000000
0:56      Sequence
0:56        Sequence
0:56          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:56            Color: direct index for structure (temp 4-component vector of float)
0:56              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56              Constant:
0:56                0 (const int)
0:56          move second child to first child (temp float)
0:?             'Depth' (out float FragDepth)
0:56            Depth: direct index for structure (temp float)
0:56              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56              Constant:
0:56                1 (const int)
0:56        Branch: Return
0:?   Linker Objects
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'Depth' (out float FragDepth)
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})


Linked fragment stage:


Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:40  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:40    Function Parameters: 
0:?     Sequence
0:44      imageLoad (temp 4-component vector of float)
0:44        'g_tTex1df4a' (layout(rgba32f ) uniform image1DArray)
0:44        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:44          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:44          Constant:
0:44            1 (const uint)
0:45      imageLoad (temp 4-component vector of int)
0:45        'g_tTex1di4a' (layout(rgba32i ) uniform iimage1DArray)
0:45        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:45          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:45          Constant:
0:45            1 (const uint)
0:46      imageLoad (temp 4-component vector of uint)
0:46        'g_tTex1du4a' (layout(rgba32ui ) uniform uimage1DArray)
0:46        c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of int)
0:46          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:46          Constant:
0:46            1 (const uint)
0:49      imageLoad (temp 4-component vector of float)
0:49        'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
0:49        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:49          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:49          Constant:
0:49            2 (const uint)
0:50      imageLoad (temp 4-component vector of int)
0:50        'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
0:50        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:50          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:50          Constant:
0:50            2 (const uint)
0:51      imageLoad (temp 4-component vector of uint)
0:51        'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
0:51        c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of int)
0:51          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
0:51          Constant:
0:51            2 (const uint)
0:53      move second child to first child (temp 4-component vector of float)
0:53        Color: direct index for structure (temp 4-component vector of float)
0:53          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:53          Constant:
0:53            0 (const int)
0:53        Constant:
0:53          1.000000
0:53          1.000000
0:53          1.000000
0:53          1.000000
0:54      move second child to first child (temp float)
0:54        Depth: direct index for structure (temp float)
0:54          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:54          Constant:
0:54            1 (const int)
0:54        Constant:
0:54          1.000000
0:56      Sequence
0:56        Sequence
0:56          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:56            Color: direct index for structure (temp 4-component vector of float)
0:56              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56              Constant:
0:56                0 (const int)
0:56          move second child to first child (temp float)
0:?             'Depth' (out float FragDepth)
0:56            Depth: direct index for structure (temp float)
0:56              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56              Constant:
0:56                1 (const int)
0:56        Branch: Return
0:?   Linker Objects
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'Depth' (out float FragDepth)
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})

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

                              Capability Shader
                              Capability Sampled1D
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 74 78
                              ExecutionMode 4 OriginUpperLeft
                              Name 4  "main"
                              Name 9  "g_tTex1df4a"
                              Name 15  "$Global"
                              MemberName 15($Global) 0  "c1"
                              MemberName 15($Global) 1  "c2"
                              MemberName 15($Global) 2  "c3"
                              MemberName 15($Global) 3  "c4"
                              MemberName 15($Global) 4  "o1"
                              MemberName 15($Global) 5  "o2"
                              MemberName 15($Global) 6  "o3"
                              MemberName 15($Global) 7  "o4"
                              Name 17  ""
                              Name 26  "g_tTex1di4a"
                              Name 34  "g_tTex1du4a"
                              Name 42  "g_tTex2df4a"
                              Name 51  "g_tTex2di4a"
                              Name 58  "g_tTex2du4a"
                              Name 63  "PS_OUTPUT"
                              MemberName 63(PS_OUTPUT) 0  "Color"
                              MemberName 63(PS_OUTPUT) 1  "Depth"
                              Name 65  "psout"
                              Name 74  "Color"
                              Name 78  "Depth"
                              Name 84  "g_sSamp"
                              Name 87  "g_tTex1df4"
                              Name 90  "g_tTex1di4"
                              Name 93  "g_tTex1du4"
                              Name 96  "g_tTex2df4"
                              Name 99  "g_tTex2di4"
                              Name 102  "g_tTex2du4"
                              Name 105  "g_tTex3df4"
                              Name 108  "g_tTex3di4"
                              Name 111  "g_tTex3du4"
                              Decorate 9(g_tTex1df4a) DescriptorSet 0
                              MemberDecorate 15($Global) 0 Offset 0
                              MemberDecorate 15($Global) 1 Offset 8
                              MemberDecorate 15($Global) 2 Offset 16
                              MemberDecorate 15($Global) 3 Offset 32
                              MemberDecorate 15($Global) 4 Offset 48
                              MemberDecorate 15($Global) 5 Offset 56
                              MemberDecorate 15($Global) 6 Offset 64
                              MemberDecorate 15($Global) 7 Offset 80
                              Decorate 15($Global) Block
                              Decorate 17 DescriptorSet 0
                              Decorate 26(g_tTex1di4a) DescriptorSet 0
                              Decorate 34(g_tTex1du4a) DescriptorSet 0
                              Decorate 42(g_tTex2df4a) DescriptorSet 0
                              Decorate 51(g_tTex2di4a) DescriptorSet 0
                              Decorate 58(g_tTex2du4a) DescriptorSet 0
                              Decorate 74(Color) Location 0
                              Decorate 78(Depth) BuiltIn FragDepth
                              Decorate 84(g_sSamp) DescriptorSet 0
                              Decorate 84(g_sSamp) Binding 0
                              Decorate 87(g_tTex1df4) DescriptorSet 0
                              Decorate 87(g_tTex1df4) Binding 0
                              Decorate 90(g_tTex1di4) DescriptorSet 0
                              Decorate 93(g_tTex1du4) DescriptorSet 0
                              Decorate 96(g_tTex2df4) DescriptorSet 0
                              Decorate 99(g_tTex2di4) DescriptorSet 0
                              Decorate 102(g_tTex2du4) DescriptorSet 0
                              Decorate 105(g_tTex3df4) DescriptorSet 0
                              Decorate 108(g_tTex3di4) DescriptorSet 0
                              Decorate 111(g_tTex3du4) DescriptorSet 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeImage 6(float) 1D array nonsampled format:Rgba32f
               8:             TypePointer UniformConstant 7
  9(g_tTex1df4a):      8(ptr) Variable UniformConstant
              11:             TypeInt 32 1
              12:             TypeVector 11(int) 2
              13:             TypeVector 11(int) 3
              14:             TypeVector 11(int) 4
     15($Global):             TypeStruct 11(int) 12(ivec2) 13(ivec3) 14(ivec4) 11(int) 12(ivec2) 13(ivec3) 14(ivec4)
              16:             TypePointer Uniform 15($Global)
              17:     16(ptr) Variable Uniform
              18:     11(int) Constant 1
              19:             TypePointer Uniform 12(ivec2)
              22:             TypeVector 6(float) 4
              24:             TypeImage 11(int) 1D array nonsampled format:Rgba32i
              25:             TypePointer UniformConstant 24
 26(g_tTex1di4a):     25(ptr) Variable UniformConstant
              31:             TypeInt 32 0
              32:             TypeImage 31(int) 1D array nonsampled format:Rgba32ui
              33:             TypePointer UniformConstant 32
 34(g_tTex1du4a):     33(ptr) Variable UniformConstant
              38:             TypeVector 31(int) 4
              40:             TypeImage 6(float) 2D array nonsampled format:Rgba32f
              41:             TypePointer UniformConstant 40
 42(g_tTex2df4a):     41(ptr) Variable UniformConstant
              44:     11(int) Constant 2
              45:             TypePointer Uniform 13(ivec3)
              49:             TypeImage 11(int) 2D array nonsampled format:Rgba32i
              50:             TypePointer UniformConstant 49
 51(g_tTex2di4a):     50(ptr) Variable UniformConstant
              56:             TypeImage 31(int) 2D array nonsampled format:Rgba32ui
              57:             TypePointer UniformConstant 56
 58(g_tTex2du4a):     57(ptr) Variable UniformConstant
   63(PS_OUTPUT):             TypeStruct 22(fvec4) 6(float)
              64:             TypePointer Function 63(PS_OUTPUT)
              66:     11(int) Constant 0
              67:    6(float) Constant 1065353216
              68:   22(fvec4) ConstantComposite 67 67 67 67
              69:             TypePointer Function 22(fvec4)
              71:             TypePointer Function 6(float)
              73:             TypePointer Output 22(fvec4)
       74(Color):     73(ptr) Variable Output
              77:             TypePointer Output 6(float)
       78(Depth):     77(ptr) Variable Output
              82:             TypeSampler
              83:             TypePointer UniformConstant 82
     84(g_sSamp):     83(ptr) Variable UniformConstant
              85:             TypeImage 6(float) 1D nonsampled format:Rgba32f
              86:             TypePointer UniformConstant 85
  87(g_tTex1df4):     86(ptr) Variable UniformConstant
              88:             TypeImage 11(int) 1D nonsampled format:Rgba32i
              89:             TypePointer UniformConstant 88
  90(g_tTex1di4):     89(ptr) Variable UniformConstant
              91:             TypeImage 31(int) 1D nonsampled format:Rgba32ui
              92:             TypePointer UniformConstant 91
  93(g_tTex1du4):     92(ptr) Variable UniformConstant
              94:             TypeImage 6(float) 2D nonsampled format:Rgba32f
              95:             TypePointer UniformConstant 94
  96(g_tTex2df4):     95(ptr) Variable UniformConstant
              97:             TypeImage 11(int) 2D nonsampled format:Rgba32i
              98:             TypePointer UniformConstant 97
  99(g_tTex2di4):     98(ptr) Variable UniformConstant
             100:             TypeImage 31(int) 2D nonsampled format:Rgba32ui
             101:             TypePointer UniformConstant 100
 102(g_tTex2du4):    101(ptr) Variable UniformConstant
             103:             TypeImage 6(float) 3D nonsampled format:Rgba32f
             104:             TypePointer UniformConstant 103
 105(g_tTex3df4):    104(ptr) Variable UniformConstant
             106:             TypeImage 11(int) 3D nonsampled format:Rgba32i
             107:             TypePointer UniformConstant 106
 108(g_tTex3di4):    107(ptr) Variable UniformConstant
             109:             TypeImage 31(int) 3D nonsampled format:Rgba32ui
             110:             TypePointer UniformConstant 109
 111(g_tTex3du4):    110(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
       65(psout):     64(ptr) Variable Function
              10:           7 Load 9(g_tTex1df4a)
              20:     19(ptr) AccessChain 17 18
              21:   12(ivec2) Load 20
              23:   22(fvec4) ImageRead 10 21
              27:          24 Load 26(g_tTex1di4a)
              28:     19(ptr) AccessChain 17 18
              29:   12(ivec2) Load 28
              30:   14(ivec4) ImageRead 27 29
              35:          32 Load 34(g_tTex1du4a)
              36:     19(ptr) AccessChain 17 18
              37:   12(ivec2) Load 36
              39:   38(ivec4) ImageRead 35 37
              43:          40 Load 42(g_tTex2df4a)
              46:     45(ptr) AccessChain 17 44
              47:   13(ivec3) Load 46
              48:   22(fvec4) ImageRead 43 47
              52:          49 Load 51(g_tTex2di4a)
              53:     45(ptr) AccessChain 17 44
              54:   13(ivec3) Load 53
              55:   14(ivec4) ImageRead 52 54
              59:          56 Load 58(g_tTex2du4a)
              60:     45(ptr) AccessChain 17 44
              61:   13(ivec3) Load 60
              62:   38(ivec4) ImageRead 59 61
              70:     69(ptr) AccessChain 65(psout) 66
                              Store 70 68
              72:     71(ptr) AccessChain 65(psout) 18
                              Store 72 67
              75:     69(ptr) AccessChain 65(psout) 66
              76:   22(fvec4) Load 75
                              Store 74(Color) 76
              79:     71(ptr) AccessChain 65(psout) 18
              80:    6(float) Load 79
                              Store 78(Depth) 80
                              Return
                              FunctionEnd
