hlsl.samplecmp.offset.dx10.frag
Shader version: 500
gl_FragCoord origin is upper left
using depth_any
0:? Sequence
0:38  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38    Function Parameters: 
0:?     Sequence
0:42      Sequence
0:42        move second child to first child ( temp float)
0:42          'r01' ( temp float)
0:42          textureOffset ( temp float)
0:42            Construct combined texture-sampler ( temp sampler1DShadow)
0:42              'g_tTex1df4' (layout( binding=0) uniform texture1DShadow)
0:42              'g_sSamp' (layout( binding=0) uniform sampler)
0:42            Construct vec2 ( temp 2-component vector of float)
0:42              Constant:
0:42                0.100000
0:42              Constant:
0:42                0.750000
0:42            Constant:
0:42              2 (const int)
0:43      Sequence
0:43        move second child to first child ( temp float)
0:43          'r03' ( temp float)
0:43          textureOffset ( temp float)
0:43            Construct combined texture-sampler ( temp isampler1DShadow)
0:43              'g_tTex1di4' ( uniform itexture1DShadow)
0:43              'g_sSamp' (layout( binding=0) uniform sampler)
0:43            Construct vec2 ( temp 2-component vector of float)
0:43              Constant:
0:43                0.100000
0:43              Constant:
0:43                0.750000
0:43            Constant:
0:43              2 (const int)
0:44      Sequence
0:44        move second child to first child ( temp float)
0:44          'r05' ( temp float)
0:44          textureOffset ( temp float)
0:44            Construct combined texture-sampler ( temp usampler1DShadow)
0:44              'g_tTex1du4' ( uniform utexture1DShadow)
0:44              'g_sSamp' (layout( binding=0) uniform sampler)
0:44            Construct vec2 ( temp 2-component vector of float)
0:44              Constant:
0:44                0.100000
0:44              Constant:
0:44                0.750000
0:44            Constant:
0:44              2 (const int)
0:47      Sequence
0:47        move second child to first child ( temp float)
0:47          'r21' ( temp float)
0:47          textureOffset ( temp float)
0:47            Construct combined texture-sampler ( temp sampler2DShadow)
0:47              'g_tTex2df4' ( uniform texture2DShadow)
0:47              'g_sSamp' (layout( binding=0) uniform sampler)
0:47            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:47              Constant:
0:47                0.750000
0:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:48      Sequence
0:48        move second child to first child ( temp float)
0:48          'r23' ( temp float)
0:48          textureOffset ( temp float)
0:48            Construct combined texture-sampler ( temp isampler2DShadow)
0:48              'g_tTex2di4' ( uniform itexture2DShadow)
0:48              'g_sSamp' (layout( binding=0) uniform sampler)
0:48            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:48              Constant:
0:48                0.750000
0:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:49      Sequence
0:49        move second child to first child ( temp float)
0:49          'r25' ( temp float)
0:49          textureOffset ( temp float)
0:49            Construct combined texture-sampler ( temp usampler2DShadow)
0:49              'g_tTex2du4' ( uniform utexture2DShadow)
0:49              'g_sSamp' (layout( binding=0) uniform sampler)
0:49            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:49              Constant:
0:49                0.750000
0:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:62      move second child to first child ( temp 4-component vector of float)
0:62        Color: direct index for structure ( temp 4-component vector of float)
0:62          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:62          Constant:
0:62            0 (const int)
0:62        Constant:
0:62          1.000000
0:62          1.000000
0:62          1.000000
0:62          1.000000
0:63      move second child to first child ( temp float)
0:63        Depth: direct index for structure ( temp float)
0:63          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:63          Constant:
0:63            1 (const int)
0:63        Constant:
0:63          1.000000
0:65      Branch: Return with expression
0:65        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38  Function Definition: main( ( temp void)
0:38    Function Parameters: 
0:?     Sequence
0:38      Sequence
0:38        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:38          Color: direct index for structure ( temp 4-component vector of float)
0:38            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38            Constant:
0:38              0 (const int)
0:38        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:38          Depth: direct index for structure ( temp float)
0:38            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38            Constant:
0:38              1 (const int)
0:?   Linker Objects
0:?     'g_sSamp' (layout( binding=0) uniform sampler)
0:?     'g_tTex1df4' (layout( binding=0) uniform texture1DShadow)
0:?     'g_tTex1di4' ( uniform itexture1DShadow)
0:?     'g_tTex1du4' ( uniform utexture1DShadow)
0:?     'g_tTex2df4' ( uniform texture2DShadow)
0:?     'g_tTex2di4' ( uniform itexture2DShadow)
0:?     'g_tTex2du4' ( uniform utexture2DShadow)
0:?     'g_tTex3df4' ( uniform texture3D)
0:?     'g_tTex3di4' ( uniform itexture3D)
0:?     'g_tTex3du4' ( uniform utexture3D)
0:?     'g_tTexcdf4' ( uniform textureCube)
0:?     'g_tTexcdi4' ( uniform itextureCube)
0:?     'g_tTexcdu4' ( uniform utextureCube)
0:?     'g_tTex1df4a' ( uniform texture1DArray)
0:?     'g_tTex1di4a' ( uniform itexture1DArray)
0:?     'g_tTex1du4a' ( uniform utexture1DArray)
0:?     'g_tTex2df4a' ( uniform texture2DArray)
0:?     'g_tTex2di4a' ( uniform itexture2DArray)
0:?     'g_tTex2du4a' ( uniform utexture2DArray)
0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
using depth_any
0:? Sequence
0:38  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38    Function Parameters: 
0:?     Sequence
0:42      Sequence
0:42        move second child to first child ( temp float)
0:42          'r01' ( temp float)
0:42          textureOffset ( temp float)
0:42            Construct combined texture-sampler ( temp sampler1DShadow)
0:42              'g_tTex1df4' (layout( binding=0) uniform texture1DShadow)
0:42              'g_sSamp' (layout( binding=0) uniform sampler)
0:42            Construct vec2 ( temp 2-component vector of float)
0:42              Constant:
0:42                0.100000
0:42              Constant:
0:42                0.750000
0:42            Constant:
0:42              2 (const int)
0:43      Sequence
0:43        move second child to first child ( temp float)
0:43          'r03' ( temp float)
0:43          textureOffset ( temp float)
0:43            Construct combined texture-sampler ( temp isampler1DShadow)
0:43              'g_tTex1di4' ( uniform itexture1DShadow)
0:43              'g_sSamp' (layout( binding=0) uniform sampler)
0:43            Construct vec2 ( temp 2-component vector of float)
0:43              Constant:
0:43                0.100000
0:43              Constant:
0:43                0.750000
0:43            Constant:
0:43              2 (const int)
0:44      Sequence
0:44        move second child to first child ( temp float)
0:44          'r05' ( temp float)
0:44          textureOffset ( temp float)
0:44            Construct combined texture-sampler ( temp usampler1DShadow)
0:44              'g_tTex1du4' ( uniform utexture1DShadow)
0:44              'g_sSamp' (layout( binding=0) uniform sampler)
0:44            Construct vec2 ( temp 2-component vector of float)
0:44              Constant:
0:44                0.100000
0:44              Constant:
0:44                0.750000
0:44            Constant:
0:44              2 (const int)
0:47      Sequence
0:47        move second child to first child ( temp float)
0:47          'r21' ( temp float)
0:47          textureOffset ( temp float)
0:47            Construct combined texture-sampler ( temp sampler2DShadow)
0:47              'g_tTex2df4' ( uniform texture2DShadow)
0:47              'g_sSamp' (layout( binding=0) uniform sampler)
0:47            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:47              Constant:
0:47                0.750000
0:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:48      Sequence
0:48        move second child to first child ( temp float)
0:48          'r23' ( temp float)
0:48          textureOffset ( temp float)
0:48            Construct combined texture-sampler ( temp isampler2DShadow)
0:48              'g_tTex2di4' ( uniform itexture2DShadow)
0:48              'g_sSamp' (layout( binding=0) uniform sampler)
0:48            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:48              Constant:
0:48                0.750000
0:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:49      Sequence
0:49        move second child to first child ( temp float)
0:49          'r25' ( temp float)
0:49          textureOffset ( temp float)
0:49            Construct combined texture-sampler ( temp usampler2DShadow)
0:49              'g_tTex2du4' ( uniform utexture2DShadow)
0:49              'g_sSamp' (layout( binding=0) uniform sampler)
0:49            Construct vec3 ( temp 3-component vector of float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:49              Constant:
0:49                0.750000
0:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:62      move second child to first child ( temp 4-component vector of float)
0:62        Color: direct index for structure ( temp 4-component vector of float)
0:62          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:62          Constant:
0:62            0 (const int)
0:62        Constant:
0:62          1.000000
0:62          1.000000
0:62          1.000000
0:62          1.000000
0:63      move second child to first child ( temp float)
0:63        Depth: direct index for structure ( temp float)
0:63          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:63          Constant:
0:63            1 (const int)
0:63        Constant:
0:63          1.000000
0:65      Branch: Return with expression
0:65        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38  Function Definition: main( ( temp void)
0:38    Function Parameters: 
0:?     Sequence
0:38      Sequence
0:38        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:38          Color: direct index for structure ( temp 4-component vector of float)
0:38            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38            Constant:
0:38              0 (const int)
0:38        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:38          Depth: direct index for structure ( temp float)
0:38            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:38            Constant:
0:38              1 (const int)
0:?   Linker Objects
0:?     'g_sSamp' (layout( binding=0) uniform sampler)
0:?     'g_tTex1df4' (layout( binding=0) uniform texture1DShadow)
0:?     'g_tTex1di4' ( uniform itexture1DShadow)
0:?     'g_tTex1du4' ( uniform utexture1DShadow)
0:?     'g_tTex2df4' ( uniform texture2DShadow)
0:?     'g_tTex2di4' ( uniform itexture2DShadow)
0:?     'g_tTex2du4' ( uniform utexture2DShadow)
0:?     'g_tTex3df4' ( uniform texture3D)
0:?     'g_tTex3di4' ( uniform itexture3D)
0:?     'g_tTex3du4' ( uniform utexture3D)
0:?     'g_tTexcdf4' ( uniform textureCube)
0:?     'g_tTexcdi4' ( uniform itextureCube)
0:?     'g_tTexcdu4' ( uniform utextureCube)
0:?     'g_tTex1df4a' ( uniform texture1DArray)
0:?     'g_tTex1di4a' ( uniform itexture1DArray)
0:?     'g_tTex1du4a' ( uniform utexture1DArray)
0:?     'g_tTex2df4a' ( uniform texture2DArray)
0:?     'g_tTex2di4a' ( uniform itexture2DArray)
0:?     'g_tTex2du4a' ( uniform utexture2DArray)
0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)

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

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