hlsl.load.array.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:72  Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:48    Function Parameters: 
0:?     Sequence
0:52      textureFetch (global 4-component vector of float)
0:52        'g_tTex1df4a' (uniform texture1DArray)
0:52        vector swizzle (temp 2-component vector of int)
0:52          'c3' (uniform 3-component vector of int)
0:52          Sequence
0:52            Constant:
0:52              0 (const int)
0:52            Constant:
0:52              1 (const int)
0:52        direct index (temp int)
0:52          'c3' (uniform 3-component vector of int)
0:52          Constant:
0:52            2 (const int)
0:53      textureFetch (global 4-component vector of int)
0:53        'g_tTex1di4a' (uniform itexture1DArray)
0:53        vector swizzle (temp 2-component vector of int)
0:53          'c3' (uniform 3-component vector of int)
0:53          Sequence
0:53            Constant:
0:53              0 (const int)
0:53            Constant:
0:53              1 (const int)
0:53        direct index (temp int)
0:53          'c3' (uniform 3-component vector of int)
0:53          Constant:
0:53            2 (const int)
0:54      textureFetch (global 4-component vector of uint)
0:54        'g_tTex1du4a' (uniform utexture1DArray)
0:54        vector swizzle (temp 2-component vector of int)
0:54          'c3' (uniform 3-component vector of int)
0:54          Sequence
0:54            Constant:
0:54              0 (const int)
0:54            Constant:
0:54              1 (const int)
0:54        direct index (temp int)
0:54          'c3' (uniform 3-component vector of int)
0:54          Constant:
0:54            2 (const int)
0:57      textureFetch (global 4-component vector of float)
0:57        'g_tTex2df4a' (uniform texture2DArray)
0:57        vector swizzle (temp 3-component vector of int)
0:57          'c4' (uniform 4-component vector of int)
0:57          Sequence
0:57            Constant:
0:57              0 (const int)
0:57            Constant:
0:57              1 (const int)
0:57            Constant:
0:57              2 (const int)
0:57        direct index (temp int)
0:57          'c4' (uniform 4-component vector of int)
0:57          Constant:
0:57            3 (const int)
0:58      textureFetch (global 4-component vector of int)
0:58        'g_tTex2di4a' (uniform itexture2DArray)
0:58        vector swizzle (temp 3-component vector of int)
0:58          'c4' (uniform 4-component vector of int)
0:58          Sequence
0:58            Constant:
0:58              0 (const int)
0:58            Constant:
0:58              1 (const int)
0:58            Constant:
0:58              2 (const int)
0:58        direct index (temp int)
0:58          'c4' (uniform 4-component vector of int)
0:58          Constant:
0:58            3 (const int)
0:59      textureFetch (global 4-component vector of uint)
0:59        'g_tTex2du4a' (uniform utexture2DArray)
0:59        vector swizzle (temp 3-component vector of int)
0:59          'c4' (uniform 4-component vector of int)
0:59          Sequence
0:59            Constant:
0:59              0 (const int)
0:59            Constant:
0:59              1 (const int)
0:59            Constant:
0:59              2 (const int)
0:59        direct index (temp int)
0:59          'c4' (uniform 4-component vector of int)
0:59          Constant:
0:59            3 (const int)
0:67      move second child to first child (temp 4-component vector of float)
0:67        Color: direct index for structure (temp 4-component vector of float)
0:67          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:67          Constant:
0:67            0 (const int)
0:67        Constant:
0:67          1.000000
0:67          1.000000
0:67          1.000000
0:67          1.000000
0:68      move second child to first child (temp float)
0:68        Depth: direct index for structure (temp float FragDepth)
0:68          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:68          Constant:
0:68            1 (const int)
0:68        Constant:
0:68          1.000000
0:70      Branch: Return with expression
0:70        '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)
0:?     'c1' (uniform int)
0:?     'c2' (uniform 2-component vector of int)
0:?     'c3' (uniform 3-component vector of int)
0:?     'c4' (uniform 4-component vector of int)
0:?     'o1' (uniform int)
0:?     'o2' (uniform 2-component vector of int)
0:?     'o3' (uniform 3-component vector of int)
0:?     'o4' (uniform 4-component vector of int)


