hlsl.samplegrad.offset.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          textureGradOffset (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              1.100000
0:31            Constant:
0:31              1.200000
0:31            Constant:
0:31              1 (const int)
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          textureGradOffset (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              1.100000
0:32            Constant:
0:32              1.200000
0:32            Constant:
0:32              1 (const int)
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          textureGradOffset (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              1.100000
0:33            Constant:
0:33              1.200000
0:33            Constant:
0:33              1 (const int)
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          textureGradOffset (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:?             Constant:
0:?               0.100000
0:?               0.200000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?             Constant:
0:?               1 (const int)
0:?               0 (const int)
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          textureGradOffset (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:?             Constant:
0:?               0.100000
0:?               0.200000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?             Constant:
0:?               1 (const int)
0:?               1 (const int)
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          textureGradOffset (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:?             Constant:
0:?               0.100000
0:?               0.200000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?             Constant:
0:?               1 (const int)
0:?               -1 (const int)
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          textureGradOffset (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:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1 (const int)
0:?               0 (const int)
0:?               1 (const int)
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          textureGradOffset (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:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1 (const int)
0:?               1 (const int)
0:?               1 (const int)
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          textureGradOffset (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:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1 (const int)
0:?               0 (const int)
0:?               -1 (const int)
0:45      move second child to first child (temp 4-component vector of float)
0:45        Color: direct index for structure (temp 4-component vector of float)
0:45          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:45          Constant:
0:45            0 (const int)
0:45        Constant:
0:45          1.000000
0:45          1.000000
0:45          1.000000
0:45          1.000000
0:46      move second child to first child (temp float)
0:46        Depth: direct index for structure (temp float)
0:46          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:46          Constant:
0:46            1 (const int)
0:46        Constant:
0:46          1.000000
0:48      Sequence
0:48        Sequence
0:48          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:48            Color: direct index for structure (temp 4-component vector of float)
0:48              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48              Constant:
0:48                0 (const int)
0:48          move second child to first child (temp float)
0:?             'Depth' (out float FragDepth)
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        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          textureGradOffset (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              1.100000
0:31            Constant:
0:31              1.200000
0:31            Constant:
0:31              1 (const int)
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          textureGradOffset (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              1.100000
0:32            Constant:
0:32              1.200000
0:32            Constant:
0:32              1 (const int)
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          textureGradOffset (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              1.100000
0:33            Constant:
0:33              1.200000
0:33            Constant:
0:33              1 (const int)
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          textureGradOffset (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:?             Constant:
0:?               0.100000
0:?               0.200000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?             Constant:
0:?               1 (const int)
0:?               0 (const int)
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          textureGradOffset (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:?             Constant:
0:?               0.100000
0:?               0.200000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?             Constant:
0:?               1 (const int)
0:?               1 (const int)
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          textureGradOffset (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:?             Constant:
0:?               0.100000
0:?               0.200000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?             Constant:
0:?               1 (const int)
0:?               -1 (const int)
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          textureGradOffset (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:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1 (const int)
0:?               0 (const int)
0:?               1 (const int)
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          textureGradOffset (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:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1 (const int)
0:?               1 (const int)
0:?               1 (const int)
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          textureGradOffset (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:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1 (const int)
0:?               0 (const int)
0:?               -1 (const int)
0:45      move second child to first child (temp 4-component vector of float)
0:45        Color: direct index for structure (temp 4-component vector of float)
0:45          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:45          Constant:
0:45            0 (const int)
0:45        Constant:
0:45          1.000000
0:45          1.000000
0:45          1.000000
0:45          1.000000
0:46      move second child to first child (temp float)
0:46        Depth: direct index for structure (temp float)
0:46          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:46          Constant:
0:46            1 (const int)
0:46        Constant:
0:46          1.000000
0:48      Sequence
0:48        Sequence
0:48          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:48            Color: direct index for structure (temp 4-component vector of float)
0:48              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:48              Constant:
0:48                0 (const int)
0:48          move second child to first child (temp float)
0:?             'Depth' (out float FragDepth)
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        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 159

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