hlsl.format.rwtexture.frag
Shader version: 500
gl_FragCoord origin is upper left
using depth_any
0:? Sequence
0:56  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:56    Function Parameters: 
0:?     Sequence
0:59      move second child to first child ( temp 4-component vector of float)
0:59        Color: direct index for structure ( temp 4-component vector of float)
0:59          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:59          Constant:
0:59            0 (const int)
0:59        Constant:
0:59          1.000000
0:59          1.000000
0:59          1.000000
0:59          1.000000
0:60      move second child to first child ( temp float)
0:60        Depth: direct index for structure ( temp float)
0:60          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:60          Constant:
0:60            1 (const int)
0:60        Constant:
0:60          1.000000
0:62      Branch: Return with expression
0:62        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:56  Function Definition: main( ( temp void)
0:56    Function Parameters: 
0:?     Sequence
0:56      Sequence
0:56        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:56          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:56          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:56        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:56          Color: direct index for structure ( temp 4-component vector of float)
0:56            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:56            Constant:
0:56              0 (const int)
0:56        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:56          Depth: direct index for structure ( temp float)
0:56            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:56            Constant:
0:56              1 (const int)
0:?   Linker Objects
0:?     'g_sSamp' (layout( binding=0) uniform sampler)
0:?     'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D)
0:?     'g_tTex1di4' (layout( rg32f) uniform iimage1D)
0:?     'g_tTex1du4' (layout( rgba8_snorm) uniform uimage1D)
0:?     'g_tTex2df4' (layout( rgba8i) uniform image2D)
0:?     'g_tTex2di4' (layout( r11f_g11f_b10f) uniform iimage2D)
0:?     'g_tTex2du4' (layout( r8_snorm) uniform uimage2D)
0:?     'g_tTex3df4' (layout( rg8) readonly uniform image3D)
0:?     'g_tTex3di4' (layout( rgba16i) writeonly uniform iimage3D)
0:?     'g_tTex3du4' (layout( r8i) readonly writeonly uniform uimage3D)
0:?     'g_tTex1df4a' (layout( rgba8ui) uniform image1DArray)
0:?     'g_tTex1di4a' (layout( rg32ui) uniform iimage1DArray)
0:?     'g_tTex1du4a' (layout( r16ui) uniform uimage1DArray)
0:?     'g_tTex2df4a' (layout( rgb10_a2ui) uniform image2DArray)
0:?     'g_tTex2di4a' (layout( r8ui) uniform iimage2DArray)
0:?     'g_tTex2du4a' (layout( rgba16f) uniform uimage2DArray)
0:?     'g_tTex01' (layout( rgba8) uniform iimage2DArray)
0:?     'g_tTex02' (layout( rg16f) uniform iimage2DArray)
0:?     'g_tTex03' (layout( r16f) uniform iimage2DArray)
0:?     'g_tTex04' (layout( rgb10_a2) uniform iimage2DArray)
0:?     'g_tTex05' (layout( rg16) uniform iimage2DArray)
0:?     'g_tTex06' (layout( r32f) uniform iimage2DArray)
0:?     'g_tTex07' (layout( rgba16) uniform iimage2DArray)
0:?     'g_tTex08' (layout( r16) uniform iimage2DArray)
0:?     'g_tTex09' (layout( r8) uniform iimage2DArray)
0:?     'g_tTex10' (layout( rgba16_snorm) uniform iimage2DArray)
0:?     'g_tTex11' (layout( rg16_snorm) uniform iimage2DArray)
0:?     'g_tTex12' (layout( r16_snorm) uniform iimage2DArray)
0:?     'g_tTex13' (layout( r8_snorm) uniform iimage2DArray)
0:?     'g_tTex14' (layout( rgba32i) uniform iimage2DArray)
0:?     'g_tTex15' (layout( r32i) uniform iimage2DArray)
0:?     'g_tTex16' (layout( r32ui) uniform iimage2DArray)
0:?     'g_tTex17' (layout( rg16i) uniform iimage2DArray)
0:?     'g_tTex18' (layout( r16i) uniform iimage2DArray)
0:?     'g_tTex19' (layout( rg32i) uniform iimage2DArray)
0:?     'g_tTex20' (layout( rg8i) uniform iimage2DArray)
0:?     'g_tTex21' (layout( rg8ui) uniform iimage2DArray)
0:?     'g_tTex22' (layout( rgba32ui) uniform iimage2DArray)
0:?     'g_tTex23' (layout( rgba16ui) uniform iimage2DArray)
0:?     'g_tTex24' (layout( rg32ui) uniform iimage2DArray)
0:?     'g_tTex25' (layout( rg16ui) uniform iimage2DArray)
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:56  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:56    Function Parameters: 
0:?     Sequence
0:59      move second child to first child ( temp 4-component vector of float)
0:59        Color: direct index for structure ( temp 4-component vector of float)
0:59          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:59          Constant:
0:59            0 (const int)
0:59        Constant:
0:59          1.000000
0:59          1.000000
0:59          1.000000
0:59          1.000000
0:60      move second child to first child ( temp float)
0:60        Depth: direct index for structure ( temp float)
0:60          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:60          Constant:
0:60            1 (const int)
0:60        Constant:
0:60          1.000000
0:62      Branch: Return with expression
0:62        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:56  Function Definition: main( ( temp void)
0:56    Function Parameters: 
0:?     Sequence
0:56      Sequence
0:56        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:56          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:56          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:56        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:56          Color: direct index for structure ( temp 4-component vector of float)
0:56            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:56            Constant:
0:56              0 (const int)
0:56        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:56          Depth: direct index for structure ( temp float)
0:56            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:56            Constant:
0:56              1 (const int)
0:?   Linker Objects
0:?     'g_sSamp' (layout( binding=0) uniform sampler)
0:?     'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D)
0:?     'g_tTex1di4' (layout( rg32f) uniform iimage1D)
0:?     'g_tTex1du4' (layout( rgba8_snorm) uniform uimage1D)
0:?     'g_tTex2df4' (layout( rgba8i) uniform image2D)
0:?     'g_tTex2di4' (layout( r11f_g11f_b10f) uniform iimage2D)
0:?     'g_tTex2du4' (layout( r8_snorm) uniform uimage2D)
0:?     'g_tTex3df4' (layout( rg8) readonly uniform image3D)
0:?     'g_tTex3di4' (layout( rgba16i) writeonly uniform iimage3D)
0:?     'g_tTex3du4' (layout( r8i) readonly writeonly uniform uimage3D)
0:?     'g_tTex1df4a' (layout( rgba8ui) uniform image1DArray)
0:?     'g_tTex1di4a' (layout( rg32ui) uniform iimage1DArray)
0:?     'g_tTex1du4a' (layout( r16ui) uniform uimage1DArray)
0:?     'g_tTex2df4a' (layout( rgb10_a2ui) uniform image2DArray)
0:?     'g_tTex2di4a' (layout( r8ui) uniform iimage2DArray)
0:?     'g_tTex2du4a' (layout( rgba16f) uniform uimage2DArray)
0:?     'g_tTex01' (layout( rgba8) uniform iimage2DArray)
0:?     'g_tTex02' (layout( rg16f) uniform iimage2DArray)
0:?     'g_tTex03' (layout( r16f) uniform iimage2DArray)
0:?     'g_tTex04' (layout( rgb10_a2) uniform iimage2DArray)
0:?     'g_tTex05' (layout( rg16) uniform iimage2DArray)
0:?     'g_tTex06' (layout( r32f) uniform iimage2DArray)
0:?     'g_tTex07' (layout( rgba16) uniform iimage2DArray)
0:?     'g_tTex08' (layout( r16) uniform iimage2DArray)
0:?     'g_tTex09' (layout( r8) uniform iimage2DArray)
0:?     'g_tTex10' (layout( rgba16_snorm) uniform iimage2DArray)
0:?     'g_tTex11' (layout( rg16_snorm) uniform iimage2DArray)
0:?     'g_tTex12' (layout( r16_snorm) uniform iimage2DArray)
0:?     'g_tTex13' (layout( r8_snorm) uniform iimage2DArray)
0:?     'g_tTex14' (layout( rgba32i) uniform iimage2DArray)
0:?     'g_tTex15' (layout( r32i) uniform iimage2DArray)
0:?     'g_tTex16' (layout( r32ui) uniform iimage2DArray)
0:?     'g_tTex17' (layout( rg16i) uniform iimage2DArray)
0:?     'g_tTex18' (layout( r16i) uniform iimage2DArray)
0:?     'g_tTex19' (layout( rg32i) uniform iimage2DArray)
0:?     'g_tTex20' (layout( rg8i) uniform iimage2DArray)
0:?     'g_tTex21' (layout( rg8ui) uniform iimage2DArray)
0:?     'g_tTex22' (layout( rgba32ui) uniform iimage2DArray)
0:?     'g_tTex23' (layout( rgba16ui) uniform iimage2DArray)
0:?     'g_tTex24' (layout( rg32ui) uniform iimage2DArray)
0:?     'g_tTex25' (layout( rg16ui) uniform iimage2DArray)
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)

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

                              Capability Shader
                              Capability Image1D
                              Capability StorageImageExtendedFormats
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 29 33
                              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  "psout"
                              Name 26  "flattenTemp"
                              Name 29  "@entryPointOutput.Color"
                              Name 33  "@entryPointOutput.Depth"
                              Name 38  "g_sSamp"
                              Name 41  "g_tTex1df4"
                              Name 44  "g_tTex1di4"
                              Name 48  "g_tTex1du4"
                              Name 51  "g_tTex2df4"
                              Name 54  "g_tTex2di4"
                              Name 57  "g_tTex2du4"
                              Name 60  "g_tTex3df4"
                              Name 63  "g_tTex3di4"
                              Name 66  "g_tTex3du4"
                              Name 69  "g_tTex1df4a"
                              Name 72  "g_tTex1di4a"
                              Name 75  "g_tTex1du4a"
                              Name 78  "g_tTex2df4a"
                              Name 81  "g_tTex2di4a"
                              Name 84  "g_tTex2du4a"
                              Name 87  "g_tTex01"
                              Name 90  "g_tTex02"
                              Name 93  "g_tTex03"
                              Name 96  "g_tTex04"
                              Name 99  "g_tTex05"
                              Name 102  "g_tTex06"
                              Name 105  "g_tTex07"
                              Name 108  "g_tTex08"
                              Name 111  "g_tTex09"
                              Name 114  "g_tTex10"
                              Name 117  "g_tTex11"
                              Name 120  "g_tTex12"
                              Name 123  "g_tTex13"
                              Name 126  "g_tTex14"
                              Name 129  "g_tTex15"
                              Name 132  "g_tTex16"
                              Name 135  "g_tTex17"
                              Name 138  "g_tTex18"
                              Name 141  "g_tTex19"
                              Name 144  "g_tTex20"
                              Name 147  "g_tTex21"
                              Name 150  "g_tTex22"
                              Name 153  "g_tTex23"
                              Name 156  "g_tTex24"
                              Name 159  "g_tTex25"
                              Decorate 29(@entryPointOutput.Color) Location 0
                              Decorate 33(@entryPointOutput.Depth) BuiltIn FragDepth
                              Decorate 38(g_sSamp) DescriptorSet 0
                              Decorate 38(g_sSamp) Binding 0
                              Decorate 41(g_tTex1df4) DescriptorSet 0
                              Decorate 41(g_tTex1df4) Binding 0
                              Decorate 44(g_tTex1di4) DescriptorSet 0
                              Decorate 44(g_tTex1di4) Binding 0
                              Decorate 48(g_tTex1du4) DescriptorSet 0
                              Decorate 48(g_tTex1du4) Binding 0
                              Decorate 51(g_tTex2df4) DescriptorSet 0
                              Decorate 51(g_tTex2df4) Binding 0
                              Decorate 54(g_tTex2di4) DescriptorSet 0
                              Decorate 54(g_tTex2di4) Binding 0
                              Decorate 57(g_tTex2du4) DescriptorSet 0
                              Decorate 57(g_tTex2du4) Binding 0
                              Decorate 60(g_tTex3df4) DescriptorSet 0
                              Decorate 60(g_tTex3df4) Binding 0
                              Decorate 60(g_tTex3df4) NonWritable
                              Decorate 63(g_tTex3di4) DescriptorSet 0
                              Decorate 63(g_tTex3di4) Binding 0
                              Decorate 63(g_tTex3di4) NonReadable
                              Decorate 66(g_tTex3du4) DescriptorSet 0
                              Decorate 66(g_tTex3du4) Binding 0
                              Decorate 66(g_tTex3du4) NonWritable
                              Decorate 66(g_tTex3du4) NonReadable
                              Decorate 69(g_tTex1df4a) DescriptorSet 0
                              Decorate 69(g_tTex1df4a) Binding 0
                              Decorate 72(g_tTex1di4a) DescriptorSet 0
                              Decorate 72(g_tTex1di4a) Binding 0
                              Decorate 75(g_tTex1du4a) DescriptorSet 0
                              Decorate 75(g_tTex1du4a) Binding 0
                              Decorate 78(g_tTex2df4a) DescriptorSet 0
                              Decorate 78(g_tTex2df4a) Binding 0
                              Decorate 81(g_tTex2di4a) DescriptorSet 0
                              Decorate 81(g_tTex2di4a) Binding 0
                              Decorate 84(g_tTex2du4a) DescriptorSet 0
                              Decorate 84(g_tTex2du4a) Binding 0
                              Decorate 87(g_tTex01) DescriptorSet 0
                              Decorate 87(g_tTex01) Binding 0
                              Decorate 90(g_tTex02) DescriptorSet 0
                              Decorate 90(g_tTex02) Binding 0
                              Decorate 93(g_tTex03) DescriptorSet 0
                              Decorate 93(g_tTex03) Binding 0
                              Decorate 96(g_tTex04) DescriptorSet 0
                              Decorate 96(g_tTex04) Binding 0
                              Decorate 99(g_tTex05) DescriptorSet 0
                              Decorate 99(g_tTex05) Binding 0
                              Decorate 102(g_tTex06) DescriptorSet 0
                              Decorate 102(g_tTex06) Binding 0
                              Decorate 105(g_tTex07) DescriptorSet 0
                              Decorate 105(g_tTex07) Binding 0
                              Decorate 108(g_tTex08) DescriptorSet 0
                              Decorate 108(g_tTex08) Binding 0
                              Decorate 111(g_tTex09) DescriptorSet 0
                              Decorate 111(g_tTex09) Binding 0
                              Decorate 114(g_tTex10) DescriptorSet 0
                              Decorate 114(g_tTex10) Binding 0
                              Decorate 117(g_tTex11) DescriptorSet 0
                              Decorate 117(g_tTex11) Binding 0
                              Decorate 120(g_tTex12) DescriptorSet 0
                              Decorate 120(g_tTex12) Binding 0
                              Decorate 123(g_tTex13) DescriptorSet 0
                              Decorate 123(g_tTex13) Binding 0
                              Decorate 126(g_tTex14) DescriptorSet 0
                              Decorate 126(g_tTex14) Binding 0
                              Decorate 129(g_tTex15) DescriptorSet 0
                              Decorate 129(g_tTex15) Binding 0
                              Decorate 132(g_tTex16) DescriptorSet 0
                              Decorate 132(g_tTex16) Binding 0
                              Decorate 135(g_tTex17) DescriptorSet 0
                              Decorate 135(g_tTex17) Binding 0
                              Decorate 138(g_tTex18) DescriptorSet 0
                              Decorate 138(g_tTex18) Binding 0
                              Decorate 141(g_tTex19) DescriptorSet 0
                              Decorate 141(g_tTex19) Binding 0
                              Decorate 144(g_tTex20) DescriptorSet 0
                              Decorate 144(g_tTex20) Binding 0
                              Decorate 147(g_tTex21) DescriptorSet 0
                              Decorate 147(g_tTex21) Binding 0
                              Decorate 150(g_tTex22) DescriptorSet 0
                              Decorate 150(g_tTex22) Binding 0
                              Decorate 153(g_tTex23) DescriptorSet 0
                              Decorate 153(g_tTex23) Binding 0
                              Decorate 156(g_tTex24) DescriptorSet 0
                              Decorate 156(g_tTex24) Binding 0
                              Decorate 159(g_tTex25) DescriptorSet 0
                              Decorate 159(g_tTex25) 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 8(PS_OUTPUT)
              14:             TypeInt 32 1
              15:     14(int) Constant 0
              16:    6(float) Constant 1065353216
              17:    7(fvec4) ConstantComposite 16 16 16 16
              18:             TypePointer Function 7(fvec4)
              20:     14(int) Constant 1
              21:             TypePointer Function 6(float)
              28:             TypePointer Output 7(fvec4)
29(@entryPointOutput.Color):     28(ptr) Variable Output
              32:             TypePointer Output 6(float)
33(@entryPointOutput.Depth):     32(ptr) Variable Output
              36:             TypeSampler
              37:             TypePointer UniformConstant 36
     38(g_sSamp):     37(ptr) Variable UniformConstant
              39:             TypeImage 6(float) 1D nonsampled format:Rgba32f
              40:             TypePointer UniformConstant 39
  41(g_tTex1df4):     40(ptr) Variable UniformConstant
              42:             TypeImage 14(int) 1D nonsampled format:Rg32f
              43:             TypePointer UniformConstant 42
  44(g_tTex1di4):     43(ptr) Variable UniformConstant
              45:             TypeInt 32 0
              46:             TypeImage 45(int) 1D nonsampled format:Rgba8Snorm
              47:             TypePointer UniformConstant 46
  48(g_tTex1du4):     47(ptr) Variable UniformConstant
              49:             TypeImage 6(float) 2D nonsampled format:Rgba8i
              50:             TypePointer UniformConstant 49
  51(g_tTex2df4):     50(ptr) Variable UniformConstant
              52:             TypeImage 14(int) 2D nonsampled format:R11fG11fB10f
              53:             TypePointer UniformConstant 52
  54(g_tTex2di4):     53(ptr) Variable UniformConstant
              55:             TypeImage 45(int) 2D nonsampled format:R8Snorm
              56:             TypePointer UniformConstant 55
  57(g_tTex2du4):     56(ptr) Variable UniformConstant
              58:             TypeImage 6(float) 3D nonsampled format:Rg8
              59:             TypePointer UniformConstant 58
  60(g_tTex3df4):     59(ptr) Variable UniformConstant
              61:             TypeImage 14(int) 3D nonsampled format:Rgba16i
              62:             TypePointer UniformConstant 61
  63(g_tTex3di4):     62(ptr) Variable UniformConstant
              64:             TypeImage 45(int) 3D nonsampled format:R8i
              65:             TypePointer UniformConstant 64
  66(g_tTex3du4):     65(ptr) Variable UniformConstant
              67:             TypeImage 6(float) 1D array nonsampled format:Rgba8ui
              68:             TypePointer UniformConstant 67
 69(g_tTex1df4a):     68(ptr) Variable UniformConstant
              70:             TypeImage 14(int) 1D array nonsampled format:Rg32ui
              71:             TypePointer UniformConstant 70
 72(g_tTex1di4a):     71(ptr) Variable UniformConstant
              73:             TypeImage 45(int) 1D array nonsampled format:R16ui
              74:             TypePointer UniformConstant 73
 75(g_tTex1du4a):     74(ptr) Variable UniformConstant
              76:             TypeImage 6(float) 2D array nonsampled format:Rgb10a2ui
              77:             TypePointer UniformConstant 76
 78(g_tTex2df4a):     77(ptr) Variable UniformConstant
              79:             TypeImage 14(int) 2D array nonsampled format:R8ui
              80:             TypePointer UniformConstant 79
 81(g_tTex2di4a):     80(ptr) Variable UniformConstant
              82:             TypeImage 45(int) 2D array nonsampled format:Rgba16f
              83:             TypePointer UniformConstant 82
 84(g_tTex2du4a):     83(ptr) Variable UniformConstant
              85:             TypeImage 14(int) 2D array nonsampled format:Rgba8
              86:             TypePointer UniformConstant 85
    87(g_tTex01):     86(ptr) Variable UniformConstant
              88:             TypeImage 14(int) 2D array nonsampled format:Rg16f
              89:             TypePointer UniformConstant 88
    90(g_tTex02):     89(ptr) Variable UniformConstant
              91:             TypeImage 14(int) 2D array nonsampled format:R16f
              92:             TypePointer UniformConstant 91
    93(g_tTex03):     92(ptr) Variable UniformConstant
              94:             TypeImage 14(int) 2D array nonsampled format:Rgb10A2
              95:             TypePointer UniformConstant 94
    96(g_tTex04):     95(ptr) Variable UniformConstant
              97:             TypeImage 14(int) 2D array nonsampled format:Rg16
              98:             TypePointer UniformConstant 97
    99(g_tTex05):     98(ptr) Variable UniformConstant
             100:             TypeImage 14(int) 2D array nonsampled format:R32f
             101:             TypePointer UniformConstant 100
   102(g_tTex06):    101(ptr) Variable UniformConstant
             103:             TypeImage 14(int) 2D array nonsampled format:Rgba16
             104:             TypePointer UniformConstant 103
   105(g_tTex07):    104(ptr) Variable UniformConstant
             106:             TypeImage 14(int) 2D array nonsampled format:R16
             107:             TypePointer UniformConstant 106
   108(g_tTex08):    107(ptr) Variable UniformConstant
             109:             TypeImage 14(int) 2D array nonsampled format:R8
             110:             TypePointer UniformConstant 109
   111(g_tTex09):    110(ptr) Variable UniformConstant
             112:             TypeImage 14(int) 2D array nonsampled format:Rgba16Snorm
             113:             TypePointer UniformConstant 112
   114(g_tTex10):    113(ptr) Variable UniformConstant
             115:             TypeImage 14(int) 2D array nonsampled format:Rg16Snorm
             116:             TypePointer UniformConstant 115
   117(g_tTex11):    116(ptr) Variable UniformConstant
             118:             TypeImage 14(int) 2D array nonsampled format:R16Snorm
             119:             TypePointer UniformConstant 118
   120(g_tTex12):    119(ptr) Variable UniformConstant
             121:             TypeImage 14(int) 2D array nonsampled format:R8Snorm
             122:             TypePointer UniformConstant 121
   123(g_tTex13):    122(ptr) Variable UniformConstant
             124:             TypeImage 14(int) 2D array nonsampled format:Rgba32i
             125:             TypePointer UniformConstant 124
   126(g_tTex14):    125(ptr) Variable UniformConstant
             127:             TypeImage 14(int) 2D array nonsampled format:R32i
             128:             TypePointer UniformConstant 127
   129(g_tTex15):    128(ptr) Variable UniformConstant
             130:             TypeImage 14(int) 2D array nonsampled format:R32ui
             131:             TypePointer UniformConstant 130
   132(g_tTex16):    131(ptr) Variable UniformConstant
             133:             TypeImage 14(int) 2D array nonsampled format:Rg16i
             134:             TypePointer UniformConstant 133
   135(g_tTex17):    134(ptr) Variable UniformConstant
             136:             TypeImage 14(int) 2D array nonsampled format:R16i
             137:             TypePointer UniformConstant 136
   138(g_tTex18):    137(ptr) Variable UniformConstant
             139:             TypeImage 14(int) 2D array nonsampled format:Rg32i
             140:             TypePointer UniformConstant 139
   141(g_tTex19):    140(ptr) Variable UniformConstant
             142:             TypeImage 14(int) 2D array nonsampled format:Rg8i
             143:             TypePointer UniformConstant 142
   144(g_tTex20):    143(ptr) Variable UniformConstant
             145:             TypeImage 14(int) 2D array nonsampled format:Rg8ui
             146:             TypePointer UniformConstant 145
   147(g_tTex21):    146(ptr) Variable UniformConstant
             148:             TypeImage 14(int) 2D array nonsampled format:Rgba32ui
             149:             TypePointer UniformConstant 148
   150(g_tTex22):    149(ptr) Variable UniformConstant
             151:             TypeImage 14(int) 2D array nonsampled format:Rgba16ui
             152:             TypePointer UniformConstant 151
   153(g_tTex23):    152(ptr) Variable UniformConstant
             154:             TypeImage 14(int) 2D array nonsampled format:Rg32ui
             155:             TypePointer UniformConstant 154
   156(g_tTex24):    155(ptr) Variable UniformConstant
             157:             TypeImage 14(int) 2D array nonsampled format:Rg16ui
             158:             TypePointer UniformConstant 157
   159(g_tTex25):    158(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
 26(flattenTemp):     12(ptr) Variable Function
              27:8(PS_OUTPUT) FunctionCall 10(@main()
                              Store 26(flattenTemp) 27
              30:     18(ptr) AccessChain 26(flattenTemp) 15
              31:    7(fvec4) Load 30
                              Store 29(@entryPointOutput.Color) 31
              34:     21(ptr) AccessChain 26(flattenTemp) 20
              35:    6(float) Load 34
                              Store 33(@entryPointOutput.Depth) 35
                              Return
                              FunctionEnd
      10(@main():8(PS_OUTPUT) Function None 9
              11:             Label
       13(psout):     12(ptr) Variable Function
              19:     18(ptr) AccessChain 13(psout) 15
                              Store 19 17
              22:     21(ptr) AccessChain 13(psout) 20
                              Store 22 16
              23:8(PS_OUTPUT) Load 13(psout)
                              ReturnValue 23
                              FunctionEnd
