hlsl.sample.offsetarray.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:20  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20    Function Parameters: 
0:?     Sequence
0:23      Sequence
0:23        move second child to first child (temp 4-component vector of float)
0:23          'txval10' (temp 4-component vector of float)
0:23          textureOffset (temp 4-component vector of float)
0:23            Construct combined texture-sampler (temp sampler1DArray)
0:23              'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
0:23              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:23            Constant:
0:23              0 (const int)
0:24      Sequence
0:24        move second child to first child (temp 4-component vector of int)
0:24          'txval11' (temp 4-component vector of int)
0:24          textureOffset (temp 4-component vector of int)
0:24            Construct combined texture-sampler (temp isampler1DArray)
0:24              'g_tTex1di4' (uniform itexture1DArray)
0:24              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.200000
0:?               0.300000
0:24            Constant:
0:24              1 (const int)
0:25      Sequence
0:25        move second child to first child (temp 4-component vector of uint)
0:25          'txval12' (temp 4-component vector of uint)
0:25          textureOffset (temp 4-component vector of uint)
0:25            Construct combined texture-sampler (temp usampler1DArray)
0:25              'g_tTex1du4' (uniform utexture1DArray)
0:25              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.300000
0:?               0.400000
0:25            Constant:
0:25              2 (const int)
0:27      Sequence
0:27        move second child to first child (temp 4-component vector of float)
0:27          'txval20' (temp 4-component vector of float)
0:27          textureOffset (temp 4-component vector of float)
0:27            Construct combined texture-sampler (temp sampler2DArray)
0:27              'g_tTex2df4' (uniform texture2DArray)
0:27              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:?             Constant:
0:?               0 (const int)
0:?               0 (const int)
0:28      Sequence
0:28        move second child to first child (temp 4-component vector of int)
0:28          'txval21' (temp 4-component vector of int)
0:28          textureOffset (temp 4-component vector of int)
0:28            Construct combined texture-sampler (temp isampler2DArray)
0:28              'g_tTex2di4' (uniform itexture2DArray)
0:28              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.300000
0:?               0.400000
0:?               0.500000
0:?             Constant:
0:?               0 (const int)
0:?               0 (const int)
0:29      Sequence
0:29        move second child to first child (temp 4-component vector of uint)
0:29          'txval22' (temp 4-component vector of uint)
0:29          textureOffset (temp 4-component vector of uint)
0:29            Construct combined texture-sampler (temp usampler2DArray)
0:29              'g_tTex2du4' (uniform utexture2DArray)
0:29              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.500000
0:?               0.600000
0:?               0.700000
0:?             Constant:
0:?               0 (const int)
0:?               1 (const int)
0:33      move second child to first child (temp 4-component vector of float)
0:33        Color: direct index for structure (temp 4-component vector of float)
0:33          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:33          Constant:
0:33            0 (const int)
0:33        Constant:
0:33          1.000000
0:33          1.000000
0:33          1.000000
0:33          1.000000
0:34      move second child to first child (temp float)
0:34        Depth: direct index for structure (temp float)
0:34          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34          Constant:
0:34            1 (const int)
0:34        Constant:
0:34          1.000000
0:36      Sequence
0:36        Sequence
0:36          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:36            Color: direct index for structure (temp 4-component vector of float)
0:36              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:36              Constant:
0:36                0 (const int)
0:36          move second child to first child (temp float)
0:?             'Depth' (out float FragDepth)
0:36            Depth: direct index for structure (temp float)
0:36              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:36              Constant:
0:36                1 (const int)
0:36        Branch: Return
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:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'Depth' (out float FragDepth)


