hlsl.samplecmp.array.dx10.frag
Shader version: 500
gl_FragCoord origin is upper left
using depth_any
0:? Sequence
0:38  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38    Function Parameters: 
0:?     Sequence
0:42      Sequence
0:42        move second child to first child ( temp float)
0:42          'r10' ( temp float)
0:42          texture ( temp float)
0:42            Construct combined texture-sampler ( temp sampler1DArrayShadow)
0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
0:42              'g_sSamp' (layout( binding=0) uniform sampler)
0:42            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:42              Constant:
0:42                0.750000
0:43      Sequence
0:43        move second child to first child ( temp float)
0:43          'r12' ( temp float)
0:43          texture ( temp float)
0:43            Construct combined texture-sampler ( temp isampler1DArrayShadow)
0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
0:43              'g_sSamp' (layout( binding=0) uniform sampler)
0:43            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:43              Constant:
0:43                0.750000
0:44      Sequence
0:44        move second child to first child ( temp float)
0:44          'r14' ( temp float)
0:44          texture ( temp float)
0:44            Construct combined texture-sampler ( temp usampler1DArrayShadow)
0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
0:44              'g_sSamp' (layout( binding=0) uniform sampler)
0:44            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:44              Constant:
0:44                0.750000
0:47      Sequence
0:47        move second child to first child ( temp float)
0:47          'r30' ( temp float)
0:47          texture ( temp float)
0:47            Construct combined texture-sampler ( temp sampler2DArrayShadow)
0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
0:47              'g_sSamp' (layout( binding=0) uniform sampler)
0:47            Construct vec4 ( temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:47              Constant:
0:47                0.750000
0:48      Sequence
0:48        move second child to first child ( temp float)
0:48          'r32' ( temp float)
0:48          texture ( temp float)
0:48            Construct combined texture-sampler ( temp isampler2DArrayShadow)
0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
0:48              'g_sSamp' (layout( binding=0) uniform sampler)
0:48            Construct vec4 ( temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:48              Constant:
0:48                0.750000
0:49      Sequence
0:49        move second child to first child ( temp float)
0:49          'r34' ( temp float)
0:49          texture ( temp float)
0:49            Construct combined texture-sampler ( temp usampler2DArrayShadow)
0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
0:49              'g_sSamp' (layout( binding=0) uniform sampler)
0:49            Construct vec4 ( temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:49              Constant:
0:49                0.750000
0:52      Sequence
0:52        move second child to first child ( temp float)
0:52          'r60' ( temp float)
0:52          texture ( temp float)
0:52            Construct combined texture-sampler ( temp samplerCubeArrayShadow)
0:52              'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
0:52              'g_sSamp' (layout( binding=0) uniform sampler)
0:52            Construct vec4 ( temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:?                 0.400000
0:52            Constant:
0:52              0.750000
0:53      Sequence
0:53        move second child to first child ( temp float)
0:53          'r62' ( temp float)
0:53          texture ( temp float)
0:53            Construct combined texture-sampler ( temp isamplerCubeArrayShadow)
0:53              'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
0:53              'g_sSamp' (layout( binding=0) uniform sampler)
0:53            Construct vec4 ( temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:?                 0.400000
0:53            Constant:
0:53              0.750000
0:54      Sequence
0:54        move second child to first child ( temp float)
0:54          'r64' ( temp float)
0:54          texture ( temp float)
0:54            Construct combined texture-sampler ( temp usamplerCubeArrayShadow)
0:54              'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
0:54              'g_sSamp' (layout( binding=0) uniform sampler)
0:54            Construct vec4 ( temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:?                 0.400000
0:54            Constant:
0:54              0.750000
0:56      move second child to first child ( temp 4-component vector of float)
0:56        Color: direct index for structure ( temp 4-component vector of float)
0:56          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:56          Constant:
0:56            0 (const int)
0:56        Constant:
0:56          1.000000
0:56          1.000000
0:56          1.000000
0:56          1.000000
0:57      move second child to first child ( temp float)
0:57        Depth: direct index for structure ( temp float)
0:57          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:57          Constant:
0:57            1 (const int)
0:57        Constant:
0:57          1.000000
0:59      Branch: Return with expression
0:59        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38  Function Definition: main( ( temp void)
0:38    Function Parameters: 
0:?     Sequence
0:38      Sequence
0:38        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38        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:38          Color: direct index for structure ( temp 4-component vector of float)
0:38            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38            Constant:
0:38              0 (const int)
0:38        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:38          Depth: direct index for structure ( temp float)
0:38            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38            Constant:
0:38              1 (const int)
0:?   Linker Objects
0:?     'g_sSamp' (layout( binding=0) uniform sampler)
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:?     'g_tTex1df4a' ( uniform texture1DArrayShadow)
0:?     'g_tTex1di4a' ( uniform itexture1DArrayShadow)
0:?     'g_tTex1du4a' ( uniform utexture1DArrayShadow)
0:?     'g_tTex2df4a' ( uniform texture2DArrayShadow)
0:?     'g_tTex2di4a' ( uniform itexture2DArrayShadow)
0:?     'g_tTex2du4a' ( uniform utexture2DArrayShadow)
0:?     'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
0:?     'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
0:?     'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
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:38  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38    Function Parameters: 
0:?     Sequence
0:42      Sequence
0:42        move second child to first child ( temp float)
0:42          'r10' ( temp float)
0:42          texture ( temp float)
0:42            Construct combined texture-sampler ( temp sampler1DArrayShadow)
0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
0:42              'g_sSamp' (layout( binding=0) uniform sampler)
0:42            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:42              Constant:
0:42                0.750000
0:43      Sequence
0:43        move second child to first child ( temp float)
0:43          'r12' ( temp float)
0:43          texture ( temp float)
0:43            Construct combined texture-sampler ( temp isampler1DArrayShadow)
0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
0:43              'g_sSamp' (layout( binding=0) uniform sampler)
0:43            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:43              Constant:
0:43                0.750000
0:44      Sequence
0:44        move second child to first child ( temp float)
0:44          'r14' ( temp float)
0:44          texture ( temp float)
0:44            Construct combined texture-sampler ( temp usampler1DArrayShadow)
0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
0:44              'g_sSamp' (layout( binding=0) uniform sampler)
0:44            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:44              Constant:
0:44                0.750000
0:47      Sequence
0:47        move second child to first child ( temp float)
0:47          'r30' ( temp float)
0:47          texture ( temp float)
0:47            Construct combined texture-sampler ( temp sampler2DArrayShadow)
0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
0:47              'g_sSamp' (layout( binding=0) uniform sampler)
0:47            Construct vec4 ( temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:47              Constant:
0:47                0.750000
0:48      Sequence
0:48        move second child to first child ( temp float)
0:48          'r32' ( temp float)
0:48          texture ( temp float)
0:48            Construct combined texture-sampler ( temp isampler2DArrayShadow)
0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
0:48              'g_sSamp' (layout( binding=0) uniform sampler)
0:48            Construct vec4 ( temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:48              Constant:
0:48                0.750000
0:49      Sequence
0:49        move second child to first child ( temp float)
0:49          'r34' ( temp float)
0:49          texture ( temp float)
0:49            Construct combined texture-sampler ( temp usampler2DArrayShadow)
0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
0:49              'g_sSamp' (layout( binding=0) uniform sampler)
0:49            Construct vec4 ( temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:49              Constant:
0:49                0.750000
0:52      Sequence
0:52        move second child to first child ( temp float)
0:52          'r60' ( temp float)
0:52          texture ( temp float)
0:52            Construct combined texture-sampler ( temp samplerCubeArrayShadow)
0:52              'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
0:52              'g_sSamp' (layout( binding=0) uniform sampler)
0:52            Construct vec4 ( temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:?                 0.400000
0:52            Constant:
0:52              0.750000
0:53      Sequence
0:53        move second child to first child ( temp float)
0:53          'r62' ( temp float)
0:53          texture ( temp float)
0:53            Construct combined texture-sampler ( temp isamplerCubeArrayShadow)
0:53              'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
0:53              'g_sSamp' (layout( binding=0) uniform sampler)
0:53            Construct vec4 ( temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:?                 0.400000
0:53            Constant:
0:53              0.750000
0:54      Sequence
0:54        move second child to first child ( temp float)
0:54          'r64' ( temp float)
0:54          texture ( temp float)
0:54            Construct combined texture-sampler ( temp usamplerCubeArrayShadow)
0:54              'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
0:54              'g_sSamp' (layout( binding=0) uniform sampler)
0:54            Construct vec4 ( temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:?                 0.400000
0:54            Constant:
0:54              0.750000
0:56      move second child to first child ( temp 4-component vector of float)
0:56        Color: direct index for structure ( temp 4-component vector of float)
0:56          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:56          Constant:
0:56            0 (const int)
0:56        Constant:
0:56          1.000000
0:56          1.000000
0:56          1.000000
0:56          1.000000
0:57      move second child to first child ( temp float)
0:57        Depth: direct index for structure ( temp float)
0:57          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:57          Constant:
0:57            1 (const int)
0:57        Constant:
0:57          1.000000
0:59      Branch: Return with expression
0:59        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38  Function Definition: main( ( temp void)
0:38    Function Parameters: 
0:?     Sequence
0:38      Sequence
0:38        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38        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:38          Color: direct index for structure ( temp 4-component vector of float)
0:38            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38            Constant:
0:38              0 (const int)
0:38        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:38          Depth: direct index for structure ( temp float)
0:38            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38            Constant:
0:38              1 (const int)
0:?   Linker Objects
0:?     'g_sSamp' (layout( binding=0) uniform sampler)
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:?     'g_tTex1df4a' ( uniform texture1DArrayShadow)
0:?     'g_tTex1di4a' ( uniform itexture1DArrayShadow)
0:?     'g_tTex1du4a' ( uniform utexture1DArrayShadow)
0:?     'g_tTex2df4a' ( uniform texture2DArrayShadow)
0:?     'g_tTex2di4a' ( uniform itexture2DArrayShadow)
0:?     'g_tTex2du4a' ( uniform utexture2DArrayShadow)
0:?     'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
0:?     'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
0:?     'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)

error: SPIRV-Tools Validation Errors
error: Expected Image 'Sampled Type' to be the same as Result Type
  %48 = OpImageSampleDrefImplicitLod %float %43 %46 %47

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

                              Capability Shader
                              Capability Sampled1D
                              Capability SampledCubeArray
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 166 170
                              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  "r10"
                              Name 16  "g_tTex1df4a"
                              Name 20  "g_sSamp"
                              Name 35  "r12"
                              Name 39  "g_tTex1di4a"
                              Name 49  "r14"
                              Name 53  "g_tTex1du4a"
                              Name 63  "r30"
                              Name 66  "g_tTex2df4a"
                              Name 79  "r32"
                              Name 82  "g_tTex2di4a"
                              Name 93  "r34"
                              Name 96  "g_tTex2du4a"
                              Name 107  "r60"
                              Name 110  "g_tTexcdf4a"
                              Name 123  "r62"
                              Name 126  "g_tTexcdi4a"
                              Name 137  "r64"
                              Name 140  "g_tTexcdu4a"
                              Name 152  "psout"
                              Name 163  "flattenTemp"
                              Name 166  "@entryPointOutput.Color"
                              Name 170  "@entryPointOutput.Depth"
                              Name 175  "g_tTex1df4"
                              Name 178  "g_tTex1di4"
                              Name 181  "g_tTex1du4"
                              Name 184  "g_tTex2df4"
                              Name 187  "g_tTex2di4"
                              Name 190  "g_tTex2du4"
                              Name 193  "g_tTex3df4"
                              Name 196  "g_tTex3di4"
                              Name 199  "g_tTex3du4"
                              Name 202  "g_tTexcdf4"
                              Name 205  "g_tTexcdi4"
                              Name 208  "g_tTexcdu4"
                              Decorate 16(g_tTex1df4a) DescriptorSet 0
                              Decorate 20(g_sSamp) DescriptorSet 0
                              Decorate 20(g_sSamp) Binding 0
                              Decorate 39(g_tTex1di4a) DescriptorSet 0
                              Decorate 53(g_tTex1du4a) DescriptorSet 0
                              Decorate 66(g_tTex2df4a) DescriptorSet 0
                              Decorate 82(g_tTex2di4a) DescriptorSet 0
                              Decorate 96(g_tTex2du4a) DescriptorSet 0
                              Decorate 110(g_tTexcdf4a) DescriptorSet 0
                              Decorate 126(g_tTexcdi4a) DescriptorSet 0
                              Decorate 140(g_tTexcdu4a) DescriptorSet 0
                              Decorate 166(@entryPointOutput.Color) Location 0
                              Decorate 170(@entryPointOutput.Depth) BuiltIn FragDepth
                              Decorate 175(g_tTex1df4) DescriptorSet 0
                              Decorate 175(g_tTex1df4) Binding 0
                              Decorate 178(g_tTex1di4) DescriptorSet 0
                              Decorate 181(g_tTex1du4) DescriptorSet 0
                              Decorate 184(g_tTex2df4) DescriptorSet 0
                              Decorate 187(g_tTex2di4) DescriptorSet 0
                              Decorate 190(g_tTex2du4) DescriptorSet 0
                              Decorate 193(g_tTex3df4) DescriptorSet 0
                              Decorate 196(g_tTex3di4) DescriptorSet 0
                              Decorate 199(g_tTex3du4) DescriptorSet 0
                              Decorate 202(g_tTexcdf4) DescriptorSet 0
                              Decorate 205(g_tTexcdi4) DescriptorSet 0
                              Decorate 208(g_tTexcdu4) DescriptorSet 0
               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 6(float)
              14:             TypeImage 6(float) 1D depth array sampled format:Unknown
              15:             TypePointer UniformConstant 14
 16(g_tTex1df4a):     15(ptr) Variable UniformConstant
              18:             TypeSampler
              19:             TypePointer UniformConstant 18
     20(g_sSamp):     19(ptr) Variable UniformConstant
              22:             TypeSampledImage 14
              24:             TypeVector 6(float) 2
              25:    6(float) Constant 1036831949
              26:    6(float) Constant 1045220557
              27:   24(fvec2) ConstantComposite 25 26
              28:    6(float) Constant 1061158912
              29:             TypeVector 6(float) 3
              36:             TypeInt 32 1
              37:             TypeImage 36(int) 1D depth array sampled format:Unknown
              38:             TypePointer UniformConstant 37
 39(g_tTex1di4a):     38(ptr) Variable UniformConstant
              42:             TypeSampledImage 37
              50:             TypeInt 32 0
              51:             TypeImage 50(int) 1D depth array sampled format:Unknown
              52:             TypePointer UniformConstant 51
 53(g_tTex1du4a):     52(ptr) Variable UniformConstant
              56:             TypeSampledImage 51
              64:             TypeImage 6(float) 2D depth array sampled format:Unknown
              65:             TypePointer UniformConstant 64
 66(g_tTex2df4a):     65(ptr) Variable UniformConstant
              69:             TypeSampledImage 64
              71:    6(float) Constant 1050253722
              72:   29(fvec3) ConstantComposite 25 26 71
              80:             TypeImage 36(int) 2D depth array sampled format:Unknown
              81:             TypePointer UniformConstant 80
 82(g_tTex2di4a):     81(ptr) Variable UniformConstant
              85:             TypeSampledImage 80
              94:             TypeImage 50(int) 2D depth array sampled format:Unknown
              95:             TypePointer UniformConstant 94
 96(g_tTex2du4a):     95(ptr) Variable UniformConstant
              99:             TypeSampledImage 94
             108:             TypeImage 6(float) Cube depth array sampled format:Unknown
             109:             TypePointer UniformConstant 108
110(g_tTexcdf4a):    109(ptr) Variable UniformConstant
             113:             TypeSampledImage 108
             115:    6(float) Constant 1053609165
             116:    7(fvec4) ConstantComposite 25 26 71 115
             124:             TypeImage 36(int) Cube depth array sampled format:Unknown
             125:             TypePointer UniformConstant 124
126(g_tTexcdi4a):    125(ptr) Variable UniformConstant
             129:             TypeSampledImage 124
             138:             TypeImage 50(int) Cube depth array sampled format:Unknown
             139:             TypePointer UniformConstant 138
140(g_tTexcdu4a):    139(ptr) Variable UniformConstant
             143:             TypeSampledImage 138
             151:             TypePointer Function 8(PS_OUTPUT)
             153:     36(int) Constant 0
             154:    6(float) Constant 1065353216
             155:    7(fvec4) ConstantComposite 154 154 154 154
             156:             TypePointer Function 7(fvec4)
             158:     36(int) Constant 1
             165:             TypePointer Output 7(fvec4)
166(@entryPointOutput.Color):    165(ptr) Variable Output
             169:             TypePointer Output 6(float)
170(@entryPointOutput.Depth):    169(ptr) Variable Output
             173:             TypeImage 6(float) 1D sampled format:Unknown
             174:             TypePointer UniformConstant 173
 175(g_tTex1df4):    174(ptr) Variable UniformConstant
             176:             TypeImage 36(int) 1D sampled format:Unknown
             177:             TypePointer UniformConstant 176
 178(g_tTex1di4):    177(ptr) Variable UniformConstant
             179:             TypeImage 50(int) 1D sampled format:Unknown
             180:             TypePointer UniformConstant 179
 181(g_tTex1du4):    180(ptr) Variable UniformConstant
             182:             TypeImage 6(float) 2D sampled format:Unknown
             183:             TypePointer UniformConstant 182
 184(g_tTex2df4):    183(ptr) Variable UniformConstant
             185:             TypeImage 36(int) 2D sampled format:Unknown
             186:             TypePointer UniformConstant 185
 187(g_tTex2di4):    186(ptr) Variable UniformConstant
             188:             TypeImage 50(int) 2D sampled format:Unknown
             189:             TypePointer UniformConstant 188
 190(g_tTex2du4):    189(ptr) Variable UniformConstant
             191:             TypeImage 6(float) 3D sampled format:Unknown
             192:             TypePointer UniformConstant 191
 193(g_tTex3df4):    192(ptr) Variable UniformConstant
             194:             TypeImage 36(int) 3D sampled format:Unknown
             195:             TypePointer UniformConstant 194
 196(g_tTex3di4):    195(ptr) Variable UniformConstant
             197:             TypeImage 50(int) 3D sampled format:Unknown
             198:             TypePointer UniformConstant 197
 199(g_tTex3du4):    198(ptr) Variable UniformConstant
             200:             TypeImage 6(float) Cube sampled format:Unknown
             201:             TypePointer UniformConstant 200
 202(g_tTexcdf4):    201(ptr) Variable UniformConstant
             203:             TypeImage 36(int) Cube sampled format:Unknown
             204:             TypePointer UniformConstant 203
 205(g_tTexcdi4):    204(ptr) Variable UniformConstant
             206:             TypeImage 50(int) Cube sampled format:Unknown
             207:             TypePointer UniformConstant 206
 208(g_tTexcdu4):    207(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
163(flattenTemp):    151(ptr) Variable Function
             164:8(PS_OUTPUT) FunctionCall 10(@main()
                              Store 163(flattenTemp) 164
             167:    156(ptr) AccessChain 163(flattenTemp) 153
             168:    7(fvec4) Load 167
                              Store 166(@entryPointOutput.Color) 168
             171:     12(ptr) AccessChain 163(flattenTemp) 158
             172:    6(float) Load 171
                              Store 170(@entryPointOutput.Depth) 172
                              Return
                              FunctionEnd
      10(@main():8(PS_OUTPUT) Function None 9
              11:             Label
         13(r10):     12(ptr) Variable Function
         35(r12):     12(ptr) Variable Function
         49(r14):     12(ptr) Variable Function
         63(r30):     12(ptr) Variable Function
         79(r32):     12(ptr) Variable Function
         93(r34):     12(ptr) Variable Function
        107(r60):     12(ptr) Variable Function
        123(r62):     12(ptr) Variable Function
        137(r64):     12(ptr) Variable Function
      152(psout):    151(ptr) Variable Function
              17:          14 Load 16(g_tTex1df4a)
              21:          18 Load 20(g_sSamp)
              23:          22 SampledImage 17 21
              30:    6(float) CompositeExtract 27 0
              31:    6(float) CompositeExtract 27 1
              32:   29(fvec3) CompositeConstruct 30 31 28
              33:    6(float) CompositeExtract 32 2
              34:    6(float) ImageSampleDrefImplicitLod 23 32 33
                              Store 13(r10) 34
              40:          37 Load 39(g_tTex1di4a)
              41:          18 Load 20(g_sSamp)
              43:          42 SampledImage 40 41
              44:    6(float) CompositeExtract 27 0
              45:    6(float) CompositeExtract 27 1
              46:   29(fvec3) CompositeConstruct 44 45 28
              47:    6(float) CompositeExtract 46 2
              48:    6(float) ImageSampleDrefImplicitLod 43 46 47
                              Store 35(r12) 48
              54:          51 Load 53(g_tTex1du4a)
              55:          18 Load 20(g_sSamp)
              57:          56 SampledImage 54 55
              58:    6(float) CompositeExtract 27 0
              59:    6(float) CompositeExtract 27 1
              60:   29(fvec3) CompositeConstruct 58 59 28
              61:    6(float) CompositeExtract 60 2
              62:    6(float) ImageSampleDrefImplicitLod 57 60 61
                              Store 49(r14) 62
              67:          64 Load 66(g_tTex2df4a)
              68:          18 Load 20(g_sSamp)
              70:          69 SampledImage 67 68
              73:    6(float) CompositeExtract 72 0
              74:    6(float) CompositeExtract 72 1
              75:    6(float) CompositeExtract 72 2
              76:    7(fvec4) CompositeConstruct 73 74 75 28
              77:    6(float) CompositeExtract 76 3
              78:    6(float) ImageSampleDrefImplicitLod 70 76 77
                              Store 63(r30) 78
              83:          80 Load 82(g_tTex2di4a)
              84:          18 Load 20(g_sSamp)
              86:          85 SampledImage 83 84
              87:    6(float) CompositeExtract 72 0
              88:    6(float) CompositeExtract 72 1
              89:    6(float) CompositeExtract 72 2
              90:    7(fvec4) CompositeConstruct 87 88 89 28
              91:    6(float) CompositeExtract 90 3
              92:    6(float) ImageSampleDrefImplicitLod 86 90 91
                              Store 79(r32) 92
              97:          94 Load 96(g_tTex2du4a)
              98:          18 Load 20(g_sSamp)
             100:          99 SampledImage 97 98
             101:    6(float) CompositeExtract 72 0
             102:    6(float) CompositeExtract 72 1
             103:    6(float) CompositeExtract 72 2
             104:    7(fvec4) CompositeConstruct 101 102 103 28
             105:    6(float) CompositeExtract 104 3
             106:    6(float) ImageSampleDrefImplicitLod 100 104 105
                              Store 93(r34) 106
             111:         108 Load 110(g_tTexcdf4a)
             112:          18 Load 20(g_sSamp)
             114:         113 SampledImage 111 112
             117:    6(float) CompositeExtract 116 0
             118:    6(float) CompositeExtract 116 1
             119:    6(float) CompositeExtract 116 2
             120:    6(float) CompositeExtract 116 3
             121:    7(fvec4) CompositeConstruct 117 118 119 120
             122:    6(float) ImageSampleDrefImplicitLod 114 121 28
                              Store 107(r60) 122
             127:         124 Load 126(g_tTexcdi4a)
             128:          18 Load 20(g_sSamp)
             130:         129 SampledImage 127 128
             131:    6(float) CompositeExtract 116 0
             132:    6(float) CompositeExtract 116 1
             133:    6(float) CompositeExtract 116 2
             134:    6(float) CompositeExtract 116 3
             135:    7(fvec4) CompositeConstruct 131 132 133 134
             136:    6(float) ImageSampleDrefImplicitLod 130 135 28
                              Store 123(r62) 136
             141:         138 Load 140(g_tTexcdu4a)
             142:          18 Load 20(g_sSamp)
             144:         143 SampledImage 141 142
             145:    6(float) CompositeExtract 116 0
             146:    6(float) CompositeExtract 116 1
             147:    6(float) CompositeExtract 116 2
             148:    6(float) CompositeExtract 116 3
             149:    7(fvec4) CompositeConstruct 145 146 147 148
             150:    6(float) ImageSampleDrefImplicitLod 144 149 28
                              Store 137(r64) 150
             157:    156(ptr) AccessChain 152(psout) 153
                              Store 157 155
             159:     12(ptr) AccessChain 152(psout) 158
                              Store 159 154
             160:8(PS_OUTPUT) Load 152(psout)
                              ReturnValue 160
                              FunctionEnd
