hlsl.samplebias.array.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:44  Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 FragDepth 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 FragDepth)
0:40          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth 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 FragDepth Depth})
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)


Linked fragment stage:


Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:44  Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 (global 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 FragDepth 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 FragDepth)
0:40          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth 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 FragDepth Depth})
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)

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

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