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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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 (temp 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
