hlsl.samplebias.array.dx10.frag
Shader version: 500
gl_FragCoord origin is upper left
using depth_any
0:? Sequence
0:24  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24    Function Parameters: 
0:?     Sequence
0:27      Sequence
0:27        move second child to first child ( temp 4-component vector of float)
0:27          'txval10' ( temp 4-component vector of float)
0:27          texture ( temp 4-component vector of float)
0:27            Construct combined texture-sampler ( temp sampler1DArray)
0:27              'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
0:27              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:27            Constant:
0:27              0.500000
0:28      Sequence
0:28        move second child to first child ( temp 4-component vector of int)
0:28          'txval11' ( temp 4-component vector of int)
0:28          texture ( temp 4-component vector of int)
0:28            Construct combined texture-sampler ( temp isampler1DArray)
0:28              'g_tTex1di4' ( uniform itexture1DArray)
0:28              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.200000
0:?               0.300000
0:28            Constant:
0:28              0.500000
0:29      Sequence
0:29        move second child to first child ( temp 4-component vector of uint)
0:29          'txval12' ( temp 4-component vector of uint)
0:29          texture ( temp 4-component vector of uint)
0:29            Construct combined texture-sampler ( temp usampler1DArray)
0:29              'g_tTex1du4' ( uniform utexture1DArray)
0:29              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.300000
0:?               0.400000
0:29            Constant:
0:29              0.500000
0:31      Sequence
0:31        move second child to first child ( temp 4-component vector of float)
0:31          'txval20' ( temp 4-component vector of float)
0:31          texture ( temp 4-component vector of float)
0:31            Construct combined texture-sampler ( temp sampler2DArray)
0:31              'g_tTex2df4' ( uniform texture2DArray)
0:31              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:31            Constant:
0:31              0.500000
0:32      Sequence
0:32        move second child to first child ( temp 4-component vector of int)
0:32          'txval21' ( temp 4-component vector of int)
0:32          texture ( temp 4-component vector of int)
0:32            Construct combined texture-sampler ( temp isampler2DArray)
0:32              'g_tTex2di4' ( uniform itexture2DArray)
0:32              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.300000
0:?               0.400000
0:?               0.500000
0:32            Constant:
0:32              0.500000
0:33      Sequence
0:33        move second child to first child ( temp 4-component vector of uint)
0:33          'txval22' ( temp 4-component vector of uint)
0:33          texture ( temp 4-component vector of uint)
0:33            Construct combined texture-sampler ( temp usampler2DArray)
0:33              'g_tTex2du4' ( uniform utexture2DArray)
0:33              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.500000
0:?               0.600000
0:?               0.700000
0:33            Constant:
0:33              0.500000
0:35      Sequence
0:35        move second child to first child ( temp 4-component vector of float)
0:35          'txval40' ( temp 4-component vector of float)
0:35          texture ( temp 4-component vector of float)
0:35            Construct combined texture-sampler ( temp samplerCubeArray)
0:35              'g_tTexcdf4' ( uniform textureCubeArray)
0:35              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:?               0.400000
0:35            Constant:
0:35              0.500000
0:36      Sequence
0:36        move second child to first child ( temp 4-component vector of int)
0:36          'txval41' ( temp 4-component vector of int)
0:36          texture ( temp 4-component vector of int)
0:36            Construct combined texture-sampler ( temp isamplerCubeArray)
0:36              'g_tTexcdi4' ( uniform itextureCubeArray)
0:36              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:?               0.700000
0:36            Constant:
0:36              0.500000
0:37      Sequence
0:37        move second child to first child ( temp 4-component vector of uint)
0:37          'txval42' ( temp 4-component vector of uint)
0:37          texture ( temp 4-component vector of uint)
0:37            Construct combined texture-sampler ( temp usamplerCubeArray)
0:37              'g_tTexcdu4' ( uniform utextureCubeArray)
0:37              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:?               1.000000
0:37            Constant:
0:37              0.500000
0:39      move second child to first child ( temp 4-component vector of float)
0:39        Color: direct index for structure ( temp 4-component vector of float)
0:39          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:39          Constant:
0:39            0 (const int)
0:39        Constant:
0:39          1.000000
0:39          1.000000
0:39          1.000000
0:39          1.000000
0:40      move second child to first child ( temp float)
0:40        Depth: direct index for structure ( temp float)
0:40          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:40          Constant:
0:40            1 (const int)
0:40        Constant:
0:40          1.000000
0:42      Branch: Return with expression
0:42        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24  Function Definition: main( ( temp void)
0:24    Function Parameters: 
0:?     Sequence
0:24      Sequence
0:24        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24        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:24          Color: direct index for structure ( temp 4-component vector of float)
0:24            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24            Constant:
0:24              0 (const int)
0:24        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:24          Depth: direct index for structure ( temp float)
0:24            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24            Constant:
0:24              1 (const int)
0:?   Linker Objects
0:?     'g_sSamp' (layout( binding=0) uniform sampler)
0:?     'g_tTex1df4a' (layout( binding=1) uniform texture1DArray)
0:?     'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
0:?     'g_tTex1di4' ( uniform itexture1DArray)
0:?     'g_tTex1du4' ( uniform utexture1DArray)
0:?     'g_tTex2df4' ( uniform texture2DArray)
0:?     'g_tTex2di4' ( uniform itexture2DArray)
0:?     'g_tTex2du4' ( uniform utexture2DArray)
0:?     'g_tTexcdf4' ( uniform textureCubeArray)
0:?     'g_tTexcdi4' ( uniform itextureCubeArray)
0:?     'g_tTexcdu4' ( 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:24  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24    Function Parameters: 
0:?     Sequence
0:27      Sequence
0:27        move second child to first child ( temp 4-component vector of float)
0:27          'txval10' ( temp 4-component vector of float)
0:27          texture ( temp 4-component vector of float)
0:27            Construct combined texture-sampler ( temp sampler1DArray)
0:27              'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
0:27              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:27            Constant:
0:27              0.500000
0:28      Sequence
0:28        move second child to first child ( temp 4-component vector of int)
0:28          'txval11' ( temp 4-component vector of int)
0:28          texture ( temp 4-component vector of int)
0:28            Construct combined texture-sampler ( temp isampler1DArray)
0:28              'g_tTex1di4' ( uniform itexture1DArray)
0:28              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.200000
0:?               0.300000
0:28            Constant:
0:28              0.500000
0:29      Sequence
0:29        move second child to first child ( temp 4-component vector of uint)
0:29          'txval12' ( temp 4-component vector of uint)
0:29          texture ( temp 4-component vector of uint)
0:29            Construct combined texture-sampler ( temp usampler1DArray)
0:29              'g_tTex1du4' ( uniform utexture1DArray)
0:29              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.300000
0:?               0.400000
0:29            Constant:
0:29              0.500000
0:31      Sequence
0:31        move second child to first child ( temp 4-component vector of float)
0:31          'txval20' ( temp 4-component vector of float)
0:31          texture ( temp 4-component vector of float)
0:31            Construct combined texture-sampler ( temp sampler2DArray)
0:31              'g_tTex2df4' ( uniform texture2DArray)
0:31              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:31            Constant:
0:31              0.500000
0:32      Sequence
0:32        move second child to first child ( temp 4-component vector of int)
0:32          'txval21' ( temp 4-component vector of int)
0:32          texture ( temp 4-component vector of int)
0:32            Construct combined texture-sampler ( temp isampler2DArray)
0:32              'g_tTex2di4' ( uniform itexture2DArray)
0:32              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.300000
0:?               0.400000
0:?               0.500000
0:32            Constant:
0:32              0.500000
0:33      Sequence
0:33        move second child to first child ( temp 4-component vector of uint)
0:33          'txval22' ( temp 4-component vector of uint)
0:33          texture ( temp 4-component vector of uint)
0:33            Construct combined texture-sampler ( temp usampler2DArray)
0:33              'g_tTex2du4' ( uniform utexture2DArray)
0:33              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.500000
0:?               0.600000
0:?               0.700000
0:33            Constant:
0:33              0.500000
0:35      Sequence
0:35        move second child to first child ( temp 4-component vector of float)
0:35          'txval40' ( temp 4-component vector of float)
0:35          texture ( temp 4-component vector of float)
0:35            Construct combined texture-sampler ( temp samplerCubeArray)
0:35              'g_tTexcdf4' ( uniform textureCubeArray)
0:35              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:?               0.400000
0:35            Constant:
0:35              0.500000
0:36      Sequence
0:36        move second child to first child ( temp 4-component vector of int)
0:36          'txval41' ( temp 4-component vector of int)
0:36          texture ( temp 4-component vector of int)
0:36            Construct combined texture-sampler ( temp isamplerCubeArray)
0:36              'g_tTexcdi4' ( uniform itextureCubeArray)
0:36              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.400000
0:?               0.500000
0:?               0.600000
0:?               0.700000
0:36            Constant:
0:36              0.500000
0:37      Sequence
0:37        move second child to first child ( temp 4-component vector of uint)
0:37          'txval42' ( temp 4-component vector of uint)
0:37          texture ( temp 4-component vector of uint)
0:37            Construct combined texture-sampler ( temp usamplerCubeArray)
0:37              'g_tTexcdu4' ( uniform utextureCubeArray)
0:37              'g_sSamp' (layout( binding=0) uniform sampler)
0:?             Constant:
0:?               0.700000
0:?               0.800000
0:?               0.900000
0:?               1.000000
0:37            Constant:
0:37              0.500000
0:39      move second child to first child ( temp 4-component vector of float)
0:39        Color: direct index for structure ( temp 4-component vector of float)
0:39          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:39          Constant:
0:39            0 (const int)
0:39        Constant:
0:39          1.000000
0:39          1.000000
0:39          1.000000
0:39          1.000000
0:40      move second child to first child ( temp float)
0:40        Depth: direct index for structure ( temp float)
0:40          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:40          Constant:
0:40            1 (const int)
0:40        Constant:
0:40          1.000000
0:42      Branch: Return with expression
0:42        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24  Function Definition: main( ( temp void)
0:24    Function Parameters: 
0:?     Sequence
0:24      Sequence
0:24        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24        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:24          Color: direct index for structure ( temp 4-component vector of float)
0:24            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24            Constant:
0:24              0 (const int)
0:24        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:24          Depth: direct index for structure ( temp float)
0:24            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:24            Constant:
0:24              1 (const int)
0:?   Linker Objects
0:?     'g_sSamp' (layout( binding=0) uniform sampler)
0:?     'g_tTex1df4a' (layout( binding=1) uniform texture1DArray)
0:?     'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
0:?     'g_tTex1di4' ( uniform itexture1DArray)
0:?     'g_tTex1du4' ( uniform utexture1DArray)
0:?     'g_tTex2df4' ( uniform texture2DArray)
0:?     'g_tTex2di4' ( uniform itexture2DArray)
0:?     'g_tTex2du4' ( uniform utexture2DArray)
0:?     'g_tTexcdf4' ( uniform textureCubeArray)
0:?     'g_tTexcdi4' ( uniform itextureCubeArray)
0:?     'g_tTexcdu4' ( 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): 80007
// Id's are bound by 146

                              Capability Shader
                              Capability Sampled1D
                              Capability SampledCubeArray
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 138 142
                              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  "txval10"
                              Name 16  "g_tTex1df4"
                              Name 20  "g_sSamp"
                              Name 33  "txval11"
                              Name 36  "g_tTex1di4"
                              Name 47  "txval12"
                              Name 50  "g_tTex1du4"
                              Name 58  "txval20"
                              Name 61  "g_tTex2df4"
                              Name 69  "txval21"
                              Name 72  "g_tTex2di4"
                              Name 79  "txval22"
                              Name 82  "g_tTex2du4"
                              Name 91  "txval40"
                              Name 94  "g_tTexcdf4"
                              Name 101  "txval41"
                              Name 104  "g_tTexcdi4"
                              Name 111  "txval42"
                              Name 114  "g_tTexcdu4"
                              Name 125  "psout"
                              Name 135  "flattenTemp"
                              Name 138  "@entryPointOutput.Color"
                              Name 142  "@entryPointOutput.Depth"
                              Name 145  "g_tTex1df4a"
                              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 36(g_tTex1di4) DescriptorSet 0
                              Decorate 50(g_tTex1du4) DescriptorSet 0
                              Decorate 61(g_tTex2df4) DescriptorSet 0
                              Decorate 72(g_tTex2di4) DescriptorSet 0
                              Decorate 82(g_tTex2du4) DescriptorSet 0
                              Decorate 94(g_tTexcdf4) DescriptorSet 0
                              Decorate 104(g_tTexcdi4) DescriptorSet 0
                              Decorate 114(g_tTexcdu4) DescriptorSet 0
                              Decorate 138(@entryPointOutput.Color) Location 0
                              Decorate 142(@entryPointOutput.Depth) BuiltIn FragDepth
                              Decorate 145(g_tTex1df4a) DescriptorSet 0
                              Decorate 145(g_tTex1df4a) Binding 1
               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 7(fvec4)
              14:             TypeImage 6(float) 1D array 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:             TypeVector 6(float) 2
              25:    6(float) Constant 1036831949
              26:    6(float) Constant 1045220557
              27:   24(fvec2) ConstantComposite 25 26
              28:    6(float) Constant 1056964608
              30:             TypeInt 32 1
              31:             TypeVector 30(int) 4
              32:             TypePointer Function 31(ivec4)
              34:             TypeImage 30(int) 1D array sampled format:Unknown
              35:             TypePointer UniformConstant 34
  36(g_tTex1di4):     35(ptr) Variable UniformConstant
              39:             TypeSampledImage 34
              41:    6(float) Constant 1050253722
              42:   24(fvec2) ConstantComposite 26 41
              44:             TypeInt 32 0
              45:             TypeVector 44(int) 4
              46:             TypePointer Function 45(ivec4)
              48:             TypeImage 44(int) 1D array sampled format:Unknown
              49:             TypePointer UniformConstant 48
  50(g_tTex1du4):     49(ptr) Variable UniformConstant
              53:             TypeSampledImage 48
              55:    6(float) Constant 1053609165
              56:   24(fvec2) ConstantComposite 41 55
              59:             TypeImage 6(float) 2D array sampled format:Unknown
              60:             TypePointer UniformConstant 59
  61(g_tTex2df4):     60(ptr) Variable UniformConstant
              64:             TypeSampledImage 59
              66:             TypeVector 6(float) 3
              67:   66(fvec3) ConstantComposite 25 26 41
              70:             TypeImage 30(int) 2D array sampled format:Unknown
              71:             TypePointer UniformConstant 70
  72(g_tTex2di4):     71(ptr) Variable UniformConstant
              75:             TypeSampledImage 70
              77:   66(fvec3) ConstantComposite 41 55 28
              80:             TypeImage 44(int) 2D array sampled format:Unknown
              81:             TypePointer UniformConstant 80
  82(g_tTex2du4):     81(ptr) Variable UniformConstant
              85:             TypeSampledImage 80
              87:    6(float) Constant 1058642330
              88:    6(float) Constant 1060320051
              89:   66(fvec3) ConstantComposite 28 87 88
              92:             TypeImage 6(float) Cube array sampled format:Unknown
              93:             TypePointer UniformConstant 92
  94(g_tTexcdf4):     93(ptr) Variable UniformConstant
              97:             TypeSampledImage 92
              99:    7(fvec4) ConstantComposite 25 26 41 55
             102:             TypeImage 30(int) Cube array sampled format:Unknown
             103:             TypePointer UniformConstant 102
 104(g_tTexcdi4):    103(ptr) Variable UniformConstant
             107:             TypeSampledImage 102
             109:    7(fvec4) ConstantComposite 55 28 87 88
             112:             TypeImage 44(int) Cube array sampled format:Unknown
             113:             TypePointer UniformConstant 112
 114(g_tTexcdu4):    113(ptr) Variable UniformConstant
             117:             TypeSampledImage 112
             119:    6(float) Constant 1061997773
             120:    6(float) Constant 1063675494
             121:    6(float) Constant 1065353216
             122:    7(fvec4) ConstantComposite 88 119 120 121
             124:             TypePointer Function 8(PS_OUTPUT)
             126:     30(int) Constant 0
             127:    7(fvec4) ConstantComposite 121 121 121 121
             129:     30(int) Constant 1
             130:             TypePointer Function 6(float)
             137:             TypePointer Output 7(fvec4)
138(@entryPointOutput.Color):    137(ptr) Variable Output
             141:             TypePointer Output 6(float)
142(@entryPointOutput.Depth):    141(ptr) Variable Output
145(g_tTex1df4a):     15(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
135(flattenTemp):    124(ptr) Variable Function
             136:8(PS_OUTPUT) FunctionCall 10(@main()
                              Store 135(flattenTemp) 136
             139:     12(ptr) AccessChain 135(flattenTemp) 126
             140:    7(fvec4) Load 139
                              Store 138(@entryPointOutput.Color) 140
             143:    130(ptr) AccessChain 135(flattenTemp) 129
             144:    6(float) Load 143
                              Store 142(@entryPointOutput.Depth) 144
                              Return
                              FunctionEnd
      10(@main():8(PS_OUTPUT) Function None 9
              11:             Label
     13(txval10):     12(ptr) Variable Function
     33(txval11):     32(ptr) Variable Function
     47(txval12):     46(ptr) Variable Function
     58(txval20):     12(ptr) Variable Function
     69(txval21):     32(ptr) Variable Function
     79(txval22):     46(ptr) Variable Function
     91(txval40):     12(ptr) Variable Function
    101(txval41):     32(ptr) Variable Function
    111(txval42):     46(ptr) Variable Function
      125(psout):    124(ptr) Variable Function
              17:          14 Load 16(g_tTex1df4)
              21:          18 Load 20(g_sSamp)
              23:          22 SampledImage 17 21
              29:    7(fvec4) ImageSampleImplicitLod 23 27 Bias 28
                              Store 13(txval10) 29
              37:          34 Load 36(g_tTex1di4)
              38:          18 Load 20(g_sSamp)
              40:          39 SampledImage 37 38
              43:   31(ivec4) ImageSampleImplicitLod 40 42 Bias 28
                              Store 33(txval11) 43
              51:          48 Load 50(g_tTex1du4)
              52:          18 Load 20(g_sSamp)
              54:          53 SampledImage 51 52
              57:   45(ivec4) ImageSampleImplicitLod 54 56 Bias 28
                              Store 47(txval12) 57
              62:          59 Load 61(g_tTex2df4)
              63:          18 Load 20(g_sSamp)
              65:          64 SampledImage 62 63
              68:    7(fvec4) ImageSampleImplicitLod 65 67 Bias 28
                              Store 58(txval20) 68
              73:          70 Load 72(g_tTex2di4)
              74:          18 Load 20(g_sSamp)
              76:          75 SampledImage 73 74
              78:   31(ivec4) ImageSampleImplicitLod 76 77 Bias 28
                              Store 69(txval21) 78
              83:          80 Load 82(g_tTex2du4)
              84:          18 Load 20(g_sSamp)
              86:          85 SampledImage 83 84
              90:   45(ivec4) ImageSampleImplicitLod 86 89 Bias 28
                              Store 79(txval22) 90
              95:          92 Load 94(g_tTexcdf4)
              96:          18 Load 20(g_sSamp)
              98:          97 SampledImage 95 96
             100:    7(fvec4) ImageSampleImplicitLod 98 99 Bias 28
                              Store 91(txval40) 100
             105:         102 Load 104(g_tTexcdi4)
             106:          18 Load 20(g_sSamp)
             108:         107 SampledImage 105 106
             110:   31(ivec4) ImageSampleImplicitLod 108 109 Bias 28
                              Store 101(txval41) 110
             115:         112 Load 114(g_tTexcdu4)
             116:          18 Load 20(g_sSamp)
             118:         117 SampledImage 115 116
             123:   45(ivec4) ImageSampleImplicitLod 118 122 Bias 28
                              Store 111(txval42) 123
             128:     12(ptr) AccessChain 125(psout) 126
                              Store 128 127
             131:    130(ptr) AccessChain 125(psout) 129
                              Store 131 121
             132:8(PS_OUTPUT) Load 125(psout)
                              ReturnValue 132
                              FunctionEnd
