hlsl.samplecmplevelzero.offset.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          'r01' ( temp float)
0:42          textureLodOffset ( temp float)
0:42            Construct combined texture-sampler ( temp sampler1DShadow)
0:42              'g_tTex1df4' (layout( binding=0) uniform texture1DShadow)
0:42              'g_sSamp' (layout( binding=0) uniform sampler)
0:42            Construct vec2 ( temp 2-component vector of float)
0:42              Constant:
0:42                0.100000
0:42              Constant:
0:42                0.750000
0:42            Constant:
0:42              0.000000
0:42            Constant:
0:42              2 (const int)
0:43      Sequence
0:43        move second child to first child ( temp float)
0:43          'r03' ( temp float)
0:43          textureLodOffset ( temp float)
0:43            Construct combined texture-sampler ( temp isampler1DShadow)
0:43              'g_tTex1di4' ( uniform itexture1DShadow)
0:43              'g_sSamp' (layout( binding=0) uniform sampler)
0:43            Construct vec2 ( temp 2-component vector of float)
0:43              Constant:
0:43                0.100000
0:43              Constant:
0:43                0.750000
0:43            Constant:
0:43              0.000000
0:43            Constant:
0:43              2 (const int)
0:44      Sequence
0:44        move second child to first child ( temp float)
0:44          'r05' ( temp float)
0:44          textureLodOffset ( temp float)
0:44            Construct combined texture-sampler ( temp usampler1DShadow)
0:44              'g_tTex1du4' ( uniform utexture1DShadow)
0:44              'g_sSamp' (layout( binding=0) uniform sampler)
0:44            Construct vec2 ( temp 2-component vector of float)
0:44              Constant:
0:44                0.100000
0:44              Constant:
0:44                0.750000
0:44            Constant:
0:44              0.000000
0:44            Constant:
0:44              2 (const int)
0:47      Sequence
0:47        move second child to first child ( temp float)
0:47          'r21' ( temp float)
0:47          textureLodOffset ( temp float)
0:47            Construct combined texture-sampler ( temp sampler2DShadow)
0:47              'g_tTex2df4' ( uniform texture2DShadow)
0:47              'g_sSamp' (layout( binding=0) uniform sampler)
0:47            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:47              Constant:
0:47                0.750000
0:47            Constant:
0:47              0.000000
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          'r23' ( temp float)
0:48          textureLodOffset ( temp float)
0:48            Construct combined texture-sampler ( temp isampler2DShadow)
0:48              'g_tTex2di4' ( uniform itexture2DShadow)
0:48              'g_sSamp' (layout( binding=0) uniform sampler)
0:48            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:48              Constant:
0:48                0.750000
0:48            Constant:
0:48              0.000000
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          'r25' ( temp float)
0:49          textureLodOffset ( temp float)
0:49            Construct combined texture-sampler ( temp usampler2DShadow)
0:49              'g_tTex2du4' ( uniform utexture2DShadow)
0:49              'g_sSamp' (layout( binding=0) uniform sampler)
0:49            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:49              Constant:
0:49                0.750000
0:49            Constant:
0:49              0.000000
0:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:62      move second child to first child ( temp 4-component vector of float)
0:62        Color: direct index for structure ( temp 4-component vector of float)
0:62          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:62          Constant:
0:62            0 (const int)
0:62        Constant:
0:62          1.000000
0:62          1.000000
0:62          1.000000
0:62          1.000000
0:63      move second child to first child ( temp float)
0:63        Depth: direct index for structure ( temp float)
0:63          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:63          Constant:
0:63            1 (const int)
0:63        Constant:
0:63          1.000000
0:65      Branch: Return with expression
0:65        '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 texture1DShadow)
0:?     'g_tTex1di4' ( uniform itexture1DShadow)
0:?     'g_tTex1du4' ( uniform utexture1DShadow)
0:?     'g_tTex2df4' ( uniform texture2DShadow)
0:?     'g_tTex2di4' ( uniform itexture2DShadow)
0:?     'g_tTex2du4' ( uniform utexture2DShadow)
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 texture1DArray)
0:?     'g_tTex1di4a' ( uniform itexture1DArray)
0:?     'g_tTex1du4a' ( uniform utexture1DArray)
0:?     'g_tTex2df4a' ( uniform texture2DArray)
0:?     'g_tTex2di4a' ( uniform itexture2DArray)
0:?     'g_tTex2du4a' ( uniform utexture2DArray)
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          'r01' ( temp float)
0:42          textureLodOffset ( temp float)
0:42            Construct combined texture-sampler ( temp sampler1DShadow)
0:42              'g_tTex1df4' (layout( binding=0) uniform texture1DShadow)
0:42              'g_sSamp' (layout( binding=0) uniform sampler)
0:42            Construct vec2 ( temp 2-component vector of float)
0:42              Constant:
0:42                0.100000
0:42              Constant:
0:42                0.750000
0:42            Constant:
0:42              0.000000
0:42            Constant:
0:42              2 (const int)
0:43      Sequence
0:43        move second child to first child ( temp float)
0:43          'r03' ( temp float)
0:43          textureLodOffset ( temp float)
0:43            Construct combined texture-sampler ( temp isampler1DShadow)
0:43              'g_tTex1di4' ( uniform itexture1DShadow)
0:43              'g_sSamp' (layout( binding=0) uniform sampler)
0:43            Construct vec2 ( temp 2-component vector of float)
0:43              Constant:
0:43                0.100000
0:43              Constant:
0:43                0.750000
0:43            Constant:
0:43              0.000000
0:43            Constant:
0:43              2 (const int)
0:44      Sequence
0:44        move second child to first child ( temp float)
0:44          'r05' ( temp float)
0:44          textureLodOffset ( temp float)
0:44            Construct combined texture-sampler ( temp usampler1DShadow)
0:44              'g_tTex1du4' ( uniform utexture1DShadow)
0:44              'g_sSamp' (layout( binding=0) uniform sampler)
0:44            Construct vec2 ( temp 2-component vector of float)
0:44              Constant:
0:44                0.100000
0:44              Constant:
0:44                0.750000
0:44            Constant:
0:44              0.000000
0:44            Constant:
0:44              2 (const int)
0:47      Sequence
0:47        move second child to first child ( temp float)
0:47          'r21' ( temp float)
0:47          textureLodOffset ( temp float)
0:47            Construct combined texture-sampler ( temp sampler2DShadow)
0:47              'g_tTex2df4' ( uniform texture2DShadow)
0:47              'g_sSamp' (layout( binding=0) uniform sampler)
0:47            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:47              Constant:
0:47                0.750000
0:47            Constant:
0:47              0.000000
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          'r23' ( temp float)
0:48          textureLodOffset ( temp float)
0:48            Construct combined texture-sampler ( temp isampler2DShadow)
0:48              'g_tTex2di4' ( uniform itexture2DShadow)
0:48              'g_sSamp' (layout( binding=0) uniform sampler)
0:48            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:48              Constant:
0:48                0.750000
0:48            Constant:
0:48              0.000000
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          'r25' ( temp float)
0:49          textureLodOffset ( temp float)
0:49            Construct combined texture-sampler ( temp usampler2DShadow)
0:49              'g_tTex2du4' ( uniform utexture2DShadow)
0:49              'g_sSamp' (layout( binding=0) uniform sampler)
0:49            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:49              Constant:
0:49                0.750000
0:49            Constant:
0:49              0.000000
0:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:62      move second child to first child ( temp 4-component vector of float)
0:62        Color: direct index for structure ( temp 4-component vector of float)
0:62          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:62          Constant:
0:62            0 (const int)
0:62        Constant:
0:62          1.000000
0:62          1.000000
0:62          1.000000
0:62          1.000000
0:63      move second child to first child ( temp float)
0:63        Depth: direct index for structure ( temp float)
0:63          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:63          Constant:
0:63            1 (const int)
0:63        Constant:
0:63          1.000000
0:65      Branch: Return with expression
0:65        '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 texture1DShadow)
0:?     'g_tTex1di4' ( uniform itexture1DShadow)
0:?     'g_tTex1du4' ( uniform utexture1DShadow)
0:?     'g_tTex2df4' ( uniform texture2DShadow)
0:?     'g_tTex2di4' ( uniform itexture2DShadow)
0:?     'g_tTex2du4' ( uniform utexture2DShadow)
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 texture1DArray)
0:?     'g_tTex1di4a' ( uniform itexture1DArray)
0:?     'g_tTex1du4a' ( uniform utexture1DArray)
0:?     'g_tTex2df4a' ( uniform texture2DArray)
0:?     'g_tTex2di4a' ( uniform itexture2DArray)
0:?     'g_tTex2du4a' ( uniform utexture2DArray)
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)

error: SPIRV-Tools Validation Errors
error: Expected Image 'Sampled Type' to be the same as Result Type
  %43 = OpImageSampleDrefExplicitLod %float %40 %41 %42 Lod|ConstOffset %float_0 %int_2

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

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