hlsl.samplecmp.array.dx10.frag
Shader version: 450
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          'r10' (temp float)
0:42          texture (global 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:43      Sequence
0:43        move second child to first child (temp float)
0:43          'r12' (temp float)
0:43          texture (global 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:44      Sequence
0:44        move second child to first child (temp float)
0:44          'r14' (temp float)
0:44          texture (global 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:47      Sequence
0:47        move second child to first child (temp float)
0:47          'r30' (temp float)
0:47          texture (global 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:48      Sequence
0:48        move second child to first child (temp float)
0:48          'r32' (temp float)
0:48          texture (global 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:49      Sequence
0:49        move second child to first child (temp float)
0:49          'r34' (temp float)
0:49          texture (global 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:52      Sequence
0:52        move second child to first child (temp float)
0:52          'r60' (temp float)
0:52          texture (global float)
0:52            Construct combined texture-sampler (temp samplerCubeArrayShadow)
0:52              'g_tTexcdf4a' (uniform textureCubeArray)
0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:52            Construct vec4 (temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:?                 0.400000
0:52            Constant:
0:52              0.750000
0:53      Sequence
0:53        move second child to first child (temp float)
0:53          'r62' (temp float)
0:53          texture (global float)
0:53            Construct combined texture-sampler (temp isamplerCubeArrayShadow)
0:53              'g_tTexcdi4a' (uniform itextureCubeArray)
0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:53            Construct vec4 (temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:?                 0.400000
0:53            Constant:
0:53              0.750000
0:54      Sequence
0:54        move second child to first child (temp float)
0:54          'r64' (temp float)
0:54          texture (global float)
0:54            Construct combined texture-sampler (temp usamplerCubeArrayShadow)
0:54              'g_tTexcdu4a' (uniform utextureCubeArray)
0:54              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:54            Construct vec4 (temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:?                 0.400000
0:54            Constant:
0:54              0.750000
0:56      move second child to first child (temp 4-component vector of float)
0:56        Color: direct index for structure (temp 4-component vector of float)
0:56          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56          Constant:
0:56            0 (const int)
0:56        Constant:
0:56          1.000000
0:56          1.000000
0:56          1.000000
0:56          1.000000
0:57      move second child to first child (temp float)
0:57        Depth: direct index for structure (temp float)
0:57          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:57          Constant:
0:57            1 (const int)
0:57        Constant:
0:57          1.000000
0:59      Sequence
0:59        Sequence
0:59          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 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          move second child to first child (temp float)
0:?             'Depth' (out float FragDepth)
0:59            Depth: direct index for structure (temp float)
0:59              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:59              Constant:
0:59                1 (const int)
0:59        Branch: Return
0:?   Linker Objects
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'Depth' (out float FragDepth)
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)


Linked fragment stage:


Shader version: 450
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          'r10' (temp float)
0:42          texture (global 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:43      Sequence
0:43        move second child to first child (temp float)
0:43          'r12' (temp float)
0:43          texture (global 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:44      Sequence
0:44        move second child to first child (temp float)
0:44          'r14' (temp float)
0:44          texture (global 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:47      Sequence
0:47        move second child to first child (temp float)
0:47          'r30' (temp float)
0:47          texture (global 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:48      Sequence
0:48        move second child to first child (temp float)
0:48          'r32' (temp float)
0:48          texture (global 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:49      Sequence
0:49        move second child to first child (temp float)
0:49          'r34' (temp float)
0:49          texture (global 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:52      Sequence
0:52        move second child to first child (temp float)
0:52          'r60' (temp float)
0:52          texture (global float)
0:52            Construct combined texture-sampler (temp samplerCubeArrayShadow)
0:52              'g_tTexcdf4a' (uniform textureCubeArray)
0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:52            Construct vec4 (temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:?                 0.400000
0:52            Constant:
0:52              0.750000
0:53      Sequence
0:53        move second child to first child (temp float)
0:53          'r62' (temp float)
0:53          texture (global float)
0:53            Construct combined texture-sampler (temp isamplerCubeArrayShadow)
0:53              'g_tTexcdi4a' (uniform itextureCubeArray)
0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:53            Construct vec4 (temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:?                 0.400000
0:53            Constant:
0:53              0.750000
0:54      Sequence
0:54        move second child to first child (temp float)
0:54          'r64' (temp float)
0:54          texture (global float)
0:54            Construct combined texture-sampler (temp usamplerCubeArrayShadow)
0:54              'g_tTexcdu4a' (uniform utextureCubeArray)
0:54              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:54            Construct vec4 (temp 4-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:?                 0.400000
0:54            Constant:
0:54              0.750000
0:56      move second child to first child (temp 4-component vector of float)
0:56        Color: direct index for structure (temp 4-component vector of float)
0:56          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:56          Constant:
0:56            0 (const int)
0:56        Constant:
0:56          1.000000
0:56          1.000000
0:56          1.000000
0:56          1.000000
0:57      move second child to first child (temp float)
0:57        Depth: direct index for structure (temp float)
0:57          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:57          Constant:
0:57            1 (const int)
0:57        Constant:
0:57          1.000000
0:59      Sequence
0:59        Sequence
0:59          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 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          move second child to first child (temp float)
0:?             'Depth' (out float FragDepth)
0:59            Depth: direct index for structure (temp float)
0:59              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:59              Constant:
0:59                1 (const int)
0:59        Branch: Return
0:?   Linker Objects
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'Depth' (out float FragDepth)
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)

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

                              Capability Shader
                              Capability Sampled1D
                              Capability SampledCubeArray
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 167 171
                              ExecutionMode 4 OriginUpperLeft
                              Name 4  "main"
                              Name 8  "r10"
                              Name 11  "g_tTex1df4a"
                              Name 15  "g_sSamp"
                              Name 31  "r12"
                              Name 35  "g_tTex1di4a"
                              Name 46  "r14"
                              Name 50  "g_tTex1du4a"
                              Name 61  "r30"
                              Name 64  "g_tTex2df4a"
                              Name 79  "r32"
                              Name 82  "g_tTex2di4a"
                              Name 94  "r34"
                              Name 97  "g_tTex2du4a"
                              Name 109  "r60"
                              Name 112  "g_tTexcdf4a"
                              Name 126  "r62"
                              Name 129  "g_tTexcdi4a"
                              Name 141  "r64"
                              Name 144  "g_tTexcdu4a"
                              Name 156  "PS_OUTPUT"
                              MemberName 156(PS_OUTPUT) 0  "Color"
                              MemberName 156(PS_OUTPUT) 1  "Depth"
                              Name 158  "psout"
                              Name 167  "Color"
                              Name 171  "Depth"
                              Name 177  "g_tTex1df4"
                              Name 180  "g_tTex1di4"
                              Name 183  "g_tTex1du4"
                              Name 186  "g_tTex2df4"
                              Name 189  "g_tTex2di4"
                              Name 192  "g_tTex2du4"
                              Name 195  "g_tTex3df4"
                              Name 198  "g_tTex3di4"
                              Name 201  "g_tTex3du4"
                              Name 204  "g_tTexcdf4"
                              Name 207  "g_tTexcdi4"
                              Name 210  "g_tTexcdu4"
                              Decorate 11(g_tTex1df4a) DescriptorSet 0
                              Decorate 15(g_sSamp) DescriptorSet 0
                              Decorate 15(g_sSamp) Binding 0
                              Decorate 35(g_tTex1di4a) DescriptorSet 0
                              Decorate 50(g_tTex1du4a) DescriptorSet 0
                              Decorate 64(g_tTex2df4a) DescriptorSet 0
                              Decorate 82(g_tTex2di4a) DescriptorSet 0
                              Decorate 97(g_tTex2du4a) DescriptorSet 0
                              Decorate 112(g_tTexcdf4a) DescriptorSet 0
                              Decorate 129(g_tTexcdi4a) DescriptorSet 0
                              Decorate 144(g_tTexcdu4a) DescriptorSet 0
                              Decorate 167(Color) Location 0
                              Decorate 171(Depth) BuiltIn FragDepth
                              Decorate 177(g_tTex1df4) DescriptorSet 0
                              Decorate 177(g_tTex1df4) Binding 0
                              Decorate 180(g_tTex1di4) DescriptorSet 0
                              Decorate 183(g_tTex1du4) DescriptorSet 0
                              Decorate 186(g_tTex2df4) DescriptorSet 0
                              Decorate 189(g_tTex2di4) DescriptorSet 0
                              Decorate 192(g_tTex2du4) DescriptorSet 0
                              Decorate 195(g_tTex3df4) DescriptorSet 0
                              Decorate 198(g_tTex3di4) DescriptorSet 0
                              Decorate 201(g_tTex3du4) DescriptorSet 0
                              Decorate 204(g_tTexcdf4) DescriptorSet 0
                              Decorate 207(g_tTexcdi4) DescriptorSet 0
                              Decorate 210(g_tTexcdu4) DescriptorSet 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypePointer Function 6(float)
               9:             TypeImage 6(float) 1D array sampled format:Unknown
              10:             TypePointer UniformConstant 9
 11(g_tTex1df4a):     10(ptr) Variable UniformConstant
              13:             TypeSampler
              14:             TypePointer UniformConstant 13
     15(g_sSamp):     14(ptr) Variable UniformConstant
              17:             TypeImage 6(float) 1D depth array sampled format:Unknown
              18:             TypeSampledImage 17
              20:             TypeVector 6(float) 2
              21:    6(float) Constant 1036831949
              22:    6(float) Constant 1045220557
              23:   20(fvec2) ConstantComposite 21 22
              24:    6(float) Constant 1061158912
              25:             TypeVector 6(float) 3
              32:             TypeInt 32 1
              33:             TypeImage 32(int) 1D array sampled format:Unknown
              34:             TypePointer UniformConstant 33
 35(g_tTex1di4a):     34(ptr) Variable UniformConstant
              38:             TypeImage 32(int) 1D depth array sampled format:Unknown
              39:             TypeSampledImage 38
              47:             TypeInt 32 0
              48:             TypeImage 47(int) 1D array sampled format:Unknown
              49:             TypePointer UniformConstant 48
 50(g_tTex1du4a):     49(ptr) Variable UniformConstant
              53:             TypeImage 47(int) 1D depth array sampled format:Unknown
              54:             TypeSampledImage 53
              62:             TypeImage 6(float) 2D array sampled format:Unknown
              63:             TypePointer UniformConstant 62
 64(g_tTex2df4a):     63(ptr) Variable UniformConstant
              67:             TypeImage 6(float) 2D depth array sampled format:Unknown
              68:             TypeSampledImage 67
              70:    6(float) Constant 1050253722
              71:   25(fvec3) ConstantComposite 21 22 70
              72:             TypeVector 6(float) 4
              80:             TypeImage 32(int) 2D array sampled format:Unknown
              81:             TypePointer UniformConstant 80
 82(g_tTex2di4a):     81(ptr) Variable UniformConstant
              85:             TypeImage 32(int) 2D depth array sampled format:Unknown
              86:             TypeSampledImage 85
              95:             TypeImage 47(int) 2D array sampled format:Unknown
              96:             TypePointer UniformConstant 95
 97(g_tTex2du4a):     96(ptr) Variable UniformConstant
             100:             TypeImage 47(int) 2D depth array sampled format:Unknown
             101:             TypeSampledImage 100
             110:             TypeImage 6(float) Cube array sampled format:Unknown
             111:             TypePointer UniformConstant 110
112(g_tTexcdf4a):    111(ptr) Variable UniformConstant
             115:             TypeImage 6(float) Cube depth array sampled format:Unknown
             116:             TypeSampledImage 115
             118:    6(float) Constant 1053609165
             119:   72(fvec4) ConstantComposite 21 22 70 118
             127:             TypeImage 32(int) Cube array sampled format:Unknown
             128:             TypePointer UniformConstant 127
129(g_tTexcdi4a):    128(ptr) Variable UniformConstant
             132:             TypeImage 32(int) Cube depth array sampled format:Unknown
             133:             TypeSampledImage 132
             142:             TypeImage 47(int) Cube array sampled format:Unknown
             143:             TypePointer UniformConstant 142
144(g_tTexcdu4a):    143(ptr) Variable UniformConstant
             147:             TypeImage 47(int) Cube depth array sampled format:Unknown
             148:             TypeSampledImage 147
  156(PS_OUTPUT):             TypeStruct 72(fvec4) 6(float)
             157:             TypePointer Function 156(PS_OUTPUT)
             159:     32(int) Constant 0
             160:    6(float) Constant 1065353216
             161:   72(fvec4) ConstantComposite 160 160 160 160
             162:             TypePointer Function 72(fvec4)
             164:     32(int) Constant 1
             166:             TypePointer Output 72(fvec4)
      167(Color):    166(ptr) Variable Output
             170:             TypePointer Output 6(float)
      171(Depth):    170(ptr) Variable Output
             175:             TypeImage 6(float) 1D sampled format:Unknown
             176:             TypePointer UniformConstant 175
 177(g_tTex1df4):    176(ptr) Variable UniformConstant
             178:             TypeImage 32(int) 1D sampled format:Unknown
             179:             TypePointer UniformConstant 178
 180(g_tTex1di4):    179(ptr) Variable UniformConstant
             181:             TypeImage 47(int) 1D sampled format:Unknown
             182:             TypePointer UniformConstant 181
 183(g_tTex1du4):    182(ptr) Variable UniformConstant
             184:             TypeImage 6(float) 2D sampled format:Unknown
             185:             TypePointer UniformConstant 184
 186(g_tTex2df4):    185(ptr) Variable UniformConstant
             187:             TypeImage 32(int) 2D sampled format:Unknown
             188:             TypePointer UniformConstant 187
 189(g_tTex2di4):    188(ptr) Variable UniformConstant
             190:             TypeImage 47(int) 2D sampled format:Unknown
             191:             TypePointer UniformConstant 190
 192(g_tTex2du4):    191(ptr) Variable UniformConstant
             193:             TypeImage 6(float) 3D sampled format:Unknown
             194:             TypePointer UniformConstant 193
 195(g_tTex3df4):    194(ptr) Variable UniformConstant
             196:             TypeImage 32(int) 3D sampled format:Unknown
             197:             TypePointer UniformConstant 196
 198(g_tTex3di4):    197(ptr) Variable UniformConstant
             199:             TypeImage 47(int) 3D sampled format:Unknown
             200:             TypePointer UniformConstant 199
 201(g_tTex3du4):    200(ptr) Variable UniformConstant
             202:             TypeImage 6(float) Cube sampled format:Unknown
             203:             TypePointer UniformConstant 202
 204(g_tTexcdf4):    203(ptr) Variable UniformConstant
             205:             TypeImage 32(int) Cube sampled format:Unknown
             206:             TypePointer UniformConstant 205
 207(g_tTexcdi4):    206(ptr) Variable UniformConstant
             208:             TypeImage 47(int) Cube sampled format:Unknown
             209:             TypePointer UniformConstant 208
 210(g_tTexcdu4):    209(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
          8(r10):      7(ptr) Variable Function
         31(r12):      7(ptr) Variable Function
         46(r14):      7(ptr) Variable Function
         61(r30):      7(ptr) Variable Function
         79(r32):      7(ptr) Variable Function
         94(r34):      7(ptr) Variable Function
        109(r60):      7(ptr) Variable Function
        126(r62):      7(ptr) Variable Function
        141(r64):      7(ptr) Variable Function
      158(psout):    157(ptr) Variable Function
              12:           9 Load 11(g_tTex1df4a)
              16:          13 Load 15(g_sSamp)
              19:          18 SampledImage 12 16
              26:    6(float) CompositeExtract 23 0
              27:    6(float) CompositeExtract 23 1
              28:   25(fvec3) CompositeConstruct 26 27 24
              29:    6(float) CompositeExtract 28 2
              30:    6(float) ImageSampleDrefImplicitLod 19 28 29
                              Store 8(r10) 30
              36:          33 Load 35(g_tTex1di4a)
              37:          13 Load 15(g_sSamp)
              40:          39 SampledImage 36 37
              41:    6(float) CompositeExtract 23 0
              42:    6(float) CompositeExtract 23 1
              43:   25(fvec3) CompositeConstruct 41 42 24
              44:    6(float) CompositeExtract 43 2
              45:    6(float) ImageSampleDrefImplicitLod 40 43 44
                              Store 31(r12) 45
              51:          48 Load 50(g_tTex1du4a)
              52:          13 Load 15(g_sSamp)
              55:          54 SampledImage 51 52
              56:    6(float) CompositeExtract 23 0
              57:    6(float) CompositeExtract 23 1
              58:   25(fvec3) CompositeConstruct 56 57 24
              59:    6(float) CompositeExtract 58 2
              60:    6(float) ImageSampleDrefImplicitLod 55 58 59
                              Store 46(r14) 60
              65:          62 Load 64(g_tTex2df4a)
              66:          13 Load 15(g_sSamp)
              69:          68 SampledImage 65 66
              73:    6(float) CompositeExtract 71 0
              74:    6(float) CompositeExtract 71 1
              75:    6(float) CompositeExtract 71 2
              76:   72(fvec4) CompositeConstruct 73 74 75 24
              77:    6(float) CompositeExtract 76 3
              78:    6(float) ImageSampleDrefImplicitLod 69 76 77
                              Store 61(r30) 78
              83:          80 Load 82(g_tTex2di4a)
              84:          13 Load 15(g_sSamp)
              87:          86 SampledImage 83 84
              88:    6(float) CompositeExtract 71 0
              89:    6(float) CompositeExtract 71 1
              90:    6(float) CompositeExtract 71 2
              91:   72(fvec4) CompositeConstruct 88 89 90 24
              92:    6(float) CompositeExtract 91 3
              93:    6(float) ImageSampleDrefImplicitLod 87 91 92
                              Store 79(r32) 93
              98:          95 Load 97(g_tTex2du4a)
              99:          13 Load 15(g_sSamp)
             102:         101 SampledImage 98 99
             103:    6(float) CompositeExtract 71 0
             104:    6(float) CompositeExtract 71 1
             105:    6(float) CompositeExtract 71 2
             106:   72(fvec4) CompositeConstruct 103 104 105 24
             107:    6(float) CompositeExtract 106 3
             108:    6(float) ImageSampleDrefImplicitLod 102 106 107
                              Store 94(r34) 108
             113:         110 Load 112(g_tTexcdf4a)
             114:          13 Load 15(g_sSamp)
             117:         116 SampledImage 113 114
             120:    6(float) CompositeExtract 119 0
             121:    6(float) CompositeExtract 119 1
             122:    6(float) CompositeExtract 119 2
             123:    6(float) CompositeExtract 119 3
             124:   72(fvec4) CompositeConstruct 120 121 122 123
             125:    6(float) ImageSampleDrefImplicitLod 117 124 24
                              Store 109(r60) 125
             130:         127 Load 129(g_tTexcdi4a)
             131:          13 Load 15(g_sSamp)
             134:         133 SampledImage 130 131
             135:    6(float) CompositeExtract 119 0
             136:    6(float) CompositeExtract 119 1
             137:    6(float) CompositeExtract 119 2
             138:    6(float) CompositeExtract 119 3
             139:   72(fvec4) CompositeConstruct 135 136 137 138
             140:    6(float) ImageSampleDrefImplicitLod 134 139 24
                              Store 126(r62) 140
             145:         142 Load 144(g_tTexcdu4a)
             146:          13 Load 15(g_sSamp)
             149:         148 SampledImage 145 146
             150:    6(float) CompositeExtract 119 0
             151:    6(float) CompositeExtract 119 1
             152:    6(float) CompositeExtract 119 2
             153:    6(float) CompositeExtract 119 3
             154:   72(fvec4) CompositeConstruct 150 151 152 153
             155:    6(float) ImageSampleDrefImplicitLod 149 154 24
                              Store 141(r64) 155
             163:    162(ptr) AccessChain 158(psout) 159
                              Store 163 161
             165:      7(ptr) AccessChain 158(psout) 164
                              Store 165 160
             168:    162(ptr) AccessChain 158(psout) 159
             169:   72(fvec4) Load 168
                              Store 167(Color) 169
             172:      7(ptr) AccessChain 158(psout) 164
             173:    6(float) Load 172
                              Store 171(Depth) 173
                              Return
                              FunctionEnd
