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
                              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