Linked fragment stage:


Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:72  Function Definition: main( (global structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:48    Function Parameters: 
0:?     Sequence
0:52      textureFetch (global 4-component vector of float)
0:52        'g_tTex1df4a' (uniform texture1DArray)
0:52        vector swizzle (temp 2-component vector of int)
0:52          'c3' (uniform 3-component vector of int)
0:52          Sequence
0:52            Constant:
0:52              0 (const int)
0:52            Constant:
0:52              1 (const int)
0:52        direct index (temp int)
0:52          'c3' (uniform 3-component vector of int)
0:52          Constant:
0:52            2 (const int)
0:53      textureFetch (global 4-component vector of int)
0:53        'g_tTex1di4a' (uniform itexture1DArray)
0:53        vector swizzle (temp 2-component vector of int)
0:53          'c3' (uniform 3-component vector of int)
0:53          Sequence
0:53            Constant:
0:53              0 (const int)
0:53            Constant:
0:53              1 (const int)
0:53        direct index (temp int)
0:53          'c3' (uniform 3-component vector of int)
0:53          Constant:
0:53            2 (const int)
0:54      textureFetch (global 4-component vector of uint)
0:54        'g_tTex1du4a' (uniform utexture1DArray)
0:54        vector swizzle (temp 2-component vector of int)
0:54          'c3' (uniform 3-component vector of int)
0:54          Sequence
0:54            Constant:
0:54              0 (const int)
0:54            Constant:
0:54              1 (const int)
0:54        direct index (temp int)
0:54          'c3' (uniform 3-component vector of int)
0:54          Constant:
0:54            2 (const int)
0:57      textureFetch (global 4-component vector of float)
0:57        'g_tTex2df4a' (uniform texture2DArray)
0:57        vector swizzle (temp 3-component vector of int)
0:57          'c4' (uniform 4-component vector of int)
0:57          Sequence
0:57            Constant:
0:57              0 (const int)
0:57            Constant:
0:57              1 (const int)
0:57            Constant:
0:57              2 (const int)
0:57        direct index (temp int)
0:57          'c4' (uniform 4-component vector of int)
0:57          Constant:
0:57            3 (const int)
0:58      textureFetch (global 4-component vector of int)
0:58        'g_tTex2di4a' (uniform itexture2DArray)
0:58        vector swizzle (temp 3-component vector of int)
0:58          'c4' (uniform 4-component vector of int)
0:58          Sequence
0:58            Constant:
0:58              0 (const int)
0:58            Constant:
0:58              1 (const int)
0:58            Constant:
0:58              2 (const int)
0:58        direct index (temp int)
0:58          'c4' (uniform 4-component vector of int)
0:58          Constant:
0:58            3 (const int)
0:59      textureFetch (global 4-component vector of uint)
0:59        'g_tTex2du4a' (uniform utexture2DArray)
0:59        vector swizzle (temp 3-component vector of int)
0:59          'c4' (uniform 4-component vector of int)
0:59          Sequence
0:59            Constant:
0:59              0 (const int)
0:59            Constant:
0:59              1 (const int)
0:59            Constant:
0:59              2 (const int)
0:59        direct index (temp int)
0:59          'c4' (uniform 4-component vector of int)
0:59          Constant:
0:59            3 (const int)
0:67      move second child to first child (temp 4-component vector of float)
0:67        Color: direct index for structure (temp 4-component vector of float)
0:67          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:67          Constant:
0:67            0 (const int)
0:67        Constant:
0:67          1.000000
0:67          1.000000
0:67          1.000000
0:67          1.000000
0:68      move second child to first child (temp float)
0:68        Depth: direct index for structure (temp float FragDepth)
0:68          'psout' (temp structure{temp 4-component vector of float Color, temp float FragDepth Depth})
0:68          Constant:
0:68            1 (const int)
0:68        Constant:
0:68          1.000000
0:70      Branch: Return with expression
0:70        '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)
0:?     'c1' (uniform int)
0:?     'c2' (uniform 2-component vector of int)
0:?     'c3' (uniform 3-component vector of int)
0:?     'c4' (uniform 4-component vector of int)
0:?     'o1' (uniform int)
0:?     'o2' (uniform 2-component vector of int)
0:?     'o3' (uniform 3-component vector of int)
0:?     'o4' (uniform 4-component vector of int)

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

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