hlsl.samplecmp.offsetarray.dx10.frag
Shader version: 500
gl_FragCoord origin is upper left
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 texture1DArray)
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 itexture1DArray)
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 utexture1DArray)
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 texture2DArray)
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 itexture2DArray)
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 utexture2DArray)
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 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
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 texture1DArray)
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 itexture1DArray)
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 utexture1DArray)
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 texture2DArray)
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 itexture2DArray)
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 utexture2DArray)
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 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)

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

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