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


Linked fragment stage:


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

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

                              Capability Shader
                              Capability Sampled1D
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 154 158
                              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 82  "txval30"
                              Name 85  "g_tTex3df4"
                              Name 93  "txval31"
                              Name 96  "g_tTex3di4"
                              Name 103  "txval32"
                              Name 106  "g_tTex3du4"
                              Name 116  "txval40"
                              Name 119  "g_tTexcdf4"
                              Name 125  "txval41"
                              Name 128  "g_tTexcdi4"
                              Name 134  "txval42"
                              Name 137  "g_tTexcdu4"
                              Name 143  "PS_OUTPUT"
                              MemberName 143(PS_OUTPUT) 0  "Color"
                              MemberName 143(PS_OUTPUT) 1  "Depth"
                              Name 145  "psout"
                              Name 154  "Color"
                              Name 158  "Depth"
                              Name 162  "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 85(g_tTex3df4) DescriptorSet 0
                              Decorate 96(g_tTex3di4) DescriptorSet 0
                              Decorate 106(g_tTex3du4) DescriptorSet 0
                              Decorate 119(g_tTexcdf4) DescriptorSet 0
                              Decorate 128(g_tTexcdi4) DescriptorSet 0
                              Decorate 137(g_tTexcdu4) DescriptorSet 0
                              Decorate 154(Color) Location 0
                              Decorate 158(Depth) BuiltIn FragDepth
                              Decorate 162(g_tTex1df4a) DescriptorSet 0
                              Decorate 162(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 1056964608
              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 1058642330
              80:   57(fvec2) ConstantComposite 21 79
              83:             TypeImage 6(float) 3D sampled format:Unknown
              84:             TypePointer UniformConstant 83
  85(g_tTex3df4):     84(ptr) Variable UniformConstant
              88:             TypeSampledImage 83
              90:             TypeVector 6(float) 3
              91:   90(fvec3) ConstantComposite 20 34 47
              94:             TypeImage 23(int) 3D sampled format:Unknown
              95:             TypePointer UniformConstant 94
  96(g_tTex3di4):     95(ptr) Variable UniformConstant
              99:             TypeSampledImage 94
             101:   90(fvec3) ConstantComposite 68 21 79
             104:             TypeImage 36(int) 3D sampled format:Unknown
             105:             TypePointer UniformConstant 104
 106(g_tTex3du4):    105(ptr) Variable UniformConstant
             109:             TypeSampledImage 104
             111:    6(float) Constant 1060320051
             112:    6(float) Constant 1061997773
             113:    6(float) Constant 1063675494
             114:   90(fvec3) ConstantComposite 111 112 113
             117:             TypeImage 6(float) Cube sampled format:Unknown
             118:             TypePointer UniformConstant 117
 119(g_tTexcdf4):    118(ptr) Variable UniformConstant
             122:             TypeSampledImage 117
             126:             TypeImage 23(int) Cube sampled format:Unknown
             127:             TypePointer UniformConstant 126
 128(g_tTexcdi4):    127(ptr) Variable UniformConstant
             131:             TypeSampledImage 126
             135:             TypeImage 36(int) Cube sampled format:Unknown
             136:             TypePointer UniformConstant 135
 137(g_tTexcdu4):    136(ptr) Variable UniformConstant
             140:             TypeSampledImage 135
  143(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
             144:             TypePointer Function 143(PS_OUTPUT)
             146:     23(int) Constant 0
             147:    6(float) Constant 1065353216
             148:    7(fvec4) ConstantComposite 147 147 147 147
             150:     23(int) Constant 1
             151:             TypePointer Function 6(float)
             153:             TypePointer Output 7(fvec4)
      154(Color):    153(ptr) Variable Output
             157:             TypePointer Output 6(float)
      158(Depth):    157(ptr) Variable Output
162(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
     82(txval30):      8(ptr) Variable Function
     93(txval31):     25(ptr) Variable Function
    103(txval32):     38(ptr) Variable Function
    116(txval40):      8(ptr) Variable Function
    125(txval41):     25(ptr) Variable Function
    134(txval42):     38(ptr) Variable Function
      145(psout):    144(ptr) Variable Function
              13:          10 Load 12(g_tTex1df4)
              17:          14 Load 16(g_sSamp)
              19:          18 SampledImage 13 17
              22:    7(fvec4) ImageSampleImplicitLod 19 20 Bias 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) ImageSampleImplicitLod 33 34 Bias 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) ImageSampleImplicitLod 46 47 Bias 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) ImageSampleImplicitLod 56 58 Bias 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) ImageSampleImplicitLod 67 69 Bias 21
                              Store 60(txval21) 70
              75:          72 Load 74(g_tTex2du4)
              76:          14 Load 16(g_sSamp)
              78:          77 SampledImage 75 76
              81:   37(ivec4) ImageSampleImplicitLod 78 80 Bias 21
                              Store 71(txval22) 81
              86:          83 Load 85(g_tTex3df4)
              87:          14 Load 16(g_sSamp)
              89:          88 SampledImage 86 87
              92:    7(fvec4) ImageSampleImplicitLod 89 91 Bias 21
                              Store 82(txval30) 92
              97:          94 Load 96(g_tTex3di4)
              98:          14 Load 16(g_sSamp)
             100:          99 SampledImage 97 98
             102:   24(ivec4) ImageSampleImplicitLod 100 101 Bias 21
                              Store 93(txval31) 102
             107:         104 Load 106(g_tTex3du4)
             108:          14 Load 16(g_sSamp)
             110:         109 SampledImage 107 108
             115:   37(ivec4) ImageSampleImplicitLod 110 114 Bias 21
                              Store 103(txval32) 115
             120:         117 Load 119(g_tTexcdf4)
             121:          14 Load 16(g_sSamp)
             123:         122 SampledImage 120 121
             124:    7(fvec4) ImageSampleImplicitLod 123 91 Bias 21
                              Store 116(txval40) 124
             129:         126 Load 128(g_tTexcdi4)
             130:          14 Load 16(g_sSamp)
             132:         131 SampledImage 129 130
             133:   24(ivec4) ImageSampleImplicitLod 132 101 Bias 21
                              Store 125(txval41) 133
             138:         135 Load 137(g_tTexcdu4)
             139:          14 Load 16(g_sSamp)
             141:         140 SampledImage 138 139
             142:   37(ivec4) ImageSampleImplicitLod 141 114 Bias 21
                              Store 134(txval42) 142
             149:      8(ptr) AccessChain 145(psout) 146
                              Store 149 148
             152:    151(ptr) AccessChain 145(psout) 150
                              Store 152 147
             155:      8(ptr) AccessChain 145(psout) 146
             156:    7(fvec4) Load 155
                              Store 154(Color) 156
             159:    151(ptr) AccessChain 145(psout) 150
             160:    6(float) Load 159
                              Store 158(Depth) 160
                              Return
                              FunctionEnd
