hlsl.samplegrad.basic.dx10.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:28  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:28    Function Parameters: 
0:?     Sequence
0:31      Sequence
0:31        move second child to first child ( temp 4-component vector of float)
0:31          'txval10' ( temp 4-component vector of float)
0:31          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
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): 80001
// 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
                              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
