hlsl.gatherRGBA.array.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:28  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28    Function Parameters: 
0:?     Sequence
0:33      Sequence
0:33        move second child to first child (temp 4-component vector of float)
0:33          'txval00' (temp 4-component vector of float)
0:33          textureGather (global 4-component vector of float)
0:33            Construct combined texture-sampler (temp sampler2DArray)
0:33              'g_tTex2df4a' (uniform texture2DArray)
0:33              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:33            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:33              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:33              Constant:
0:33                2 (const uint)
0:33            Constant:
0:33              0 (const int)
0:34      Sequence
0:34        move second child to first child (temp 4-component vector of int)
0:34          'txval01' (temp 4-component vector of int)
0:34          textureGather (global 4-component vector of int)
0:34            Construct combined texture-sampler (temp isampler2DArray)
0:34              'g_tTex2di4a' (uniform itexture2DArray)
0:34              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:34            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:34              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:34              Constant:
0:34                2 (const uint)
0:34            Constant:
0:34              0 (const int)
0:35      Sequence
0:35        move second child to first child (temp 4-component vector of uint)
0:35          'txval02' (temp 4-component vector of uint)
0:35          textureGather (global 4-component vector of uint)
0:35            Construct combined texture-sampler (temp usampler2DArray)
0:35              'g_tTex2du4a' (uniform utexture2DArray)
0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:35            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:35              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:35              Constant:
0:35                2 (const uint)
0:35            Constant:
0:35              0 (const int)
0:37      Sequence
0:37        move second child to first child (temp 4-component vector of float)
0:37          'txval10' (temp 4-component vector of float)
0:37          textureGather (global 4-component vector of float)
0:37            Construct combined texture-sampler (temp sampler2DArray)
0:37              'g_tTex2df4a' (uniform texture2DArray)
0:37              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:37            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:37              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:37              Constant:
0:37                2 (const uint)
0:37            Constant:
0:37              1 (const int)
0:38      Sequence
0:38        move second child to first child (temp 4-component vector of int)
0:38          'txval11' (temp 4-component vector of int)
0:38          textureGather (global 4-component vector of int)
0:38            Construct combined texture-sampler (temp isampler2DArray)
0:38              'g_tTex2di4a' (uniform itexture2DArray)
0:38              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:38            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:38              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:38              Constant:
0:38                2 (const uint)
0:38            Constant:
0:38              1 (const int)
0:39      Sequence
0:39        move second child to first child (temp 4-component vector of uint)
0:39          'txval12' (temp 4-component vector of uint)
0:39          textureGather (global 4-component vector of uint)
0:39            Construct combined texture-sampler (temp usampler2DArray)
0:39              'g_tTex2du4a' (uniform utexture2DArray)
0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:39            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:39              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:39              Constant:
0:39                2 (const uint)
0:39            Constant:
0:39              1 (const int)
0:41      Sequence
0:41        move second child to first child (temp 4-component vector of float)
0:41          'txval20' (temp 4-component vector of float)
0:41          textureGather (global 4-component vector of float)
0:41            Construct combined texture-sampler (temp sampler2DArray)
0:41              'g_tTex2df4a' (uniform texture2DArray)
0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:41            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:41              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:41              Constant:
0:41                2 (const uint)
0:41            Constant:
0:41              2 (const int)
0:42      Sequence
0:42        move second child to first child (temp 4-component vector of int)
0:42          'txval21' (temp 4-component vector of int)
0:42          textureGather (global 4-component vector of int)
0:42            Construct combined texture-sampler (temp isampler2DArray)
0:42              'g_tTex2di4a' (uniform itexture2DArray)
0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:42            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:42              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:42              Constant:
0:42                2 (const uint)
0:42            Constant:
0:42              2 (const int)
0:43      Sequence
0:43        move second child to first child (temp 4-component vector of uint)
0:43          'txval22' (temp 4-component vector of uint)
0:43          textureGather (global 4-component vector of uint)
0:43            Construct combined texture-sampler (temp usampler2DArray)
0:43              'g_tTex2du4a' (uniform utexture2DArray)
0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:43            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:43              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:43              Constant:
0:43                2 (const uint)
0:43            Constant:
0:43              2 (const int)
0:45      Sequence
0:45        move second child to first child (temp 4-component vector of float)
0:45          'txval30' (temp 4-component vector of float)
0:45          textureGather (global 4-component vector of float)
0:45            Construct combined texture-sampler (temp sampler2DArray)
0:45              'g_tTex2df4a' (uniform texture2DArray)
0:45              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:45            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:45              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:45              Constant:
0:45                2 (const uint)
0:45            Constant:
0:45              3 (const int)
0:46      Sequence
0:46        move second child to first child (temp 4-component vector of int)
0:46          'txval31' (temp 4-component vector of int)
0:46          textureGather (global 4-component vector of int)
0:46            Construct combined texture-sampler (temp isampler2DArray)
0:46              'g_tTex2di4a' (uniform itexture2DArray)
0:46              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:46            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:46              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:46              Constant:
0:46                2 (const uint)
0:46            Constant:
0:46              3 (const int)
0:47      Sequence
0:47        move second child to first child (temp 4-component vector of uint)
0:47          'txval32' (temp 4-component vector of uint)
0:47          textureGather (global 4-component vector of uint)
0:47            Construct combined texture-sampler (temp usampler2DArray)
0:47              'g_tTex2du4a' (uniform utexture2DArray)
0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:47            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:47              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:47              Constant:
0:47                2 (const uint)
0:47            Constant:
0:47              3 (const int)
0:51      Sequence
0:51        move second child to first child (temp 4-component vector of float)
0:51          'txval40' (temp 4-component vector of float)
0:51          textureGather (global 4-component vector of float)
0:51            Construct combined texture-sampler (temp samplerCubeArray)
0:51              'g_tTexcdf4a' (uniform textureCubeArray)
0:51              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:51            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:51              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:51              Constant:
0:51                3 (const uint)
0:51            Constant:
0:51              0 (const int)
0:52      Sequence
0:52        move second child to first child (temp 4-component vector of int)
0:52          'txval41' (temp 4-component vector of int)
0:52          textureGather (global 4-component vector of int)
0:52            Construct combined texture-sampler (temp isamplerCubeArray)
0:52              'g_tTexcdi4a' (uniform itextureCubeArray)
0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:52            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:52              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:52              Constant:
0:52                3 (const uint)
0:52            Constant:
0:52              0 (const int)
0:53      Sequence
0:53        move second child to first child (temp 4-component vector of uint)
0:53          'txval42' (temp 4-component vector of uint)
0:53          textureGather (global 4-component vector of uint)
0:53            Construct combined texture-sampler (temp usamplerCubeArray)
0:53              'g_tTexcdu4a' (uniform utextureCubeArray)
0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:53            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:53              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:53              Constant:
0:53                3 (const uint)
0:53            Constant:
0:53              0 (const int)
0:55      Sequence
0:55        move second child to first child (temp 4-component vector of float)
0:55          'txval50' (temp 4-component vector of float)
0:55          textureGather (global 4-component vector of float)
0:55            Construct combined texture-sampler (temp samplerCubeArray)
0:55              'g_tTexcdf4a' (uniform textureCubeArray)
0:55              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:55            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:55              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:55              Constant:
0:55                3 (const uint)
0:55            Constant:
0:55              1 (const int)
0:56      Sequence
0:56        move second child to first child (temp 4-component vector of int)
0:56          'txval51' (temp 4-component vector of int)
0:56          textureGather (global 4-component vector of int)
0:56            Construct combined texture-sampler (temp isamplerCubeArray)
0:56              'g_tTexcdi4a' (uniform itextureCubeArray)
0:56              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:56            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:56              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:56              Constant:
0:56                3 (const uint)
0:56            Constant:
0:56              1 (const int)
0:57      Sequence
0:57        move second child to first child (temp 4-component vector of uint)
0:57          'txval52' (temp 4-component vector of uint)
0:57          textureGather (global 4-component vector of uint)
0:57            Construct combined texture-sampler (temp usamplerCubeArray)
0:57              'g_tTexcdu4a' (uniform utextureCubeArray)
0:57              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:57            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:57              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:57              Constant:
0:57                3 (const uint)
0:57            Constant:
0:57              1 (const int)
0:59      Sequence
0:59        move second child to first child (temp 4-component vector of float)
0:59          'txval60' (temp 4-component vector of float)
0:59          textureGather (global 4-component vector of float)
0:59            Construct combined texture-sampler (temp samplerCubeArray)
0:59              'g_tTexcdf4a' (uniform textureCubeArray)
0:59              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:59            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:59              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:59              Constant:
0:59                3 (const uint)
0:59            Constant:
0:59              2 (const int)
0:60      Sequence
0:60        move second child to first child (temp 4-component vector of int)
0:60          'txval61' (temp 4-component vector of int)
0:60          textureGather (global 4-component vector of int)
0:60            Construct combined texture-sampler (temp isamplerCubeArray)
0:60              'g_tTexcdi4a' (uniform itextureCubeArray)
0:60              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:60            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:60              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:60              Constant:
0:60                3 (const uint)
0:60            Constant:
0:60              2 (const int)
0:61      Sequence
0:61        move second child to first child (temp 4-component vector of uint)
0:61          'txval62' (temp 4-component vector of uint)
0:61          textureGather (global 4-component vector of uint)
0:61            Construct combined texture-sampler (temp usamplerCubeArray)
0:61              'g_tTexcdu4a' (uniform utextureCubeArray)
0:61              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:61            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:61              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:61              Constant:
0:61                3 (const uint)
0:61            Constant:
0:61              2 (const int)
0:63      Sequence
0:63        move second child to first child (temp 4-component vector of float)
0:63          'txval70' (temp 4-component vector of float)
0:63          textureGather (global 4-component vector of float)
0:63            Construct combined texture-sampler (temp samplerCubeArray)
0:63              'g_tTexcdf4a' (uniform textureCubeArray)
0:63              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:63            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:63              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:63              Constant:
0:63                3 (const uint)
0:63            Constant:
0:63              3 (const int)
0:64      Sequence
0:64        move second child to first child (temp 4-component vector of int)
0:64          'txval71' (temp 4-component vector of int)
0:64          textureGather (global 4-component vector of int)
0:64            Construct combined texture-sampler (temp isamplerCubeArray)
0:64              'g_tTexcdi4a' (uniform itextureCubeArray)
0:64              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:64            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:64              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:64              Constant:
0:64                3 (const uint)
0:64            Constant:
0:64              3 (const int)
0:65      Sequence
0:65        move second child to first child (temp 4-component vector of uint)
0:65          'txval72' (temp 4-component vector of uint)
0:65          textureGather (global 4-component vector of uint)
0:65            Construct combined texture-sampler (temp usamplerCubeArray)
0:65              'g_tTexcdu4a' (uniform utextureCubeArray)
0:65              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:65            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:65              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:65              Constant:
0:65                3 (const uint)
0:65            Constant:
0:65              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 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)
0:68          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:68          Constant:
0:68            1 (const int)
0:68        Constant:
0:68          1.000000
0:70      Sequence
0:70        Sequence
0:70          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:70            Color: direct index for structure (temp 4-component vector of float)
0:70              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70              Constant:
0:70                0 (const int)
0:70          move second child to first child (temp float)
0:?             'Depth' (out float FragDepth)
0:70            Depth: direct index for structure (temp float)
0:70              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70              Constant:
0:70                1 (const int)
0:70        Branch: Return
0:?   Linker Objects
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'Depth' (out float FragDepth)
0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?     'g_sSamp2d' (uniform sampler)
0:?     'g_tTex1df4a' (layout(binding=0 ) 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:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})


