hlsl.samplegrad.basic.dx10.frag
Shader version: 500
gl_FragCoord origin is upper left
using depth_any
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          textureGrad ( 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: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 ( 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: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 ( 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: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 ( 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:?               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 ( 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:?               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 ( 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:?               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 ( 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: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 ( 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: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 ( 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: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 ( temp 4-component vector of float)
0:43            Construct combined texture-sampler ( temp samplerCube)
0:43              'g_tTexcdf4' ( uniform textureCube)
0:43              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:?             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 ( temp 4-component vector of int)
0:44            Construct combined texture-sampler ( temp isamplerCube)
0:44              'g_tTexcdi4' ( uniform itextureCube)
0:44              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:?             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 ( temp 4-component vector of uint)
0:45            Construct combined texture-sampler ( temp usamplerCube)
0:45              'g_tTexcdu4' ( uniform utextureCube)
0:45              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:?             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 Depth})
0:47          Constant:
0:47            0 (const int)
0:47        Constant:
0:47          1.000000
0:47          1.000000
0:47          1.000000
0:47          1.000000
0:48      move second child to first child ( temp float)
0:48        Depth: direct index for structure ( temp float)
0:48          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:48          Constant:
0:48            1 (const int)
0:48        Constant:
0:48          1.000000
0:50      Branch: Return with expression
0:50        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28  Function Definition: main( ( temp void)
0:28    Function Parameters: 
0:?     Sequence
0:28      Sequence
0:28        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:28          Color: direct index for structure ( temp 4-component vector of float)
0:28            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28            Constant:
0:28              0 (const int)
0:28        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:28          Depth: direct index for structure ( temp float)
0:28            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28            Constant:
0:28              1 (const int)
0:?   Linker Objects
0:?     'g_sSamp' (layout( binding=0) uniform sampler)
0:?     'g_tTex1df4a' (layout( binding=1) uniform texture1D)
0:?     'g_tTex1df4' (layout( binding=0) uniform texture1D)
0:?     'g_tTex1di4' ( uniform itexture1D)
0:?     'g_tTex1du4' ( uniform utexture1D)
0:?     'g_tTex2df4' ( uniform texture2D)
0:?     'g_tTex2di4' ( uniform itexture2D)
0:?     'g_tTex2du4' ( uniform utexture2D)
0:?     'g_tTex3df4' ( uniform texture3D)
0:?     'g_tTex3di4' ( uniform itexture3D)
0:?     'g_tTex3du4' ( uniform utexture3D)
0:?     'g_tTexcdf4' ( uniform textureCube)
0:?     'g_tTexcdi4' ( uniform itextureCube)
0:?     'g_tTexcdu4' ( uniform utextureCube)
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
using depth_any
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          textureGrad ( 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: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 ( 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: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 ( 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: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 ( 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:?               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 ( 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:?               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 ( 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:?               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 ( 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: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 ( 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: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 ( 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: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 ( temp 4-component vector of float)
0:43            Construct combined texture-sampler ( temp samplerCube)
0:43              'g_tTexcdf4' ( uniform textureCube)
0:43              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:?             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 ( temp 4-component vector of int)
0:44            Construct combined texture-sampler ( temp isamplerCube)
0:44              'g_tTexcdi4' ( uniform itextureCube)
0:44              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:?             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 ( temp 4-component vector of uint)
0:45            Construct combined texture-sampler ( temp usamplerCube)
0:45              'g_tTexcdu4' ( uniform utextureCube)
0:45              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:?             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 Depth})
0:47          Constant:
0:47            0 (const int)
0:47        Constant:
0:47          1.000000
0:47          1.000000
0:47          1.000000
0:47          1.000000
0:48      move second child to first child ( temp float)
0:48        Depth: direct index for structure ( temp float)
0:48          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:48          Constant:
0:48            1 (const int)
0:48        Constant:
0:48          1.000000
0:50      Branch: Return with expression
0:50        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28  Function Definition: main( ( temp void)
0:28    Function Parameters: 
0:?     Sequence
0:28      Sequence
0:28        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:28          Color: direct index for structure ( temp 4-component vector of float)
0:28            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28            Constant:
0:28              0 (const int)
0:28        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:28          Depth: direct index for structure ( temp float)
0:28            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28            Constant:
0:28              1 (const int)
0:?   Linker Objects
0:?     'g_sSamp' (layout( binding=0) uniform sampler)
0:?     'g_tTex1df4a' (layout( binding=1) uniform texture1D)
0:?     'g_tTex1df4' (layout( binding=0) uniform texture1D)
0:?     'g_tTex1di4' ( uniform itexture1D)
0:?     'g_tTex1du4' ( uniform utexture1D)
0:?     'g_tTex2df4' ( uniform texture2D)
0:?     'g_tTex2di4' ( uniform itexture2D)
0:?     'g_tTex2du4' ( uniform utexture2D)
0:?     'g_tTex3df4' ( uniform texture3D)
0:?     'g_tTex3di4' ( uniform itexture3D)
0:?     'g_tTex3du4' ( uniform utexture3D)
0:?     'g_tTexcdf4' ( uniform textureCube)
0:?     'g_tTexcdi4' ( uniform itextureCube)
0:?     'g_tTexcdu4' ( uniform utextureCube)
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)

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

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