hlsl.samplelevel.basic.dx10.vert
Shader version: 500
0:? Sequence
0:27  Function Definition: @main( ( temp structure{ temp 4-component vector of float 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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)
0:46          'vsout' ( temp structure{ temp 4-component vector of float 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 Pos})
0:27  Function Definition: main( ( temp void)
0:27    Function Parameters: 
0:?     Sequence
0:27      Sequence
0:27        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Pos' ( out 4-component vector of float Position)
0:27          Pos: direct index for structure ( temp 4-component vector of float)
0:27            Function Call: @main( ( temp structure{ temp 4-component vector of float Pos})
0:27            Constant:
0:27              0 (const int)
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)
0:?     '@entryPointOutput.Pos' ( out 4-component vector of float Position)


Linked vertex stage:


Shader version: 500
0:? Sequence
0:27  Function Definition: @main( ( temp structure{ temp 4-component vector of float 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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 ( temp 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)
0:46          'vsout' ( temp structure{ temp 4-component vector of float 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 Pos})
0:27  Function Definition: main( ( temp void)
0:27    Function Parameters: 
0:?     Sequence
0:27      Sequence
0:27        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Pos' ( out 4-component vector of float Position)
0:27          Pos: direct index for structure ( temp 4-component vector of float)
0:27            Function Call: @main( ( temp structure{ temp 4-component vector of float Pos})
0:27            Constant:
0:27              0 (const int)
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)
0:?     '@entryPointOutput.Pos' ( out 4-component vector of float Position)

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

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