hlsl.sample.offset.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:28  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28    Function Parameters: 
0:?     Sequence
0:31      Sequence
0:31        move second child to first child (temp 4-component vector of float)
0:31          'txval10' (temp 4-component vector of float)
0:31          textureOffset (temp 4-component vector of float)
0:31            Construct combined texture-sampler (temp sampler1D)
0:31              'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:31              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:31            Constant:
0:31              0.100000
0:31            Constant:
0:31              1 (const int)
0:32      Sequence
0:32        move second child to first child (temp 4-component vector of int)
0:32          'txval11' (temp 4-component vector of int)
0:32          textureOffset (temp 4-component vector of int)
0:32            Construct combined texture-sampler (temp isampler1D)
0:32              'g_tTex1di4' (uniform itexture1D)
0:32              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:32            Constant:
0:32              0.200000
0:32            Constant:
0:32              1 (const int)
0:33      Sequence
0:33        move second child to first child (temp 4-component vector of uint)
0:33          'txval12' (temp 4-component vector of uint)
0:33          textureOffset (temp 4-component vector of uint)
0:33            Construct combined texture-sampler (temp usampler1D)
0:33              'g_tTex1du4' (uniform utexture1D)
0:33              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:33            Constant:
0:33              0.300000
0:33            Constant:
0:33              1 (const int)
0:35      Sequence
0:35        move second child to first child (temp 4-component vector of float)
0:35          'txval20' (temp 4-component vector of float)
0:35          textureOffset (temp 4-component vector of float)
0:35            Construct combined texture-sampler (temp sampler2D)
0:35              'g_tTex2df4' (uniform texture2D)
0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?             Constant:
0:?               1 (const int)
0:?               0 (const int)
0:36      Sequence
0:36        move second child to first child (temp 4-component vector of int)
0:36          'txval21' (temp 4-component vector of int)
0:36          textureOffset (temp 4-component vector of int)
0:36            Construct combined texture-sampler (temp isampler2D)
0:36              'g_tTex2di4' (uniform itexture2D)
0:36              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.300000
0:?               0.400000
0:?             Constant:
0:?               1 (const int)
0:?               1 (const int)
0:37      Sequence
0:37        move second child to first child (temp 4-component vector of uint)
0:37          'txval22' (temp 4-component vector of uint)
0:37          textureOffset (temp 4-component vector of uint)
0:37            Construct combined texture-sampler (temp usampler2D)
0:37              'g_tTex2du4' (uniform utexture2D)
0:37              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.500000
0:?               0.600000
0:?             Constant:
0:?               1 (const int)
0:?               -1 (const int)
0:39      Sequence
0:39        move second child to first child (temp 4-component vector of float)
0:39          'txval30' (temp 4-component vector of float)
0:39          textureOffset (temp 4-component vector of float)
0:39            Construct combined texture-sampler (temp sampler3D)
0:39              'g_tTex3df4' (uniform texture3D)
0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:?             Constant:
0:?               1 (const int)
0:?               0 (const int)
0:?               1 (const int)
0:40      Sequence
0:40        move second child to first child (temp 4-component vector of int)
0:40          'txval31' (temp 4-component vector of int)
0:40          textureOffset (temp 4-component vector of int)
0:40            Construct combined texture-sampler (temp isampler3D)
0:40              'g_tTex3di4' (uniform itexture3D)
0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:?             Constant:
0:?               1 (const int)
0:?               1 (const int)
0:?               1 (const int)
0:41      Sequence
0:41        move second child to first child (temp 4-component vector of uint)
0:41          'txval32' (temp 4-component vector of uint)
0:41          textureOffset (temp 4-component vector of uint)
0:41            Construct combined texture-sampler (temp usampler3D)
0:41              'g_tTex3du4' (uniform utexture3D)
0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:?             Constant:
0:?               1 (const int)
0:?               0 (const int)
0:?               -1 (const int)
0:45      move second child to first child (temp 4-component vector of float)
0:45        Color: direct index for structure (temp 4-component vector of float)
0:45          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:45          Constant:
0:45            0 (const int)
0:45        Constant:
0:45          1.000000
0:45          1.000000
0:45          1.000000
0:45          1.000000
0:46      move second child to first child (temp float)
0:46        Depth: direct index for structure (temp float)
0:46          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:46          Constant:
0:46            1 (const int)
0:46        Constant:
0:46          1.000000
0:48      Sequence
0:48        Sequence
0:48          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:48            Color: direct index for structure (temp 4-component vector of float)
0:48              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48              Constant:
0:48                0 (const int)
0:48          move second child to first child (temp float)
0:?             'Depth' (out float FragDepth)
0:48            Depth: direct index for structure (temp float)
0:48              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48              Constant:
0:48                1 (const int)
0:48        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_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:?     'g_tTex1di4' (uniform itexture1D)
0:?     'g_tTex1du4' (uniform utexture1D)
0:?     'g_tTex2df4' (uniform texture2D)
0:?     'g_tTex2di4' (uniform itexture2D)
0:?     'g_tTex2du4' (uniform utexture2D)
0:?     'g_tTex3df4' (uniform texture3D)
0:?     'g_tTex3di4' (uniform itexture3D)
0:?     'g_tTex3du4' (uniform utexture3D)
0:?     'g_tTexcdf4' (uniform textureCube)
0:?     'g_tTexcdi4' (uniform itextureCube)
0:?     'g_tTexcdu4' (uniform utextureCube)


