hlsl.gatherRGBA.offset.dx10.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:39  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:39    Function Parameters: 
0:?     Sequence
0:46      Sequence
0:46        move second child to first child ( temp 4-component vector of float)
0:46          'txval001' ( temp 4-component vector of float)
0:46          textureGatherOffset ( temp 4-component vector of float)
0:46            Construct combined texture-sampler ( temp sampler2D)
0:46              'g_tTex2df4' ( uniform texture2D)
0:46              'g_sSamp' (layout( binding=0) uniform sampler)
0:46            c2: direct index for structure ( uniform 2-component vector of float)
0:46              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:46              Constant:
0:46                1 (const uint)
0:46            o2: direct index for structure ( uniform 2-component vector of int)
0:46              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:46              Constant:
0:46                5 (const uint)
0:46            Constant:
0:46              0 (const int)
0:47      Sequence
0:47        move second child to first child ( temp 4-component vector of int)
0:47          'txval011' ( temp 4-component vector of int)
0:47          textureGatherOffset ( temp 4-component vector of int)
0:47            Construct combined texture-sampler ( temp isampler2D)
0:47              'g_tTex2di4' ( uniform itexture2D)
0:47              'g_sSamp' (layout( binding=0) uniform sampler)
0:47            c2: direct index for structure ( uniform 2-component vector of float)
0:47              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:47              Constant:
0:47                1 (const uint)
0:47            o2: direct index for structure ( uniform 2-component vector of int)
0:47              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:47              Constant:
0:47                5 (const uint)
0:47            Constant:
0:47              0 (const int)
0:48      Sequence
0:48        move second child to first child ( temp 4-component vector of uint)
0:48          'txval021' ( temp 4-component vector of uint)
0:48          textureGatherOffset ( temp 4-component vector of uint)
0:48            Construct combined texture-sampler ( temp usampler2D)
0:48              'g_tTex2du4' ( uniform utexture2D)
0:48              'g_sSamp' (layout( binding=0) uniform sampler)
0:48            c2: direct index for structure ( uniform 2-component vector of float)
0:48              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:48              Constant:
0:48                1 (const uint)
0:48            o2: direct index for structure ( uniform 2-component vector of int)
0:48              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:48              Constant:
0:48                5 (const uint)
0:48            Constant:
0:48              0 (const int)
0:50      Sequence
0:50        move second child to first child ( temp 4-component vector of float)
0:50          'txval004' ( temp 4-component vector of float)
0:50          textureGatherOffsets ( temp 4-component vector of float)
0:50            Construct combined texture-sampler ( temp sampler2D)
0:50              'g_tTex2df4' ( uniform texture2D)
0:50              'g_sSamp' (layout( binding=0) uniform sampler)
0:50            c2: direct index for structure ( uniform 2-component vector of float)
0:50              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:50              Constant:
0:50                1 (const uint)
0:50            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:50              o2: direct index for structure ( uniform 2-component vector of int)
0:50                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:50                Constant:
0:50                  5 (const uint)
0:50              o2: direct index for structure ( uniform 2-component vector of int)
0:50                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:50                Constant:
0:50                  5 (const uint)
0:50              o2: direct index for structure ( uniform 2-component vector of int)
0:50                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:50                Constant:
0:50                  5 (const uint)
0:50              o2: direct index for structure ( uniform 2-component vector of int)
0:50                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:50                Constant:
0:50                  5 (const uint)
0:50            Constant:
0:50              0 (const int)
0:51      Sequence
0:51        move second child to first child ( temp 4-component vector of int)
0:51          'txval014' ( temp 4-component vector of int)
0:51          textureGatherOffsets ( temp 4-component vector of int)
0:51            Construct combined texture-sampler ( temp isampler2D)
0:51              'g_tTex2di4' ( uniform itexture2D)
0:51              'g_sSamp' (layout( binding=0) uniform sampler)
0:51            c2: direct index for structure ( uniform 2-component vector of float)
0:51              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:51              Constant:
0:51                1 (const uint)
0:51            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:51              o2: direct index for structure ( uniform 2-component vector of int)
0:51                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:51                Constant:
0:51                  5 (const uint)
0:51              o2: direct index for structure ( uniform 2-component vector of int)
0:51                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:51                Constant:
0:51                  5 (const uint)
0:51              o2: direct index for structure ( uniform 2-component vector of int)
0:51                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:51                Constant:
0:51                  5 (const uint)
0:51              o2: direct index for structure ( uniform 2-component vector of int)
0:51                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:51                Constant:
0:51                  5 (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 uint)
0:52          'txval024' ( temp 4-component vector of uint)
0:52          textureGatherOffsets ( temp 4-component vector of uint)
0:52            Construct combined texture-sampler ( temp usampler2D)
0:52              'g_tTex2du4' ( uniform utexture2D)
0:52              'g_sSamp' (layout( binding=0) uniform sampler)
0:52            c2: direct index for structure ( uniform 2-component vector of float)
0:52              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:52              Constant:
0:52                1 (const uint)
0:52            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:52              o2: direct index for structure ( uniform 2-component vector of int)
0:52                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:52                Constant:
0:52                  5 (const uint)
0:52              o2: direct index for structure ( uniform 2-component vector of int)
0:52                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:52                Constant:
0:52                  5 (const uint)
0:52              o2: direct index for structure ( uniform 2-component vector of int)
0:52                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:52                Constant:
0:52                  5 (const uint)
0:52              o2: direct index for structure ( uniform 2-component vector of int)
0:52                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:52                Constant:
0:52                  5 (const uint)
0:52            Constant:
0:52              0 (const int)
0:62      Sequence
0:62        move second child to first child ( temp 4-component vector of float)
0:62          'txval101' ( temp 4-component vector of float)
0:62          textureGatherOffset ( temp 4-component vector of float)
0:62            Construct combined texture-sampler ( temp sampler2D)
0:62              'g_tTex2df4' ( uniform texture2D)
0:62              'g_sSamp' (layout( binding=0) uniform sampler)
0:62            c2: direct index for structure ( uniform 2-component vector of float)
0:62              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:62              Constant:
0:62                1 (const uint)
0:62            o2: direct index for structure ( uniform 2-component vector of int)
0:62              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:62              Constant:
0:62                5 (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 int)
0:63          'txval111' ( temp 4-component vector of int)
0:63          textureGatherOffset ( temp 4-component vector of int)
0:63            Construct combined texture-sampler ( temp isampler2D)
0:63              'g_tTex2di4' ( uniform itexture2D)
0:63              'g_sSamp' (layout( binding=0) uniform sampler)
0:63            c2: direct index for structure ( uniform 2-component vector of float)
0:63              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:63              Constant:
0:63                1 (const uint)
0:63            o2: direct index for structure ( uniform 2-component vector of int)
0:63              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:63              Constant:
0:63                5 (const uint)
0:63            Constant:
0:63              1 (const int)
0:64      Sequence
0:64        move second child to first child ( temp 4-component vector of uint)
0:64          'txval121' ( temp 4-component vector of uint)
0:64          textureGatherOffset ( temp 4-component vector of uint)
0:64            Construct combined texture-sampler ( temp usampler2D)
0:64              'g_tTex2du4' ( uniform utexture2D)
0:64              'g_sSamp' (layout( binding=0) uniform sampler)
0:64            c2: direct index for structure ( uniform 2-component vector of float)
0:64              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:64              Constant:
0:64                1 (const uint)
0:64            o2: direct index for structure ( uniform 2-component vector of int)
0:64              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:64              Constant:
0:64                5 (const uint)
0:64            Constant:
0:64              1 (const int)
0:66      Sequence
0:66        move second child to first child ( temp 4-component vector of float)
0:66          'txval104' ( temp 4-component vector of float)
0:66          textureGatherOffsets ( temp 4-component vector of float)
0:66            Construct combined texture-sampler ( temp sampler2D)
0:66              'g_tTex2df4' ( uniform texture2D)
0:66              'g_sSamp' (layout( binding=0) uniform sampler)
0:66            c2: direct index for structure ( uniform 2-component vector of float)
0:66              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:66              Constant:
0:66                1 (const uint)
0:66            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:66              o2: direct index for structure ( uniform 2-component vector of int)
0:66                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:66                Constant:
0:66                  5 (const uint)
0:66              o2: direct index for structure ( uniform 2-component vector of int)
0:66                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:66                Constant:
0:66                  5 (const uint)
0:66              o2: direct index for structure ( uniform 2-component vector of int)
0:66                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:66                Constant:
0:66                  5 (const uint)
0:66              o2: direct index for structure ( uniform 2-component vector of int)
0:66                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:66                Constant:
0:66                  5 (const uint)
0:66            Constant:
0:66              1 (const int)
0:67      Sequence
0:67        move second child to first child ( temp 4-component vector of int)
0:67          'txval114' ( temp 4-component vector of int)
0:67          textureGatherOffsets ( temp 4-component vector of int)
0:67            Construct combined texture-sampler ( temp isampler2D)
0:67              'g_tTex2di4' ( uniform itexture2D)
0:67              'g_sSamp' (layout( binding=0) uniform sampler)
0:67            c2: direct index for structure ( uniform 2-component vector of float)
0:67              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:67              Constant:
0:67                1 (const uint)
0:67            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:67              o2: direct index for structure ( uniform 2-component vector of int)
0:67                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:67                Constant:
0:67                  5 (const uint)
0:67              o2: direct index for structure ( uniform 2-component vector of int)
0:67                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:67                Constant:
0:67                  5 (const uint)
0:67              o2: direct index for structure ( uniform 2-component vector of int)
0:67                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:67                Constant:
0:67                  5 (const uint)
0:67              o2: direct index for structure ( uniform 2-component vector of int)
0:67                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:67                Constant:
0:67                  5 (const uint)
0:67            Constant:
0:67              1 (const int)
0:68      Sequence
0:68        move second child to first child ( temp 4-component vector of uint)
0:68          'txval124' ( temp 4-component vector of uint)
0:68          textureGatherOffsets ( temp 4-component vector of uint)
0:68            Construct combined texture-sampler ( temp usampler2D)
0:68              'g_tTex2du4' ( uniform utexture2D)
0:68              'g_sSamp' (layout( binding=0) uniform sampler)
0:68            c2: direct index for structure ( uniform 2-component vector of float)
0:68              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:68              Constant:
0:68                1 (const uint)
0:68            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:68              o2: direct index for structure ( uniform 2-component vector of int)
0:68                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:68                Constant:
0:68                  5 (const uint)
0:68              o2: direct index for structure ( uniform 2-component vector of int)
0:68                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:68                Constant:
0:68                  5 (const uint)
0:68              o2: direct index for structure ( uniform 2-component vector of int)
0:68                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:68                Constant:
0:68                  5 (const uint)
0:68              o2: direct index for structure ( uniform 2-component vector of int)
0:68                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:68                Constant:
0:68                  5 (const uint)
0:68            Constant:
0:68              1 (const int)
0:78      Sequence
0:78        move second child to first child ( temp 4-component vector of float)
0:78          'txval201' ( temp 4-component vector of float)
0:78          textureGatherOffset ( temp 4-component vector of float)
0:78            Construct combined texture-sampler ( temp sampler2D)
0:78              'g_tTex2df4' ( uniform texture2D)
0:78              'g_sSamp' (layout( binding=0) uniform sampler)
0:78            c2: direct index for structure ( uniform 2-component vector of float)
0:78              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:78              Constant:
0:78                1 (const uint)
0:78            o2: direct index for structure ( uniform 2-component vector of int)
0:78              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:78              Constant:
0:78                5 (const uint)
0:78            Constant:
0:78              2 (const int)
0:79      Sequence
0:79        move second child to first child ( temp 4-component vector of int)
0:79          'txval211' ( temp 4-component vector of int)
0:79          textureGatherOffset ( temp 4-component vector of int)
0:79            Construct combined texture-sampler ( temp isampler2D)
0:79              'g_tTex2di4' ( uniform itexture2D)
0:79              'g_sSamp' (layout( binding=0) uniform sampler)
0:79            c2: direct index for structure ( uniform 2-component vector of float)
0:79              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:79              Constant:
0:79                1 (const uint)
0:79            o2: direct index for structure ( uniform 2-component vector of int)
0:79              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:79              Constant:
0:79                5 (const uint)
0:79            Constant:
0:79              2 (const int)
0:80      Sequence
0:80        move second child to first child ( temp 4-component vector of uint)
0:80          'txval221' ( temp 4-component vector of uint)
0:80          textureGatherOffset ( temp 4-component vector of uint)
0:80            Construct combined texture-sampler ( temp usampler2D)
0:80              'g_tTex2du4' ( uniform utexture2D)
0:80              'g_sSamp' (layout( binding=0) uniform sampler)
0:80            c2: direct index for structure ( uniform 2-component vector of float)
0:80              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:80              Constant:
0:80                1 (const uint)
0:80            o2: direct index for structure ( uniform 2-component vector of int)
0:80              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:80              Constant:
0:80                5 (const uint)
0:80            Constant:
0:80              2 (const int)
0:82      Sequence
0:82        move second child to first child ( temp 4-component vector of float)
0:82          'txval204' ( temp 4-component vector of float)
0:82          textureGatherOffsets ( temp 4-component vector of float)
0:82            Construct combined texture-sampler ( temp sampler2D)
0:82              'g_tTex2df4' ( uniform texture2D)
0:82              'g_sSamp' (layout( binding=0) uniform sampler)
0:82            c2: direct index for structure ( uniform 2-component vector of float)
0:82              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:82              Constant:
0:82                1 (const uint)
0:82            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:82              o2: direct index for structure ( uniform 2-component vector of int)
0:82                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:82                Constant:
0:82                  5 (const uint)
0:82              o2: direct index for structure ( uniform 2-component vector of int)
0:82                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:82                Constant:
0:82                  5 (const uint)
0:82              o2: direct index for structure ( uniform 2-component vector of int)
0:82                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:82                Constant:
0:82                  5 (const uint)
0:82              o2: direct index for structure ( uniform 2-component vector of int)
0:82                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:82                Constant:
0:82                  5 (const uint)
0:82            Constant:
0:82              2 (const int)
0:83      Sequence
0:83        move second child to first child ( temp 4-component vector of int)
0:83          'txval214' ( temp 4-component vector of int)
0:83          textureGatherOffsets ( temp 4-component vector of int)
0:83            Construct combined texture-sampler ( temp isampler2D)
0:83              'g_tTex2di4' ( uniform itexture2D)
0:83              'g_sSamp' (layout( binding=0) uniform sampler)
0:83            c2: direct index for structure ( uniform 2-component vector of float)
0:83              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:83              Constant:
0:83                1 (const uint)
0:83            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:83              o2: direct index for structure ( uniform 2-component vector of int)
0:83                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:83                Constant:
0:83                  5 (const uint)
0:83              o2: direct index for structure ( uniform 2-component vector of int)
0:83                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:83                Constant:
0:83                  5 (const uint)
0:83              o2: direct index for structure ( uniform 2-component vector of int)
0:83                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:83                Constant:
0:83                  5 (const uint)
0:83              o2: direct index for structure ( uniform 2-component vector of int)
0:83                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:83                Constant:
0:83                  5 (const uint)
0:83            Constant:
0:83              2 (const int)
0:84      Sequence
0:84        move second child to first child ( temp 4-component vector of uint)
0:84          'txval224' ( temp 4-component vector of uint)
0:84          textureGatherOffsets ( temp 4-component vector of uint)
0:84            Construct combined texture-sampler ( temp usampler2D)
0:84              'g_tTex2du4' ( uniform utexture2D)
0:84              'g_sSamp' (layout( binding=0) uniform sampler)
0:84            c2: direct index for structure ( uniform 2-component vector of float)
0:84              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:84              Constant:
0:84                1 (const uint)
0:84            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:84              o2: direct index for structure ( uniform 2-component vector of int)
0:84                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:84                Constant:
0:84                  5 (const uint)
0:84              o2: direct index for structure ( uniform 2-component vector of int)
0:84                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:84                Constant:
0:84                  5 (const uint)
0:84              o2: direct index for structure ( uniform 2-component vector of int)
0:84                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:84                Constant:
0:84                  5 (const uint)
0:84              o2: direct index for structure ( uniform 2-component vector of int)
0:84                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:84                Constant:
0:84                  5 (const uint)
0:84            Constant:
0:84              2 (const int)
0:94      Sequence
0:94        move second child to first child ( temp 4-component vector of float)
0:94          'txval301' ( temp 4-component vector of float)
0:94          textureGatherOffset ( temp 4-component vector of float)
0:94            Construct combined texture-sampler ( temp sampler2D)
0:94              'g_tTex2df4' ( uniform texture2D)
0:94              'g_sSamp' (layout( binding=0) uniform sampler)
0:94            c2: direct index for structure ( uniform 2-component vector of float)
0:94              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:94              Constant:
0:94                1 (const uint)
0:94            o2: direct index for structure ( uniform 2-component vector of int)
0:94              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:94              Constant:
0:94                5 (const uint)
0:94            Constant:
0:94              3 (const int)
0:95      Sequence
0:95        move second child to first child ( temp 4-component vector of int)
0:95          'txval311' ( temp 4-component vector of int)
0:95          textureGatherOffset ( temp 4-component vector of int)
0:95            Construct combined texture-sampler ( temp isampler2D)
0:95              'g_tTex2di4' ( uniform itexture2D)
0:95              'g_sSamp' (layout( binding=0) uniform sampler)
0:95            c2: direct index for structure ( uniform 2-component vector of float)
0:95              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:95              Constant:
0:95                1 (const uint)
0:95            o2: direct index for structure ( uniform 2-component vector of int)
0:95              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:95              Constant:
0:95                5 (const uint)
0:95            Constant:
0:95              3 (const int)
0:96      Sequence
0:96        move second child to first child ( temp 4-component vector of uint)
0:96          'txval321' ( temp 4-component vector of uint)
0:96          textureGatherOffset ( temp 4-component vector of uint)
0:96            Construct combined texture-sampler ( temp usampler2D)
0:96              'g_tTex2du4' ( uniform utexture2D)
0:96              'g_sSamp' (layout( binding=0) uniform sampler)
0:96            c2: direct index for structure ( uniform 2-component vector of float)
0:96              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:96              Constant:
0:96                1 (const uint)
0:96            o2: direct index for structure ( uniform 2-component vector of int)
0:96              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:96              Constant:
0:96                5 (const uint)
0:96            Constant:
0:96              3 (const int)
0:98      Sequence
0:98        move second child to first child ( temp 4-component vector of float)
0:98          'txval304' ( temp 4-component vector of float)
0:98          textureGatherOffsets ( temp 4-component vector of float)
0:98            Construct combined texture-sampler ( temp sampler2D)
0:98              'g_tTex2df4' ( uniform texture2D)
0:98              'g_sSamp' (layout( binding=0) uniform sampler)
0:98            c2: direct index for structure ( uniform 2-component vector of float)
0:98              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:98              Constant:
0:98                1 (const uint)
0:98            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:98              o2: direct index for structure ( uniform 2-component vector of int)
0:98                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:98                Constant:
0:98                  5 (const uint)
0:98              o2: direct index for structure ( uniform 2-component vector of int)
0:98                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:98                Constant:
0:98                  5 (const uint)
0:98              o2: direct index for structure ( uniform 2-component vector of int)
0:98                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:98                Constant:
0:98                  5 (const uint)
0:98              o2: direct index for structure ( uniform 2-component vector of int)
0:98                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:98                Constant:
0:98                  5 (const uint)
0:98            Constant:
0:98              3 (const int)
0:99      Sequence
0:99        move second child to first child ( temp 4-component vector of int)
0:99          'txval314' ( temp 4-component vector of int)
0:99          textureGatherOffsets ( temp 4-component vector of int)
0:99            Construct combined texture-sampler ( temp isampler2D)
0:99              'g_tTex2di4' ( uniform itexture2D)
0:99              'g_sSamp' (layout( binding=0) uniform sampler)
0:99            c2: direct index for structure ( uniform 2-component vector of float)
0:99              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:99              Constant:
0:99                1 (const uint)
0:99            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:99              o2: direct index for structure ( uniform 2-component vector of int)
0:99                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:99                Constant:
0:99                  5 (const uint)
0:99              o2: direct index for structure ( uniform 2-component vector of int)
0:99                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:99                Constant:
0:99                  5 (const uint)
0:99              o2: direct index for structure ( uniform 2-component vector of int)
0:99                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:99                Constant:
0:99                  5 (const uint)
0:99              o2: direct index for structure ( uniform 2-component vector of int)
0:99                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:99                Constant:
0:99                  5 (const uint)
0:99            Constant:
0:99              3 (const int)
0:100      Sequence
0:100        move second child to first child ( temp 4-component vector of uint)
0:100          'txval324' ( temp 4-component vector of uint)
0:100          textureGatherOffsets ( temp 4-component vector of uint)
0:100            Construct combined texture-sampler ( temp usampler2D)
0:100              'g_tTex2du4' ( uniform utexture2D)
0:100              'g_sSamp' (layout( binding=0) uniform sampler)
0:100            c2: direct index for structure ( uniform 2-component vector of float)
0:100              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:100              Constant:
0:100                1 (const uint)
0:100            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:100              o2: direct index for structure ( uniform 2-component vector of int)
0:100                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:100                Constant:
0:100                  5 (const uint)
0:100              o2: direct index for structure ( uniform 2-component vector of int)
0:100                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:100                Constant:
0:100                  5 (const uint)
0:100              o2: direct index for structure ( uniform 2-component vector of int)
0:100                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:100                Constant:
0:100                  5 (const uint)
0:100              o2: direct index for structure ( uniform 2-component vector of int)
0:100                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:100                Constant:
0:100                  5 (const uint)
0:100            Constant:
0:100              3 (const int)
0:112      move second child to first child ( temp 4-component vector of float)
0:112        Color: direct index for structure ( temp 4-component vector of float)
0:112          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:112          Constant:
0:112            0 (const int)
0:112        Constant:
0:112          1.000000
0:112          1.000000
0:112          1.000000
0:112          1.000000
0:113      move second child to first child ( temp float)
0:113        Depth: direct index for structure ( temp float)
0:113          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:113          Constant:
0:113            1 (const int)
0:113        Constant:
0:113          1.000000
0:115      Branch: Return with expression
0:115        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:39  Function Definition: main( ( temp void)
0:39    Function Parameters: 
0:?     Sequence
0:39      Sequence
0:39        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:39          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:39          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:39        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:39          Color: direct index for structure ( temp 4-component vector of float)
0:39            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:39            Constant:
0:39              0 (const int)
0:39        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:39          Depth: direct index for structure ( temp float)
0:39            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:39            Constant:
0:39              1 (const int)
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:?     'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:39  Function Definition: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:39    Function Parameters: 
0:?     Sequence
0:46      Sequence
0:46        move second child to first child ( temp 4-component vector of float)
0:46          'txval001' ( temp 4-component vector of float)
0:46          textureGatherOffset ( temp 4-component vector of float)
0:46            Construct combined texture-sampler ( temp sampler2D)
0:46              'g_tTex2df4' ( uniform texture2D)
0:46              'g_sSamp' (layout( binding=0) uniform sampler)
0:46            c2: direct index for structure ( uniform 2-component vector of float)
0:46              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:46              Constant:
0:46                1 (const uint)
0:46            o2: direct index for structure ( uniform 2-component vector of int)
0:46              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:46              Constant:
0:46                5 (const uint)
0:46            Constant:
0:46              0 (const int)
0:47      Sequence
0:47        move second child to first child ( temp 4-component vector of int)
0:47          'txval011' ( temp 4-component vector of int)
0:47          textureGatherOffset ( temp 4-component vector of int)
0:47            Construct combined texture-sampler ( temp isampler2D)
0:47              'g_tTex2di4' ( uniform itexture2D)
0:47              'g_sSamp' (layout( binding=0) uniform sampler)
0:47            c2: direct index for structure ( uniform 2-component vector of float)
0:47              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:47              Constant:
0:47                1 (const uint)
0:47            o2: direct index for structure ( uniform 2-component vector of int)
0:47              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:47              Constant:
0:47                5 (const uint)
0:47            Constant:
0:47              0 (const int)
0:48      Sequence
0:48        move second child to first child ( temp 4-component vector of uint)
0:48          'txval021' ( temp 4-component vector of uint)
0:48          textureGatherOffset ( temp 4-component vector of uint)
0:48            Construct combined texture-sampler ( temp usampler2D)
0:48              'g_tTex2du4' ( uniform utexture2D)
0:48              'g_sSamp' (layout( binding=0) uniform sampler)
0:48            c2: direct index for structure ( uniform 2-component vector of float)
0:48              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:48              Constant:
0:48                1 (const uint)
0:48            o2: direct index for structure ( uniform 2-component vector of int)
0:48              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:48              Constant:
0:48                5 (const uint)
0:48            Constant:
0:48              0 (const int)
0:50      Sequence
0:50        move second child to first child ( temp 4-component vector of float)
0:50          'txval004' ( temp 4-component vector of float)
0:50          textureGatherOffsets ( temp 4-component vector of float)
0:50            Construct combined texture-sampler ( temp sampler2D)
0:50              'g_tTex2df4' ( uniform texture2D)
0:50              'g_sSamp' (layout( binding=0) uniform sampler)
0:50            c2: direct index for structure ( uniform 2-component vector of float)
0:50              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:50              Constant:
0:50                1 (const uint)
0:50            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:50              o2: direct index for structure ( uniform 2-component vector of int)
0:50                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:50                Constant:
0:50                  5 (const uint)
0:50              o2: direct index for structure ( uniform 2-component vector of int)
0:50                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:50                Constant:
0:50                  5 (const uint)
0:50              o2: direct index for structure ( uniform 2-component vector of int)
0:50                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:50                Constant:
0:50                  5 (const uint)
0:50              o2: direct index for structure ( uniform 2-component vector of int)
0:50                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:50                Constant:
0:50                  5 (const uint)
0:50            Constant:
0:50              0 (const int)
0:51      Sequence
0:51        move second child to first child ( temp 4-component vector of int)
0:51          'txval014' ( temp 4-component vector of int)
0:51          textureGatherOffsets ( temp 4-component vector of int)
0:51            Construct combined texture-sampler ( temp isampler2D)
0:51              'g_tTex2di4' ( uniform itexture2D)
0:51              'g_sSamp' (layout( binding=0) uniform sampler)
0:51            c2: direct index for structure ( uniform 2-component vector of float)
0:51              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:51              Constant:
0:51                1 (const uint)
0:51            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:51              o2: direct index for structure ( uniform 2-component vector of int)
0:51                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:51                Constant:
0:51                  5 (const uint)
0:51              o2: direct index for structure ( uniform 2-component vector of int)
0:51                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:51                Constant:
0:51                  5 (const uint)
0:51              o2: direct index for structure ( uniform 2-component vector of int)
0:51                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:51                Constant:
0:51                  5 (const uint)
0:51              o2: direct index for structure ( uniform 2-component vector of int)
0:51                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:51                Constant:
0:51                  5 (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 uint)
0:52          'txval024' ( temp 4-component vector of uint)
0:52          textureGatherOffsets ( temp 4-component vector of uint)
0:52            Construct combined texture-sampler ( temp usampler2D)
0:52              'g_tTex2du4' ( uniform utexture2D)
0:52              'g_sSamp' (layout( binding=0) uniform sampler)
0:52            c2: direct index for structure ( uniform 2-component vector of float)
0:52              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:52              Constant:
0:52                1 (const uint)
0:52            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:52              o2: direct index for structure ( uniform 2-component vector of int)
0:52                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:52                Constant:
0:52                  5 (const uint)
0:52              o2: direct index for structure ( uniform 2-component vector of int)
0:52                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:52                Constant:
0:52                  5 (const uint)
0:52              o2: direct index for structure ( uniform 2-component vector of int)
0:52                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:52                Constant:
0:52                  5 (const uint)
0:52              o2: direct index for structure ( uniform 2-component vector of int)
0:52                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:52                Constant:
0:52                  5 (const uint)
0:52            Constant:
0:52              0 (const int)
0:62      Sequence
0:62        move second child to first child ( temp 4-component vector of float)
0:62          'txval101' ( temp 4-component vector of float)
0:62          textureGatherOffset ( temp 4-component vector of float)
0:62            Construct combined texture-sampler ( temp sampler2D)
0:62              'g_tTex2df4' ( uniform texture2D)
0:62              'g_sSamp' (layout( binding=0) uniform sampler)
0:62            c2: direct index for structure ( uniform 2-component vector of float)
0:62              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:62              Constant:
0:62                1 (const uint)
0:62            o2: direct index for structure ( uniform 2-component vector of int)
0:62              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:62              Constant:
0:62                5 (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 int)
0:63          'txval111' ( temp 4-component vector of int)
0:63          textureGatherOffset ( temp 4-component vector of int)
0:63            Construct combined texture-sampler ( temp isampler2D)
0:63              'g_tTex2di4' ( uniform itexture2D)
0:63              'g_sSamp' (layout( binding=0) uniform sampler)
0:63            c2: direct index for structure ( uniform 2-component vector of float)
0:63              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:63              Constant:
0:63                1 (const uint)
0:63            o2: direct index for structure ( uniform 2-component vector of int)
0:63              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:63              Constant:
0:63                5 (const uint)
0:63            Constant:
0:63              1 (const int)
0:64      Sequence
0:64        move second child to first child ( temp 4-component vector of uint)
0:64          'txval121' ( temp 4-component vector of uint)
0:64          textureGatherOffset ( temp 4-component vector of uint)
0:64            Construct combined texture-sampler ( temp usampler2D)
0:64              'g_tTex2du4' ( uniform utexture2D)
0:64              'g_sSamp' (layout( binding=0) uniform sampler)
0:64            c2: direct index for structure ( uniform 2-component vector of float)
0:64              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:64              Constant:
0:64                1 (const uint)
0:64            o2: direct index for structure ( uniform 2-component vector of int)
0:64              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:64              Constant:
0:64                5 (const uint)
0:64            Constant:
0:64              1 (const int)
0:66      Sequence
0:66        move second child to first child ( temp 4-component vector of float)
0:66          'txval104' ( temp 4-component vector of float)
0:66          textureGatherOffsets ( temp 4-component vector of float)
0:66            Construct combined texture-sampler ( temp sampler2D)
0:66              'g_tTex2df4' ( uniform texture2D)
0:66              'g_sSamp' (layout( binding=0) uniform sampler)
0:66            c2: direct index for structure ( uniform 2-component vector of float)
0:66              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:66              Constant:
0:66                1 (const uint)
0:66            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:66              o2: direct index for structure ( uniform 2-component vector of int)
0:66                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:66                Constant:
0:66                  5 (const uint)
0:66              o2: direct index for structure ( uniform 2-component vector of int)
0:66                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:66                Constant:
0:66                  5 (const uint)
0:66              o2: direct index for structure ( uniform 2-component vector of int)
0:66                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:66                Constant:
0:66                  5 (const uint)
0:66              o2: direct index for structure ( uniform 2-component vector of int)
0:66                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:66                Constant:
0:66                  5 (const uint)
0:66            Constant:
0:66              1 (const int)
0:67      Sequence
0:67        move second child to first child ( temp 4-component vector of int)
0:67          'txval114' ( temp 4-component vector of int)
0:67          textureGatherOffsets ( temp 4-component vector of int)
0:67            Construct combined texture-sampler ( temp isampler2D)
0:67              'g_tTex2di4' ( uniform itexture2D)
0:67              'g_sSamp' (layout( binding=0) uniform sampler)
0:67            c2: direct index for structure ( uniform 2-component vector of float)
0:67              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:67              Constant:
0:67                1 (const uint)
0:67            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:67              o2: direct index for structure ( uniform 2-component vector of int)
0:67                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:67                Constant:
0:67                  5 (const uint)
0:67              o2: direct index for structure ( uniform 2-component vector of int)
0:67                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:67                Constant:
0:67                  5 (const uint)
0:67              o2: direct index for structure ( uniform 2-component vector of int)
0:67                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:67                Constant:
0:67                  5 (const uint)
0:67              o2: direct index for structure ( uniform 2-component vector of int)
0:67                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:67                Constant:
0:67                  5 (const uint)
0:67            Constant:
0:67              1 (const int)
0:68      Sequence
0:68        move second child to first child ( temp 4-component vector of uint)
0:68          'txval124' ( temp 4-component vector of uint)
0:68          textureGatherOffsets ( temp 4-component vector of uint)
0:68            Construct combined texture-sampler ( temp usampler2D)
0:68              'g_tTex2du4' ( uniform utexture2D)
0:68              'g_sSamp' (layout( binding=0) uniform sampler)
0:68            c2: direct index for structure ( uniform 2-component vector of float)
0:68              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:68              Constant:
0:68                1 (const uint)
0:68            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:68              o2: direct index for structure ( uniform 2-component vector of int)
0:68                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:68                Constant:
0:68                  5 (const uint)
0:68              o2: direct index for structure ( uniform 2-component vector of int)
0:68                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:68                Constant:
0:68                  5 (const uint)
0:68              o2: direct index for structure ( uniform 2-component vector of int)
0:68                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:68                Constant:
0:68                  5 (const uint)
0:68              o2: direct index for structure ( uniform 2-component vector of int)
0:68                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:68                Constant:
0:68                  5 (const uint)
0:68            Constant:
0:68              1 (const int)
0:78      Sequence
0:78        move second child to first child ( temp 4-component vector of float)
0:78          'txval201' ( temp 4-component vector of float)
0:78          textureGatherOffset ( temp 4-component vector of float)
0:78            Construct combined texture-sampler ( temp sampler2D)
0:78              'g_tTex2df4' ( uniform texture2D)
0:78              'g_sSamp' (layout( binding=0) uniform sampler)
0:78            c2: direct index for structure ( uniform 2-component vector of float)
0:78              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:78              Constant:
0:78                1 (const uint)
0:78            o2: direct index for structure ( uniform 2-component vector of int)
0:78              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:78              Constant:
0:78                5 (const uint)
0:78            Constant:
0:78              2 (const int)
0:79      Sequence
0:79        move second child to first child ( temp 4-component vector of int)
0:79          'txval211' ( temp 4-component vector of int)
0:79          textureGatherOffset ( temp 4-component vector of int)
0:79            Construct combined texture-sampler ( temp isampler2D)
0:79              'g_tTex2di4' ( uniform itexture2D)
0:79              'g_sSamp' (layout( binding=0) uniform sampler)
0:79            c2: direct index for structure ( uniform 2-component vector of float)
0:79              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:79              Constant:
0:79                1 (const uint)
0:79            o2: direct index for structure ( uniform 2-component vector of int)
0:79              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:79              Constant:
0:79                5 (const uint)
0:79            Constant:
0:79              2 (const int)
0:80      Sequence
0:80        move second child to first child ( temp 4-component vector of uint)
0:80          'txval221' ( temp 4-component vector of uint)
0:80          textureGatherOffset ( temp 4-component vector of uint)
0:80            Construct combined texture-sampler ( temp usampler2D)
0:80              'g_tTex2du4' ( uniform utexture2D)
0:80              'g_sSamp' (layout( binding=0) uniform sampler)
0:80            c2: direct index for structure ( uniform 2-component vector of float)
0:80              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:80              Constant:
0:80                1 (const uint)
0:80            o2: direct index for structure ( uniform 2-component vector of int)
0:80              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:80              Constant:
0:80                5 (const uint)
0:80            Constant:
0:80              2 (const int)
0:82      Sequence
0:82        move second child to first child ( temp 4-component vector of float)
0:82          'txval204' ( temp 4-component vector of float)
0:82          textureGatherOffsets ( temp 4-component vector of float)
0:82            Construct combined texture-sampler ( temp sampler2D)
0:82              'g_tTex2df4' ( uniform texture2D)
0:82              'g_sSamp' (layout( binding=0) uniform sampler)
0:82            c2: direct index for structure ( uniform 2-component vector of float)
0:82              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:82              Constant:
0:82                1 (const uint)
0:82            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:82              o2: direct index for structure ( uniform 2-component vector of int)
0:82                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:82                Constant:
0:82                  5 (const uint)
0:82              o2: direct index for structure ( uniform 2-component vector of int)
0:82                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:82                Constant:
0:82                  5 (const uint)
0:82              o2: direct index for structure ( uniform 2-component vector of int)
0:82                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:82                Constant:
0:82                  5 (const uint)
0:82              o2: direct index for structure ( uniform 2-component vector of int)
0:82                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:82                Constant:
0:82                  5 (const uint)
0:82            Constant:
0:82              2 (const int)
0:83      Sequence
0:83        move second child to first child ( temp 4-component vector of int)
0:83          'txval214' ( temp 4-component vector of int)
0:83          textureGatherOffsets ( temp 4-component vector of int)
0:83            Construct combined texture-sampler ( temp isampler2D)
0:83              'g_tTex2di4' ( uniform itexture2D)
0:83              'g_sSamp' (layout( binding=0) uniform sampler)
0:83            c2: direct index for structure ( uniform 2-component vector of float)
0:83              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:83              Constant:
0:83                1 (const uint)
0:83            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:83              o2: direct index for structure ( uniform 2-component vector of int)
0:83                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:83                Constant:
0:83                  5 (const uint)
0:83              o2: direct index for structure ( uniform 2-component vector of int)
0:83                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:83                Constant:
0:83                  5 (const uint)
0:83              o2: direct index for structure ( uniform 2-component vector of int)
0:83                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:83                Constant:
0:83                  5 (const uint)
0:83              o2: direct index for structure ( uniform 2-component vector of int)
0:83                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:83                Constant:
0:83                  5 (const uint)
0:83            Constant:
0:83              2 (const int)
0:84      Sequence
0:84        move second child to first child ( temp 4-component vector of uint)
0:84          'txval224' ( temp 4-component vector of uint)
0:84          textureGatherOffsets ( temp 4-component vector of uint)
0:84            Construct combined texture-sampler ( temp usampler2D)
0:84              'g_tTex2du4' ( uniform utexture2D)
0:84              'g_sSamp' (layout( binding=0) uniform sampler)
0:84            c2: direct index for structure ( uniform 2-component vector of float)
0:84              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:84              Constant:
0:84                1 (const uint)
0:84            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:84              o2: direct index for structure ( uniform 2-component vector of int)
0:84                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:84                Constant:
0:84                  5 (const uint)
0:84              o2: direct index for structure ( uniform 2-component vector of int)
0:84                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:84                Constant:
0:84                  5 (const uint)
0:84              o2: direct index for structure ( uniform 2-component vector of int)
0:84                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:84                Constant:
0:84                  5 (const uint)
0:84              o2: direct index for structure ( uniform 2-component vector of int)
0:84                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:84                Constant:
0:84                  5 (const uint)
0:84            Constant:
0:84              2 (const int)
0:94      Sequence
0:94        move second child to first child ( temp 4-component vector of float)
0:94          'txval301' ( temp 4-component vector of float)
0:94          textureGatherOffset ( temp 4-component vector of float)
0:94            Construct combined texture-sampler ( temp sampler2D)
0:94              'g_tTex2df4' ( uniform texture2D)
0:94              'g_sSamp' (layout( binding=0) uniform sampler)
0:94            c2: direct index for structure ( uniform 2-component vector of float)
0:94              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:94              Constant:
0:94                1 (const uint)
0:94            o2: direct index for structure ( uniform 2-component vector of int)
0:94              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:94              Constant:
0:94                5 (const uint)
0:94            Constant:
0:94              3 (const int)
0:95      Sequence
0:95        move second child to first child ( temp 4-component vector of int)
0:95          'txval311' ( temp 4-component vector of int)
0:95          textureGatherOffset ( temp 4-component vector of int)
0:95            Construct combined texture-sampler ( temp isampler2D)
0:95              'g_tTex2di4' ( uniform itexture2D)
0:95              'g_sSamp' (layout( binding=0) uniform sampler)
0:95            c2: direct index for structure ( uniform 2-component vector of float)
0:95              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:95              Constant:
0:95                1 (const uint)
0:95            o2: direct index for structure ( uniform 2-component vector of int)
0:95              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:95              Constant:
0:95                5 (const uint)
0:95            Constant:
0:95              3 (const int)
0:96      Sequence
0:96        move second child to first child ( temp 4-component vector of uint)
0:96          'txval321' ( temp 4-component vector of uint)
0:96          textureGatherOffset ( temp 4-component vector of uint)
0:96            Construct combined texture-sampler ( temp usampler2D)
0:96              'g_tTex2du4' ( uniform utexture2D)
0:96              'g_sSamp' (layout( binding=0) uniform sampler)
0:96            c2: direct index for structure ( uniform 2-component vector of float)
0:96              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:96              Constant:
0:96                1 (const uint)
0:96            o2: direct index for structure ( uniform 2-component vector of int)
0:96              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:96              Constant:
0:96                5 (const uint)
0:96            Constant:
0:96              3 (const int)
0:98      Sequence
0:98        move second child to first child ( temp 4-component vector of float)
0:98          'txval304' ( temp 4-component vector of float)
0:98          textureGatherOffsets ( temp 4-component vector of float)
0:98            Construct combined texture-sampler ( temp sampler2D)
0:98              'g_tTex2df4' ( uniform texture2D)
0:98              'g_sSamp' (layout( binding=0) uniform sampler)
0:98            c2: direct index for structure ( uniform 2-component vector of float)
0:98              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:98              Constant:
0:98                1 (const uint)
0:98            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:98              o2: direct index for structure ( uniform 2-component vector of int)
0:98                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:98                Constant:
0:98                  5 (const uint)
0:98              o2: direct index for structure ( uniform 2-component vector of int)
0:98                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:98                Constant:
0:98                  5 (const uint)
0:98              o2: direct index for structure ( uniform 2-component vector of int)
0:98                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:98                Constant:
0:98                  5 (const uint)
0:98              o2: direct index for structure ( uniform 2-component vector of int)
0:98                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:98                Constant:
0:98                  5 (const uint)
0:98            Constant:
0:98              3 (const int)
0:99      Sequence
0:99        move second child to first child ( temp 4-component vector of int)
0:99          'txval314' ( temp 4-component vector of int)
0:99          textureGatherOffsets ( temp 4-component vector of int)
0:99            Construct combined texture-sampler ( temp isampler2D)
0:99              'g_tTex2di4' ( uniform itexture2D)
0:99              'g_sSamp' (layout( binding=0) uniform sampler)
0:99            c2: direct index for structure ( uniform 2-component vector of float)
0:99              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:99              Constant:
0:99                1 (const uint)
0:99            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:99              o2: direct index for structure ( uniform 2-component vector of int)
0:99                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:99                Constant:
0:99                  5 (const uint)
0:99              o2: direct index for structure ( uniform 2-component vector of int)
0:99                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:99                Constant:
0:99                  5 (const uint)
0:99              o2: direct index for structure ( uniform 2-component vector of int)
0:99                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:99                Constant:
0:99                  5 (const uint)
0:99              o2: direct index for structure ( uniform 2-component vector of int)
0:99                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:99                Constant:
0:99                  5 (const uint)
0:99            Constant:
0:99              3 (const int)
0:100      Sequence
0:100        move second child to first child ( temp 4-component vector of uint)
0:100          'txval324' ( temp 4-component vector of uint)
0:100          textureGatherOffsets ( temp 4-component vector of uint)
0:100            Construct combined texture-sampler ( temp usampler2D)
0:100              'g_tTex2du4' ( uniform utexture2D)
0:100              'g_sSamp' (layout( binding=0) uniform sampler)
0:100            c2: direct index for structure ( uniform 2-component vector of float)
0:100              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:100              Constant:
0:100                1 (const uint)
0:100            Construct ivec2 ( temp 4-element array of 2-component vector of int)
0:100              o2: direct index for structure ( uniform 2-component vector of int)
0:100                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:100                Constant:
0:100                  5 (const uint)
0:100              o2: direct index for structure ( uniform 2-component vector of int)
0:100                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:100                Constant:
0:100                  5 (const uint)
0:100              o2: direct index for structure ( uniform 2-component vector of int)
0:100                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:100                Constant:
0:100                  5 (const uint)
0:100              o2: direct index for structure ( uniform 2-component vector of int)
0:100                'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:100                Constant:
0:100                  5 (const uint)
0:100            Constant:
0:100              3 (const int)
0:112      move second child to first child ( temp 4-component vector of float)
0:112        Color: direct index for structure ( temp 4-component vector of float)
0:112          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:112          Constant:
0:112            0 (const int)
0:112        Constant:
0:112          1.000000
0:112          1.000000
0:112          1.000000
0:112          1.000000
0:113      move second child to first child ( temp float)
0:113        Depth: direct index for structure ( temp float)
0:113          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:113          Constant:
0:113            1 (const int)
0:113        Constant:
0:113          1.000000
0:115      Branch: Return with expression
0:115        'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:39  Function Definition: main( ( temp void)
0:39    Function Parameters: 
0:?     Sequence
0:39      Sequence
0:39        move second child to first child ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:39          'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:39          Function Call: @main( ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:39        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:39          Color: direct index for structure ( temp 4-component vector of float)
0:39            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:39            Constant:
0:39              0 (const int)
0:39        move second child to first child ( temp float)
0:?           '@entryPointOutput.Depth' ( out float FragDepth)
0:39          Depth: direct index for structure ( temp float)
0:39            'flattenTemp' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
0:39            Constant:
0:39              1 (const int)
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:?     'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4,  uniform int o1,  uniform 2-component vector of int o2,  uniform 3-component vector of int o3,  uniform 4-component vector of int o4})
0:?     '@entryPointOutput.Depth' ( out float FragDepth)
0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)

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

                              Capability Shader
                              Capability ImageGatherExtended
                              Capability Sampled1D
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 363 367
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "PS_OUTPUT"
                              MemberName 8(PS_OUTPUT) 0  "Color"
                              MemberName 8(PS_OUTPUT) 1  "Depth"
                              Name 10  "@main("
                              Name 13  "txval001"
                              Name 16  "g_tTex2df4"
                              Name 20  "g_sSamp"
                              Name 30  "$Global"
                              MemberName 30($Global) 0  "c1"
                              MemberName 30($Global) 1  "c2"
                              MemberName 30($Global) 2  "c3"
                              MemberName 30($Global) 3  "c4"
                              MemberName 30($Global) 4  "o1"
                              MemberName 30($Global) 5  "o2"
                              MemberName 30($Global) 6  "o3"
                              MemberName 30($Global) 7  "o4"
                              Name 32  ""
                              Name 44  "txval011"
                              Name 47  "g_tTex2di4"
                              Name 60  "txval021"
                              Name 63  "g_tTex2du4"
                              Name 73  "txval004"
                              Name 91  "txval014"
                              Name 107  "txval024"
                              Name 123  "txval101"
                              Name 132  "txval111"
                              Name 141  "txval121"
                              Name 150  "txval104"
                              Name 166  "txval114"
                              Name 182  "txval124"
                              Name 198  "txval201"
                              Name 208  "txval211"
                              Name 217  "txval221"
                              Name 226  "txval204"
                              Name 242  "txval214"
                              Name 258  "txval224"
                              Name 274  "txval301"
                              Name 284  "txval311"
                              Name 293  "txval321"
                              Name 302  "txval304"
                              Name 318  "txval314"
                              Name 334  "txval324"
                              Name 351  "psout"
                              Name 360  "flattenTemp"
                              Name 363  "@entryPointOutput.Color"
                              Name 367  "@entryPointOutput.Depth"
                              Name 370  "g_sSamp2d"
                              Name 373  "g_tTex1df4a"
                              Name 374  "g_tTex1df4"
                              Name 377  "g_tTex1di4"
                              Name 380  "g_tTex1du4"
                              Name 383  "g_tTex3df4"
                              Name 386  "g_tTex3di4"
                              Name 389  "g_tTex3du4"
                              Name 392  "g_tTexcdf4"
                              Name 395  "g_tTexcdi4"
                              Name 398  "g_tTexcdu4"
                              Decorate 16(g_tTex2df4) DescriptorSet 0
                              Decorate 20(g_sSamp) DescriptorSet 0
                              Decorate 20(g_sSamp) Binding 0
                              MemberDecorate 30($Global) 0 Offset 0
                              MemberDecorate 30($Global) 1 Offset 8
                              MemberDecorate 30($Global) 2 Offset 16
                              MemberDecorate 30($Global) 3 Offset 32
                              MemberDecorate 30($Global) 4 Offset 48
                              MemberDecorate 30($Global) 5 Offset 56
                              MemberDecorate 30($Global) 6 Offset 64
                              MemberDecorate 30($Global) 7 Offset 80
                              Decorate 30($Global) Block
                              Decorate 32 DescriptorSet 0
                              Decorate 47(g_tTex2di4) DescriptorSet 0
                              Decorate 63(g_tTex2du4) DescriptorSet 0
                              Decorate 363(@entryPointOutput.Color) Location 0
                              Decorate 367(@entryPointOutput.Depth) BuiltIn FragDepth
                              Decorate 370(g_sSamp2d) DescriptorSet 0
                              Decorate 373(g_tTex1df4a) DescriptorSet 0
                              Decorate 373(g_tTex1df4a) Binding 1
                              Decorate 374(g_tTex1df4) DescriptorSet 0
                              Decorate 374(g_tTex1df4) Binding 0
                              Decorate 377(g_tTex1di4) DescriptorSet 0
                              Decorate 380(g_tTex1du4) DescriptorSet 0
                              Decorate 383(g_tTex3df4) DescriptorSet 0
                              Decorate 386(g_tTex3di4) DescriptorSet 0
                              Decorate 389(g_tTex3du4) DescriptorSet 0
                              Decorate 392(g_tTexcdf4) DescriptorSet 0
                              Decorate 395(g_tTexcdi4) DescriptorSet 0
                              Decorate 398(g_tTexcdu4) DescriptorSet 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
    8(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
               9:             TypeFunction 8(PS_OUTPUT)
              12:             TypePointer Function 7(fvec4)
              14:             TypeImage 6(float) 2D sampled format:Unknown
              15:             TypePointer UniformConstant 14
  16(g_tTex2df4):     15(ptr) Variable UniformConstant
              18:             TypeSampler
              19:             TypePointer UniformConstant 18
     20(g_sSamp):     19(ptr) Variable UniformConstant
              22:             TypeSampledImage 14
              24:             TypeVector 6(float) 2
              25:             TypeVector 6(float) 3
              26:             TypeInt 32 1
              27:             TypeVector 26(int) 2
              28:             TypeVector 26(int) 3
              29:             TypeVector 26(int) 4
     30($Global):             TypeStruct 6(float) 24(fvec2) 25(fvec3) 7(fvec4) 26(int) 27(ivec2) 28(ivec3) 29(ivec4)
              31:             TypePointer Uniform 30($Global)
              32:     31(ptr) Variable Uniform
              33:     26(int) Constant 1
              34:             TypePointer Uniform 24(fvec2)
              37:     26(int) Constant 5
              38:             TypePointer Uniform 27(ivec2)
              41:     26(int) Constant 0
              43:             TypePointer Function 29(ivec4)
              45:             TypeImage 26(int) 2D sampled format:Unknown
              46:             TypePointer UniformConstant 45
  47(g_tTex2di4):     46(ptr) Variable UniformConstant
              50:             TypeSampledImage 45
              57:             TypeInt 32 0
              58:             TypeVector 57(int) 4
              59:             TypePointer Function 58(ivec4)
              61:             TypeImage 57(int) 2D sampled format:Unknown
              62:             TypePointer UniformConstant 61
  63(g_tTex2du4):     62(ptr) Variable UniformConstant
              66:             TypeSampledImage 61
              87:     57(int) Constant 4
              88:             TypeArray 27(ivec2) 87
             206:     26(int) Constant 2
             282:     26(int) Constant 3
             350:             TypePointer Function 8(PS_OUTPUT)
             352:    6(float) Constant 1065353216
             353:    7(fvec4) ConstantComposite 352 352 352 352
             355:             TypePointer Function 6(float)
             362:             TypePointer Output 7(fvec4)
363(@entryPointOutput.Color):    362(ptr) Variable Output
             366:             TypePointer Output 6(float)
367(@entryPointOutput.Depth):    366(ptr) Variable Output
  370(g_sSamp2d):     19(ptr) Variable UniformConstant
             371:             TypeImage 6(float) 1D sampled format:Unknown
             372:             TypePointer UniformConstant 371
373(g_tTex1df4a):    372(ptr) Variable UniformConstant
 374(g_tTex1df4):    372(ptr) Variable UniformConstant
             375:             TypeImage 26(int) 1D sampled format:Unknown
             376:             TypePointer UniformConstant 375
 377(g_tTex1di4):    376(ptr) Variable UniformConstant
             378:             TypeImage 57(int) 1D sampled format:Unknown
             379:             TypePointer UniformConstant 378
 380(g_tTex1du4):    379(ptr) Variable UniformConstant
             381:             TypeImage 6(float) 3D sampled format:Unknown
             382:             TypePointer UniformConstant 381
 383(g_tTex3df4):    382(ptr) Variable UniformConstant
             384:             TypeImage 26(int) 3D sampled format:Unknown
             385:             TypePointer UniformConstant 384
 386(g_tTex3di4):    385(ptr) Variable UniformConstant
             387:             TypeImage 57(int) 3D sampled format:Unknown
             388:             TypePointer UniformConstant 387
 389(g_tTex3du4):    388(ptr) Variable UniformConstant
             390:             TypeImage 6(float) Cube sampled format:Unknown
             391:             TypePointer UniformConstant 390
 392(g_tTexcdf4):    391(ptr) Variable UniformConstant
             393:             TypeImage 26(int) Cube sampled format:Unknown
             394:             TypePointer UniformConstant 393
 395(g_tTexcdi4):    394(ptr) Variable UniformConstant
             396:             TypeImage 57(int) Cube sampled format:Unknown
             397:             TypePointer UniformConstant 396
 398(g_tTexcdu4):    397(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
360(flattenTemp):    350(ptr) Variable Function
             361:8(PS_OUTPUT) FunctionCall 10(@main()
                              Store 360(flattenTemp) 361
             364:     12(ptr) AccessChain 360(flattenTemp) 41
             365:    7(fvec4) Load 364
                              Store 363(@entryPointOutput.Color) 365
             368:    355(ptr) AccessChain 360(flattenTemp) 33
             369:    6(float) Load 368
                              Store 367(@entryPointOutput.Depth) 369
                              Return
                              FunctionEnd
      10(@main():8(PS_OUTPUT) Function None 9
              11:             Label
    13(txval001):     12(ptr) Variable Function
    44(txval011):     43(ptr) Variable Function
    60(txval021):     59(ptr) Variable Function
    73(txval004):     12(ptr) Variable Function
    91(txval014):     43(ptr) Variable Function
   107(txval024):     59(ptr) Variable Function
   123(txval101):     12(ptr) Variable Function
   132(txval111):     43(ptr) Variable Function
   141(txval121):     59(ptr) Variable Function
   150(txval104):     12(ptr) Variable Function
   166(txval114):     43(ptr) Variable Function
   182(txval124):     59(ptr) Variable Function
   198(txval201):     12(ptr) Variable Function
   208(txval211):     43(ptr) Variable Function
   217(txval221):     59(ptr) Variable Function
   226(txval204):     12(ptr) Variable Function
   242(txval214):     43(ptr) Variable Function
   258(txval224):     59(ptr) Variable Function
   274(txval301):     12(ptr) Variable Function
   284(txval311):     43(ptr) Variable Function
   293(txval321):     59(ptr) Variable Function
   302(txval304):     12(ptr) Variable Function
   318(txval314):     43(ptr) Variable Function
   334(txval324):     59(ptr) Variable Function
      351(psout):    350(ptr) Variable Function
              17:          14 Load 16(g_tTex2df4)
              21:          18 Load 20(g_sSamp)
              23:          22 SampledImage 17 21
              35:     34(ptr) AccessChain 32 33
              36:   24(fvec2) Load 35
              39:     38(ptr) AccessChain 32 37
              40:   27(ivec2) Load 39
              42:    7(fvec4) ImageGather 23 36 41 Offset 40
                              Store 13(txval001) 42
              48:          45 Load 47(g_tTex2di4)
              49:          18 Load 20(g_sSamp)
              51:          50 SampledImage 48 49
              52:     34(ptr) AccessChain 32 33
              53:   24(fvec2) Load 52
              54:     38(ptr) AccessChain 32 37
              55:   27(ivec2) Load 54
              56:   29(ivec4) ImageGather 51 53 41 Offset 55
                              Store 44(txval011) 56
              64:          61 Load 63(g_tTex2du4)
              65:          18 Load 20(g_sSamp)
              67:          66 SampledImage 64 65
              68:     34(ptr) AccessChain 32 33
              69:   24(fvec2) Load 68
              70:     38(ptr) AccessChain 32 37
              71:   27(ivec2) Load 70
              72:   58(ivec4) ImageGather 67 69 41 Offset 71
                              Store 60(txval021) 72
              74:          14 Load 16(g_tTex2df4)
              75:          18 Load 20(g_sSamp)
              76:          22 SampledImage 74 75
              77:     34(ptr) AccessChain 32 33
              78:   24(fvec2) Load 77
              79:     38(ptr) AccessChain 32 37
              80:   27(ivec2) Load 79
              81:     38(ptr) AccessChain 32 37
              82:   27(ivec2) Load 81
              83:     38(ptr) AccessChain 32 37
              84:   27(ivec2) Load 83
              85:     38(ptr) AccessChain 32 37
              86:   27(ivec2) Load 85
              89:          88 CompositeConstruct 80 82 84 86
              90:    7(fvec4) ImageGather 76 78 41 ConstOffsets 89
                              Store 73(txval004) 90
              92:          45 Load 47(g_tTex2di4)
              93:          18 Load 20(g_sSamp)
              94:          50 SampledImage 92 93
              95:     34(ptr) AccessChain 32 33
              96:   24(fvec2) Load 95
              97:     38(ptr) AccessChain 32 37
              98:   27(ivec2) Load 97
              99:     38(ptr) AccessChain 32 37
             100:   27(ivec2) Load 99
             101:     38(ptr) AccessChain 32 37
             102:   27(ivec2) Load 101
             103:     38(ptr) AccessChain 32 37
             104:   27(ivec2) Load 103
             105:          88 CompositeConstruct 98 100 102 104
             106:   29(ivec4) ImageGather 94 96 41 ConstOffsets 105
                              Store 91(txval014) 106
             108:          61 Load 63(g_tTex2du4)
             109:          18 Load 20(g_sSamp)
             110:          66 SampledImage 108 109
             111:     34(ptr) AccessChain 32 33
             112:   24(fvec2) Load 111
             113:     38(ptr) AccessChain 32 37
             114:   27(ivec2) Load 113
             115:     38(ptr) AccessChain 32 37
             116:   27(ivec2) Load 115
             117:     38(ptr) AccessChain 32 37
             118:   27(ivec2) Load 117
             119:     38(ptr) AccessChain 32 37
             120:   27(ivec2) Load 119
             121:          88 CompositeConstruct 114 116 118 120
             122:   58(ivec4) ImageGather 110 112 41 ConstOffsets 121
                              Store 107(txval024) 122
             124:          14 Load 16(g_tTex2df4)
             125:          18 Load 20(g_sSamp)
             126:          22 SampledImage 124 125
             127:     34(ptr) AccessChain 32 33
             128:   24(fvec2) Load 127
             129:     38(ptr) AccessChain 32 37
             130:   27(ivec2) Load 129
             131:    7(fvec4) ImageGather 126 128 33 Offset 130
                              Store 123(txval101) 131
             133:          45 Load 47(g_tTex2di4)
             134:          18 Load 20(g_sSamp)
             135:          50 SampledImage 133 134
             136:     34(ptr) AccessChain 32 33
             137:   24(fvec2) Load 136
             138:     38(ptr) AccessChain 32 37
             139:   27(ivec2) Load 138
             140:   29(ivec4) ImageGather 135 137 33 Offset 139
                              Store 132(txval111) 140
             142:          61 Load 63(g_tTex2du4)
             143:          18 Load 20(g_sSamp)
             144:          66 SampledImage 142 143
             145:     34(ptr) AccessChain 32 33
             146:   24(fvec2) Load 145
             147:     38(ptr) AccessChain 32 37
             148:   27(ivec2) Load 147
             149:   58(ivec4) ImageGather 144 146 33 Offset 148
                              Store 141(txval121) 149
             151:          14 Load 16(g_tTex2df4)
             152:          18 Load 20(g_sSamp)
             153:          22 SampledImage 151 152
             154:     34(ptr) AccessChain 32 33
             155:   24(fvec2) Load 154
             156:     38(ptr) AccessChain 32 37
             157:   27(ivec2) Load 156
             158:     38(ptr) AccessChain 32 37
             159:   27(ivec2) Load 158
             160:     38(ptr) AccessChain 32 37
             161:   27(ivec2) Load 160
             162:     38(ptr) AccessChain 32 37
             163:   27(ivec2) Load 162
             164:          88 CompositeConstruct 157 159 161 163
             165:    7(fvec4) ImageGather 153 155 33 ConstOffsets 164
                              Store 150(txval104) 165
             167:          45 Load 47(g_tTex2di4)
             168:          18 Load 20(g_sSamp)
             169:          50 SampledImage 167 168
             170:     34(ptr) AccessChain 32 33
             171:   24(fvec2) Load 170
             172:     38(ptr) AccessChain 32 37
             173:   27(ivec2) Load 172
             174:     38(ptr) AccessChain 32 37
             175:   27(ivec2) Load 174
             176:     38(ptr) AccessChain 32 37
             177:   27(ivec2) Load 176
             178:     38(ptr) AccessChain 32 37
             179:   27(ivec2) Load 178
             180:          88 CompositeConstruct 173 175 177 179
             181:   29(ivec4) ImageGather 169 171 33 ConstOffsets 180
                              Store 166(txval114) 181
             183:          61 Load 63(g_tTex2du4)
             184:          18 Load 20(g_sSamp)
             185:          66 SampledImage 183 184
             186:     34(ptr) AccessChain 32 33
             187:   24(fvec2) Load 186
             188:     38(ptr) AccessChain 32 37
             189:   27(ivec2) Load 188
             190:     38(ptr) AccessChain 32 37
             191:   27(ivec2) Load 190
             192:     38(ptr) AccessChain 32 37
             193:   27(ivec2) Load 192
             194:     38(ptr) AccessChain 32 37
             195:   27(ivec2) Load 194
             196:          88 CompositeConstruct 189 191 193 195
             197:   58(ivec4) ImageGather 185 187 33 ConstOffsets 196
                              Store 182(txval124) 197
             199:          14 Load 16(g_tTex2df4)
             200:          18 Load 20(g_sSamp)
             201:          22 SampledImage 199 200
             202:     34(ptr) AccessChain 32 33
             203:   24(fvec2) Load 202
             204:     38(ptr) AccessChain 32 37
             205:   27(ivec2) Load 204
             207:    7(fvec4) ImageGather 201 203 206 Offset 205
                              Store 198(txval201) 207
             209:          45 Load 47(g_tTex2di4)
             210:          18 Load 20(g_sSamp)
             211:          50 SampledImage 209 210
             212:     34(ptr) AccessChain 32 33
             213:   24(fvec2) Load 212
             214:     38(ptr) AccessChain 32 37
             215:   27(ivec2) Load 214
             216:   29(ivec4) ImageGather 211 213 206 Offset 215
                              Store 208(txval211) 216
             218:          61 Load 63(g_tTex2du4)
             219:          18 Load 20(g_sSamp)
             220:          66 SampledImage 218 219
             221:     34(ptr) AccessChain 32 33
             222:   24(fvec2) Load 221
             223:     38(ptr) AccessChain 32 37
             224:   27(ivec2) Load 223
             225:   58(ivec4) ImageGather 220 222 206 Offset 224
                              Store 217(txval221) 225
             227:          14 Load 16(g_tTex2df4)
             228:          18 Load 20(g_sSamp)
             229:          22 SampledImage 227 228
             230:     34(ptr) AccessChain 32 33
             231:   24(fvec2) Load 230
             232:     38(ptr) AccessChain 32 37
             233:   27(ivec2) Load 232
             234:     38(ptr) AccessChain 32 37
             235:   27(ivec2) Load 234
             236:     38(ptr) AccessChain 32 37
             237:   27(ivec2) Load 236
             238:     38(ptr) AccessChain 32 37
             239:   27(ivec2) Load 238
             240:          88 CompositeConstruct 233 235 237 239
             241:    7(fvec4) ImageGather 229 231 206 ConstOffsets 240
                              Store 226(txval204) 241
             243:          45 Load 47(g_tTex2di4)
             244:          18 Load 20(g_sSamp)
             245:          50 SampledImage 243 244
             246:     34(ptr) AccessChain 32 33
             247:   24(fvec2) Load 246
             248:     38(ptr) AccessChain 32 37
             249:   27(ivec2) Load 248
             250:     38(ptr) AccessChain 32 37
             251:   27(ivec2) Load 250
             252:     38(ptr) AccessChain 32 37
             253:   27(ivec2) Load 252
             254:     38(ptr) AccessChain 32 37
             255:   27(ivec2) Load 254
             256:          88 CompositeConstruct 249 251 253 255
             257:   29(ivec4) ImageGather 245 247 206 ConstOffsets 256
                              Store 242(txval214) 257
             259:          61 Load 63(g_tTex2du4)
             260:          18 Load 20(g_sSamp)
             261:          66 SampledImage 259 260
             262:     34(ptr) AccessChain 32 33
             263:   24(fvec2) Load 262
             264:     38(ptr) AccessChain 32 37
             265:   27(ivec2) Load 264
             266:     38(ptr) AccessChain 32 37
             267:   27(ivec2) Load 266
             268:     38(ptr) AccessChain 32 37
             269:   27(ivec2) Load 268
             270:     38(ptr) AccessChain 32 37
             271:   27(ivec2) Load 270
             272:          88 CompositeConstruct 265 267 269 271
             273:   58(ivec4) ImageGather 261 263 206 ConstOffsets 272
                              Store 258(txval224) 273
             275:          14 Load 16(g_tTex2df4)
             276:          18 Load 20(g_sSamp)
             277:          22 SampledImage 275 276
             278:     34(ptr) AccessChain 32 33
             279:   24(fvec2) Load 278
             280:     38(ptr) AccessChain 32 37
             281:   27(ivec2) Load 280
             283:    7(fvec4) ImageGather 277 279 282 Offset 281
                              Store 274(txval301) 283
             285:          45 Load 47(g_tTex2di4)
             286:          18 Load 20(g_sSamp)
             287:          50 SampledImage 285 286
             288:     34(ptr) AccessChain 32 33
             289:   24(fvec2) Load 288
             290:     38(ptr) AccessChain 32 37
             291:   27(ivec2) Load 290
             292:   29(ivec4) ImageGather 287 289 282 Offset 291
                              Store 284(txval311) 292
             294:          61 Load 63(g_tTex2du4)
             295:          18 Load 20(g_sSamp)
             296:          66 SampledImage 294 295
             297:     34(ptr) AccessChain 32 33
             298:   24(fvec2) Load 297
             299:     38(ptr) AccessChain 32 37
             300:   27(ivec2) Load 299
             301:   58(ivec4) ImageGather 296 298 282 Offset 300
                              Store 293(txval321) 301
             303:          14 Load 16(g_tTex2df4)
             304:          18 Load 20(g_sSamp)
             305:          22 SampledImage 303 304
             306:     34(ptr) AccessChain 32 33
             307:   24(fvec2) Load 306
             308:     38(ptr) AccessChain 32 37
             309:   27(ivec2) Load 308
             310:     38(ptr) AccessChain 32 37
             311:   27(ivec2) Load 310
             312:     38(ptr) AccessChain 32 37
             313:   27(ivec2) Load 312
             314:     38(ptr) AccessChain 32 37
             315:   27(ivec2) Load 314
             316:          88 CompositeConstruct 309 311 313 315
             317:    7(fvec4) ImageGather 305 307 282 ConstOffsets 316
                              Store 302(txval304) 317
             319:          45 Load 47(g_tTex2di4)
             320:          18 Load 20(g_sSamp)
             321:          50 SampledImage 319 320
             322:     34(ptr) AccessChain 32 33
             323:   24(fvec2) Load 322
             324:     38(ptr) AccessChain 32 37
             325:   27(ivec2) Load 324
             326:     38(ptr) AccessChain 32 37
             327:   27(ivec2) Load 326
             328:     38(ptr) AccessChain 32 37
             329:   27(ivec2) Load 328
             330:     38(ptr) AccessChain 32 37
             331:   27(ivec2) Load 330
             332:          88 CompositeConstruct 325 327 329 331
             333:   29(ivec4) ImageGather 321 323 282 ConstOffsets 332
                              Store 318(txval314) 333
             335:          61 Load 63(g_tTex2du4)
             336:          18 Load 20(g_sSamp)
             337:          66 SampledImage 335 336
             338:     34(ptr) AccessChain 32 33
             339:   24(fvec2) Load 338
             340:     38(ptr) AccessChain 32 37
             341:   27(ivec2) Load 340
             342:     38(ptr) AccessChain 32 37
             343:   27(ivec2) Load 342
             344:     38(ptr) AccessChain 32 37
             345:   27(ivec2) Load 344
             346:     38(ptr) AccessChain 32 37
             347:   27(ivec2) Load 346
             348:          88 CompositeConstruct 341 343 345 347
             349:   58(ivec4) ImageGather 337 339 282 ConstOffsets 348
                              Store 334(txval324) 349
             354:     12(ptr) AccessChain 351(psout) 41
                              Store 354 353
             356:    355(ptr) AccessChain 351(psout) 33
                              Store 356 352
             357:8(PS_OUTPUT) Load 351(psout)
                              ReturnValue 357
                              FunctionEnd
