hlsl.samplecmp.offsetarray.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:68  Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:38    Function Parameters: 
0:?     Sequence
0:42      Sequence
0:42        move second child to first child (temp float)
0:42          'r11' (temp float)
0:42          textureOffset (global float)
0:42            Construct combined texture-sampler (temp sampler1DArrayShadow)
0:42              'g_tTex1df4a' (uniform texture1DArray)
0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:42            Construct vec3 (temp float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
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          'r13' (temp float)
0:43          textureOffset (global float)
0:43            Construct combined texture-sampler (temp isampler1DArrayShadow)
0:43              'g_tTex1di4a' (uniform itexture1DArray)
0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:43            Construct vec3 (temp float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
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          'r15' (temp float)
0:44          textureOffset (global float)
0:44            Construct combined texture-sampler (temp usampler1DArrayShadow)
0:44              'g_tTex1du4a' (uniform utexture1DArray)
0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:44            Construct vec3 (temp float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
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          'r31' (temp float)
0:47          textureOffset (global float)
0:47            Construct combined texture-sampler (temp sampler2DArrayShadow)
0:47              'g_tTex2df4a' (uniform texture2DArray)
0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:47            Construct vec4 (temp float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
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          'r33' (temp float)
0:48          textureOffset (global float)
0:48            Construct combined texture-sampler (temp isampler2DArrayShadow)
0:48              'g_tTex2di4a' (uniform itexture2DArray)
0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:48            Construct vec4 (temp float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
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          'r35' (temp float)
0:49          textureOffset (global float)
0:49            Construct combined texture-sampler (temp usampler2DArrayShadow)
0:49              'g_tTex2du4a' (uniform utexture2DArray)
0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:49            Construct vec4 (temp float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:49              Constant:
0:49                0.750000
0:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:63      move second child to first child (temp 4-component vector of float)
0:63        Color: direct index for structure (temp 4-component vector of float)
0:63          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:63          Constant:
0:63            0 (const int)
0:63        Constant:
0:63          1.000000
0:63          1.000000
0:63          1.000000
0:63          1.000000
0:64      move second child to first child (temp float)
0:64        Depth: direct index for structure (temp float FragDepth)
0:64          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:64          Constant:
0:64            1 (const int)
0:64        Constant:
0:64          1.000000
0:66      Branch: Return with expression
0:66        '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_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:?     'g_tTex1di4' (uniform itexture1D)
0:?     'g_tTex1du4' (uniform utexture1D)
0:?     'g_tTex2df4' (uniform texture2D)
0:?     'g_tTex2di4' (uniform itexture2D)
0:?     'g_tTex2du4' (uniform utexture2D)
0:?     'g_tTex3df4' (uniform texture3D)
0:?     'g_tTex3di4' (uniform itexture3D)
0:?     'g_tTex3du4' (uniform utexture3D)
0:?     'g_tTexcdf4' (uniform textureCube)
0:?     'g_tTexcdi4' (uniform itextureCube)
0:?     'g_tTexcdu4' (uniform utextureCube)
0:?     'g_tTex1df4a' (uniform texture1DArray)
0:?     'g_tTex1di4a' (uniform itexture1DArray)
0:?     'g_tTex1du4a' (uniform utexture1DArray)
0:?     'g_tTex2df4a' (uniform texture2DArray)
0:?     'g_tTex2di4a' (uniform itexture2DArray)
0:?     'g_tTex2du4a' (uniform utexture2DArray)
0:?     'g_tTexcdf4a' (uniform textureCubeArray)
0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
0:?     'g_tTexcdu4a' (uniform utextureCubeArray)


Linked fragment stage:


Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:68  Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:38    Function Parameters: 
0:?     Sequence
0:42      Sequence
0:42        move second child to first child (temp float)
0:42          'r11' (temp float)
0:42          textureOffset (global float)
0:42            Construct combined texture-sampler (temp sampler1DArrayShadow)
0:42              'g_tTex1df4a' (uniform texture1DArray)
0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:42            Construct vec3 (temp float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
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          'r13' (temp float)
0:43          textureOffset (global float)
0:43            Construct combined texture-sampler (temp isampler1DArrayShadow)
0:43              'g_tTex1di4a' (uniform itexture1DArray)
0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:43            Construct vec3 (temp float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
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          'r15' (temp float)
0:44          textureOffset (global float)
0:44            Construct combined texture-sampler (temp usampler1DArrayShadow)
0:44              'g_tTex1du4a' (uniform utexture1DArray)
0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:44            Construct vec3 (temp float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
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          'r31' (temp float)
0:47          textureOffset (global float)
0:47            Construct combined texture-sampler (temp sampler2DArrayShadow)
0:47              'g_tTex2df4a' (uniform texture2DArray)
0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:47            Construct vec4 (temp float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
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          'r33' (temp float)
0:48          textureOffset (global float)
0:48            Construct combined texture-sampler (temp isampler2DArrayShadow)
0:48              'g_tTex2di4a' (uniform itexture2DArray)
0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:48            Construct vec4 (temp float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
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          'r35' (temp float)
0:49          textureOffset (global float)
0:49            Construct combined texture-sampler (temp usampler2DArrayShadow)
0:49              'g_tTex2du4a' (uniform utexture2DArray)
0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:49            Construct vec4 (temp float)
0:?               Constant:
0:?                 0.100000
0:?                 0.200000
0:?                 0.300000
0:49              Constant:
0:49                0.750000
0:?             Constant:
0:?               2 (const int)
0:?               3 (const int)
0:63      move second child to first child (temp 4-component vector of float)
0:63        Color: direct index for structure (temp 4-component vector of float)
0:63          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:63          Constant:
0:63            0 (const int)
0:63        Constant:
0:63          1.000000
0:63          1.000000
0:63          1.000000
0:63          1.000000
0:64      move second child to first child (temp float)
0:64        Depth: direct index for structure (temp float FragDepth)
0:64          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:64          Constant:
0:64            1 (const int)
0:64        Constant:
0:64          1.000000
0:66      Branch: Return with expression
0:66        '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_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:?     'g_tTex1di4' (uniform itexture1D)
0:?     'g_tTex1du4' (uniform utexture1D)
0:?     'g_tTex2df4' (uniform texture2D)
0:?     'g_tTex2di4' (uniform itexture2D)
0:?     'g_tTex2du4' (uniform utexture2D)
0:?     'g_tTex3df4' (uniform texture3D)
0:?     'g_tTex3di4' (uniform itexture3D)
0:?     'g_tTex3du4' (uniform utexture3D)
0:?     'g_tTexcdf4' (uniform textureCube)
0:?     'g_tTexcdi4' (uniform itextureCube)
0:?     'g_tTexcdu4' (uniform utextureCube)
0:?     'g_tTex1df4a' (uniform texture1DArray)
0:?     'g_tTex1di4a' (uniform itexture1DArray)
0:?     'g_tTex1du4a' (uniform utexture1DArray)
0:?     'g_tTex2df4a' (uniform texture2DArray)
0:?     'g_tTex2di4a' (uniform itexture2DArray)
0:?     'g_tTex2du4a' (uniform utexture2DArray)
0:?     'g_tTexcdf4a' (uniform textureCubeArray)
0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
0:?     'g_tTexcdu4a' (uniform utextureCubeArray)

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

                              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 8  "r11"
                              Name 11  "g_tTex1df4a"
                              Name 15  "g_sSamp"
                              Name 30  "r13"
                              Name 33  "g_tTex1di4a"
                              Name 42  "r15"
                              Name 46  "g_tTex1du4a"
                              Name 55  "r31"
                              Name 58  "g_tTex2df4a"
                              Name 73  "r33"
                              Name 76  "g_tTex2di4a"
                              Name 85  "r35"
                              Name 88  "g_tTex2du4a"
                              Name 98  "PS_OUTPUT"
                              MemberName 98(PS_OUTPUT) 0  "Color"
                              MemberName 98(PS_OUTPUT) 1  "Depth"
                              Name 100  "psout"
                              Name 112  "g_tTex1df4"
                              Name 115  "g_tTex1di4"
                              Name 118  "g_tTex1du4"
                              Name 121  "g_tTex2df4"
                              Name 124  "g_tTex2di4"
                              Name 127  "g_tTex2du4"
                              Name 130  "g_tTex3df4"
                              Name 133  "g_tTex3di4"
                              Name 136  "g_tTex3du4"
                              Name 139  "g_tTexcdf4"
                              Name 142  "g_tTexcdi4"
                              Name 145  "g_tTexcdu4"
                              Name 148  "g_tTexcdf4a"
                              Name 151  "g_tTexcdi4a"
                              Name 154  "g_tTexcdu4a"
                              Decorate 11(g_tTex1df4a) DescriptorSet 0
                              Decorate 15(g_sSamp) DescriptorSet 0
                              Decorate 15(g_sSamp) Binding 0
                              Decorate 33(g_tTex1di4a) DescriptorSet 0
                              Decorate 46(g_tTex1du4a) DescriptorSet 0
                              Decorate 58(g_tTex2df4a) DescriptorSet 0
                              Decorate 76(g_tTex2di4a) DescriptorSet 0
                              Decorate 88(g_tTex2du4a) DescriptorSet 0
                              MemberDecorate 98(PS_OUTPUT) 1 BuiltIn FragDepth
                              Decorate 112(g_tTex1df4) DescriptorSet 0
                              Decorate 112(g_tTex1df4) Binding 0
                              Decorate 115(g_tTex1di4) DescriptorSet 0
                              Decorate 118(g_tTex1du4) DescriptorSet 0
                              Decorate 121(g_tTex2df4) DescriptorSet 0
                              Decorate 124(g_tTex2di4) DescriptorSet 0
                              Decorate 127(g_tTex2du4) DescriptorSet 0
                              Decorate 130(g_tTex3df4) DescriptorSet 0
                              Decorate 133(g_tTex3di4) DescriptorSet 0
                              Decorate 136(g_tTex3du4) DescriptorSet 0
                              Decorate 139(g_tTexcdf4) DescriptorSet 0
                              Decorate 142(g_tTexcdi4) DescriptorSet 0
                              Decorate 145(g_tTexcdu4) DescriptorSet 0
                              Decorate 148(g_tTexcdf4a) DescriptorSet 0
                              Decorate 151(g_tTexcdi4a) DescriptorSet 0
                              Decorate 154(g_tTexcdu4a) DescriptorSet 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypePointer Function 6(float)
               9:             TypeImage 6(float) 1D array sampled format:Unknown
              10:             TypePointer UniformConstant 9
 11(g_tTex1df4a):     10(ptr) Variable UniformConstant
              13:             TypeSampler
              14:             TypePointer UniformConstant 13
     15(g_sSamp):     14(ptr) Variable UniformConstant
              17:             TypeImage 6(float) 1D depth array sampled format:Unknown
              18:             TypeSampledImage 17
              20:             TypeVector 6(float) 2
              21:    6(float) Constant 1036831949
              22:    6(float) Constant 1045220557
              23:   20(fvec2) ConstantComposite 21 22
              24:    6(float) Constant 1061158912
              26:             TypeInt 32 1
              27:     26(int) Constant 2
              31:             TypeImage 26(int) 1D array sampled format:Unknown
              32:             TypePointer UniformConstant 31
 33(g_tTex1di4a):     32(ptr) Variable UniformConstant
              36:             TypeImage 26(int) 1D depth array sampled format:Unknown
              37:             TypeSampledImage 36
              43:             TypeInt 32 0
              44:             TypeImage 43(int) 1D array sampled format:Unknown
              45:             TypePointer UniformConstant 44
 46(g_tTex1du4a):     45(ptr) Variable UniformConstant
              49:             TypeImage 43(int) 1D depth array sampled format:Unknown
              50:             TypeSampledImage 49
              56:             TypeImage 6(float) 2D array sampled format:Unknown
              57:             TypePointer UniformConstant 56
 58(g_tTex2df4a):     57(ptr) Variable UniformConstant
              61:             TypeImage 6(float) 2D depth array sampled format:Unknown
              62:             TypeSampledImage 61
              64:             TypeVector 6(float) 3
              65:    6(float) Constant 1050253722
              66:   64(fvec3) ConstantComposite 21 22 65
              68:             TypeVector 26(int) 2
              69:     26(int) Constant 3
              70:   68(ivec2) ConstantComposite 27 69
              74:             TypeImage 26(int) 2D array sampled format:Unknown
              75:             TypePointer UniformConstant 74
 76(g_tTex2di4a):     75(ptr) Variable UniformConstant
              79:             TypeImage 26(int) 2D depth array sampled format:Unknown
              80:             TypeSampledImage 79
              86:             TypeImage 43(int) 2D array sampled format:Unknown
              87:             TypePointer UniformConstant 86
 88(g_tTex2du4a):     87(ptr) Variable UniformConstant
              91:             TypeImage 43(int) 2D depth array sampled format:Unknown
              92:             TypeSampledImage 91
              97:             TypeVector 6(float) 4
   98(PS_OUTPUT):             TypeStruct 97(fvec4) 6(float)
              99:             TypePointer Function 98(PS_OUTPUT)
             101:     26(int) Constant 0
             102:    6(float) Constant 1065353216
             103:   97(fvec4) ConstantComposite 102 102 102 102
             104:             TypePointer Function 97(fvec4)
             106:     26(int) Constant 1
             110:             TypeImage 6(float) 1D sampled format:Unknown
             111:             TypePointer UniformConstant 110
 112(g_tTex1df4):    111(ptr) Variable UniformConstant
             113:             TypeImage 26(int) 1D sampled format:Unknown
             114:             TypePointer UniformConstant 113
 115(g_tTex1di4):    114(ptr) Variable UniformConstant
             116:             TypeImage 43(int) 1D sampled format:Unknown
             117:             TypePointer UniformConstant 116
 118(g_tTex1du4):    117(ptr) Variable UniformConstant
             119:             TypeImage 6(float) 2D sampled format:Unknown
             120:             TypePointer UniformConstant 119
 121(g_tTex2df4):    120(ptr) Variable UniformConstant
             122:             TypeImage 26(int) 2D sampled format:Unknown
             123:             TypePointer UniformConstant 122
 124(g_tTex2di4):    123(ptr) Variable UniformConstant
             125:             TypeImage 43(int) 2D sampled format:Unknown
             126:             TypePointer UniformConstant 125
 127(g_tTex2du4):    126(ptr) Variable UniformConstant
             128:             TypeImage 6(float) 3D sampled format:Unknown
             129:             TypePointer UniformConstant 128
 130(g_tTex3df4):    129(ptr) Variable UniformConstant
             131:             TypeImage 26(int) 3D sampled format:Unknown
             132:             TypePointer UniformConstant 131
 133(g_tTex3di4):    132(ptr) Variable UniformConstant
             134:             TypeImage 43(int) 3D sampled format:Unknown
             135:             TypePointer UniformConstant 134
 136(g_tTex3du4):    135(ptr) Variable UniformConstant
             137:             TypeImage 6(float) Cube sampled format:Unknown
             138:             TypePointer UniformConstant 137
 139(g_tTexcdf4):    138(ptr) Variable UniformConstant
             140:             TypeImage 26(int) Cube sampled format:Unknown
             141:             TypePointer UniformConstant 140
 142(g_tTexcdi4):    141(ptr) Variable UniformConstant
             143:             TypeImage 43(int) Cube sampled format:Unknown
             144:             TypePointer UniformConstant 143
 145(g_tTexcdu4):    144(ptr) Variable UniformConstant
             146:             TypeImage 6(float) Cube array sampled format:Unknown
             147:             TypePointer UniformConstant 146
148(g_tTexcdf4a):    147(ptr) Variable UniformConstant
             149:             TypeImage 26(int) Cube array sampled format:Unknown
             150:             TypePointer UniformConstant 149
151(g_tTexcdi4a):    150(ptr) Variable UniformConstant
             152:             TypeImage 43(int) Cube array sampled format:Unknown
             153:             TypePointer UniformConstant 152
154(g_tTexcdu4a):    153(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
          8(r11):      7(ptr) Variable Function
         30(r13):      7(ptr) Variable Function
         42(r15):      7(ptr) Variable Function
         55(r31):      7(ptr) Variable Function
         73(r33):      7(ptr) Variable Function
         85(r35):      7(ptr) Variable Function
      100(psout):     99(ptr) Variable Function
              12:           9 Load 11(g_tTex1df4a)
              16:          13 Load 15(g_sSamp)
              19:          18 SampledImage 12 16
              25:    6(float) CompositeExtract 23 0
              28:    6(float) CompositeExtract 25 0
              29:    6(float) ImageSampleDrefImplicitLod 19 25 28 ConstOffset 27
                              Store 8(r11) 29
              34:          31 Load 33(g_tTex1di4a)
              35:          13 Load 15(g_sSamp)
              38:          37 SampledImage 34 35
              39:    6(float) CompositeExtract 23 0
              40:    6(float) CompositeExtract 39 0
              41:    6(float) ImageSampleDrefImplicitLod 38 39 40 ConstOffset 27
                              Store 30(r13) 41
              47:          44 Load 46(g_tTex1du4a)
              48:          13 Load 15(g_sSamp)
              51:          50 SampledImage 47 48
              52:    6(float) CompositeExtract 23 0
              53:    6(float) CompositeExtract 52 0
              54:    6(float) ImageSampleDrefImplicitLod 51 52 53 ConstOffset 27
                              Store 42(r15) 54
              59:          56 Load 58(g_tTex2df4a)
              60:          13 Load 15(g_sSamp)
              63:          62 SampledImage 59 60
              67:    6(float) CompositeExtract 66 0
              71:    6(float) CompositeExtract 67 0
              72:    6(float) ImageSampleDrefImplicitLod 63 67 71 ConstOffset 70
                              Store 55(r31) 72
              77:          74 Load 76(g_tTex2di4a)
              78:          13 Load 15(g_sSamp)
              81:          80 SampledImage 77 78
              82:    6(float) CompositeExtract 66 0
              83:    6(float) CompositeExtract 82 0
              84:    6(float) ImageSampleDrefImplicitLod 81 82 83 ConstOffset 70
                              Store 73(r33) 84
              89:          86 Load 88(g_tTex2du4a)
              90:          13 Load 15(g_sSamp)
              93:          92 SampledImage 89 90
              94:    6(float) CompositeExtract 66 0
              95:    6(float) CompositeExtract 94 0
              96:    6(float) ImageSampleDrefImplicitLod 93 94 95 ConstOffset 70
                              Store 85(r35) 96
             105:    104(ptr) AccessChain 100(psout) 101
                              Store 105 103
             107:      7(ptr) AccessChain 100(psout) 106
                              Store 107 102
             108:98(PS_OUTPUT) Load 100(psout)
                              ReturnValue 108
                              FunctionEnd
