hlsl.samplegrad.basic.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:52  Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth 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          textureGrad (global 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: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          textureGrad (global 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: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          textureGrad (global 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: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          textureGrad (global 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:?               1.100000
0:?               1.200000
0:?             Constant:
0:?               1.100000
0:?               1.200000
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          textureGrad (global 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:?               1.100000
0:?               1.200000
0:?             Constant:
0:?               1.100000
0:?               1.200000
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          textureGrad (global 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:?               1.100000
0:?               1.200000
0:?             Constant:
0:?               1.100000
0:?               1.200000
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          textureGrad (global 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: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          textureGrad (global 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: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          textureGrad (global 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: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          textureGrad (global 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:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
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          textureGrad (global 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:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
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          textureGrad (global 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:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
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 FragDepth 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 FragDepth)
0:48          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:48          Constant:
0:48            1 (const int)
0:48        Constant:
0:48          1.000000
0:50      Branch: Return with expression
0:50        'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:?   Linker Objects
0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:?     'g_tTex1di4' (uniform itexture1D)
0:?     'g_tTex1du4' (uniform utexture1D)
0:?     'g_tTex2df4' (uniform texture2D)
0:?     'g_tTex2di4' (uniform itexture2D)
0:?     'g_tTex2du4' (uniform utexture2D)
0:?     'g_tTex3df4' (uniform texture3D)
0:?     'g_tTex3di4' (uniform itexture3D)
0:?     'g_tTex3du4' (uniform utexture3D)
0:?     'g_tTexcdf4' (uniform textureCube)
0:?     'g_tTexcdi4' (uniform itextureCube)
0:?     'g_tTexcdu4' (uniform utextureCube)


Linked fragment stage:


Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:52  Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth 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          textureGrad (global 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: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          textureGrad (global 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: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          textureGrad (global 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: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          textureGrad (global 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:?               1.100000
0:?               1.200000
0:?             Constant:
0:?               1.100000
0:?               1.200000
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          textureGrad (global 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:?               1.100000
0:?               1.200000
0:?             Constant:
0:?               1.100000
0:?               1.200000
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          textureGrad (global 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:?               1.100000
0:?               1.200000
0:?             Constant:
0:?               1.100000
0:?               1.200000
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          textureGrad (global 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: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          textureGrad (global 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: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          textureGrad (global 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: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          textureGrad (global 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:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
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          textureGrad (global 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:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
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          textureGrad (global 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:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
0:?             Constant:
0:?               1.100000
0:?               1.200000
0:?               1.300000
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 FragDepth 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 FragDepth)
0:48          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:48          Constant:
0:48            1 (const int)
0:48        Constant:
0:48          1.000000
0:50      Branch: Return with expression
0:50        'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:?   Linker Objects
0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:?     'g_tTex1di4' (uniform itexture1D)
0:?     'g_tTex1du4' (uniform utexture1D)
0:?     'g_tTex2df4' (uniform texture2D)
0:?     'g_tTex2di4' (uniform itexture2D)
0:?     'g_tTex2du4' (uniform utexture2D)
0:?     'g_tTex3df4' (uniform texture3D)
0:?     'g_tTex3di4' (uniform itexture3D)
0:?     'g_tTex3du4' (uniform utexture3D)
0:?     'g_tTexcdf4' (uniform textureCube)
0:?     'g_tTexcdi4' (uniform itextureCube)
0:?     'g_tTexcdu4' (uniform utextureCube)

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

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