hlsl.samplelevel.basic.dx10.vert
Shader version: 450
0:? Sequence
0:50  Function Definition: main( (global structure{temp 4-component vector of float FragCoord Pos})
0:27    Function Parameters: 
0:?     Sequence
0:30      Sequence
0:30        move second child to first child (temp 4-component vector of float)
0:30          'txval10' (temp 4-component vector of float)
0:30          textureLod (global 4-component vector of float)
0:30            Construct combined texture-sampler (temp sampler1D)
0:30              'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:30              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:30            Constant:
0:30              0.100000
0:30            Constant:
0:30              0.750000
0:31      Sequence
0:31        move second child to first child (temp 4-component vector of int)
0:31          'txval11' (temp 4-component vector of int)
0:31          textureLod (global 4-component vector of int)
0:31            Construct combined texture-sampler (temp isampler1D)
0:31              'g_tTex1di4' (uniform itexture1D)
0:31              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:31            Constant:
0:31              0.200000
0:31            Constant:
0:31              0.750000
0:32      Sequence
0:32        move second child to first child (temp 4-component vector of uint)
0:32          'txval12' (temp 4-component vector of uint)
0:32          textureLod (global 4-component vector of uint)
0:32            Construct combined texture-sampler (temp usampler1D)
0:32              'g_tTex1du4' (uniform utexture1D)
0:32              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:32            Constant:
0:32              0.300000
0:32            Constant:
0:32              0.750000
0:34      Sequence
0:34        move second child to first child (temp 4-component vector of float)
0:34          'txval20' (temp 4-component vector of float)
0:34          textureLod (global 4-component vector of float)
0:34            Construct combined texture-sampler (temp sampler2D)
0:34              'g_tTex2df4' (uniform texture2D)
0:34              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:34            Constant:
0:34              0.750000
0:35      Sequence
0:35        move second child to first child (temp 4-component vector of int)
0:35          'txval21' (temp 4-component vector of int)
0:35          textureLod (global 4-component vector of int)
0:35            Construct combined texture-sampler (temp isampler2D)
0:35              'g_tTex2di4' (uniform itexture2D)
0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.300000
0:?               0.400000
0:35            Constant:
0:35              0.750000
0:36      Sequence
0:36        move second child to first child (temp 4-component vector of uint)
0:36          'txval22' (temp 4-component vector of uint)
0:36          textureLod (global 4-component vector of uint)
0:36            Construct combined texture-sampler (temp usampler2D)
0:36              'g_tTex2du4' (uniform utexture2D)
0:36              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.500000
0:?               0.600000
0:36            Constant:
0:36              0.750000
0:38      Sequence
0:38        move second child to first child (temp 4-component vector of float)
0:38          'txval30' (temp 4-component vector of float)
0:38          textureLod (global 4-component vector of float)
0:38            Construct combined texture-sampler (temp sampler3D)
0:38              'g_tTex3df4' (uniform texture3D)
0:38              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:38            Constant:
0:38              0.750000
0:39      Sequence
0:39        move second child to first child (temp 4-component vector of int)
0:39          'txval31' (temp 4-component vector of int)
0:39          textureLod (global 4-component vector of int)
0:39            Construct combined texture-sampler (temp isampler3D)
0:39              'g_tTex3di4' (uniform itexture3D)
0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:39            Constant:
0:39              0.750000
0:40      Sequence
0:40        move second child to first child (temp 4-component vector of uint)
0:40          'txval32' (temp 4-component vector of uint)
0:40          textureLod (global 4-component vector of uint)
0:40            Construct combined texture-sampler (temp usampler3D)
0:40              'g_tTex3du4' (uniform utexture3D)
0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:40            Constant:
0:40              0.750000
0:42      Sequence
0:42        move second child to first child (temp 4-component vector of float)
0:42          'txval40' (temp 4-component vector of float)
0:42          textureLod (global 4-component vector of float)
0:42            Construct combined texture-sampler (temp samplerCube)
0:42              'g_tTexcdf4' (uniform textureCube)
0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:42            Constant:
0:42              0.750000
0:43      Sequence
0:43        move second child to first child (temp 4-component vector of int)
0:43          'txval41' (temp 4-component vector of int)
0:43          textureLod (global 4-component vector of int)
0:43            Construct combined texture-sampler (temp isamplerCube)
0:43              'g_tTexcdi4' (uniform itextureCube)
0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:43            Constant:
0:43              0.750000
0:44      Sequence
0:44        move second child to first child (temp 4-component vector of uint)
0:44          'txval42' (temp 4-component vector of uint)
0:44          textureLod (global 4-component vector of uint)
0:44            Construct combined texture-sampler (temp usamplerCube)
0:44              'g_tTexcdu4' (uniform utextureCube)
0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:44            Constant:
0:44              0.750000
0:46      move second child to first child (temp 4-component vector of float)
0:46        Pos: direct index for structure (temp 4-component vector of float FragCoord)
0:46          'vsout' (temp structure{temp 4-component vector of float FragCoord Pos})
0:46          Constant:
0:46            0 (const int)
0:?         Constant:
0:?           0.000000
0:?           0.000000
0:?           0.000000
0:?           0.000000
0:48      Branch: Return with expression
0:48        'vsout' (temp structure{temp 4-component vector of float FragCoord Pos})
0:?   Linker Objects
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 vertex stage:


Shader version: 450
0:? Sequence
0:50  Function Definition: main( (global structure{temp 4-component vector of float FragCoord Pos})
0:27    Function Parameters: 
0:?     Sequence
0:30      Sequence
0:30        move second child to first child (temp 4-component vector of float)
0:30          'txval10' (temp 4-component vector of float)
0:30          textureLod (global 4-component vector of float)
0:30            Construct combined texture-sampler (temp sampler1D)
0:30              'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:30              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:30            Constant:
0:30              0.100000
0:30            Constant:
0:30              0.750000
0:31      Sequence
0:31        move second child to first child (temp 4-component vector of int)
0:31          'txval11' (temp 4-component vector of int)
0:31          textureLod (global 4-component vector of int)
0:31            Construct combined texture-sampler (temp isampler1D)
0:31              'g_tTex1di4' (uniform itexture1D)
0:31              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:31            Constant:
0:31              0.200000
0:31            Constant:
0:31              0.750000
0:32      Sequence
0:32        move second child to first child (temp 4-component vector of uint)
0:32          'txval12' (temp 4-component vector of uint)
0:32          textureLod (global 4-component vector of uint)
0:32            Construct combined texture-sampler (temp usampler1D)
0:32              'g_tTex1du4' (uniform utexture1D)
0:32              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:32            Constant:
0:32              0.300000
0:32            Constant:
0:32              0.750000
0:34      Sequence
0:34        move second child to first child (temp 4-component vector of float)
0:34          'txval20' (temp 4-component vector of float)
0:34          textureLod (global 4-component vector of float)
0:34            Construct combined texture-sampler (temp sampler2D)
0:34              'g_tTex2df4' (uniform texture2D)
0:34              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:34            Constant:
0:34              0.750000
0:35      Sequence
0:35        move second child to first child (temp 4-component vector of int)
0:35          'txval21' (temp 4-component vector of int)
0:35          textureLod (global 4-component vector of int)
0:35            Construct combined texture-sampler (temp isampler2D)
0:35              'g_tTex2di4' (uniform itexture2D)
0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.300000
0:?               0.400000
0:35            Constant:
0:35              0.750000
0:36      Sequence
0:36        move second child to first child (temp 4-component vector of uint)
0:36          'txval22' (temp 4-component vector of uint)
0:36          textureLod (global 4-component vector of uint)
0:36            Construct combined texture-sampler (temp usampler2D)
0:36              'g_tTex2du4' (uniform utexture2D)
0:36              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.500000
0:?               0.600000
0:36            Constant:
0:36              0.750000
0:38      Sequence
0:38        move second child to first child (temp 4-component vector of float)
0:38          'txval30' (temp 4-component vector of float)
0:38          textureLod (global 4-component vector of float)
0:38            Construct combined texture-sampler (temp sampler3D)
0:38              'g_tTex3df4' (uniform texture3D)
0:38              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:38            Constant:
0:38              0.750000
0:39      Sequence
0:39        move second child to first child (temp 4-component vector of int)
0:39          'txval31' (temp 4-component vector of int)
0:39          textureLod (global 4-component vector of int)
0:39            Construct combined texture-sampler (temp isampler3D)
0:39              'g_tTex3di4' (uniform itexture3D)
0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:39            Constant:
0:39              0.750000
0:40      Sequence
0:40        move second child to first child (temp 4-component vector of uint)
0:40          'txval32' (temp 4-component vector of uint)
0:40          textureLod (global 4-component vector of uint)
0:40            Construct combined texture-sampler (temp usampler3D)
0:40              'g_tTex3du4' (uniform utexture3D)
0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:40            Constant:
0:40              0.750000
0:42      Sequence
0:42        move second child to first child (temp 4-component vector of float)
0:42          'txval40' (temp 4-component vector of float)
0:42          textureLod (global 4-component vector of float)
0:42            Construct combined texture-sampler (temp samplerCube)
0:42              'g_tTexcdf4' (uniform textureCube)
0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:42            Constant:
0:42              0.750000
0:43      Sequence
0:43        move second child to first child (temp 4-component vector of int)
0:43          'txval41' (temp 4-component vector of int)
0:43          textureLod (global 4-component vector of int)
0:43            Construct combined texture-sampler (temp isamplerCube)
0:43              'g_tTexcdi4' (uniform itextureCube)
0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:43            Constant:
0:43              0.750000
0:44      Sequence
0:44        move second child to first child (temp 4-component vector of uint)
0:44          'txval42' (temp 4-component vector of uint)
0:44          textureLod (global 4-component vector of uint)
0:44            Construct combined texture-sampler (temp usamplerCube)
0:44              'g_tTexcdu4' (uniform utextureCube)
0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:44            Constant:
0:44              0.750000
0:46      move second child to first child (temp 4-component vector of float)
0:46        Pos: direct index for structure (temp 4-component vector of float FragCoord)
0:46          'vsout' (temp structure{temp 4-component vector of float FragCoord Pos})
0:46          Constant:
0:46            0 (const int)
0:?         Constant:
0:?           0.000000
0:?           0.000000
0:?           0.000000
0:?           0.000000
0:48      Branch: Return with expression
0:48        'vsout' (temp structure{temp 4-component vector of float FragCoord Pos})
0:?   Linker Objects
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 Vertex 4  "main"
                              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  "VS_OUTPUT"
                              MemberName 144(VS_OUTPUT) 0  "Pos"
                              Name 146  "vsout"
                              Name 153  "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(VS_OUTPUT) 0 BuiltIn FragCoord
                              Decorate 153(g_tTex1df4a) DescriptorSet 0
                              Decorate 153(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(VS_OUTPUT):             TypeStruct 7(fvec4)
             145:             TypePointer Function 144(VS_OUTPUT)
             147:     23(int) Constant 0
             148:    6(float) Constant 0
             149:    7(fvec4) ConstantComposite 148 148 148 148
153(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(vsout):    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(vsout) 147
                              Store 150 149
             151:144(VS_OUTPUT) Load 146(vsout)
                              ReturnValue 151
                              FunctionEnd
