hlsl.samplelevel.basic.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:53  Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:29    Function Parameters: 
0:?     Sequence
0:32      Sequence
0:32        move second child to first child (temp 4-component vector of float)
0:32          'txval10' (temp 4-component vector of float)
0:32          textureLod (global 4-component vector of float)
0:32            Construct combined texture-sampler (temp sampler1D)
0:32              'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:32              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:32            Constant:
0:32              0.100000
0:32            Constant:
0:32              0.750000
0:33      Sequence
0:33        move second child to first child (temp 4-component vector of int)
0:33          'txval11' (temp 4-component vector of int)
0:33          textureLod (global 4-component vector of int)
0:33            Construct combined texture-sampler (temp isampler1D)
0:33              'g_tTex1di4' (uniform itexture1D)
0:33              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:33            Constant:
0:33              0.200000
0:33            Constant:
0:33              0.750000
0:34      Sequence
0:34        move second child to first child (temp 4-component vector of uint)
0:34          'txval12' (temp 4-component vector of uint)
0:34          textureLod (global 4-component vector of uint)
0:34            Construct combined texture-sampler (temp usampler1D)
0:34              'g_tTex1du4' (uniform utexture1D)
0:34              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:34            Constant:
0:34              0.300000
0:34            Constant:
0:34              0.750000
0:36      Sequence
0:36        move second child to first child (temp 4-component vector of float)
0:36          'txval20' (temp 4-component vector of float)
0:36          textureLod (global 4-component vector of float)
0:36            Construct combined texture-sampler (temp sampler2D)
0:36              'g_tTex2df4' (uniform texture2D)
0:36              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:36            Constant:
0:36              0.750000
0:37      Sequence
0:37        move second child to first child (temp 4-component vector of int)
0:37          'txval21' (temp 4-component vector of int)
0:37          textureLod (global 4-component vector of int)
0:37            Construct combined texture-sampler (temp isampler2D)
0:37              'g_tTex2di4' (uniform itexture2D)
0:37              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.300000
0:?               0.400000
0:37            Constant:
0:37              0.750000
0:38      Sequence
0:38        move second child to first child (temp 4-component vector of uint)
0:38          'txval22' (temp 4-component vector of uint)
0:38          textureLod (global 4-component vector of uint)
0:38            Construct combined texture-sampler (temp usampler2D)
0:38              'g_tTex2du4' (uniform utexture2D)
0:38              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.500000
0:?               0.600000
0:38            Constant:
0:38              0.750000
0:40      Sequence
0:40        move second child to first child (temp 4-component vector of float)
0:40          'txval30' (temp 4-component vector of float)
0:40          textureLod (global 4-component vector of float)
0:40            Construct combined texture-sampler (temp sampler3D)
0:40              'g_tTex3df4' (uniform texture3D)
0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:40            Constant:
0:40              0.750000
0:41      Sequence
0:41        move second child to first child (temp 4-component vector of int)
0:41          'txval31' (temp 4-component vector of int)
0:41          textureLod (global 4-component vector of int)
0:41            Construct combined texture-sampler (temp isampler3D)
0:41              'g_tTex3di4' (uniform itexture3D)
0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:41            Constant:
0:41              0.750000
0:42      Sequence
0:42        move second child to first child (temp 4-component vector of uint)
0:42          'txval32' (temp 4-component vector of uint)
0:42          textureLod (global 4-component vector of uint)
0:42            Construct combined texture-sampler (temp usampler3D)
0:42              'g_tTex3du4' (uniform utexture3D)
0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:42            Constant:
0:42              0.750000
0:44      Sequence
0:44        move second child to first child (temp 4-component vector of float)
0:44          'txval40' (temp 4-component vector of float)
0:44          textureLod (global 4-component vector of float)
0:44            Construct combined texture-sampler (temp samplerCube)
0:44              'g_tTexcdf4' (uniform textureCube)
0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:44            Constant:
0:44              0.750000
0:45      Sequence
0:45        move second child to first child (temp 4-component vector of int)
0:45          'txval41' (temp 4-component vector of int)
0:45          textureLod (global 4-component vector of int)
0:45            Construct combined texture-sampler (temp isamplerCube)
0:45              'g_tTexcdi4' (uniform itextureCube)
0:45              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:45            Constant:
0:45              0.750000
0:46      Sequence
0:46        move second child to first child (temp 4-component vector of uint)
0:46          'txval42' (temp 4-component vector of uint)
0:46          textureLod (global 4-component vector of uint)
0:46            Construct combined texture-sampler (temp usamplerCube)
0:46              'g_tTexcdu4' (uniform utextureCube)
0:46              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:46            Constant:
0:46              0.750000
0:48      move second child to first child (temp 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 FragDepth Depth})
0:48          Constant:
0:48            0 (const int)
0:48        Constant:
0:48          1.000000
0:48          1.000000
0:48          1.000000
0:48          1.000000
0:49      move second child to first child (temp float)
0:49        Depth: direct index for structure (temp float FragDepth)
0:49          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:49          Constant:
0:49            1 (const int)
0:49        Constant:
0:49          1.000000
0:51      Branch: Return with expression
0:51        'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:?   Linker Objects
0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?     'g_sSamp2d' (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:53  Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:29    Function Parameters: 
0:?     Sequence
0:32      Sequence
0:32        move second child to first child (temp 4-component vector of float)
0:32          'txval10' (temp 4-component vector of float)
0:32          textureLod (global 4-component vector of float)
0:32            Construct combined texture-sampler (temp sampler1D)
0:32              'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:32              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:32            Constant:
0:32              0.100000
0:32            Constant:
0:32              0.750000
0:33      Sequence
0:33        move second child to first child (temp 4-component vector of int)
0:33          'txval11' (temp 4-component vector of int)
0:33          textureLod (global 4-component vector of int)
0:33            Construct combined texture-sampler (temp isampler1D)
0:33              'g_tTex1di4' (uniform itexture1D)
0:33              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:33            Constant:
0:33              0.200000
0:33            Constant:
0:33              0.750000
0:34      Sequence
0:34        move second child to first child (temp 4-component vector of uint)
0:34          'txval12' (temp 4-component vector of uint)
0:34          textureLod (global 4-component vector of uint)
0:34            Construct combined texture-sampler (temp usampler1D)
0:34              'g_tTex1du4' (uniform utexture1D)
0:34              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:34            Constant:
0:34              0.300000
0:34            Constant:
0:34              0.750000
0:36      Sequence
0:36        move second child to first child (temp 4-component vector of float)
0:36          'txval20' (temp 4-component vector of float)
0:36          textureLod (global 4-component vector of float)
0:36            Construct combined texture-sampler (temp sampler2D)
0:36              'g_tTex2df4' (uniform texture2D)
0:36              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:36            Constant:
0:36              0.750000
0:37      Sequence
0:37        move second child to first child (temp 4-component vector of int)
0:37          'txval21' (temp 4-component vector of int)
0:37          textureLod (global 4-component vector of int)
0:37            Construct combined texture-sampler (temp isampler2D)
0:37              'g_tTex2di4' (uniform itexture2D)
0:37              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.300000
0:?               0.400000
0:37            Constant:
0:37              0.750000
0:38      Sequence
0:38        move second child to first child (temp 4-component vector of uint)
0:38          'txval22' (temp 4-component vector of uint)
0:38          textureLod (global 4-component vector of uint)
0:38            Construct combined texture-sampler (temp usampler2D)
0:38              'g_tTex2du4' (uniform utexture2D)
0:38              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.500000
0:?               0.600000
0:38            Constant:
0:38              0.750000
0:40      Sequence
0:40        move second child to first child (temp 4-component vector of float)
0:40          'txval30' (temp 4-component vector of float)
0:40          textureLod (global 4-component vector of float)
0:40            Construct combined texture-sampler (temp sampler3D)
0:40              'g_tTex3df4' (uniform texture3D)
0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:40            Constant:
0:40              0.750000
0:41      Sequence
0:41        move second child to first child (temp 4-component vector of int)
0:41          'txval31' (temp 4-component vector of int)
0:41          textureLod (global 4-component vector of int)
0:41            Construct combined texture-sampler (temp isampler3D)
0:41              'g_tTex3di4' (uniform itexture3D)
0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:41            Constant:
0:41              0.750000
0:42      Sequence
0:42        move second child to first child (temp 4-component vector of uint)
0:42          'txval32' (temp 4-component vector of uint)
0:42          textureLod (global 4-component vector of uint)
0:42            Construct combined texture-sampler (temp usampler3D)
0:42              'g_tTex3du4' (uniform utexture3D)
0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:42            Constant:
0:42              0.750000
0:44      Sequence
0:44        move second child to first child (temp 4-component vector of float)
0:44          'txval40' (temp 4-component vector of float)
0:44          textureLod (global 4-component vector of float)
0:44            Construct combined texture-sampler (temp samplerCube)
0:44              'g_tTexcdf4' (uniform textureCube)
0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:44            Constant:
0:44              0.750000
0:45      Sequence
0:45        move second child to first child (temp 4-component vector of int)
0:45          'txval41' (temp 4-component vector of int)
0:45          textureLod (global 4-component vector of int)
0:45            Construct combined texture-sampler (temp isamplerCube)
0:45              'g_tTexcdi4' (uniform itextureCube)
0:45              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:45            Constant:
0:45              0.750000
0:46      Sequence
0:46        move second child to first child (temp 4-component vector of uint)
0:46          'txval42' (temp 4-component vector of uint)
0:46          textureLod (global 4-component vector of uint)
0:46            Construct combined texture-sampler (temp usamplerCube)
0:46              'g_tTexcdu4' (uniform utextureCube)
0:46              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:46            Constant:
0:46              0.750000
0:48      move second child to first child (temp 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 FragDepth Depth})
0:48          Constant:
0:48            0 (const int)
0:48        Constant:
0:48          1.000000
0:48          1.000000
0:48          1.000000
0:48          1.000000
0:49      move second child to first child (temp float)
0:49        Depth: direct index for structure (temp float FragDepth)
0:49          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:49          Constant:
0:49            1 (const int)
0:49        Constant:
0:49          1.000000
0:51      Branch: Return with expression
0:51        'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:?   Linker Objects
0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?     'g_sSamp2d' (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 158

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