hlsl.samplecmp.offsetarray.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          'r11' ( temp float)
0:42          textureOffset ( 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:42            Constant:
0:42              2 (const int)
0:43      Sequence
0:43        move second child to first child ( temp float)
0:43          'r13' ( temp float)
0:43          textureOffset ( 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:43            Constant:
0:43              2 (const int)
0:44      Sequence
0:44        move second child to first child ( temp float)
0:44          'r15' ( temp float)
0:44          textureOffset ( 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:44            Constant:
0:44              2 (const int)
0:47      Sequence
0:47        move second child to first child ( temp float)
0:47          'r31' ( temp float)
0:47          textureOffset ( 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:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:48      Sequence
0:48        move second child to first child ( temp float)
0:48          'r33' ( temp float)
0:48          textureOffset ( 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:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:49      Sequence
0:49        move second child to first child ( temp float)
0:49          'r35' ( temp float)
0:49          textureOffset ( 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:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:63      move second child to first child ( temp 4-component vector of float)
0:63        Color: direct index for structure ( temp 4-component vector of float)
0:63          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:63          Constant:
0:63            0 (const int)
0:63        Constant:
0:63          1.000000
0:63          1.000000
0:63          1.000000
0:63          1.000000
0:64      move second child to first child ( temp float)
0:64        Depth: direct index for structure ( temp float)
0:64          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:64          Constant:
0:64            1 (const int)
0:64        Constant:
0:64          1.000000
0:66      Branch: Return with expression
0:66        '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 textureCubeArray)
0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
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          'r11' ( temp float)
0:42          textureOffset ( 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:42            Constant:
0:42              2 (const int)
0:43      Sequence
0:43        move second child to first child ( temp float)
0:43          'r13' ( temp float)
0:43          textureOffset ( 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:43            Constant:
0:43              2 (const int)
0:44      Sequence
0:44        move second child to first child ( temp float)
0:44          'r15' ( temp float)
0:44          textureOffset ( 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:44            Constant:
0:44              2 (const int)
0:47      Sequence
0:47        move second child to first child ( temp float)
0:47          'r31' ( temp float)
0:47          textureOffset ( 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:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:48      Sequence
0:48        move second child to first child ( temp float)
0:48          'r33' ( temp float)
0:48          textureOffset ( 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:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:49      Sequence
0:49        move second child to first child ( temp float)
0:49          'r35' ( temp float)
0:49          textureOffset ( 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:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:63      move second child to first child ( temp 4-component vector of float)
0:63        Color: direct index for structure ( temp 4-component vector of float)
0:63          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:63          Constant:
0:63            0 (const int)
0:63        Constant:
0:63          1.000000
0:63          1.000000
0:63          1.000000
0:63          1.000000
0:64      move second child to first child ( temp float)
0:64        Depth: direct index for structure ( temp float)
0:64          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:64          Constant:
0:64            1 (const int)
0:64        Constant:
0:64          1.000000
0:66      Branch: Return with expression
0:66        '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 textureCubeArray)
0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)

Validation failed
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 178

                              Capability Shader
                              Capability Sampled1D
                              Capability SampledCubeArray
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 126 130
                              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  "r11"
                              Name 16  "g_tTex1df4a"
                              Name 20  "g_sSamp"
                              Name 37  "r13"
                              Name 40  "g_tTex1di4a"
                              Name 50  "r15"
                              Name 54  "g_tTex1du4a"
                              Name 64  "r31"
                              Name 67  "g_tTex2df4a"
                              Name 83  "r33"
                              Name 86  "g_tTex2di4a"
                              Name 97  "r35"
                              Name 100  "g_tTex2du4a"
                              Name 112  "psout"
                              Name 123  "flattenTemp"
                              Name 126  "@entryPointOutput.Color"
                              Name 130  "@entryPointOutput.Depth"
                              Name 135  "g_tTex1df4"
                              Name 138  "g_tTex1di4"
                              Name 141  "g_tTex1du4"
                              Name 144  "g_tTex2df4"
                              Name 147  "g_tTex2di4"
                              Name 150  "g_tTex2du4"
                              Name 153  "g_tTex3df4"
                              Name 156  "g_tTex3di4"
                              Name 159  "g_tTex3du4"
                              Name 162  "g_tTexcdf4"
                              Name 165  "g_tTexcdi4"
                              Name 168  "g_tTexcdu4"
                              Name 171  "g_tTexcdf4a"
                              Name 174  "g_tTexcdi4a"
                              Name 177  "g_tTexcdu4a"
                              Decorate 16(g_tTex1df4a) DescriptorSet 0
                              Decorate 16(g_tTex1df4a) Binding 0
                              Decorate 20(g_sSamp) DescriptorSet 0
                              Decorate 20(g_sSamp) Binding 0
                              Decorate 40(g_tTex1di4a) DescriptorSet 0
                              Decorate 40(g_tTex1di4a) Binding 0
                              Decorate 54(g_tTex1du4a) DescriptorSet 0
                              Decorate 54(g_tTex1du4a) Binding 0
                              Decorate 67(g_tTex2df4a) DescriptorSet 0
                              Decorate 67(g_tTex2df4a) Binding 0
                              Decorate 86(g_tTex2di4a) DescriptorSet 0
                              Decorate 86(g_tTex2di4a) Binding 0
                              Decorate 100(g_tTex2du4a) DescriptorSet 0
                              Decorate 100(g_tTex2du4a) Binding 0
                              Decorate 126(@entryPointOutput.Color) Location 0
                              Decorate 130(@entryPointOutput.Depth) BuiltIn FragDepth
                              Decorate 135(g_tTex1df4) DescriptorSet 0
                              Decorate 135(g_tTex1df4) Binding 0
                              Decorate 138(g_tTex1di4) DescriptorSet 0
                              Decorate 138(g_tTex1di4) Binding 0
                              Decorate 141(g_tTex1du4) DescriptorSet 0
                              Decorate 141(g_tTex1du4) Binding 0
                              Decorate 144(g_tTex2df4) DescriptorSet 0
                              Decorate 144(g_tTex2df4) Binding 0
                              Decorate 147(g_tTex2di4) DescriptorSet 0
                              Decorate 147(g_tTex2di4) Binding 0
                              Decorate 150(g_tTex2du4) DescriptorSet 0
                              Decorate 150(g_tTex2du4) Binding 0
                              Decorate 153(g_tTex3df4) DescriptorSet 0
                              Decorate 153(g_tTex3df4) Binding 0
                              Decorate 156(g_tTex3di4) DescriptorSet 0
                              Decorate 156(g_tTex3di4) Binding 0
                              Decorate 159(g_tTex3du4) DescriptorSet 0
                              Decorate 159(g_tTex3du4) Binding 0
                              Decorate 162(g_tTexcdf4) DescriptorSet 0
                              Decorate 162(g_tTexcdf4) Binding 0
                              Decorate 165(g_tTexcdi4) DescriptorSet 0
                              Decorate 165(g_tTexcdi4) Binding 0
                              Decorate 168(g_tTexcdu4) DescriptorSet 0
                              Decorate 168(g_tTexcdu4) Binding 0
                              Decorate 171(g_tTexcdf4a) DescriptorSet 0
                              Decorate 171(g_tTexcdf4a) Binding 0
                              Decorate 174(g_tTexcdi4a) DescriptorSet 0
                              Decorate 174(g_tTexcdi4a) Binding 0
                              Decorate 177(g_tTexcdu4a) DescriptorSet 0
                              Decorate 177(g_tTexcdu4a) Binding 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
              33:             TypeInt 32 1
              34:     33(int) Constant 2
              38:             TypeImage 33(int) 1D depth array sampled format:Unknown
              39:             TypePointer UniformConstant 38
 40(g_tTex1di4a):     39(ptr) Variable UniformConstant
              43:             TypeSampledImage 38
              51:             TypeInt 32 0
              52:             TypeImage 51(int) 1D depth array sampled format:Unknown
              53:             TypePointer UniformConstant 52
 54(g_tTex1du4a):     53(ptr) Variable UniformConstant
              57:             TypeSampledImage 52
              65:             TypeImage 6(float) 2D depth array sampled format:Unknown
              66:             TypePointer UniformConstant 65
 67(g_tTex2df4a):     66(ptr) Variable UniformConstant
              70:             TypeSampledImage 65
              72:    6(float) Constant 1050253722
              73:   29(fvec3) ConstantComposite 25 26 72
              78:             TypeVector 33(int) 2
              79:     33(int) Constant 3
              80:   78(ivec2) ConstantComposite 34 79
              84:             TypeImage 33(int) 2D depth array sampled format:Unknown
              85:             TypePointer UniformConstant 84
 86(g_tTex2di4a):     85(ptr) Variable UniformConstant
              89:             TypeSampledImage 84
              98:             TypeImage 51(int) 2D depth array sampled format:Unknown
              99:             TypePointer UniformConstant 98
100(g_tTex2du4a):     99(ptr) Variable UniformConstant
             103:             TypeSampledImage 98
             111:             TypePointer Function 8(PS_OUTPUT)
             113:     33(int) Constant 0
             114:    6(float) Constant 1065353216
             115:    7(fvec4) ConstantComposite 114 114 114 114
             116:             TypePointer Function 7(fvec4)
             118:     33(int) Constant 1
             125:             TypePointer Output 7(fvec4)
126(@entryPointOutput.Color):    125(ptr) Variable Output
             129:             TypePointer Output 6(float)
130(@entryPointOutput.Depth):    129(ptr) Variable Output
             133:             TypeImage 6(float) 1D sampled format:Unknown
             134:             TypePointer UniformConstant 133
 135(g_tTex1df4):    134(ptr) Variable UniformConstant
             136:             TypeImage 33(int) 1D sampled format:Unknown
             137:             TypePointer UniformConstant 136
 138(g_tTex1di4):    137(ptr) Variable UniformConstant
             139:             TypeImage 51(int) 1D sampled format:Unknown
             140:             TypePointer UniformConstant 139
 141(g_tTex1du4):    140(ptr) Variable UniformConstant
             142:             TypeImage 6(float) 2D sampled format:Unknown
             143:             TypePointer UniformConstant 142
 144(g_tTex2df4):    143(ptr) Variable UniformConstant
             145:             TypeImage 33(int) 2D sampled format:Unknown
             146:             TypePointer UniformConstant 145
 147(g_tTex2di4):    146(ptr) Variable UniformConstant
             148:             TypeImage 51(int) 2D sampled format:Unknown
             149:             TypePointer UniformConstant 148
 150(g_tTex2du4):    149(ptr) Variable UniformConstant
             151:             TypeImage 6(float) 3D sampled format:Unknown
             152:             TypePointer UniformConstant 151
 153(g_tTex3df4):    152(ptr) Variable UniformConstant
             154:             TypeImage 33(int) 3D sampled format:Unknown
             155:             TypePointer UniformConstant 154
 156(g_tTex3di4):    155(ptr) Variable UniformConstant
             157:             TypeImage 51(int) 3D sampled format:Unknown
             158:             TypePointer UniformConstant 157
 159(g_tTex3du4):    158(ptr) Variable UniformConstant
             160:             TypeImage 6(float) Cube sampled format:Unknown
             161:             TypePointer UniformConstant 160
 162(g_tTexcdf4):    161(ptr) Variable UniformConstant
             163:             TypeImage 33(int) Cube sampled format:Unknown
             164:             TypePointer UniformConstant 163
 165(g_tTexcdi4):    164(ptr) Variable UniformConstant
             166:             TypeImage 51(int) Cube sampled format:Unknown
             167:             TypePointer UniformConstant 166
 168(g_tTexcdu4):    167(ptr) Variable UniformConstant
             169:             TypeImage 6(float) Cube array sampled format:Unknown
             170:             TypePointer UniformConstant 169
171(g_tTexcdf4a):    170(ptr) Variable UniformConstant
             172:             TypeImage 33(int) Cube array sampled format:Unknown
             173:             TypePointer UniformConstant 172
174(g_tTexcdi4a):    173(ptr) Variable UniformConstant
             175:             TypeImage 51(int) Cube array sampled format:Unknown
             176:             TypePointer UniformConstant 175
177(g_tTexcdu4a):    176(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
123(flattenTemp):    111(ptr) Variable Function
             124:8(PS_OUTPUT) FunctionCall 10(@main()
                              Store 123(flattenTemp) 124
             127:    116(ptr) AccessChain 123(flattenTemp) 113
             128:    7(fvec4) Load 127
                              Store 126(@entryPointOutput.Color) 128
             131:     12(ptr) AccessChain 123(flattenTemp) 118
             132:    6(float) Load 131
                              Store 130(@entryPointOutput.Depth) 132
                              Return
                              FunctionEnd
      10(@main():8(PS_OUTPUT) Function None 9
              11:             Label
         13(r11):     12(ptr) Variable Function
         37(r13):     12(ptr) Variable Function
         50(r15):     12(ptr) Variable Function
         64(r31):     12(ptr) Variable Function
         83(r33):     12(ptr) Variable Function
         97(r35):     12(ptr) Variable Function
      112(psout):    111(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
              35:    6(float) CompositeExtract 32 2
              36:    6(float) ImageSampleDrefImplicitLod 23 32 35 ConstOffset 34
                              Store 13(r11) 36
              41:          38 Load 40(g_tTex1di4a)
              42:          18 Load 20(g_sSamp)
              44:          43 SampledImage 41 42
              45:    6(float) CompositeExtract 27 0
              46:    6(float) CompositeExtract 27 1
              47:   29(fvec3) CompositeConstruct 45 46 28
              48:    6(float) CompositeExtract 47 2
              49:    6(float) ImageSampleDrefImplicitLod 44 47 48 ConstOffset 34
                              Store 37(r13) 49
              55:          52 Load 54(g_tTex1du4a)
              56:          18 Load 20(g_sSamp)
              58:          57 SampledImage 55 56
              59:    6(float) CompositeExtract 27 0
              60:    6(float) CompositeExtract 27 1
              61:   29(fvec3) CompositeConstruct 59 60 28
              62:    6(float) CompositeExtract 61 2
              63:    6(float) ImageSampleDrefImplicitLod 58 61 62 ConstOffset 34
                              Store 50(r15) 63
              68:          65 Load 67(g_tTex2df4a)
              69:          18 Load 20(g_sSamp)
              71:          70 SampledImage 68 69
              74:    6(float) CompositeExtract 73 0
              75:    6(float) CompositeExtract 73 1
              76:    6(float) CompositeExtract 73 2
              77:    7(fvec4) CompositeConstruct 74 75 76 28
              81:    6(float) CompositeExtract 77 3
              82:    6(float) ImageSampleDrefImplicitLod 71 77 81 ConstOffset 80
                              Store 64(r31) 82
              87:          84 Load 86(g_tTex2di4a)
              88:          18 Load 20(g_sSamp)
              90:          89 SampledImage 87 88
              91:    6(float) CompositeExtract 73 0
              92:    6(float) CompositeExtract 73 1
              93:    6(float) CompositeExtract 73 2
              94:    7(fvec4) CompositeConstruct 91 92 93 28
              95:    6(float) CompositeExtract 94 3
              96:    6(float) ImageSampleDrefImplicitLod 90 94 95 ConstOffset 80
                              Store 83(r33) 96
             101:          98 Load 100(g_tTex2du4a)
             102:          18 Load 20(g_sSamp)
             104:         103 SampledImage 101 102
             105:    6(float) CompositeExtract 73 0
             106:    6(float) CompositeExtract 73 1
             107:    6(float) CompositeExtract 73 2
             108:    7(fvec4) CompositeConstruct 105 106 107 28
             109:    6(float) CompositeExtract 108 3
             110:    6(float) ImageSampleDrefImplicitLod 104 108 109 ConstOffset 80
                              Store 97(r35) 110
             117:    116(ptr) AccessChain 112(psout) 113
                              Store 117 115
             119:     12(ptr) AccessChain 112(psout) 118
                              Store 119 114
             120:8(PS_OUTPUT) Load 112(psout)
                              ReturnValue 120
                              FunctionEnd