Linked fragment stage:


Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:28  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28    Function Parameters: 
0:?     Sequence
0:31      Sequence
0:31        move second child to first child (temp 4-component vector of float)
0:31          'txval10' (temp 4-component vector of float)
0:31          textureOffset (temp 4-component vector of float)
0:31            Construct combined texture-sampler (temp sampler1D)
0:31              'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:31              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:31            Constant:
0:31              0.100000
0:31            Constant:
0:31              1 (const int)
0:32      Sequence
0:32        move second child to first child (temp 4-component vector of int)
0:32          'txval11' (temp 4-component vector of int)
0:32          textureOffset (temp 4-component vector of int)
0:32            Construct combined texture-sampler (temp isampler1D)
0:32              'g_tTex1di4' (uniform itexture1D)
0:32              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:32            Constant:
0:32              0.200000
0:32            Constant:
0:32              1 (const int)
0:33      Sequence
0:33        move second child to first child (temp 4-component vector of uint)
0:33          'txval12' (temp 4-component vector of uint)
0:33          textureOffset (temp 4-component vector of uint)
0:33            Construct combined texture-sampler (temp usampler1D)
0:33              'g_tTex1du4' (uniform utexture1D)
0:33              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:33            Constant:
0:33              0.300000
0:33            Constant:
0:33              1 (const int)
0:35      Sequence
0:35        move second child to first child (temp 4-component vector of float)
0:35          'txval20' (temp 4-component vector of float)
0:35          textureOffset (temp 4-component vector of float)
0:35            Construct combined texture-sampler (temp sampler2D)
0:35              'g_tTex2df4' (uniform texture2D)
0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?             Constant:
0:?               1 (const int)
0:?               0 (const int)
0:36      Sequence
0:36        move second child to first child (temp 4-component vector of int)
0:36          'txval21' (temp 4-component vector of int)
0:36          textureOffset (temp 4-component vector of int)
0:36            Construct combined texture-sampler (temp isampler2D)
0:36              'g_tTex2di4' (uniform itexture2D)
0:36              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.300000
0:?               0.400000
0:?             Constant:
0:?               1 (const int)
0:?               1 (const int)
0:37      Sequence
0:37        move second child to first child (temp 4-component vector of uint)
0:37          'txval22' (temp 4-component vector of uint)
0:37          textureOffset (temp 4-component vector of uint)
0:37            Construct combined texture-sampler (temp usampler2D)
0:37              'g_tTex2du4' (uniform utexture2D)
0:37              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.500000
0:?               0.600000
0:?             Constant:
0:?               1 (const int)
0:?               -1 (const int)
0:39      Sequence
0:39        move second child to first child (temp 4-component vector of float)
0:39          'txval30' (temp 4-component vector of float)
0:39          textureOffset (temp 4-component vector of float)
0:39            Construct combined texture-sampler (temp sampler3D)
0:39              'g_tTex3df4' (uniform texture3D)
0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:?             Constant:
0:?               1 (const int)
0:?               0 (const int)
0:?               1 (const int)
0:40      Sequence
0:40        move second child to first child (temp 4-component vector of int)
0:40          'txval31' (temp 4-component vector of int)
0:40          textureOffset (temp 4-component vector of int)
0:40            Construct combined texture-sampler (temp isampler3D)
0:40              'g_tTex3di4' (uniform itexture3D)
0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:?             Constant:
0:?               1 (const int)
0:?               1 (const int)
0:?               1 (const int)
0:41      Sequence
0:41        move second child to first child (temp 4-component vector of uint)
0:41          'txval32' (temp 4-component vector of uint)
0:41          textureOffset (temp 4-component vector of uint)
0:41            Construct combined texture-sampler (temp usampler3D)
0:41              'g_tTex3du4' (uniform utexture3D)
0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:?             Constant:
0:?               1 (const int)
0:?               0 (const int)
0:?               -1 (const int)
0:45      move second child to first child (temp 4-component vector of float)
0:45        Color: direct index for structure (temp 4-component vector of float)
0:45          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:45          Constant:
0:45            0 (const int)
0:45        Constant:
0:45          1.000000
0:45          1.000000
0:45          1.000000
0:45          1.000000
0:46      move second child to first child (temp float)
0:46        Depth: direct index for structure (temp float)
0:46          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:46          Constant:
0:46            1 (const int)
0:46        Constant:
0:46          1.000000
0:48      Sequence
0:48        Sequence
0:48          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:48            Color: direct index for structure (temp 4-component vector of float)
0:48              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48              Constant:
0:48                0 (const int)
0:48          move second child to first child (temp float)
0:?             'Depth' (out float FragDepth)
0:48            Depth: direct index for structure (temp float)
0:48              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48              Constant:
0:48                1 (const int)
0:48        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_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:?     'g_tTex1di4' (uniform itexture1D)
0:?     'g_tTex1du4' (uniform utexture1D)
0:?     'g_tTex2df4' (uniform texture2D)
0:?     'g_tTex2di4' (uniform itexture2D)
0:?     'g_tTex2du4' (uniform utexture2D)
0:?     'g_tTex3df4' (uniform texture3D)
0:?     'g_tTex3di4' (uniform itexture3D)
0:?     'g_tTex3du4' (uniform utexture3D)
0:?     'g_tTexcdf4' (uniform textureCube)
0:?     'g_tTexcdi4' (uniform itextureCube)
0:?     'g_tTexcdu4' (uniform utextureCube)

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

                              Capability Shader
                              Capability Sampled1D
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 136 140
                              ExecutionMode 4 OriginUpperLeft
                              Name 4  "main"
                              Name 9  "txval10"
                              Name 12  "g_tTex1df4"
                              Name 16  "g_sSamp"
                              Name 26  "txval11"
                              Name 29  "g_tTex1di4"
                              Name 39  "txval12"
                              Name 42  "g_tTex1du4"
                              Name 49  "txval20"
                              Name 52  "g_tTex2df4"
                              Name 63  "txval21"
                              Name 66  "g_tTex2di4"
                              Name 75  "txval22"
                              Name 78  "g_tTex2du4"
                              Name 89  "txval30"
                              Name 92  "g_tTex3df4"
                              Name 102  "txval31"
                              Name 105  "g_tTex3di4"
                              Name 113  "txval32"
                              Name 116  "g_tTex3du4"
                              Name 127  "PS_OUTPUT"
                              MemberName 127(PS_OUTPUT) 0  "Color"
                              MemberName 127(PS_OUTPUT) 1  "Depth"
                              Name 129  "psout"
                              Name 136  "Color"
                              Name 140  "Depth"
                              Name 144  "g_tTex1df4a"
                              Name 147  "g_tTexcdf4"
                              Name 150  "g_tTexcdi4"
                              Name 153  "g_tTexcdu4"
                              Decorate 12(g_tTex1df4) DescriptorSet 0
                              Decorate 12(g_tTex1df4) Binding 0
                              Decorate 16(g_sSamp) DescriptorSet 0
                              Decorate 16(g_sSamp) Binding 0
                              Decorate 29(g_tTex1di4) DescriptorSet 0
                              Decorate 42(g_tTex1du4) DescriptorSet 0
                              Decorate 52(g_tTex2df4) DescriptorSet 0
                              Decorate 66(g_tTex2di4) DescriptorSet 0
                              Decorate 78(g_tTex2du4) DescriptorSet 0
                              Decorate 92(g_tTex3df4) DescriptorSet 0
                              Decorate 105(g_tTex3di4) DescriptorSet 0
                              Decorate 116(g_tTex3du4) DescriptorSet 0
                              Decorate 136(Color) Location 0
                              Decorate 140(Depth) BuiltIn FragDepth
                              Decorate 144(g_tTex1df4a) DescriptorSet 0
                              Decorate 144(g_tTex1df4a) Binding 1
                              Decorate 147(g_tTexcdf4) DescriptorSet 0
                              Decorate 150(g_tTexcdi4) DescriptorSet 0
                              Decorate 153(g_tTexcdu4) DescriptorSet 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
              10:             TypeImage 6(float) 1D sampled format:Unknown
              11:             TypePointer UniformConstant 10
  12(g_tTex1df4):     11(ptr) Variable UniformConstant
              14:             TypeSampler
              15:             TypePointer UniformConstant 14
     16(g_sSamp):     15(ptr) Variable UniformConstant
              18:             TypeSampledImage 10
              20:    6(float) Constant 1036831949
              21:             TypeInt 32 1
              22:     21(int) Constant 1
              24:             TypeVector 21(int) 4
              25:             TypePointer Function 24(ivec4)
              27:             TypeImage 21(int) 1D sampled format:Unknown
              28:             TypePointer UniformConstant 27
  29(g_tTex1di4):     28(ptr) Variable UniformConstant
              32:             TypeSampledImage 27
              34:    6(float) Constant 1045220557
              36:             TypeInt 32 0
              37:             TypeVector 36(int) 4
              38:             TypePointer Function 37(ivec4)
              40:             TypeImage 36(int) 1D sampled format:Unknown
              41:             TypePointer UniformConstant 40
  42(g_tTex1du4):     41(ptr) Variable UniformConstant
              45:             TypeSampledImage 40
              47:    6(float) Constant 1050253722
              50:             TypeImage 6(float) 2D sampled format:Unknown
              51:             TypePointer UniformConstant 50
  52(g_tTex2df4):     51(ptr) Variable UniformConstant
              55:             TypeSampledImage 50
              57:             TypeVector 6(float) 2
              58:   57(fvec2) ConstantComposite 20 34
              59:             TypeVector 21(int) 2
              60:     21(int) Constant 0
              61:   59(ivec2) ConstantComposite 22 60
              64:             TypeImage 21(int) 2D sampled format:Unknown
              65:             TypePointer UniformConstant 64
  66(g_tTex2di4):     65(ptr) Variable UniformConstant
              69:             TypeSampledImage 64
              71:    6(float) Constant 1053609165
              72:   57(fvec2) ConstantComposite 47 71
              73:   59(ivec2) ConstantComposite 22 22
              76:             TypeImage 36(int) 2D sampled format:Unknown
              77:             TypePointer UniformConstant 76
  78(g_tTex2du4):     77(ptr) Variable UniformConstant
              81:             TypeSampledImage 76
              83:    6(float) Constant 1056964608
              84:    6(float) Constant 1058642330
              85:   57(fvec2) ConstantComposite 83 84
              86:     21(int) Constant 4294967295
              87:   59(ivec2) ConstantComposite 22 86
              90:             TypeImage 6(float) 3D sampled format:Unknown
              91:             TypePointer UniformConstant 90
  92(g_tTex3df4):     91(ptr) Variable UniformConstant
              95:             TypeSampledImage 90
              97:             TypeVector 6(float) 3
              98:   97(fvec3) ConstantComposite 20 34 47
              99:             TypeVector 21(int) 3
             100:   99(ivec3) ConstantComposite 22 60 22
             103:             TypeImage 21(int) 3D sampled format:Unknown
             104:             TypePointer UniformConstant 103
 105(g_tTex3di4):    104(ptr) Variable UniformConstant
             108:             TypeSampledImage 103
             110:   97(fvec3) ConstantComposite 71 83 84
             111:   99(ivec3) ConstantComposite 22 22 22
             114:             TypeImage 36(int) 3D sampled format:Unknown
             115:             TypePointer UniformConstant 114
 116(g_tTex3du4):    115(ptr) Variable UniformConstant
             119:             TypeSampledImage 114
             121:    6(float) Constant 1060320051
             122:    6(float) Constant 1061997773
             123:    6(float) Constant 1063675494
             124:   97(fvec3) ConstantComposite 121 122 123
             125:   99(ivec3) ConstantComposite 22 60 86
  127(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
             128:             TypePointer Function 127(PS_OUTPUT)
             130:    6(float) Constant 1065353216
             131:    7(fvec4) ConstantComposite 130 130 130 130
             133:             TypePointer Function 6(float)
             135:             TypePointer Output 7(fvec4)
      136(Color):    135(ptr) Variable Output
             139:             TypePointer Output 6(float)
      140(Depth):    139(ptr) Variable Output
144(g_tTex1df4a):     11(ptr) Variable UniformConstant
             145:             TypeImage 6(float) Cube sampled format:Unknown
             146:             TypePointer UniformConstant 145
 147(g_tTexcdf4):    146(ptr) Variable UniformConstant
             148:             TypeImage 21(int) Cube sampled format:Unknown
             149:             TypePointer UniformConstant 148
 150(g_tTexcdi4):    149(ptr) Variable UniformConstant
             151:             TypeImage 36(int) Cube sampled format:Unknown
             152:             TypePointer UniformConstant 151
 153(g_tTexcdu4):    152(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
      9(txval10):      8(ptr) Variable Function
     26(txval11):     25(ptr) Variable Function
     39(txval12):     38(ptr) Variable Function
     49(txval20):      8(ptr) Variable Function
     63(txval21):     25(ptr) Variable Function
     75(txval22):     38(ptr) Variable Function
     89(txval30):      8(ptr) Variable Function
    102(txval31):     25(ptr) Variable Function
    113(txval32):     38(ptr) Variable Function
      129(psout):    128(ptr) Variable Function
              13:          10 Load 12(g_tTex1df4)
              17:          14 Load 16(g_sSamp)
              19:          18 SampledImage 13 17
              23:    7(fvec4) ImageSampleImplicitLod 19 20 ConstOffset 22
                              Store 9(txval10) 23
              30:          27 Load 29(g_tTex1di4)
              31:          14 Load 16(g_sSamp)
              33:          32 SampledImage 30 31
              35:   24(ivec4) ImageSampleImplicitLod 33 34 ConstOffset 22
                              Store 26(txval11) 35
              43:          40 Load 42(g_tTex1du4)
              44:          14 Load 16(g_sSamp)
              46:          45 SampledImage 43 44
              48:   37(ivec4) ImageSampleImplicitLod 46 47 ConstOffset 22
                              Store 39(txval12) 48
              53:          50 Load 52(g_tTex2df4)
              54:          14 Load 16(g_sSamp)
              56:          55 SampledImage 53 54
              62:    7(fvec4) ImageSampleImplicitLod 56 58 ConstOffset 61
                              Store 49(txval20) 62
              67:          64 Load 66(g_tTex2di4)
              68:          14 Load 16(g_sSamp)
              70:          69 SampledImage 67 68
              74:   24(ivec4) ImageSampleImplicitLod 70 72 ConstOffset 73
                              Store 63(txval21) 74
              79:          76 Load 78(g_tTex2du4)
              80:          14 Load 16(g_sSamp)
              82:          81 SampledImage 79 80
              88:   37(ivec4) ImageSampleImplicitLod 82 85 ConstOffset 87
                              Store 75(txval22) 88
              93:          90 Load 92(g_tTex3df4)
              94:          14 Load 16(g_sSamp)
              96:          95 SampledImage 93 94
             101:    7(fvec4) ImageSampleImplicitLod 96 98 ConstOffset 100
                              Store 89(txval30) 101
             106:         103 Load 105(g_tTex3di4)
             107:          14 Load 16(g_sSamp)
             109:         108 SampledImage 106 107
             112:   24(ivec4) ImageSampleImplicitLod 109 110 ConstOffset 111
                              Store 102(txval31) 112
             117:         114 Load 116(g_tTex3du4)
             118:          14 Load 16(g_sSamp)
             120:         119 SampledImage 117 118
             126:   37(ivec4) ImageSampleImplicitLod 120 124 ConstOffset 125
                              Store 113(txval32) 126
             132:      8(ptr) AccessChain 129(psout) 60
                              Store 132 131
             134:    133(ptr) AccessChain 129(psout) 22
                              Store 134 130
             137:      8(ptr) AccessChain 129(psout) 60
             138:    7(fvec4) Load 137
                              Store 136(Color) 138
             141:    133(ptr) AccessChain 129(psout) 22
             142:    6(float) Load 141
                              Store 140(Depth) 142
                              Return
                              FunctionEnd