Linked fragment stage:


Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:28  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:28    Function Parameters: 
0:?     Sequence
0:33      Sequence
0:33        move second child to first child (temp 4-component vector of float)
0:33          'txval00' (temp 4-component vector of float)
0:33          textureGather (global 4-component vector of float)
0:33            Construct combined texture-sampler (temp sampler2DArray)
0:33              'g_tTex2df4a' (uniform texture2DArray)
0:33              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:33            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:33              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:33              Constant:
0:33                2 (const uint)
0:33            Constant:
0:33              0 (const int)
0:34      Sequence
0:34        move second child to first child (temp 4-component vector of int)
0:34          'txval01' (temp 4-component vector of int)
0:34          textureGather (global 4-component vector of int)
0:34            Construct combined texture-sampler (temp isampler2DArray)
0:34              'g_tTex2di4a' (uniform itexture2DArray)
0:34              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:34            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:34              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:34              Constant:
0:34                2 (const uint)
0:34            Constant:
0:34              0 (const int)
0:35      Sequence
0:35        move second child to first child (temp 4-component vector of uint)
0:35          'txval02' (temp 4-component vector of uint)
0:35          textureGather (global 4-component vector of uint)
0:35            Construct combined texture-sampler (temp usampler2DArray)
0:35              'g_tTex2du4a' (uniform utexture2DArray)
0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:35            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:35              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:35              Constant:
0:35                2 (const uint)
0:35            Constant:
0:35              0 (const int)
0:37      Sequence
0:37        move second child to first child (temp 4-component vector of float)
0:37          'txval10' (temp 4-component vector of float)
0:37          textureGather (global 4-component vector of float)
0:37            Construct combined texture-sampler (temp sampler2DArray)
0:37              'g_tTex2df4a' (uniform texture2DArray)
0:37              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:37            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:37              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:37              Constant:
0:37                2 (const uint)
0:37            Constant:
0:37              1 (const int)
0:38      Sequence
0:38        move second child to first child (temp 4-component vector of int)
0:38          'txval11' (temp 4-component vector of int)
0:38          textureGather (global 4-component vector of int)
0:38            Construct combined texture-sampler (temp isampler2DArray)
0:38              'g_tTex2di4a' (uniform itexture2DArray)
0:38              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:38            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:38              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:38              Constant:
0:38                2 (const uint)
0:38            Constant:
0:38              1 (const int)
0:39      Sequence
0:39        move second child to first child (temp 4-component vector of uint)
0:39          'txval12' (temp 4-component vector of uint)
0:39          textureGather (global 4-component vector of uint)
0:39            Construct combined texture-sampler (temp usampler2DArray)
0:39              'g_tTex2du4a' (uniform utexture2DArray)
0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:39            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:39              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:39              Constant:
0:39                2 (const uint)
0:39            Constant:
0:39              1 (const int)
0:41      Sequence
0:41        move second child to first child (temp 4-component vector of float)
0:41          'txval20' (temp 4-component vector of float)
0:41          textureGather (global 4-component vector of float)
0:41            Construct combined texture-sampler (temp sampler2DArray)
0:41              'g_tTex2df4a' (uniform texture2DArray)
0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:41            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:41              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:41              Constant:
0:41                2 (const uint)
0:41            Constant:
0:41              2 (const int)
0:42      Sequence
0:42        move second child to first child (temp 4-component vector of int)
0:42          'txval21' (temp 4-component vector of int)
0:42          textureGather (global 4-component vector of int)
0:42            Construct combined texture-sampler (temp isampler2DArray)
0:42              'g_tTex2di4a' (uniform itexture2DArray)
0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:42            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:42              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:42              Constant:
0:42                2 (const uint)
0:42            Constant:
0:42              2 (const int)
0:43      Sequence
0:43        move second child to first child (temp 4-component vector of uint)
0:43          'txval22' (temp 4-component vector of uint)
0:43          textureGather (global 4-component vector of uint)
0:43            Construct combined texture-sampler (temp usampler2DArray)
0:43              'g_tTex2du4a' (uniform utexture2DArray)
0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:43            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:43              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:43              Constant:
0:43                2 (const uint)
0:43            Constant:
0:43              2 (const int)
0:45      Sequence
0:45        move second child to first child (temp 4-component vector of float)
0:45          'txval30' (temp 4-component vector of float)
0:45          textureGather (global 4-component vector of float)
0:45            Construct combined texture-sampler (temp sampler2DArray)
0:45              'g_tTex2df4a' (uniform texture2DArray)
0:45              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:45            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:45              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:45              Constant:
0:45                2 (const uint)
0:45            Constant:
0:45              3 (const int)
0:46      Sequence
0:46        move second child to first child (temp 4-component vector of int)
0:46          'txval31' (temp 4-component vector of int)
0:46          textureGather (global 4-component vector of int)
0:46            Construct combined texture-sampler (temp isampler2DArray)
0:46              'g_tTex2di4a' (uniform itexture2DArray)
0:46              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:46            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:46              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:46              Constant:
0:46                2 (const uint)
0:46            Constant:
0:46              3 (const int)
0:47      Sequence
0:47        move second child to first child (temp 4-component vector of uint)
0:47          'txval32' (temp 4-component vector of uint)
0:47          textureGather (global 4-component vector of uint)
0:47            Construct combined texture-sampler (temp usampler2DArray)
0:47              'g_tTex2du4a' (uniform utexture2DArray)
0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:47            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:47              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:47              Constant:
0:47                2 (const uint)
0:47            Constant:
0:47              3 (const int)
0:51      Sequence
0:51        move second child to first child (temp 4-component vector of float)
0:51          'txval40' (temp 4-component vector of float)
0:51          textureGather (global 4-component vector of float)
0:51            Construct combined texture-sampler (temp samplerCubeArray)
0:51              'g_tTexcdf4a' (uniform textureCubeArray)
0:51              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:51            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:51              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:51              Constant:
0:51                3 (const uint)
0:51            Constant:
0:51              0 (const int)
0:52      Sequence
0:52        move second child to first child (temp 4-component vector of int)
0:52          'txval41' (temp 4-component vector of int)
0:52          textureGather (global 4-component vector of int)
0:52            Construct combined texture-sampler (temp isamplerCubeArray)
0:52              'g_tTexcdi4a' (uniform itextureCubeArray)
0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:52            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:52              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:52              Constant:
0:52                3 (const uint)
0:52            Constant:
0:52              0 (const int)
0:53      Sequence
0:53        move second child to first child (temp 4-component vector of uint)
0:53          'txval42' (temp 4-component vector of uint)
0:53          textureGather (global 4-component vector of uint)
0:53            Construct combined texture-sampler (temp usamplerCubeArray)
0:53              'g_tTexcdu4a' (uniform utextureCubeArray)
0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:53            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:53              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:53              Constant:
0:53                3 (const uint)
0:53            Constant:
0:53              0 (const int)
0:55      Sequence
0:55        move second child to first child (temp 4-component vector of float)
0:55          'txval50' (temp 4-component vector of float)
0:55          textureGather (global 4-component vector of float)
0:55            Construct combined texture-sampler (temp samplerCubeArray)
0:55              'g_tTexcdf4a' (uniform textureCubeArray)
0:55              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:55            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:55              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:55              Constant:
0:55                3 (const uint)
0:55            Constant:
0:55              1 (const int)
0:56      Sequence
0:56        move second child to first child (temp 4-component vector of int)
0:56          'txval51' (temp 4-component vector of int)
0:56          textureGather (global 4-component vector of int)
0:56            Construct combined texture-sampler (temp isamplerCubeArray)
0:56              'g_tTexcdi4a' (uniform itextureCubeArray)
0:56              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:56            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:56              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:56              Constant:
0:56                3 (const uint)
0:56            Constant:
0:56              1 (const int)
0:57      Sequence
0:57        move second child to first child (temp 4-component vector of uint)
0:57          'txval52' (temp 4-component vector of uint)
0:57          textureGather (global 4-component vector of uint)
0:57            Construct combined texture-sampler (temp usamplerCubeArray)
0:57              'g_tTexcdu4a' (uniform utextureCubeArray)
0:57              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:57            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:57              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:57              Constant:
0:57                3 (const uint)
0:57            Constant:
0:57              1 (const int)
0:59      Sequence
0:59        move second child to first child (temp 4-component vector of float)
0:59          'txval60' (temp 4-component vector of float)
0:59          textureGather (global 4-component vector of float)
0:59            Construct combined texture-sampler (temp samplerCubeArray)
0:59              'g_tTexcdf4a' (uniform textureCubeArray)
0:59              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:59            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:59              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:59              Constant:
0:59                3 (const uint)
0:59            Constant:
0:59              2 (const int)
0:60      Sequence
0:60        move second child to first child (temp 4-component vector of int)
0:60          'txval61' (temp 4-component vector of int)
0:60          textureGather (global 4-component vector of int)
0:60            Construct combined texture-sampler (temp isamplerCubeArray)
0:60              'g_tTexcdi4a' (uniform itextureCubeArray)
0:60              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:60            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:60              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:60              Constant:
0:60                3 (const uint)
0:60            Constant:
0:60              2 (const int)
0:61      Sequence
0:61        move second child to first child (temp 4-component vector of uint)
0:61          'txval62' (temp 4-component vector of uint)
0:61          textureGather (global 4-component vector of uint)
0:61            Construct combined texture-sampler (temp usamplerCubeArray)
0:61              'g_tTexcdu4a' (uniform utextureCubeArray)
0:61              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:61            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:61              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:61              Constant:
0:61                3 (const uint)
0:61            Constant:
0:61              2 (const int)
0:63      Sequence
0:63        move second child to first child (temp 4-component vector of float)
0:63          'txval70' (temp 4-component vector of float)
0:63          textureGather (global 4-component vector of float)
0:63            Construct combined texture-sampler (temp samplerCubeArray)
0:63              'g_tTexcdf4a' (uniform textureCubeArray)
0:63              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:63            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:63              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:63              Constant:
0:63                3 (const uint)
0:63            Constant:
0:63              3 (const int)
0:64      Sequence
0:64        move second child to first child (temp 4-component vector of int)
0:64          'txval71' (temp 4-component vector of int)
0:64          textureGather (global 4-component vector of int)
0:64            Construct combined texture-sampler (temp isamplerCubeArray)
0:64              'g_tTexcdi4a' (uniform itextureCubeArray)
0:64              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:64            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:64              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:64              Constant:
0:64                3 (const uint)
0:64            Constant:
0:64              3 (const int)
0:65      Sequence
0:65        move second child to first child (temp 4-component vector of uint)
0:65          'txval72' (temp 4-component vector of uint)
0:65          textureGather (global 4-component vector of uint)
0:65            Construct combined texture-sampler (temp usamplerCubeArray)
0:65              'g_tTexcdu4a' (uniform utextureCubeArray)
0:65              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:65            c4: direct index for structure (layout(offset=32 ) uniform 4-component vector of float)
0:65              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
0:65              Constant:
0:65                3 (const uint)
0:65            Constant:
0:65              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 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)
0:68          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:68          Constant:
0:68            1 (const int)
0:68        Constant:
0:68          1.000000
0:70      Sequence
0:70        Sequence
0:70          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:70            Color: direct index for structure (temp 4-component vector of float)
0:70              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70              Constant:
0:70                0 (const int)
0:70          move second child to first child (temp float)
0:?             'Depth' (out float FragDepth)
0:70            Depth: direct index for structure (temp float)
0:70              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:70              Constant:
0:70                1 (const int)
0:70        Branch: Return
0:?   Linker Objects
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'Depth' (out float FragDepth)
0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?     'g_sSamp2d' (uniform sampler)
0:?     'g_tTex1df4a' (layout(binding=0 ) 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:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})

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

                              Capability Shader
                              Capability Sampled1D
                              Capability SampledCubeArray
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 230 234
                              ExecutionMode 4 OriginUpperLeft
                              Name 4  "main"
                              Name 9  "txval00"
                              Name 12  "g_tTex2df4a"
                              Name 16  "g_sSamp"
                              Name 22  "$Global"
                              MemberName 22($Global) 0  "c1"
                              MemberName 22($Global) 1  "c2"
                              MemberName 22($Global) 2  "c3"
                              MemberName 22($Global) 3  "c4"
                              Name 24  ""
                              Name 34  "txval01"
                              Name 37  "g_tTex2di4a"
                              Name 48  "txval02"
                              Name 51  "g_tTex2du4a"
                              Name 59  "txval10"
                              Name 67  "txval11"
                              Name 74  "txval12"
                              Name 81  "txval20"
                              Name 88  "txval21"
                              Name 95  "txval22"
                              Name 102  "txval30"
                              Name 110  "txval31"
                              Name 117  "txval32"
                              Name 124  "txval40"
                              Name 127  "g_tTexcdf4a"
                              Name 136  "txval41"
                              Name 139  "g_tTexcdi4a"
                              Name 147  "txval42"
                              Name 150  "g_tTexcdu4a"
                              Name 158  "txval50"
                              Name 165  "txval51"
                              Name 172  "txval52"
                              Name 179  "txval60"
                              Name 186  "txval61"
                              Name 193  "txval62"
                              Name 200  "txval70"
                              Name 207  "txval71"
                              Name 214  "txval72"
                              Name 221  "PS_OUTPUT"
                              MemberName 221(PS_OUTPUT) 0  "Color"
                              MemberName 221(PS_OUTPUT) 1  "Depth"
                              Name 223  "psout"
                              Name 230  "Color"
                              Name 234  "Depth"
                              Name 238  "g_sSamp2d"
                              Name 241  "g_tTex1df4a"
                              Name 244  "g_tTex1di4a"
                              Name 247  "g_tTex1du4a"
                              Decorate 12(g_tTex2df4a) DescriptorSet 0
                              Decorate 16(g_sSamp) DescriptorSet 0
                              Decorate 16(g_sSamp) Binding 0
                              MemberDecorate 22($Global) 0 Offset 0
                              MemberDecorate 22($Global) 1 Offset 8
                              MemberDecorate 22($Global) 2 Offset 16
                              MemberDecorate 22($Global) 3 Offset 32
                              Decorate 22($Global) Block
                              Decorate 24 DescriptorSet 0
                              Decorate 37(g_tTex2di4a) DescriptorSet 0
                              Decorate 51(g_tTex2du4a) DescriptorSet 0
                              Decorate 127(g_tTexcdf4a) DescriptorSet 0
                              Decorate 139(g_tTexcdi4a) DescriptorSet 0
                              Decorate 150(g_tTexcdu4a) DescriptorSet 0
                              Decorate 230(Color) Location 0
                              Decorate 234(Depth) BuiltIn FragDepth
                              Decorate 238(g_sSamp2d) DescriptorSet 0
                              Decorate 241(g_tTex1df4a) DescriptorSet 0
                              Decorate 241(g_tTex1df4a) Binding 0
                              Decorate 244(g_tTex1di4a) DescriptorSet 0
                              Decorate 247(g_tTex1du4a) DescriptorSet 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
              10:             TypeImage 6(float) 2D array sampled format:Unknown
              11:             TypePointer UniformConstant 10
 12(g_tTex2df4a):     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:             TypeVector 6(float) 3
     22($Global):             TypeStruct 6(float) 20(fvec2) 21(fvec3) 7(fvec4)
              23:             TypePointer Uniform 22($Global)
              24:     23(ptr) Variable Uniform
              25:             TypeInt 32 1
              26:     25(int) Constant 2
              27:             TypePointer Uniform 21(fvec3)
              30:     25(int) Constant 0
              32:             TypeVector 25(int) 4
              33:             TypePointer Function 32(ivec4)
              35:             TypeImage 25(int) 2D array sampled format:Unknown
              36:             TypePointer UniformConstant 35
 37(g_tTex2di4a):     36(ptr) Variable UniformConstant
              40:             TypeSampledImage 35
              45:             TypeInt 32 0
              46:             TypeVector 45(int) 4
              47:             TypePointer Function 46(ivec4)
              49:             TypeImage 45(int) 2D array sampled format:Unknown
              50:             TypePointer UniformConstant 49
 51(g_tTex2du4a):     50(ptr) Variable UniformConstant
              54:             TypeSampledImage 49
              65:     25(int) Constant 1
             108:     25(int) Constant 3
             125:             TypeImage 6(float) Cube array sampled format:Unknown
             126:             TypePointer UniformConstant 125
