hlsl.samplecmplevelzero.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          textureLodOffset ( 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              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          'r13' ( temp float)
0:43          textureLodOffset ( 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              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          'r15' ( temp float)
0:44          textureLodOffset ( 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              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          'r31' ( temp float)
0:47          textureLodOffset ( 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: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          'r33' ( temp float)
0:48          textureLodOffset ( 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: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          'r35' ( temp float)
0:49          textureLodOffset ( 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:49            Constant:
0:49              0.000000
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          textureLodOffset ( 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              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          'r13' ( temp float)
0:43          textureLodOffset ( 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              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          'r15' ( temp float)
0:44          textureLodOffset ( 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              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          'r31' ( temp float)
0:47          textureLodOffset ( 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: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          'r33' ( temp float)
0:48          textureLodOffset ( 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: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          'r35' ( temp float)
0:49          textureLodOffset ( 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:49            Constant:
0:49              0.000000
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 185

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