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:34            Constant:
0:34              0.100000
0:34              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:35            Constant:
0:35              0.300000
0:35              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:36            Constant:
0:36              0.500000
0:36              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:38            Constant:
0:38              0.100000
0:38              0.200000
0:38              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:39            Constant:
0:39              0.400000
0:39              0.500000
0:39              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:40            Constant:
0:40              0.700000
0:40              0.800000
0:40              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:42            Constant:
0:42              0.100000
0:42              0.200000
0:42              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:43            Constant:
0:43              0.400000
0:43              0.500000
0:43              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:44            Constant:
0:44              0.700000
0:44              0.800000
0:44              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:46        Constant:
0:46          0.000000
0:46          0.000000
0:46          0.000000
0:46          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:34            Constant:
0:34              0.100000
0:34              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:35            Constant:
0:35              0.300000
0:35              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:36            Constant:
0:36              0.500000
0:36              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:38            Constant:
0:38              0.100000
0:38              0.200000
0:38              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:39            Constant:
0:39              0.400000
0:39              0.500000
0:39              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:40            Constant:
0:40              0.700000
0:40              0.800000
0:40              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:42            Constant:
0:42              0.100000
0:42              0.200000
0:42              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:43            Constant:
0:43              0.400000
0:43              0.500000
0:43              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:44            Constant:
0:44              0.700000
0:44              0.800000
0:44              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:46        Constant:
0:46          0.000000
0:46          0.000000
0:46          0.000000
0:46          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): 8000a
// 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 33(g_tTex1di4) Binding 2
                              Decorate 46(g_tTex1du4) DescriptorSet 0
                              Decorate 46(g_tTex1du4) Binding 3
                              Decorate 56(g_tTex2df4) DescriptorSet 0
                              Decorate 56(g_tTex2df4) Binding 4
                              Decorate 67(g_tTex2di4) DescriptorSet 0
                              Decorate 67(g_tTex2di4) Binding 5
                              Decorate 78(g_tTex2du4) DescriptorSet 0
                              Decorate 78(g_tTex2du4) Binding 6
                              Decorate 90(g_tTex3df4) DescriptorSet 0
                              Decorate 90(g_tTex3df4) Binding 7
                              Decorate 101(g_tTex3di4) DescriptorSet 0
                              Decorate 101(g_tTex3di4) Binding 8
                              Decorate 111(g_tTex3du4) DescriptorSet 0
                              Decorate 111(g_tTex3du4) Binding 9
                              Decorate 124(g_tTexcdf4) DescriptorSet 0
                              Decorate 124(g_tTexcdf4) Binding 10
                              Decorate 133(g_tTexcdi4) DescriptorSet 0
                              Decorate 133(g_tTexcdi4) Binding 11
                              Decorate 142(g_tTexcdu4) DescriptorSet 0
                              Decorate 142(g_tTexcdu4) Binding 12
                              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