127(g_tTexcdf4a):    126(ptr) Variable UniformConstant
             130:             TypeSampledImage 125
             132:             TypePointer Uniform 7(fvec4)
             137:             TypeImage 25(int) Cube array sampled format:Unknown
             138:             TypePointer UniformConstant 137
139(g_tTexcdi4a):    138(ptr) Variable UniformConstant
             142:             TypeSampledImage 137
             148:             TypeImage 45(int) Cube array sampled format:Unknown
             149:             TypePointer UniformConstant 148
150(g_tTexcdu4a):    149(ptr) Variable UniformConstant
             153:             TypeSampledImage 148
  221(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
             222:             TypePointer Function 221(PS_OUTPUT)
             224:    6(float) Constant 1065353216
             225:    7(fvec4) ConstantComposite 224 224 224 224
             227:             TypePointer Function 6(float)
             229:             TypePointer Output 7(fvec4)
      230(Color):    229(ptr) Variable Output
             233:             TypePointer Output 6(float)
      234(Depth):    233(ptr) Variable Output
  238(g_sSamp2d):     15(ptr) Variable UniformConstant
             239:             TypeImage 6(float) 1D array sampled format:Unknown
             240:             TypePointer UniformConstant 239
241(g_tTex1df4a):    240(ptr) Variable UniformConstant
             242:             TypeImage 25(int) 1D array sampled format:Unknown
             243:             TypePointer UniformConstant 242
244(g_tTex1di4a):    243(ptr) Variable UniformConstant
             245:             TypeImage 45(int) 1D array sampled format:Unknown
             246:             TypePointer UniformConstant 245
247(g_tTex1du4a):    246(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
      9(txval00):      8(ptr) Variable Function
     34(txval01):     33(ptr) Variable Function
     48(txval02):     47(ptr) Variable Function
     59(txval10):      8(ptr) Variable Function
     67(txval11):     33(ptr) Variable Function
     74(txval12):     47(ptr) Variable Function
     81(txval20):      8(ptr) Variable Function
     88(txval21):     33(ptr) Variable Function
     95(txval22):     47(ptr) Variable Function
    102(txval30):      8(ptr) Variable Function
    110(txval31):     33(ptr) Variable Function
    117(txval32):     47(ptr) Variable Function
    124(txval40):      8(ptr) Variable Function
    136(txval41):     33(ptr) Variable Function
    147(txval42):     47(ptr) Variable Function
    158(txval50):      8(ptr) Variable Function
    165(txval51):     33(ptr) Variable Function
    172(txval52):     47(ptr) Variable Function
    179(txval60):      8(ptr) Variable Function
    186(txval61):     33(ptr) Variable Function
    193(txval62):     47(ptr) Variable Function
    200(txval70):      8(ptr) Variable Function
    207(txval71):     33(ptr) Variable Function
    214(txval72):     47(ptr) Variable Function
      223(psout):    222(ptr) Variable Function
              13:          10 Load 12(g_tTex2df4a)
              17:          14 Load 16(g_sSamp)
              19:          18 SampledImage 13 17
              28:     27(ptr) AccessChain 24 26
              29:   21(fvec3) Load 28
              31:    7(fvec4) ImageGather 19 29 30
                              Store 9(txval00) 31
              38:          35 Load 37(g_tTex2di4a)
              39:          14 Load 16(g_sSamp)
              41:          40 SampledImage 38 39
              42:     27(ptr) AccessChain 24 26
              43:   21(fvec3) Load 42
              44:   32(ivec4) ImageGather 41 43 30
                              Store 34(txval01) 44
              52:          49 Load 51(g_tTex2du4a)
              53:          14 Load 16(g_sSamp)
              55:          54 SampledImage 52 53
              56:     27(ptr) AccessChain 24 26
              57:   21(fvec3) Load 56
              58:   46(ivec4) ImageGather 55 57 30
                              Store 48(txval02) 58
              60:          10 Load 12(g_tTex2df4a)
              61:          14 Load 16(g_sSamp)
              62:          18 SampledImage 60 61
              63:     27(ptr) AccessChain 24 26
              64:   21(fvec3) Load 63
              66:    7(fvec4) ImageGather 62 64 65
                              Store 59(txval10) 66
              68:          35 Load 37(g_tTex2di4a)
              69:          14 Load 16(g_sSamp)
              70:          40 SampledImage 68 69
              71:     27(ptr) AccessChain 24 26
              72:   21(fvec3) Load 71
              73:   32(ivec4) ImageGather 70 72 65
                              Store 67(txval11) 73
              75:          49 Load 51(g_tTex2du4a)
              76:          14 Load 16(g_sSamp)
              77:          54 SampledImage 75 76
              78:     27(ptr) AccessChain 24 26
              79:   21(fvec3) Load 78
              80:   46(ivec4) ImageGather 77 79 65
                              Store 74(txval12) 80
              82:          10 Load 12(g_tTex2df4a)
              83:          14 Load 16(g_sSamp)
              84:          18 SampledImage 82 83
              85:     27(ptr) AccessChain 24 26
              86:   21(fvec3) Load 85
              87:    7(fvec4) ImageGather 84 86 26
                              Store 81(txval20) 87
              89:          35 Load 37(g_tTex2di4a)
              90:          14 Load 16(g_sSamp)
              91:          40 SampledImage 89 90
              92:     27(ptr) AccessChain 24 26
              93:   21(fvec3) Load 92
              94:   32(ivec4) ImageGather 91 93 26
                              Store 88(txval21) 94
              96:          49 Load 51(g_tTex2du4a)
              97:          14 Load 16(g_sSamp)
              98:          54 SampledImage 96 97
              99:     27(ptr) AccessChain 24 26
             100:   21(fvec3) Load 99
             101:   46(ivec4) ImageGather 98 100 26
                              Store 95(txval22) 101
             103:          10 Load 12(g_tTex2df4a)
             104:          14 Load 16(g_sSamp)
             105:          18 SampledImage 103 104
             106:     27(ptr) AccessChain 24 26
             107:   21(fvec3) Load 106
             109:    7(fvec4) ImageGather 105 107 108
                              Store 102(txval30) 109
             111:          35 Load 37(g_tTex2di4a)
             112:          14 Load 16(g_sSamp)
             113:          40 SampledImage 111 112
             114:     27(ptr) AccessChain 24 26
             115:   21(fvec3) Load 114
             116:   32(ivec4) ImageGather 113 115 108
                              Store 110(txval31) 116
             118:          49 Load 51(g_tTex2du4a)
             119:          14 Load 16(g_sSamp)
             120:          54 SampledImage 118 119
             121:     27(ptr) AccessChain 24 26
             122:   21(fvec3) Load 121
             123:   46(ivec4) ImageGather 120 122 108
                              Store 117(txval32) 123
             128:         125 Load 127(g_tTexcdf4a)
             129:          14 Load 16(g_sSamp)
             131:         130 SampledImage 128 129
             133:    132(ptr) AccessChain 24 108
             134:    7(fvec4) Load 133
             135:    7(fvec4) ImageGather 131 134 30
                              Store 124(txval40) 135
             140:         137 Load 139(g_tTexcdi4a)
             141:          14 Load 16(g_sSamp)
             143:         142 SampledImage 140 141
             144:    132(ptr) AccessChain 24 108
             145:    7(fvec4) Load 144
             146:   32(ivec4) ImageGather 143 145 30
                              Store 136(txval41) 146
             151:         148 Load 150(g_tTexcdu4a)
             152:          14 Load 16(g_sSamp)
             154:         153 SampledImage 151 152
             155:    132(ptr) AccessChain 24 108
             156:    7(fvec4) Load 155
             157:   46(ivec4) ImageGather 154 156 30
                              Store 147(txval42) 157
             159:         125 Load 127(g_tTexcdf4a)
             160:          14 Load 16(g_sSamp)
             161:         130 SampledImage 159 160
             162:    132(ptr) AccessChain 24 108
             163:    7(fvec4) Load 162
             164:    7(fvec4) ImageGather 161 163 65
                              Store 158(txval50) 164
             166:         137 Load 139(g_tTexcdi4a)
             167:          14 Load 16(g_sSamp)
             168:         142 SampledImage 166 167
             169:    132(ptr) AccessChain 24 108
             170:    7(fvec4) Load 169
             171:   32(ivec4) ImageGather 168 170 65
                              Store 165(txval51) 171
             173:         148 Load 150(g_tTexcdu4a)
             174:          14 Load 16(g_sSamp)
             175:         153 SampledImage 173 174
             176:    132(ptr) AccessChain 24 108
             177:    7(fvec4) Load 176
             178:   46(ivec4) ImageGather 175 177 65
                              Store 172(txval52) 178
             180:         125 Load 127(g_tTexcdf4a)
             181:          14 Load 16(g_sSamp)
             182:         130 SampledImage 180 181
             183:    132(ptr) AccessChain 24 108
             184:    7(fvec4) Load 183
             185:    7(fvec4) ImageGather 182 184 26
                              Store 179(txval60) 185
             187:         137 Load 139(g_tTexcdi4a)
             188:          14 Load 16(g_sSamp)
             189:         142 SampledImage 187 188
             190:    132(ptr) AccessChain 24 108
             191:    7(fvec4) Load 190
             192:   32(ivec4) ImageGather 189 191 26
                              Store 186(txval61) 192
             194:         148 Load 150(g_tTexcdu4a)
             195:          14 Load 16(g_sSamp)
             196:         153 SampledImage 194 195
             197:    132(ptr) AccessChain 24 108
             198:    7(fvec4) Load 197
             199:   46(ivec4) ImageGather 196 198 26
                              Store 193(txval62) 199
             201:         125 Load 127(g_tTexcdf4a)
             202:          14 Load 16(g_sSamp)
             203:         130 SampledImage 201 202
             204:    132(ptr) AccessChain 24 108
             205:    7(fvec4) Load 204
             206:    7(fvec4) ImageGather 203 205 108
                              Store 200(txval70) 206
             208:         137 Load 139(g_tTexcdi4a)
             209:          14 Load 16(g_sSamp)
             210:         142 SampledImage 208 209
             211:    132(ptr) AccessChain 24 108
             212:    7(fvec4) Load 211
             213:   32(ivec4) ImageGather 210 212 108
                              Store 207(txval71) 213
             215:         148 Load 150(g_tTexcdu4a)
             216:          14 Load 16(g_sSamp)
             217:         153 SampledImage 215 216
             218:    132(ptr) AccessChain 24 108
             219:    7(fvec4) Load 218
             220:   46(ivec4) ImageGather 217 219 108
                              Store 214(txval72) 220
             226:      8(ptr) AccessChain 223(psout) 30
                              Store 226 225
             228:    227(ptr) AccessChain 223(psout) 65
                              Store 228 224
             231:      8(ptr) AccessChain 223(psout) 30
             232:    7(fvec4) Load 231
                              Store 230(Color) 232
             235:    227(ptr) AccessChain 223(psout) 65
             236:    6(float) Load 235
                              Store 234(Depth) 236
                              Return
                              FunctionEnd