Linked fragment stage:


Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:20  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:20    Function Parameters: 
0:?     Sequence
0:23      Sequence
0:23        move second child to first child (temp 4-component vector of float)
0:23          'txval10' (temp 4-component vector of float)
0:23          textureOffset (temp 4-component vector of float)
0:23            Construct combined texture-sampler (temp sampler1DArray)
0:23              'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
0:23              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:23            Constant:
0:23              0 (const int)
0:24      Sequence
0:24        move second child to first child (temp 4-component vector of int)
0:24          'txval11' (temp 4-component vector of int)
0:24          textureOffset (temp 4-component vector of int)
0:24            Construct combined texture-sampler (temp isampler1DArray)
0:24              'g_tTex1di4' (uniform itexture1DArray)
0:24              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.200000
0:?               0.300000
0:24            Constant:
0:24              1 (const int)
0:25      Sequence
0:25        move second child to first child (temp 4-component vector of uint)
0:25          'txval12' (temp 4-component vector of uint)
0:25          textureOffset (temp 4-component vector of uint)
0:25            Construct combined texture-sampler (temp usampler1DArray)
0:25              'g_tTex1du4' (uniform utexture1DArray)
0:25              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.300000
0:?               0.400000
0:25            Constant:
0:25              2 (const int)
0:27      Sequence
0:27        move second child to first child (temp 4-component vector of float)
0:27          'txval20' (temp 4-component vector of float)
0:27          textureOffset (temp 4-component vector of float)
0:27            Construct combined texture-sampler (temp sampler2DArray)
0:27              'g_tTex2df4' (uniform texture2DArray)
0:27              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.100000
0:?               0.200000
0:?               0.300000
0:?             Constant:
0:?               0 (const int)
0:?               0 (const int)
0:28      Sequence
0:28        move second child to first child (temp 4-component vector of int)
0:28          'txval21' (temp 4-component vector of int)
0:28          textureOffset (temp 4-component vector of int)
0:28            Construct combined texture-sampler (temp isampler2DArray)
0:28              'g_tTex2di4' (uniform itexture2DArray)
0:28              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.300000
0:?               0.400000
0:?               0.500000
0:?             Constant:
0:?               0 (const int)
0:?               0 (const int)
0:29      Sequence
0:29        move second child to first child (temp 4-component vector of uint)
0:29          'txval22' (temp 4-component vector of uint)
0:29          textureOffset (temp 4-component vector of uint)
0:29            Construct combined texture-sampler (temp usampler2DArray)
0:29              'g_tTex2du4' (uniform utexture2DArray)
0:29              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?             Constant:
0:?               0.500000
0:?               0.600000
0:?               0.700000
0:?             Constant:
0:?               0 (const int)
0:?               1 (const int)
0:33      move second child to first child (temp 4-component vector of float)
0:33        Color: direct index for structure (temp 4-component vector of float)
0:33          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:33          Constant:
0:33            0 (const int)
0:33        Constant:
0:33          1.000000
0:33          1.000000
0:33          1.000000
0:33          1.000000
0:34      move second child to first child (temp float)
0:34        Depth: direct index for structure (temp float)
0:34          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34          Constant:
0:34            1 (const int)
0:34        Constant:
0:34          1.000000
0:36      Sequence
0:36        Sequence
0:36          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:36            Color: direct index for structure (temp 4-component vector of float)
0:36              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:36              Constant:
0:36                0 (const int)
0:36          move second child to first child (temp float)
0:?             'Depth' (out float FragDepth)
0:36            Depth: direct index for structure (temp float)
0:36              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:36              Constant:
0:36                1 (const int)
0:36        Branch: Return
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:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'Depth' (out float FragDepth)

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

                              Capability Shader
                              Capability Sampled1D
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 102 106
                              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 44  "txval12"
                              Name 47  "g_tTex1du4"
                              Name 56  "txval20"
                              Name 59  "g_tTex2df4"
                              Name 69  "txval21"
                              Name 72  "g_tTex2di4"
                              Name 80  "txval22"
                              Name 83  "g_tTex2du4"
                              Name 93  "PS_OUTPUT"
                              MemberName 93(PS_OUTPUT) 0  "Color"
                              MemberName 93(PS_OUTPUT) 1  "Depth"
                              Name 95  "psout"
                              Name 102  "Color"
                              Name 106  "Depth"
                              Name 110  "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 47(g_tTex1du4) DescriptorSet 0
                              Decorate 59(g_tTex2df4) DescriptorSet 0
                              Decorate 72(g_tTex2di4) DescriptorSet 0
                              Decorate 83(g_tTex2du4) DescriptorSet 0
                              Decorate 102(Color) Location 0
                              Decorate 106(Depth) BuiltIn FragDepth
                              Decorate 110(g_tTex1df4a) DescriptorSet 0
                              Decorate 110(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:             TypeInt 32 1
              25:     24(int) Constant 0
              27:             TypeVector 24(int) 4
              28:             TypePointer Function 27(ivec4)
              30:             TypeImage 24(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
              39:     24(int) Constant 1
              41:             TypeInt 32 0
              42:             TypeVector 41(int) 4
              43:             TypePointer Function 42(ivec4)
              45:             TypeImage 41(int) 1D array sampled format:Unknown
              46:             TypePointer UniformConstant 45
  47(g_tTex1du4):     46(ptr) Variable UniformConstant
              50:             TypeSampledImage 45
              52:    6(float) Constant 1053609165
              53:   20(fvec2) ConstantComposite 37 52
              54:     24(int) Constant 2
              57:             TypeImage 6(float) 2D array sampled format:Unknown
              58:             TypePointer UniformConstant 57
  59(g_tTex2df4):     58(ptr) Variable UniformConstant
              62:             TypeSampledImage 57
              64:             TypeVector 6(float) 3
              65:   64(fvec3) ConstantComposite 21 22 37
              66:             TypeVector 24(int) 2
              67:   66(ivec2) ConstantComposite 25 25
              70:             TypeImage 24(int) 2D array sampled format:Unknown
              71:             TypePointer UniformConstant 70
  72(g_tTex2di4):     71(ptr) Variable UniformConstant
              75:             TypeSampledImage 70
              77:    6(float) Constant 1056964608
              78:   64(fvec3) ConstantComposite 37 52 77
              81:             TypeImage 41(int) 2D array sampled format:Unknown
              82:             TypePointer UniformConstant 81
  83(g_tTex2du4):     82(ptr) Variable UniformConstant
              86:             TypeSampledImage 81
              88:    6(float) Constant 1058642330
              89:    6(float) Constant 1060320051
              90:   64(fvec3) ConstantComposite 77 88 89
              91:   66(ivec2) ConstantComposite 25 39
   93(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
              94:             TypePointer Function 93(PS_OUTPUT)
              96:    6(float) Constant 1065353216
              97:    7(fvec4) ConstantComposite 96 96 96 96
              99:             TypePointer Function 6(float)
             101:             TypePointer Output 7(fvec4)
      102(Color):    101(ptr) Variable Output
             105:             TypePointer Output 6(float)
      106(Depth):    105(ptr) Variable Output
110(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
     44(txval12):     43(ptr) Variable Function
     56(txval20):      8(ptr) Variable Function
     69(txval21):     28(ptr) Variable Function
     80(txval22):     43(ptr) Variable Function
       95(psout):     94(ptr) Variable Function
              13:          10 Load 12(g_tTex1df4)
              17:          14 Load 16(g_sSamp)
              19:          18 SampledImage 13 17
              26:    7(fvec4) ImageSampleImplicitLod 19 23 ConstOffset 25
                              Store 9(txval10) 26
              33:          30 Load 32(g_tTex1di4)
              34:          14 Load 16(g_sSamp)
              36:          35 SampledImage 33 34
              40:   27(ivec4) ImageSampleImplicitLod 36 38 ConstOffset 39
                              Store 29(txval11) 40
              48:          45 Load 47(g_tTex1du4)
              49:          14 Load 16(g_sSamp)
              51:          50 SampledImage 48 49
              55:   42(ivec4) ImageSampleImplicitLod 51 53 ConstOffset 54
                              Store 44(txval12) 55
              60:          57 Load 59(g_tTex2df4)
              61:          14 Load 16(g_sSamp)
              63:          62 SampledImage 60 61
              68:    7(fvec4) ImageSampleImplicitLod 63 65 ConstOffset 67
                              Store 56(txval20) 68
              73:          70 Load 72(g_tTex2di4)
              74:          14 Load 16(g_sSamp)
              76:          75 SampledImage 73 74
              79:   27(ivec4) ImageSampleImplicitLod 76 78 ConstOffset 67
                              Store 69(txval21) 79
              84:          81 Load 83(g_tTex2du4)
              85:          14 Load 16(g_sSamp)
              87:          86 SampledImage 84 85
              92:   42(ivec4) ImageSampleImplicitLod 87 90 ConstOffset 91
                              Store 80(txval22) 92
              98:      8(ptr) AccessChain 95(psout) 25
                              Store 98 97
             100:     99(ptr) AccessChain 95(psout) 39
                              Store 100 96
             103:      8(ptr) AccessChain 95(psout) 25
             104:    7(fvec4) Load 103
                              Store 102(Color) 104
             107:     99(ptr) AccessChain 95(psout) 39
             108:    6(float) Load 107
                              Store 106(Depth) 108
                              Return
                              FunctionEnd
