hlsl.gatherRGBA.basic.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:34  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34    Function Parameters: 
0:?     Sequence
0:39      Sequence
0:39        move second child to first child (temp 4-component vector of float)
0:39          'txval00' (temp 4-component vector of float)
0:39          textureGather (global 4-component vector of float)
0:39            Construct combined texture-sampler (temp sampler2D)
0:39              'g_tTex2df4' (uniform texture2D)
0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:39            c2: direct index for structure (layout(offset=8 ) uniform 2-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                1 (const uint)
0:39            Constant:
0:39              0 (const int)
0:40      Sequence
0:40        move second child to first child (temp 4-component vector of int)
0:40          'txval01' (temp 4-component vector of int)
0:40          textureGather (global 4-component vector of int)
0:40            Construct combined texture-sampler (temp isampler2D)
0:40              'g_tTex2di4' (uniform itexture2D)
0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:40            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:40              '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:40              Constant:
0:40                1 (const uint)
0:40            Constant:
0:40              0 (const int)
0:41      Sequence
0:41        move second child to first child (temp 4-component vector of uint)
0:41          'txval02' (temp 4-component vector of uint)
0:41          textureGather (global 4-component vector of uint)
0:41            Construct combined texture-sampler (temp usampler2D)
0:41              'g_tTex2du4' (uniform utexture2D)
0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:41            c2: direct index for structure (layout(offset=8 ) uniform 2-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                1 (const uint)
0:41            Constant:
0:41              0 (const int)
0:43      Sequence
0:43        move second child to first child (temp 4-component vector of float)
0:43          'txval10' (temp 4-component vector of float)
0:43          textureGather (global 4-component vector of float)
0:43            Construct combined texture-sampler (temp sampler2D)
0:43              'g_tTex2df4' (uniform texture2D)
0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:43            c2: direct index for structure (layout(offset=8 ) uniform 2-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                1 (const uint)
0:43            Constant:
0:43              1 (const int)
0:44      Sequence
0:44        move second child to first child (temp 4-component vector of int)
0:44          'txval11' (temp 4-component vector of int)
0:44          textureGather (global 4-component vector of int)
0:44            Construct combined texture-sampler (temp isampler2D)
0:44              'g_tTex2di4' (uniform itexture2D)
0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:44            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:44              '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:44              Constant:
0:44                1 (const uint)
0:44            Constant:
0:44              1 (const int)
0:45      Sequence
0:45        move second child to first child (temp 4-component vector of uint)
0:45          'txval12' (temp 4-component vector of uint)
0:45          textureGather (global 4-component vector of uint)
0:45            Construct combined texture-sampler (temp usampler2D)
0:45              'g_tTex2du4' (uniform utexture2D)
0:45              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:45            c2: direct index for structure (layout(offset=8 ) uniform 2-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                1 (const uint)
0:45            Constant:
0:45              1 (const int)
0:47      Sequence
0:47        move second child to first child (temp 4-component vector of float)
0:47          'txval20' (temp 4-component vector of float)
0:47          textureGather (global 4-component vector of float)
0:47            Construct combined texture-sampler (temp sampler2D)
0:47              'g_tTex2df4' (uniform texture2D)
0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:47            c2: direct index for structure (layout(offset=8 ) uniform 2-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                1 (const uint)
0:47            Constant:
0:47              2 (const int)
0:48      Sequence
0:48        move second child to first child (temp 4-component vector of int)
0:48          'txval21' (temp 4-component vector of int)
0:48          textureGather (global 4-component vector of int)
0:48            Construct combined texture-sampler (temp isampler2D)
0:48              'g_tTex2di4' (uniform itexture2D)
0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:48            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:48              '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:48              Constant:
0:48                1 (const uint)
0:48            Constant:
0:48              2 (const int)
0:49      Sequence
0:49        move second child to first child (temp 4-component vector of uint)
0:49          'txval22' (temp 4-component vector of uint)
0:49          textureGather (global 4-component vector of uint)
0:49            Construct combined texture-sampler (temp usampler2D)
0:49              'g_tTex2du4' (uniform utexture2D)
0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:49            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:49              '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:49              Constant:
0:49                1 (const uint)
0:49            Constant:
0:49              2 (const int)
0:51      Sequence
0:51        move second child to first child (temp 4-component vector of float)
0:51          'txval30' (temp 4-component vector of float)
0:51          textureGather (global 4-component vector of float)
0:51            Construct combined texture-sampler (temp sampler2D)
0:51              'g_tTex2df4' (uniform texture2D)
0:51              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:51            c2: direct index for structure (layout(offset=8 ) uniform 2-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                1 (const uint)
0:51            Constant:
0:51              3 (const int)
0:52      Sequence
0:52        move second child to first child (temp 4-component vector of int)
0:52          'txval31' (temp 4-component vector of int)
0:52          textureGather (global 4-component vector of int)
0:52            Construct combined texture-sampler (temp isampler2D)
0:52              'g_tTex2di4' (uniform itexture2D)
0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:52            c2: direct index for structure (layout(offset=8 ) uniform 2-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                1 (const uint)
0:52            Constant:
0:52              3 (const int)
0:53      Sequence
0:53        move second child to first child (temp 4-component vector of uint)
0:53          'txval32' (temp 4-component vector of uint)
0:53          textureGather (global 4-component vector of uint)
0:53            Construct combined texture-sampler (temp usampler2D)
0:53              'g_tTex2du4' (uniform utexture2D)
0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:53            c2: direct index for structure (layout(offset=8 ) uniform 2-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                1 (const uint)
0:53            Constant:
0:53              3 (const int)
0:57      Sequence
0:57        move second child to first child (temp 4-component vector of float)
0:57          'txval40' (temp 4-component vector of float)
0:57          textureGather (global 4-component vector of float)
0:57            Construct combined texture-sampler (temp samplerCube)
0:57              'g_tTexcdf4' (uniform textureCube)
0:57              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:57            c3: direct index for structure (layout(offset=16 ) uniform 3-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                2 (const uint)
0:57            Constant:
0:57              0 (const int)
0:58      Sequence
0:58        move second child to first child (temp 4-component vector of int)
0:58          'txval41' (temp 4-component vector of int)
0:58          textureGather (global 4-component vector of int)
0:58            Construct combined texture-sampler (temp isamplerCube)
0:58              'g_tTexcdi4' (uniform itextureCube)
0:58              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:58            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:58              '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:58              Constant:
0:58                2 (const uint)
0:58            Constant:
0:58              0 (const int)
0:59      Sequence
0:59        move second child to first child (temp 4-component vector of uint)
0:59          'txval42' (temp 4-component vector of uint)
0:59          textureGather (global 4-component vector of uint)
0:59            Construct combined texture-sampler (temp usamplerCube)
0:59              'g_tTexcdu4' (uniform utextureCube)
0:59              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:59            c3: direct index for structure (layout(offset=16 ) uniform 3-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                2 (const uint)
0:59            Constant:
0:59              0 (const int)
0:61      Sequence
0:61        move second child to first child (temp 4-component vector of float)
0:61          'txval50' (temp 4-component vector of float)
0:61          textureGather (global 4-component vector of float)
0:61            Construct combined texture-sampler (temp samplerCube)
0:61              'g_tTexcdf4' (uniform textureCube)
0:61              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:61            c3: direct index for structure (layout(offset=16 ) uniform 3-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                2 (const uint)
0:61            Constant:
0:61              1 (const int)
0:62      Sequence
0:62        move second child to first child (temp 4-component vector of int)
0:62          'txval51' (temp 4-component vector of int)
0:62          textureGather (global 4-component vector of int)
0:62            Construct combined texture-sampler (temp isamplerCube)
0:62              'g_tTexcdi4' (uniform itextureCube)
0:62              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:62            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:62              '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:62              Constant:
0:62                2 (const uint)
0:62            Constant:
0:62              1 (const int)
0:63      Sequence
0:63        move second child to first child (temp 4-component vector of uint)
0:63          'txval52' (temp 4-component vector of uint)
0:63          textureGather (global 4-component vector of uint)
0:63            Construct combined texture-sampler (temp usamplerCube)
0:63              'g_tTexcdu4' (uniform utextureCube)
0:63              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:63            c3: direct index for structure (layout(offset=16 ) uniform 3-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                2 (const uint)
0:63            Constant:
0:63              1 (const int)
0:65      Sequence
0:65        move second child to first child (temp 4-component vector of float)
0:65          'txval60' (temp 4-component vector of float)
0:65          textureGather (global 4-component vector of float)
0:65            Construct combined texture-sampler (temp samplerCube)
0:65              'g_tTexcdf4' (uniform textureCube)
0:65              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:65            c3: direct index for structure (layout(offset=16 ) uniform 3-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                2 (const uint)
0:65            Constant:
0:65              2 (const int)
0:66      Sequence
0:66        move second child to first child (temp 4-component vector of int)
0:66          'txval61' (temp 4-component vector of int)
0:66          textureGather (global 4-component vector of int)
0:66            Construct combined texture-sampler (temp isamplerCube)
0:66              'g_tTexcdi4' (uniform itextureCube)
0:66              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:66            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:66              '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:66              Constant:
0:66                2 (const uint)
0:66            Constant:
0:66              2 (const int)
0:67      Sequence
0:67        move second child to first child (temp 4-component vector of uint)
0:67          'txval62' (temp 4-component vector of uint)
0:67          textureGather (global 4-component vector of uint)
0:67            Construct combined texture-sampler (temp usamplerCube)
0:67              'g_tTexcdu4' (uniform utextureCube)
0:67              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:67            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:67              '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:67              Constant:
0:67                2 (const uint)
0:67            Constant:
0:67              2 (const int)
0:69      Sequence
0:69        move second child to first child (temp 4-component vector of float)
0:69          'txval70' (temp 4-component vector of float)
0:69          textureGather (global 4-component vector of float)
0:69            Construct combined texture-sampler (temp samplerCube)
0:69              'g_tTexcdf4' (uniform textureCube)
0:69              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:69            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:69              '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:69              Constant:
0:69                2 (const uint)
0:69            Constant:
0:69              3 (const int)
0:70      Sequence
0:70        move second child to first child (temp 4-component vector of int)
0:70          'txval71' (temp 4-component vector of int)
0:70          textureGather (global 4-component vector of int)
0:70            Construct combined texture-sampler (temp isamplerCube)
0:70              'g_tTexcdi4' (uniform itextureCube)
0:70              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:70            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:70              '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:70              Constant:
0:70                2 (const uint)
0:70            Constant:
0:70              3 (const int)
0:71      Sequence
0:71        move second child to first child (temp 4-component vector of uint)
0:71          'txval72' (temp 4-component vector of uint)
0:71          textureGather (global 4-component vector of uint)
0:71            Construct combined texture-sampler (temp usamplerCube)
0:71              'g_tTexcdu4' (uniform utextureCube)
0:71              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:71            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:71              '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:71              Constant:
0:71                2 (const uint)
0:71            Constant:
0:71              3 (const int)
0:73      move second child to first child (temp 4-component vector of float)
0:73        Color: direct index for structure (temp 4-component vector of float)
0:73          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:73          Constant:
0:73            0 (const int)
0:73        Constant:
0:73          1.000000
0:73          1.000000
0:73          1.000000
0:73          1.000000
0:74      move second child to first child (temp float)
0:74        Depth: direct index for structure (temp float)
0:74          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:74          Constant:
0:74            1 (const int)
0:74        Constant:
0:74          1.000000
0:76      Sequence
0:76        Sequence
0:76          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:76            Color: direct index for structure (temp 4-component vector of float)
0:76              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:76              Constant:
0:76                0 (const int)
0:76          move second child to first child (temp float)
0:?             'Depth' (out float FragDepth)
0:76            Depth: direct index for structure (temp float)
0:76              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:76              Constant:
0:76                1 (const int)
0:76        Branch: Return
0:?   Linker Objects
0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?     'g_sSamp2d' (uniform sampler)
0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:?     'g_tTex1di4' (uniform itexture1D)
0:?     'g_tTex1du4' (uniform utexture1D)
0:?     'g_tTex2df4' (uniform texture2D)
0:?     'g_tTex2di4' (uniform itexture2D)
0:?     'g_tTex2du4' (uniform utexture2D)
0:?     'g_tTex3df4' (uniform texture3D)
0:?     'g_tTex3di4' (uniform itexture3D)
0:?     'g_tTex3du4' (uniform utexture3D)
0:?     'g_tTexcdf4' (uniform textureCube)
0:?     'g_tTexcdi4' (uniform itextureCube)
0:?     'g_tTexcdu4' (uniform utextureCube)
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'Depth' (out float FragDepth)
0:?     'anon@0' (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:34  Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:34    Function Parameters: 
0:?     Sequence
0:39      Sequence
0:39        move second child to first child (temp 4-component vector of float)
0:39          'txval00' (temp 4-component vector of float)
0:39          textureGather (global 4-component vector of float)
0:39            Construct combined texture-sampler (temp sampler2D)
0:39              'g_tTex2df4' (uniform texture2D)
0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:39            c2: direct index for structure (layout(offset=8 ) uniform 2-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                1 (const uint)
0:39            Constant:
0:39              0 (const int)
0:40      Sequence
0:40        move second child to first child (temp 4-component vector of int)
0:40          'txval01' (temp 4-component vector of int)
0:40          textureGather (global 4-component vector of int)
0:40            Construct combined texture-sampler (temp isampler2D)
0:40              'g_tTex2di4' (uniform itexture2D)
0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:40            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:40              '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:40              Constant:
0:40                1 (const uint)
0:40            Constant:
0:40              0 (const int)
0:41      Sequence
0:41        move second child to first child (temp 4-component vector of uint)
0:41          'txval02' (temp 4-component vector of uint)
0:41          textureGather (global 4-component vector of uint)
0:41            Construct combined texture-sampler (temp usampler2D)
0:41              'g_tTex2du4' (uniform utexture2D)
0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:41            c2: direct index for structure (layout(offset=8 ) uniform 2-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                1 (const uint)
0:41            Constant:
0:41              0 (const int)
0:43      Sequence
0:43        move second child to first child (temp 4-component vector of float)
0:43          'txval10' (temp 4-component vector of float)
0:43          textureGather (global 4-component vector of float)
0:43            Construct combined texture-sampler (temp sampler2D)
0:43              'g_tTex2df4' (uniform texture2D)
0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:43            c2: direct index for structure (layout(offset=8 ) uniform 2-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                1 (const uint)
0:43            Constant:
0:43              1 (const int)
0:44      Sequence
0:44        move second child to first child (temp 4-component vector of int)
0:44          'txval11' (temp 4-component vector of int)
0:44          textureGather (global 4-component vector of int)
0:44            Construct combined texture-sampler (temp isampler2D)
0:44              'g_tTex2di4' (uniform itexture2D)
0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:44            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:44              '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:44              Constant:
0:44                1 (const uint)
0:44            Constant:
0:44              1 (const int)
0:45      Sequence
0:45        move second child to first child (temp 4-component vector of uint)
0:45          'txval12' (temp 4-component vector of uint)
0:45          textureGather (global 4-component vector of uint)
0:45            Construct combined texture-sampler (temp usampler2D)
0:45              'g_tTex2du4' (uniform utexture2D)
0:45              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:45            c2: direct index for structure (layout(offset=8 ) uniform 2-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                1 (const uint)
0:45            Constant:
0:45              1 (const int)
0:47      Sequence
0:47        move second child to first child (temp 4-component vector of float)
0:47          'txval20' (temp 4-component vector of float)
0:47          textureGather (global 4-component vector of float)
0:47            Construct combined texture-sampler (temp sampler2D)
0:47              'g_tTex2df4' (uniform texture2D)
0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:47            c2: direct index for structure (layout(offset=8 ) uniform 2-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                1 (const uint)
0:47            Constant:
0:47              2 (const int)
0:48      Sequence
0:48        move second child to first child (temp 4-component vector of int)
0:48          'txval21' (temp 4-component vector of int)
0:48          textureGather (global 4-component vector of int)
0:48            Construct combined texture-sampler (temp isampler2D)
0:48              'g_tTex2di4' (uniform itexture2D)
0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:48            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:48              '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:48              Constant:
0:48                1 (const uint)
0:48            Constant:
0:48              2 (const int)
0:49      Sequence
0:49        move second child to first child (temp 4-component vector of uint)
0:49          'txval22' (temp 4-component vector of uint)
0:49          textureGather (global 4-component vector of uint)
0:49            Construct combined texture-sampler (temp usampler2D)
0:49              'g_tTex2du4' (uniform utexture2D)
0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:49            c2: direct index for structure (layout(offset=8 ) uniform 2-component vector of float)
0:49              '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:49              Constant:
0:49                1 (const uint)
0:49            Constant:
0:49              2 (const int)
0:51      Sequence
0:51        move second child to first child (temp 4-component vector of float)
0:51          'txval30' (temp 4-component vector of float)
0:51          textureGather (global 4-component vector of float)
0:51            Construct combined texture-sampler (temp sampler2D)
0:51              'g_tTex2df4' (uniform texture2D)
0:51              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:51            c2: direct index for structure (layout(offset=8 ) uniform 2-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                1 (const uint)
0:51            Constant:
0:51              3 (const int)
0:52      Sequence
0:52        move second child to first child (temp 4-component vector of int)
0:52          'txval31' (temp 4-component vector of int)
0:52          textureGather (global 4-component vector of int)
0:52            Construct combined texture-sampler (temp isampler2D)
0:52              'g_tTex2di4' (uniform itexture2D)
0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:52            c2: direct index for structure (layout(offset=8 ) uniform 2-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                1 (const uint)
0:52            Constant:
0:52              3 (const int)
0:53      Sequence
0:53        move second child to first child (temp 4-component vector of uint)
0:53          'txval32' (temp 4-component vector of uint)
0:53          textureGather (global 4-component vector of uint)
0:53            Construct combined texture-sampler (temp usampler2D)
0:53              'g_tTex2du4' (uniform utexture2D)
0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:53            c2: direct index for structure (layout(offset=8 ) uniform 2-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                1 (const uint)
0:53            Constant:
0:53              3 (const int)
0:57      Sequence
0:57        move second child to first child (temp 4-component vector of float)
0:57          'txval40' (temp 4-component vector of float)
0:57          textureGather (global 4-component vector of float)
0:57            Construct combined texture-sampler (temp samplerCube)
0:57              'g_tTexcdf4' (uniform textureCube)
0:57              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:57            c3: direct index for structure (layout(offset=16 ) uniform 3-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                2 (const uint)
0:57            Constant:
0:57              0 (const int)
0:58      Sequence
0:58        move second child to first child (temp 4-component vector of int)
0:58          'txval41' (temp 4-component vector of int)
0:58          textureGather (global 4-component vector of int)
0:58            Construct combined texture-sampler (temp isamplerCube)
0:58              'g_tTexcdi4' (uniform itextureCube)
0:58              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:58            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:58              '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:58              Constant:
0:58                2 (const uint)
0:58            Constant:
0:58              0 (const int)
0:59      Sequence
0:59        move second child to first child (temp 4-component vector of uint)
0:59          'txval42' (temp 4-component vector of uint)
0:59          textureGather (global 4-component vector of uint)
0:59            Construct combined texture-sampler (temp usamplerCube)
0:59              'g_tTexcdu4' (uniform utextureCube)
0:59              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:59            c3: direct index for structure (layout(offset=16 ) uniform 3-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                2 (const uint)
0:59            Constant:
0:59              0 (const int)
0:61      Sequence
0:61        move second child to first child (temp 4-component vector of float)
0:61          'txval50' (temp 4-component vector of float)
0:61          textureGather (global 4-component vector of float)
0:61            Construct combined texture-sampler (temp samplerCube)
0:61              'g_tTexcdf4' (uniform textureCube)
0:61              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:61            c3: direct index for structure (layout(offset=16 ) uniform 3-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                2 (const uint)
0:61            Constant:
0:61              1 (const int)
0:62      Sequence
0:62        move second child to first child (temp 4-component vector of int)
0:62          'txval51' (temp 4-component vector of int)
0:62          textureGather (global 4-component vector of int)
0:62            Construct combined texture-sampler (temp isamplerCube)
0:62              'g_tTexcdi4' (uniform itextureCube)
0:62              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:62            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:62              '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:62              Constant:
0:62                2 (const uint)
0:62            Constant:
0:62              1 (const int)
0:63      Sequence
0:63        move second child to first child (temp 4-component vector of uint)
0:63          'txval52' (temp 4-component vector of uint)
0:63          textureGather (global 4-component vector of uint)
0:63            Construct combined texture-sampler (temp usamplerCube)
0:63              'g_tTexcdu4' (uniform utextureCube)
0:63              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:63            c3: direct index for structure (layout(offset=16 ) uniform 3-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                2 (const uint)
0:63            Constant:
0:63              1 (const int)
0:65      Sequence
0:65        move second child to first child (temp 4-component vector of float)
0:65          'txval60' (temp 4-component vector of float)
0:65          textureGather (global 4-component vector of float)
0:65            Construct combined texture-sampler (temp samplerCube)
0:65              'g_tTexcdf4' (uniform textureCube)
0:65              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:65            c3: direct index for structure (layout(offset=16 ) uniform 3-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                2 (const uint)
0:65            Constant:
0:65              2 (const int)
0:66      Sequence
0:66        move second child to first child (temp 4-component vector of int)
0:66          'txval61' (temp 4-component vector of int)
0:66          textureGather (global 4-component vector of int)
0:66            Construct combined texture-sampler (temp isamplerCube)
0:66              'g_tTexcdi4' (uniform itextureCube)
0:66              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:66            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:66              '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:66              Constant:
0:66                2 (const uint)
0:66            Constant:
0:66              2 (const int)
0:67      Sequence
0:67        move second child to first child (temp 4-component vector of uint)
0:67          'txval62' (temp 4-component vector of uint)
0:67          textureGather (global 4-component vector of uint)
0:67            Construct combined texture-sampler (temp usamplerCube)
0:67              'g_tTexcdu4' (uniform utextureCube)
0:67              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:67            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:67              '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:67              Constant:
0:67                2 (const uint)
0:67            Constant:
0:67              2 (const int)
0:69      Sequence
0:69        move second child to first child (temp 4-component vector of float)
0:69          'txval70' (temp 4-component vector of float)
0:69          textureGather (global 4-component vector of float)
0:69            Construct combined texture-sampler (temp samplerCube)
0:69              'g_tTexcdf4' (uniform textureCube)
0:69              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:69            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:69              '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:69              Constant:
0:69                2 (const uint)
0:69            Constant:
0:69              3 (const int)
0:70      Sequence
0:70        move second child to first child (temp 4-component vector of int)
0:70          'txval71' (temp 4-component vector of int)
0:70          textureGather (global 4-component vector of int)
0:70            Construct combined texture-sampler (temp isamplerCube)
0:70              'g_tTexcdi4' (uniform itextureCube)
0:70              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:70            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:70              '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:70              Constant:
0:70                2 (const uint)
0:70            Constant:
0:70              3 (const int)
0:71      Sequence
0:71        move second child to first child (temp 4-component vector of uint)
0:71          'txval72' (temp 4-component vector of uint)
0:71          textureGather (global 4-component vector of uint)
0:71            Construct combined texture-sampler (temp usamplerCube)
0:71              'g_tTexcdu4' (uniform utextureCube)
0:71              'g_sSamp' (layout(binding=0 ) uniform sampler)
0:71            c3: direct index for structure (layout(offset=16 ) uniform 3-component vector of float)
0:71              '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:71              Constant:
0:71                2 (const uint)
0:71            Constant:
0:71              3 (const int)
0:73      move second child to first child (temp 4-component vector of float)
0:73        Color: direct index for structure (temp 4-component vector of float)
0:73          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:73          Constant:
0:73            0 (const int)
0:73        Constant:
0:73          1.000000
0:73          1.000000
0:73          1.000000
0:73          1.000000
0:74      move second child to first child (temp float)
0:74        Depth: direct index for structure (temp float)
0:74          'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:74          Constant:
0:74            1 (const int)
0:74        Constant:
0:74          1.000000
0:76      Sequence
0:76        Sequence
0:76          move second child to first child (temp 4-component vector of float)
0:?             'Color' (layout(location=0 ) out 4-component vector of float)
0:76            Color: direct index for structure (temp 4-component vector of float)
0:76              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:76              Constant:
0:76                0 (const int)
0:76          move second child to first child (temp float)
0:?             'Depth' (out float FragDepth)
0:76            Depth: direct index for structure (temp float)
0:76              'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:76              Constant:
0:76                1 (const int)
0:76        Branch: Return
0:?   Linker Objects
0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
0:?     'g_sSamp2d' (uniform sampler)
0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:?     'g_tTex1di4' (uniform itexture1D)
0:?     'g_tTex1du4' (uniform utexture1D)
0:?     'g_tTex2df4' (uniform texture2D)
0:?     'g_tTex2di4' (uniform itexture2D)
0:?     'g_tTex2du4' (uniform utexture2D)
0:?     'g_tTex3df4' (uniform texture3D)
0:?     'g_tTex3di4' (uniform itexture3D)
0:?     'g_tTex3du4' (uniform utexture3D)
0:?     'g_tTexcdf4' (uniform textureCube)
0:?     'g_tTexcdi4' (uniform itextureCube)
0:?     'g_tTexcdu4' (uniform utextureCube)
0:?     'Color' (layout(location=0 ) out 4-component vector of float)
0:?     'Depth' (out float FragDepth)
0:?     'anon@0' (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 258

                              Capability Shader
                              Capability Sampled1D
               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_tTex2df4"
                              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_tTex2di4"
                              Name 48  "txval02"
                              Name 51  "g_tTex2du4"
                              Name 59  "txval10"
                              Name 66  "txval11"
                              Name 73  "txval12"
                              Name 80  "txval20"
                              Name 88  "txval21"
                              Name 95  "txval22"
                              Name 102  "txval30"
                              Name 110  "txval31"
                              Name 117  "txval32"
                              Name 124  "txval40"
                              Name 127  "g_tTexcdf4"
                              Name 136  "txval41"
                              Name 139  "g_tTexcdi4"
                              Name 147  "txval42"
                              Name 150  "g_tTexcdu4"
                              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 242  "g_tTex1df4"
                              Name 245  "g_tTex1di4"
                              Name 248  "g_tTex1du4"
                              Name 251  "g_tTex3df4"
                              Name 254  "g_tTex3di4"
                              Name 257  "g_tTex3du4"
                              Decorate 12(g_tTex2df4) 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_tTex2di4) DescriptorSet 0
                              Decorate 51(g_tTex2du4) DescriptorSet 0
                              Decorate 127(g_tTexcdf4) DescriptorSet 0
                              Decorate 139(g_tTexcdi4) DescriptorSet 0
                              Decorate 150(g_tTexcdu4) 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 1
                              Decorate 242(g_tTex1df4) DescriptorSet 0
                              Decorate 242(g_tTex1df4) Binding 0
                              Decorate 245(g_tTex1di4) DescriptorSet 0
                              Decorate 248(g_tTex1du4) DescriptorSet 0
                              Decorate 251(g_tTex3df4) DescriptorSet 0
                              Decorate 254(g_tTex3di4) DescriptorSet 0
                              Decorate 257(g_tTex3du4) 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 sampled format:Unknown
              11:             TypePointer UniformConstant 10
  12(g_tTex2df4):     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 1
              27:             TypePointer Uniform 20(fvec2)
              30:     25(int) Constant 0
              32:             TypeVector 25(int) 4
              33:             TypePointer Function 32(ivec4)
              35:             TypeImage 25(int) 2D sampled format:Unknown
              36:             TypePointer UniformConstant 35
  37(g_tTex2di4):     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 sampled format:Unknown
              50:             TypePointer UniformConstant 49
  51(g_tTex2du4):     50(ptr) Variable UniformConstant
              54:             TypeSampledImage 49
              86:     25(int) Constant 2
             108:     25(int) Constant 3
             125:             TypeImage 6(float) Cube sampled format:Unknown
             126:             TypePointer UniformConstant 125
 127(g_tTexcdf4):    126(ptr) Variable UniformConstant
             130:             TypeSampledImage 125
             132:             TypePointer Uniform 21(fvec3)
             137:             TypeImage 25(int) Cube sampled format:Unknown
             138:             TypePointer UniformConstant 137
 139(g_tTexcdi4):    138(ptr) Variable UniformConstant
             142:             TypeSampledImage 137
             148:             TypeImage 45(int) Cube sampled format:Unknown
             149:             TypePointer UniformConstant 148
 150(g_tTexcdu4):    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 sampled format:Unknown
             240:             TypePointer UniformConstant 239
241(g_tTex1df4a):    240(ptr) Variable UniformConstant
 242(g_tTex1df4):    240(ptr) Variable UniformConstant
             243:             TypeImage 25(int) 1D sampled format:Unknown
             244:             TypePointer UniformConstant 243
 245(g_tTex1di4):    244(ptr) Variable UniformConstant
             246:             TypeImage 45(int) 1D sampled format:Unknown
             247:             TypePointer UniformConstant 246
 248(g_tTex1du4):    247(ptr) Variable UniformConstant
             249:             TypeImage 6(float) 3D sampled format:Unknown
             250:             TypePointer UniformConstant 249
 251(g_tTex3df4):    250(ptr) Variable UniformConstant
             252:             TypeImage 25(int) 3D sampled format:Unknown
             253:             TypePointer UniformConstant 252
 254(g_tTex3di4):    253(ptr) Variable UniformConstant
             255:             TypeImage 45(int) 3D sampled format:Unknown
             256:             TypePointer UniformConstant 255
 257(g_tTex3du4):    256(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
     66(txval11):     33(ptr) Variable Function
     73(txval12):     47(ptr) Variable Function
     80(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_tTex2df4)
              17:          14 Load 16(g_sSamp)
              19:          18 SampledImage 13 17
              28:     27(ptr) AccessChain 24 26
              29:   20(fvec2) Load 28
              31:    7(fvec4) ImageGather 19 29 30
                              Store 9(txval00) 31
              38:          35 Load 37(g_tTex2di4)
              39:          14 Load 16(g_sSamp)
              41:          40 SampledImage 38 39
              42:     27(ptr) AccessChain 24 26
              43:   20(fvec2) Load 42
              44:   32(ivec4) ImageGather 41 43 30
                              Store 34(txval01) 44
              52:          49 Load 51(g_tTex2du4)
              53:          14 Load 16(g_sSamp)
              55:          54 SampledImage 52 53
              56:     27(ptr) AccessChain 24 26
              57:   20(fvec2) Load 56
              58:   46(ivec4) ImageGather 55 57 30
                              Store 48(txval02) 58
              60:          10 Load 12(g_tTex2df4)
              61:          14 Load 16(g_sSamp)
              62:          18 SampledImage 60 61
              63:     27(ptr) AccessChain 24 26
              64:   20(fvec2) Load 63
              65:    7(fvec4) ImageGather 62 64 26
                              Store 59(txval10) 65
              67:          35 Load 37(g_tTex2di4)
              68:          14 Load 16(g_sSamp)
              69:          40 SampledImage 67 68
              70:     27(ptr) AccessChain 24 26
              71:   20(fvec2) Load 70
              72:   32(ivec4) ImageGather 69 71 26
                              Store 66(txval11) 72
              74:          49 Load 51(g_tTex2du4)
              75:          14 Load 16(g_sSamp)
              76:          54 SampledImage 74 75
              77:     27(ptr) AccessChain 24 26
              78:   20(fvec2) Load 77
              79:   46(ivec4) ImageGather 76 78 26
                              Store 73(txval12) 79
              81:          10 Load 12(g_tTex2df4)
              82:          14 Load 16(g_sSamp)
              83:          18 SampledImage 81 82
              84:     27(ptr) AccessChain 24 26
              85:   20(fvec2) Load 84
              87:    7(fvec4) ImageGather 83 85 86
                              Store 80(txval20) 87
              89:          35 Load 37(g_tTex2di4)
              90:          14 Load 16(g_sSamp)
              91:          40 SampledImage 89 90
              92:     27(ptr) AccessChain 24 26
              93:   20(fvec2) Load 92
              94:   32(ivec4) ImageGather 91 93 86
                              Store 88(txval21) 94
              96:          49 Load 51(g_tTex2du4)
              97:          14 Load 16(g_sSamp)
              98:          54 SampledImage 96 97
              99:     27(ptr) AccessChain 24 26
             100:   20(fvec2) Load 99
             101:   46(ivec4) ImageGather 98 100 86
                              Store 95(txval22) 101
             103:          10 Load 12(g_tTex2df4)
             104:          14 Load 16(g_sSamp)
             105:          18 SampledImage 103 104
             106:     27(ptr) AccessChain 24 26
             107:   20(fvec2) Load 106
             109:    7(fvec4) ImageGather 105 107 108
                              Store 102(txval30) 109
             111:          35 Load 37(g_tTex2di4)
             112:          14 Load 16(g_sSamp)
             113:          40 SampledImage 111 112
             114:     27(ptr) AccessChain 24 26
             115:   20(fvec2) Load 114
             116:   32(ivec4) ImageGather 113 115 108
                              Store 110(txval31) 116
             118:          49 Load 51(g_tTex2du4)
             119:          14 Load 16(g_sSamp)
             120:          54 SampledImage 118 119
             121:     27(ptr) AccessChain 24 26
             122:   20(fvec2) Load 121
             123:   46(ivec4) ImageGather 120 122 108
                              Store 117(txval32) 123
             128:         125 Load 127(g_tTexcdf4)
             129:          14 Load 16(g_sSamp)
             131:         130 SampledImage 128 129
             133:    132(ptr) AccessChain 24 86
             134:   21(fvec3) Load 133
             135:    7(fvec4) ImageGather 131 134 30
                              Store 124(txval40) 135
             140:         137 Load 139(g_tTexcdi4)
             141:          14 Load 16(g_sSamp)
             143:         142 SampledImage 140 141
             144:    132(ptr) AccessChain 24 86
             145:   21(fvec3) Load 144
             146:   32(ivec4) ImageGather 143 145 30
                              Store 136(txval41) 146
             151:         148 Load 150(g_tTexcdu4)
             152:          14 Load 16(g_sSamp)
             154:         153 SampledImage 151 152
             155:    132(ptr) AccessChain 24 86
             156:   21(fvec3) Load 155
             157:   46(ivec4) ImageGather 154 156 30
                              Store 147(txval42) 157
             159:         125 Load 127(g_tTexcdf4)
             160:          14 Load 16(g_sSamp)
             161:         130 SampledImage 159 160
             162:    132(ptr) AccessChain 24 86
             163:   21(fvec3) Load 162
             164:    7(fvec4) ImageGather 161 163 26
                              Store 158(txval50) 164
             166:         137 Load 139(g_tTexcdi4)
             167:          14 Load 16(g_sSamp)
             168:         142 SampledImage 166 167
             169:    132(ptr) AccessChain 24 86
             170:   21(fvec3) Load 169
             171:   32(ivec4) ImageGather 168 170 26
                              Store 165(txval51) 171
             173:         148 Load 150(g_tTexcdu4)
             174:          14 Load 16(g_sSamp)
             175:         153 SampledImage 173 174
             176:    132(ptr) AccessChain 24 86
             177:   21(fvec3) Load 176
             178:   46(ivec4) ImageGather 175 177 26
                              Store 172(txval52) 178
             180:         125 Load 127(g_tTexcdf4)
             181:          14 Load 16(g_sSamp)
             182:         130 SampledImage 180 181
             183:    132(ptr) AccessChain 24 86
             184:   21(fvec3) Load 183
             185:    7(fvec4) ImageGather 182 184 86
                              Store 179(txval60) 185
             187:         137 Load 139(g_tTexcdi4)
             188:          14 Load 16(g_sSamp)
             189:         142 SampledImage 187 188
             190:    132(ptr) AccessChain 24 86
             191:   21(fvec3) Load 190
             192:   32(ivec4) ImageGather 189 191 86
                              Store 186(txval61) 192
             194:         148 Load 150(g_tTexcdu4)
             195:          14 Load 16(g_sSamp)
             196:         153 SampledImage 194 195
             197:    132(ptr) AccessChain 24 86
             198:   21(fvec3) Load 197
             199:   46(ivec4) ImageGather 196 198 86
                              Store 193(txval62) 199
             201:         125 Load 127(g_tTexcdf4)
             202:          14 Load 16(g_sSamp)
             203:         130 SampledImage 201 202
             204:    132(ptr) AccessChain 24 86
             205:   21(fvec3) Load 204
             206:    7(fvec4) ImageGather 203 205 108
                              Store 200(txval70) 206
             208:         137 Load 139(g_tTexcdi4)
             209:          14 Load 16(g_sSamp)
             210:         142 SampledImage 208 209
             211:    132(ptr) AccessChain 24 86
             212:   21(fvec3) Load 211
             213:   32(ivec4) ImageGather 210 212 108
                              Store 207(txval71) 213
             215:         148 Load 150(g_tTexcdu4)
             216:          14 Load 16(g_sSamp)
             217:         153 SampledImage 215 216
             218:    132(ptr) AccessChain 24 86
             219:   21(fvec3) 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) 26
                              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) 26
             236:    6(float) Load 235
                              Store 234(Depth) 236
                              Return
                              FunctionEnd
